The status of C

  • Thread starter Martin Johansen
  • Start date
M

Martin Johansen

Hey guys

Since C is my language of choice for almost any kind of application, I'd
like to know what the status of C is around the world today.

And I am ofcourse not talking about C++ or C#. I think the lack of object
orientation and garbage collection causes better programming discipline
needed for harder projects anyway.

Is C still the language of choice for serious programming?

Which businesses favour C, e.g. game, driver, os, device or even web
developement?

Is C on the decline?

Thanks!
 
T

Thomas Matthews

Martin said:
Hey guys

Since C is my language of choice for almost any kind of application, I'd
like to know what the status of C is around the world today.
The C language wasn't working around 2:45 GMT today for about an hour,
but it is fixed now.
And I am ofcourse not talking about C++ or C#. I think the lack of object
orientation and garbage collection causes better programming discipline
needed for harder projects anyway.

Is C still the language of choice for serious programming?
Hmmm, define "serious" programming.

Many shops use the language defined by management for various reasons,
some of those reasons are the current fad language. Other shops use
a language that has a specification, many different compiler vendors,
and isn't going to change radically soon.
Which businesses favour C, e.g. game, driver, os, device or even web
developement?
You can find businesses in all those categories that favor and disfavor
the C language.

What are you really driving at?
Is C on the decline?
Yes. Just last week, the printf statement was deteriorating and
wouldn't print the 4 parameter. I had to find a language hospital
and finally got the recipe for fixing it. It works now, but my
memcpy is starting to fail...


BTW, IMHO, you should use a language that helps produce the product
in the fastest manner with the highest quality. If you have to call
on archeologists to find it, then so be it. If everybody in the shop
knows the M language then that may be the one to use.

Perhaps you should scan the newsgroups and read all the articles
about the decline of the C language. Also, try searching before
you post.



--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.comeaucomputing.com/learn/faq/
Other sites:
http://www.josuttis.com -- C++ STL Library book
http://www.sgi.com/tech/stl -- Standard Template Library
 
P

Paul Mesken

Hey guys

Since C is my language of choice for almost any kind of application, I'd
like to know what the status of C is around the world today.

And I am ofcourse not talking about C++ or C#. I think the lack of object
orientation and garbage collection causes better programming discipline
needed for harder projects anyway.

I think discipline is even more important with languages that are not
OOP. But for medium to big projects (those that result in more than
10,000 lines of code, to give a rough idea) I'd favor C++.
Is C still the language of choice for serious programming?

Depends on what you call "serious programming".
Which businesses favour C, e.g. game, driver, os, device or even web
developement?

I'd say writing device drivers, OS, embedded systems, etc. A lot of
games are written in C++ nowadays (and often some Assembly is thrown
in). There are specialized languages for web development. I wouldn't
want to make a site with C.
Is C on the decline?

C has a lot of competition of C++. At least where I live, companies
hardly ever ask for C programmers anymore but there is a substantial
demand for C++ programmers.

Note also that the language is not the only thing that is asked for.
For example : companies not only ask for a C++ programmer, they ask
for a MSVC++.not programmer.
 
2

#2pencil

I use c to write cgi programs on my web-server. It's simple, it gets
the job done, & time isn't that much of an issue.

For user interface programs I use C++/ASM.
 
M

Martin Johansen

But for medium to big projects (those that result in more than
10,000 lines of code, to give a rough idea) I'd favor C++.

Is that because objects reduce the amount of code or because objects are
easier to deal with at this level?
 
J

jacob navia

Martin said:
Hey guys

Since C is my language of choice for almost any kind of application, I'd
like to know what the status of C is around the world today.

And I am ofcourse not talking about C++ or C#. I think the lack of object
orientation and garbage collection causes better programming discipline
needed for harder projects anyway.

Is C still the language of choice for serious programming?

Which businesses favour C, e.g. game, driver, os, device or even web
developement?

Is C on the decline?

Thanks!
What garbage collection is concerned, lcc-win32 (1) provides a garbage
collector as part of the standard distribution.

Gcc and most C implementations
can use a garbage collector without any problems, even if they do not
provide one with their systems.

The lack of object orientation is (in my opinion) not a bug but a
feature. I work routinely in OO projects today, either rewriting them
in C, or having to cope with the bloat.

