NO

Author Topic: Future of C....  (Read 6445 times)

CommonTater

  • Guest
Future of C....
« on: September 17, 2012, 03:13:53 PM »
I stumbled upon an article in an older magazine that left me wondering...
 
Where is C going?
Is there a future here?
 
This 8 year old article claimed that in 5 years we would all be assembling code from pre-cooked objects and that procedural or functional programming would be "legacy" at best... Well, this hasn't happened as far as I can tell but there has been some movement in that direction that is getting harder and harder to deny.

This is made especially more poignent given that the last three project bids I've been invited into have all been for code that needs to use COM and DShow multimedia extensions that are clearly written for C++ programmers...
« Last Edit: September 17, 2012, 03:16:33 PM by CommonTater »

Offline Bitbeisser

  • Global Moderator
  • Member
  • *****
  • Posts: 772
Re: Future of C....
« Reply #1 on: September 17, 2012, 11:32:45 PM »
I stumbled upon an article in an older magazine that left me wondering...
 
Where is C going?
C ain't going nowhere. It's here to stay...  8)
Quote
Is there a future here?
 
This 8 year old article claimed that in 5 years we would all be assembling code from pre-cooked objects and that procedural or functional programming would be "legacy" at best... Well, this hasn't happened as far as I can tell but there has been some movement in that direction that is getting harder and harder to deny.
There is alway some movement in some direction, but for all the "real" applications, nothing really has changed or will seriously change anytime soon IMHO...
Quote
This is made especially more poignent given that the last three project bids I've been invited into have all been for code that needs to use COM and DShow multimedia extensions that are clearly written for C++ programmers...
Well, it is an old rule to always use the best tool for the job. C might fit that bill for a lot of jobs but certainly not all of them. Don't think that either COM or DShow (never had to deal with the later though) are that "clearly written for C++ programmers", but available libraries are likely written in C++ or are targeted for C++. Considering that C# and VB are still among the favorites for M$ in their Visual Studio tools (you can btw download their free "Express" 2012 versions now!), using C might just be needing an additional wrapper for the default libraries or you need to RYO if you can't find anything matching on the web already...

Ralf

CommonTater

  • Guest
Re: Future of C....
« Reply #2 on: September 18, 2012, 05:09:13 AM »
Yeah COM is activex which is C++ classes... so is DShow (multimedia).  You can work with them in C, but I've never had any success with it.

Yep, C is here to stay... but, I'm afraid, it's not the big deal it used to be.

Offline Bitbeisser

  • Global Moderator
  • Member
  • *****
  • Posts: 772
Re: Future of C....
« Reply #3 on: September 18, 2012, 07:55:27 PM »
Yeah COM is activex which is C++ classes... so is DShow (multimedia).  You can work with them in C, but I've never had any success with it.

Yep, C is here to stay... but, I'm afraid, it's not the big deal it used to be.
Might depend on how you define "big deal"...  ;)

Ralf

shazam

  • Guest
Re: Future of C....
« Reply #4 on: September 22, 2012, 09:31:28 PM »
C has been #1 on the Tiobe Index for the couple months http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Maybe schools are starting to teach C again after the C11 standard?

Not sure because I'm very new to C and programming but for me I wanted to start with C

Maybe I didnt understand the topic and you are asking about C in the Business(industry) future

I'm to knew to know about that   ;D Just learning C for my own satisfaction  :)

CommonTater

  • Guest
Re: Future of C....
« Reply #5 on: September 22, 2012, 11:39:31 PM »
Maybe schools are starting to teach C again after the C11 standard?

Actually some are... but mostly because neither teachers nor students are getting their heads around C++ as a first language. (Talk about biting off more than you can chew!)

Quote
Maybe I didnt understand the topic and you are asking about C in the Business(industry) future

C is still the language of choice for systems developers.
C++ is most often used by commercial programmers, and IT departments.

But that is changing as other languages creep up... C# is taking over for VBasic, for example.

Of course, we hobbiests are all over the map... For us this is fun (I think)...

I was mostly interested in hearing where people thing C is going... C-11 is a big change... so what's next?

Offline DMac

  • Member
  • *
  • Posts: 272
Re: Future of C....
« Reply #6 on: September 24, 2012, 06:55:42 PM »
I've not had the desire or need to do much with C++.

Years ago I took a course at the university extension to learn VB.NET so that I could develop some engineering software at work.  The course got me familiar with Visual Studio and what was going on with the VB.NET syntax.  I started to develop.

I found that for much of what I wanted to do (graphics stuff) there were more useful examples in C# than VB.NET and so I had to find converters and figure out that syntax.

Then I found that I needed to do something with Data acquisition and IO that didn't get included in the dotNET library that I was using.  Invariably that stuff was written in C.  So I had to figure that out.  Through BCX I found Pelles C and looked at the IDE and said "There ought to be something I could do with this."  To learn C I rewrote various Engineering tools from VB.NET to C and learned Windows API programming in the process.  The original dot.NET apps took a while to launch, but Pelle's C versions lept out of the starting gate.

By this time I understood what was going on under the hood a little with dotNET.

Managed Languages (dotNET families and JAVA) are great for doing the OO stuff with a small performance penalty on startup.   However since these languages are not native, there must be a layer that calls native functionality and organizes it into OO Building blocks.  If all of the blocks are there you can snap together complex and feature rich applications very quickly without getting your hands dirty with memory allocation and garbage collection.  If they are not there you better know your C and the underlying API so you can write your own OO wrapper.  Even today, I spend a lot of time writing code to access features of the underlying API because the stuff I have to do is not commonly done.

After writing a few applications in C I got used to being able to just directly manipulate data (via pointers and struct type casts).  This set me up for some frustrating moments with the managed languages because they enforce certain OO principles that force you to handle stuff indirectly.  A good example of this is that in Java, only class objects are passed by reference so only a class object can be a pointer.  If you want to use function pointers you have to wrap the function in a class and this makes for very verbose and indirect code.

C language has a nuts and bolts appeal that never grows old.
« Last Edit: September 24, 2012, 06:59:36 PM by DMac »
No one cares how much you know,
until they know how much you care.