I mean, it's just one step away from assembler, and for most programming needs, there are languages that will let you build application faster and without the headaches of C.
It's not that bad it's just that I think there are other languages better suited to most common tasks and especially business applications. It is great and especially necessary for extending the capabilities of other languages.
Some sad people use it for everything.
Some sad people use it only under life threat.
Many wise people build great systems by combining the best of both world (HL/LL).
With cmak. Different languages for different problem domains. Sometimes it will be the first thing you look at and assembly will be the language of last resort.
I think you should more clearly define the context of the application.
For a desktop app, Java or C++ is probably the best way.
For server-side business code, Ruby, Java, (numerous etc.s).
But C should always be considered for extending another language for anything hardcore (compression, simulation, video-editing).
And although you probably are in the context of full-fledge computers, C is of course widely used in micro-processors.
C is the Swiss Army Knife of languages. You might have a monkey wrench or allen wrench (sp?) or pen knife for when you need those things, but carrying all that stuff around (learning all those languages) is bothersome. One tool (language) that can "just do it" is handy.
That is pretty much totally wrongheaded. C is a general-purpose language, but so are most that we'll be talking about around here. C has access to some stuff other high-level languages would prefer to abstract away, but that is in no way an unmixed blessing. Most of the time, the abstraction is exactly what you want; having to work without it is like pulling teeth without anesthetic: You can do it, but it's really more painful than the alternatives.
C is less powerful and expressive than a *lot* of general-purpose languages, and vastly inferior in limited domains than a task-specific language. It is a very specifically useful tool, supreme in one domain and kind of crappy in most others.
Discussion (13)
everything migrates to C in the end so it can be more easily composed with higher level languages. That's ok.
C's not that bad for goodness sake.
It's not that bad it's just that I think there are other languages better suited to most common tasks and especially business applications. It is great and especially necessary for extending the capabilities of other languages.
Penultimate resort, maybe. See the description.
D'A
Really depends heavily on the task at hand... I've made some hefty bonuses in optimization that C allowed for...
...different tools for different problems...
C is the One True Language
C is great !
Some sad people use it for everything.
Some sad people use it only under life threat.
Many wise people build great systems by combining the best of both world (HL/LL).
Agree with me here: http://jyte.com/cl/the-best-all-purpose-language-combination-is-rubyc
:P
With cmak. Different languages for different problem domains. Sometimes it will be the first thing you look at and assembly will be the language of last resort.
Assembly is the last resort
I think you mean 'higher' level languages. I'm positive you're not implying that BASIC is to be used in lieu of C.
I think you should more clearly define the context of the application.
For a desktop app, Java or C++ is probably the best way.
For server-side business code, Ruby, Java, (numerous etc.s).
But C should always be considered for extending another language for anything hardcore (compression, simulation, video-editing).
And although you probably are in the context of full-fledge computers, C is of course widely used in micro-processors.
C is the Swiss Army Knife of languages. You might have a monkey wrench or allen wrench (sp?) or pen knife for when you need those things, but carrying all that stuff around (learning all those languages) is bothersome. One tool (language) that can "just do it" is handy.
That is pretty much totally wrongheaded. C is a general-purpose language, but so are most that we'll be talking about around here. C has access to some stuff other high-level languages would prefer to abstract away, but that is in no way an unmixed blessing. Most of the time, the abstraction is exactly what you want; having to work without it is like pulling teeth without anesthetic: You can do it, but it's really more painful than the alternatives.
C is less powerful and expressive than a *lot* of general-purpose languages, and vastly inferior in limited domains than a task-specific language. It is a very specifically useful tool, supreme in one domain and kind of crappy in most others.
D'A