As of today, I have two big projects of this type running. People will
realize sooner than later that bloatware is expensive.

Of course you can write good software in any language, even GWBASIC,
but it is harder.

(1) http://www.cs.virginia.edu/~lcc-win32
 
E

Emmanuel Delahaye

Martin Johansen wrote on 09/06/05 :
Since C is my language of choice for almost any kind of application, I'd like
to know what the status of C is around the world today.

I (Paris, France) work on embedded systems for telecom (MPC, Xscale,
DSP, Embedded Linux) C is not an option. Additionally, I like it.

--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
The C-library: http://www.dinkumware.com/refxc.html

I once asked an expert COBOL programmer, how to
declare local variables in COBOL, the reply was:
"what is a local variable?"
 
J

Jonathan Bartlett

C has a lot of competition of C++. At least where I live, companies
hardly ever ask for C programmers anymore but there is a substantial
demand for C++ programmers.

Of course, a lot of this is just for C programmers who are working with
a C++ compiler. A lot of C++ code is just C code, and C99 removed a lot
of the reasons to use C++ for non-OO work.

A lot of people use more or less a C subset of C++, with a few classes
thrown in when appropriate, or when demanded by third-party apps.

Personally, I wouldn't ever touch C++ for large projects -- it's just
too hard to track down exactly what the compiler is doing at any given
point, especially when it comes to casting, generating temporaries and
intermediates, and passing parameters. You have to pretty much have the
entire code base memorized before being certain of what any given line
of code does, even just a simple assignment.

Personally, for OO stuff, I prefer things such as Python, or for times
when I need to do really tricky stuff I like to go Scheme.

Jon
 
E

E. Robert Tisdale

Martin said:
Since C is my language of choice for almost any kind of application,
I'd like to know what the status of C is around the world today.

And I am of course not talking about C++ or C#.
I think the lack of object orientation and garbage collection
causes better programming discipline

Good programmers "cause" better programming discipline.
needed for harder projects anyway.

Is C still the language of choice for serious programming?

Which businesses favour C, e.g. game, driver, os, device
or even web developement?

Is C on the decline?

C is obsolete.
C++ was designed to replace C
and that seems to be what is happening.

Java (and C#) are smalltalk disguised as C++.
Neither Java or C# can replace C or C++.
You can't write [practical] device drivers
or real-time programs in Java or C#.

Java and C# are the most efficient way to implement
most (> 90%) applications but they can cause problems
for high performance applications.

Employers who require C++ usually assume that
you can read, understand and maintain legacy C code as well.
 
R

Richard Harter

I think discipline is even more important with languages that are not
OOP. But for medium to big projects (those that result in more than
10,000 lines of code, to give a rough idea) I'd favor C++.

Isn't that a no-op? I hear tell that one can't write a C++ program
that doesn't take at least 10,000 lines.
Depends on what you call "serious programming".


I'd say writing device drivers, OS, embedded systems, etc. A lot of
games are written in C++ nowadays (and often some Assembly is thrown
in). There are specialized languages for web development. I wouldn't
want to make a site with C.


C has a lot of competition of C++. At least where I live, companies
hardly ever ask for C programmers anymore but there is a substantial
demand for C++ programmers.

Note also that the language is not the only thing that is asked for.
For example : companies not only ask for a C++ programmer, they ask
for a MSVC++.not programmer.

I do hope that MSVC++.not programmer was intentional. If not, it was
a magnificently freudian typo.



Richard Harter, (e-mail address removed)
http://home.tiac.net/~cri, http://www.varinoma.com
Save the Earth now!!
It's the only planet with chocolate.
 
R

Robert W Hand

I (Paris, France) work on embedded systems for telecom (MPC, Xscale,
DSP, Embedded Linux) C is not an option.

Just a clarification. Do you mean that only C is allowed or that C is
not allowed to be used in your work? I understand that you do not
have a choice, but I can only guess that you must use it. (?)
 
C

CBFalconer

jacob said:
.... snip ...

What garbage collection is concerned, lcc-win32 (1) provides a
garbage collector as part of the standard distribution.

You are doing it again. Garbage collection is NOT standard. You
do provide an extension, which is not portable. Since it is not
portable, it is off-topic here in c.l.c. If you simply said this
up front you would not generate the furor that is sure to follow.
 
K

Keith Thompson

jacob navia said:
Martin said:
Since C is my language of choice for almost any kind of application,
I'd like to know what the status of C is around the world today.
And I am ofcourse not talking about C++ or C#. I think the lack of
object orientation and garbage collection causes better programming
discipline needed for harder projects anyway.
[...]
What garbage collection is concerned, lcc-win32 (1) provides a garbage
collector as part of the standard distribution.

Of course, the word "standard" here does not refer to standard C.
Gcc and most C implementations
can use a garbage collector without any problems, even if they do not
provide one with their systems.

Note that if your implementation provides garbage collection as an
extension, you have to exercise some discipline to use it. Not as
much discipline as what's required to use malloc/free properly, but GC
can potentially break some valid C programs. (The cases I can think
of involve storing a pointer value as a disconnected sequence of
bytes, thus hiding it from the GC system, and then reconstructing it;
there may be other cases I can't think of.)

And of course any code that depends on GC is not portable to an
implementation that doesn't support it.

In any case, the OP specifically did not ask for garbage collection,
so I'm not sure why you brought it up.

Anyone who wants to discuss the extensions provided by lcc-win32
should do so in comp.compilers.lcc.
 
R

Rene Girard

For over 20 years I used FORTRAN 77 to write scientific and engineering
applications (numerical methods).
About 7 years ago I started to learn C++ to do the same; however, I found
that in most cases
when using a class, say to represent objects like matrix, then there is a
penalty in terms of speed of execution.
Yes there are ways to make C++ code more efficient but I find that at the
end of the day the resulting C++ code
can be quite complicated when compared to C. About 3 years ago, I stop using
C++ and started to use C (ANSI C89)to write my scientific and engineering
applications and it became my language of choice because it is a "small"
language and yet it is very powerful and flexible. Also, excellent free
compilers and debuggers are available plus there are many other free tools
available
like "splint", gcov, profiler and memory leak detection software, that
helps you to create solid products.

Is C on the decline ? No, I do not think so as in the scientific world,
applications and libraries are currently written in ANSI C (C89) see for
example the Gnu Scientific Library.
 
C

Chris Croughton

Isn't that a no-op? I hear tell that one can't write a C++ program
that doesn't take at least 10,000 lines.

<OT>
#include <iostream>
int main()
{
cout << "Hello world" << endl;
return 0;
}
</OT>

Of course, if you include the header and the libraries in the "10,000
lines" then you're probably right, but much the same could be said for
C. Indeed, has been said, I remember people complaining that C produced
'enormous' executables (thousands of bytes) for "hello world" when other
leaner languages could do it in a few tens of bytes...
I do hope that MSVC++.not programmer was intentional. If not, it was
a magnificently freudian typo.

A magificent typo, indeed, but Freudian? If you can find sex in it you
/really/ need to get out more <g>...

(Or was it combined with the earlier comment about 'discipline'?)

Chris C
 
J

jacob navia

Keith said:
In any case, the OP specifically did not ask for garbage collection,
so I'm not sure why you brought it up.

He said:
<<
I think the lack of object
orientation and garbage collection causes better programming discipline
needed for harder projects anyway.
That were the two point he addressed, and I answered each one
of them.
 
J

jacob navia

CBFalconer said:
jacob navia wrote:

... snip ...



You are doing it again. Garbage collection is NOT standard. You
do provide an extension, which is not portable. Since it is not
portable, it is off-topic here in c.l.c. If you simply said this
up front you would not generate the furor that is sure to follow.

It is not standard but it is just an external library.
External libraries are allowed of course!

External libraries can be very portable. Mr Boehm's GC
runs under Unix, windows, and many other OSes.

jacob
 
G

GMM50

I live on the east coast of the US and when I fly to the west coast
this is the sequence.

Walk to my car
Drive to the airport
Take a shuttle to the plane
Fly to Chicago
Take a moving sidewalk to another plane..........

Any way you get the picther. So the best way to travel is????

Same with language use the best or combination of the best for your
project.

gm
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,164
Messages
2,570,898
Members
47,440
Latest member
YoungBorel

Latest Threads

Top