473,378 Members | 1,523 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

The status of C

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!
Nov 14 '05 #1
63 2591
Martin Johansen wrote:
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...


Thanks!


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

Nov 14 '05 #2
On Thu, 9 Jun 2005 20:18:43 +0200, "Martin Johansen" <mf**@online.no>
wrote:
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.

Nov 14 '05 #3
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.

Nov 14 '05 #4
> 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?
Nov 14 '05 #5
Martin Johansen wrote:
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

Nov 14 '05 #6
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?"

Nov 14 '05 #7
> 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
----
Learn to program using Linux assembly language
http://www.cafeshops.com/bartlettpublish.8640017
Nov 14 '05 #8
On Thu, 09 Jun 2005 22:37:20 +0200, "Emmanuel Delahaye"
<em***@YOURBRAnoos.fr> wrote:
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. (?)

--

Best wishes,

Bob
Nov 14 '05 #9
On Thu, 09 Jun 2005 21:03:29 +0200, Paul Mesken <us*****@euronet.nl>
wrote:
On Thu, 9 Jun 2005 20:18:43 +0200, "Martin Johansen" <mf**@online.no>
wrote:
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++.


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.
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.


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

Richard Harter, cr*@tiac.net
http://home.tiac.net/~cri, http://www.varinoma.com
Save the Earth now!!
It's the only planet with chocolate.
Nov 14 '05 #10
jacob navia wrote:
.... 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.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson

Nov 14 '05 #11
jacob navia <ja***@jacob.remcomp.fr> writes:
Martin Johansen wrote:
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.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Nov 14 '05 #12
In article <ln************@nuthaus.mib.org>,
Keith Thompson <ks***@mib.org> wrote:
storing a pointer value as a disconnected sequence of bytes


That's insane!! -- and now I'll have to think a reason to
do it in my next program ;-)
--
Beware of bugs in the above code; I have only proved it correct,
not tried it. -- Donald Knuth
Nov 14 '05 #13
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.



"Martin Johansen" <mf**@online.no> wrote in message
news:GK********************@news2.e.nsc.no...
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!

Nov 14 '05 #14
Rene Girard wrote:
C (ANSI C89)


I've been thinking about calling that "Australian Rules C" ;)
I just bought one of these:
http://webstore.ansi.org/ansidocstor...AS+3955%2D1991
and it's Australian.

--
pete
Nov 14 '05 #15
Keith Thompson wrote:
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.
Nov 14 '05 #16
CBFalconer wrote:
jacob navia wrote:

... 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.


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
Nov 14 '05 #17
On Thu, 09 Jun 2005 22:35:25 GMT, Richard Harter
<cr*@tiac.net> wrote:
On Thu, 09 Jun 2005 21:03:29 +0200, Paul Mesken <us*****@euronet.nl>
wrote:
On Thu, 9 Jun 2005 20:18:43 +0200, "Martin Johansen" <mf**@online.no>
wrote:

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.


<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...
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.


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
Nov 14 '05 #18
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

Nov 14 '05 #19
On Thu, 09 Jun 2005 22:35:25 GMT, cr*@tiac.net (Richard Harter) wrote:
On Thu, 09 Jun 2005 21:03:29 +0200, Paul Mesken <us*****@euronet.nl>
wrote:

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.


It's not a typo, ".not" is like windoze and Micro$oft :-)

Nov 14 '05 #20
On Fri, 10 Jun 2005 09:50:52 +0200, jacob navia wrote:
CBFalconer wrote:
jacob navia wrote:

... 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.


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


But not supported by standard C, they just inhabit an area that the
standard leaves as undefined behaviour.
External libraries can be very portable. Mr Boehm's GC
runs under Unix, windows, and many other OSes.


Extrnal libraries could even be written in standard C. But they are only
well defined and portable in the comp.lang.c sense if their source code is
available and considered to be part of the program under consideration.

Lawrence

Nov 14 '05 #21
Lawrence Kirby wrote:

Extrnal libraries could even be written in standard C. But they are only
well defined and portable in the comp.lang.c sense if their source code is
available and considered to be part of the program under consideration.


The source code of Mr Boehm's GC is available everywhere.
Nov 14 '05 #22
Robert W Hand wrote on 10/06/05 :
On Thu, 09 Jun 2005 22:37:20 +0200, "Emmanuel Delahaye"
<em***@YOURBRAnoos.fr> wrote:
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 <...>


Yes. Sorry for being unclear.

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

"Clearly your code does not meet the original spec."
"You are sentenced to 30 lashes with a wet noodle."
-- Jerry Coffin in a.l.c.c++

Nov 14 '05 #23

In article <ln************@nuthaus.mib.org>, Keith Thompson <ks***@mib.org> writes:

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.)


There's the ever-popular one of writing a pointer value to a file
with fprintf (or string with sprintf) and %p, then later "during the
same program execution" (as the Standard has it) converting it back
with fscanf (or sscanf).

This (and other variations, eg inspecting a pointer variable's value
as a sequence of unsigned char, storing the individual bytes as hex
in a string, and later restoring them) is of course basically the
same as the "disconnected sequence" case you described. The point is
that there are a handful of ways in which conforming C programs can
hide a pointer value from a collector and recover it later.

--
Michael Wojcik mi************@microfocus.com

I would never understand our engineer. But is there anything in this world
that *isn't* made out of words? -- Tawada Yoko (trans. Margaret Mitsutani)
Nov 14 '05 #24
Michael Wojcik wrote:
In article <ln************@nuthaus.mib.org>, Keith Thompson <ks***@mib.org> writes:
The point is
that there are a handful of ways in which conforming C programs can
hide a pointer value from a collector and recover it later.


If they use the collector and do that, those programs will crash.

Who cares?

The documentation specifies that the collecotr will work
assuming certain conditions, and if you do not respect them
your program may crash, or the block that the collector thinks
its free will be reused with unpredictable results.

The GC library is as any other library. There are zillion ways
to make it crash. The same as, say, a sockets library. You
can crash it in a zillion ways by feeding it wrong data,
using invalid pointers, destroying its internal data
structures whatever.

So what?

Nov 14 '05 #25
On Thu, 9 Jun 2005 21:38:08 +0200, "Martin Johansen" <mf**@online.no>
wrote:
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?


I wouldn't say that C++ results in less code ;-)

C++ just has better ways to do things like abstraction, encapsulation,
polymorphism, etc. Such techniques help to keep big projects
manageable.
Nov 14 '05 #26
On Thu, 09 Jun 2005 15:10:51 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote:
C is obsolete.
C++ was designed to replace C
and that seems to be what is happening.


I tend to agree, but this might not be the best place to make such
statements ;-)

Nov 14 '05 #27
jacob navia <ja***@jacob.remcomp.fr> writes:
Michael Wojcik wrote:
In article <ln************@nuthaus.mib.org>, Keith Thompson
<ks***@mib.org> writes:
The point is
that there are a handful of ways in which conforming C programs can
hide a pointer value from a collector and recover it later.


If they use the collector and do that, those programs will crash.

Who cares?


Anyone who uses the collector should care.

(Did you think I was arguing that nobody should ever use garbage
collection? I wasn't.)

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Nov 14 '05 #28

"Martin Johansen" <mf**@online.no> wrote

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?

What I constantly harp on about is the timewasting potential of computers.
They are great for playing games on, but attempts to use them for any other
purpose are fraught with difficulty.
Email imposes very little cost on the sender, with the result that you get
messages which are not of any real importance to whoever originated them.
Using a new sotware package, or a new language, is a common occurence. The
inevitable delays and inefficiencies are always rationalised as teething
problems, but in fact it is a perpetual situation. For instance I presently
have to use Java, and I am trying to coax the JTree component into doing
what I want (it truncates labels of leaf nodes). So here is a programmer of
over twenty year's experience not able to draw a tree! Totally unacceptable,
but that's what happens once you go down the route of the best and brightest
new language.

I can knock together an algorithm in C basically as fast as I can type. Use
any other language and you spend time playing with its features, making this
virtual or overloading the equals method for that class or trying out fancy
loops in another language that allows snappy syntax for reading from files.
In other words wasting time.
Nov 14 '05 #29

"Emmanuel Delahaye" <em***@YOURBRAnoos.fr> wrote
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 <...>


Yes. Sorry for being unclear.

English lesson.
"C is not an option" means "C may not be used".
"C is not optional" means we may not refuse to use C.
Nov 14 '05 #30
Malcolm wrote on 10/06/05 :
"Emmanuel Delahaye" <em***@YOURBRAnoos.fr> wrote
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 <...>


Yes. Sorry for being unclear.

English lesson.
"C is not an option" means "C may not be used".
"C is not optional" means we may not refuse to use C.


Ah, thanks. IOY a drink.

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

"C is a sharp tool"

Nov 14 '05 #31
On Fri, 10 Jun 2005 21:30:58 +0000 (UTC), "Malcolm"
<re*******@btinternet.com> wrote:
I can knock together an algorithm in C basically as fast as I can type. Use
any other language and you spend time playing with its features, making this
virtual or overloading the equals method for that class or trying out fancy
loops in another language that allows snappy syntax for reading from files.
In other words wasting time.


I agree that this is a danger of learning a new language (especially
with C++) but I believe this desire to be a natural part of learning a
new language (or any new thing) and, thus, a transitory thing.

When I learned C I fell in love with the ternary operator and comma's.
I made an effort to fit entire functions inside a single return
statement (being several lines long).

With learning C++ I started to change my data in such a way that I
could use those neat inheritance features (how can I impose a
hierarchy on my data that didn't exist before?). With T-SQL I went
bananas with triggers, etc.

But now I use the features to make my programs and am no longer
changing my designs to fit the features. Sound programming practices
(readability, maintainability, etc.), once more, rule (of course, not
in the case of Assembly ;-)

So, I think the practices you speak of are merely a natural learning
thing and they won't last.

Nov 14 '05 #32

"Paul Mesken" <us*****@euronet.nl> wrote

I agree that this is a danger of learning a new language (especially
with C++) but I believe this desire to be a natural part of learning a
new language (or any new thing) and, thus, a transitory thing.

That's the trap everyone falls into with computers.

The installing of new software, converting your data to the new system,
learning to navigate the snazzy new window system or trying to get the
scanner to work with the new PC, never stops. Unless you take firm action
against it, it negates most of the advantages of using computers at all.

Part of that firm action, for programmers, is to do everything in C unless
there is an overwhelming case for another language. In my case I have to use
a Java UI. However the interesting part of the code is in C. The algorithm I
am currently working on takes about an hour to run, so if I wrote it in Java
that would probably mean a two hour running time. New languages usually have
serious disadvantages as well as advantages.
Nov 14 '05 #33
On Fri, 10 Jun 2005 18:54:08 +0200, jacob navia wrote:
Lawrence Kirby wrote:

Extrnal libraries could even be written in standard C. But they are only
well defined and portable in the comp.lang.c sense if their source code is
available and considered to be part of the program under consideration.


The source code of Mr Boehm's GC is available everywhere.


If iot is written in standard, portable C, and you make its source code
part of the source code of your application then fine.

Lawrence
Nov 14 '05 #34
Lawrence Kirby wrote:
On Fri, 10 Jun 2005 18:54:08 +0200, jacob navia wrote:

Lawrence Kirby wrote:
Extrnal libraries could even be written in standard C. But they are only
well defined and portable in the comp.lang.c sense if their source code is
available and considered to be part of the program under consideration.


The source code of Mr Boehm's GC is available everywhere.

If iot is written in standard, portable C, and you make its source code
part of the source code of your application then fine.

Lawrence


The code of Mr Boehm is his property. I do not want to make
a parallel distribution of his code.

The code is available at request from me of course, but it is better
to get it from the official distribution.

The code is system code of course. Standard C doesn't cover virtual
memory, threads, and many other things, so it is written in C, but
not exclusively in ANSI C, specially because it uses low level
system calls.

Nov 14 '05 #35
On Sat, 11 Jun 2005 18:31:48 +0200, jacob navia wrote:
Lawrence Kirby wrote:
On Fri, 10 Jun 2005 18:54:08 +0200, jacob navia wrote:

Lawrence Kirby wrote:

Extrnal libraries could even be written in standard C. But they are only
well defined and portable in the comp.lang.c sense if their source code is
available and considered to be part of the program under consideration.
The source code of Mr Boehm's GC is available everywhere.

If iot is written in standard, portable C, and you make its source code
part of the source code of your application then fine.

Lawrence


The code of Mr Boehm is his property. I do not want to make
a parallel distribution of his code.


No doubt, and I'm not suggesting that you do this. Howeever if the source
code is not considered part of your application then you have an area of
undefined behaviour in your program as fas as the standard is concerned.
But you don't have to distribute Mr Boehms code to make it part of your
application, you just have to include instructions on how to obtain the
source code and integrate it into your application.
The code is available at request from me of course, but it is better
to get it from the official distribution.
No doubt true but not the point at issue.
The code is system code of course. Standard C doesn't cover virtual
memory, threads, and many other things, so it is written in C, but
not exclusively in ANSI C, specially because it uses low level
system calls.


Then its portability will naturally be limited.

Lawrence

Nov 14 '05 #36
In article <d8**********@nntp1.jpl.nasa.gov>, E. Robert Tisdale
<E.**************@jpl.nasa.gov> writes
Martin Johansen wrote:
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.


In the major expanding area of computing C is the ONLY option. eg
embedded.
C++ was designed to replace C
and that seems to be what is happening.

In may areas yes. However in many areas C++ can not replace C
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Nov 14 '05 #37
Paul Mesken wrote:
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++.
I'd favor UML - the choice of a language comes afterwards.
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.


Most of the games I've seen (eg. Quake) are a mixture of C or C++ with
assembly for the speedup. Same goes for 3D-imaging software. However, I
wouldn't trade C for another language when writing programs to
communicate with PLCs.
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.


That has nothing to do with the language, it's a matter of perspection.

-atl-
--
A multiverse is figments of its own creations
Nov 14 '05 #38

"Martin Johansen" <mf**@online.no> wrote in message
news:GK********************@news2.e.nsc.no...
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!


C is dead, no Paul is dead, no...
Nov 14 '05 #39
"jacob navia" <ja***@jacob.remcomp.fr> wrote

The documentation specifies that the collecotr will work
assuming certain conditions, and if you do not respect them
your program may crash, or the block that the collector thinks
its free will be reused with unpredictable results.

The GC library is as any other library. There are zillion ways
to make it crash. The same as, say, a sockets library. You
can crash it in a zillion ways by feeding it wrong data,
using invalid pointers, destroying its internal data
structures whatever.

So what?

I would normally expect a function to crash if I feed it invalid parameters.
If it is possible to crash it by altering global varaibles it depends on, or
by calling functions in the wrong order (except to construct the parameters)
then I would say it is badly designed.
If it is possible to cause a function to crash by executing legal C in
another area of the program, then the library is not like any other library.
Effectively it is a change to the language.

That's not to say that it is necessarily a bad idea to make a few minor
changes, such as forbidding operation on pointer internal representations,
for the sake of allowing an automatic garbage collector to do its business.
Nov 14 '05 #40


Martin Johansen wrote:
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.

As evidenced by all the robust, secure, reliable, and maintainable code
out there right now?

"Better programming discipline" is built by following best practices,
not by restricting yourself to the most primitive tools available.

I suppose all home builders should throw away their table saws and
pnuematic hammers and laser levels and prefab trusses; using nothing
but a hand saw and claw hammer should enforce better building
discipline needed for bigger projects.

Sorry, it's just that my personal experience with the whole "let's do
it the hard way, because it'll make us better programmers" attitude has
resulted in redundant, buggy code and missed deadlines. There are
times C just isn't the right answer. Why write 50 lines of code when
you can accomplish the same thing in 10? Why roll your own library to
do something that's already supported at the language level in Java or
C#? Why not use tools that come with blade guards already attached?
Is C still the language of choice for serious programming?
Depends on what you mean by "serious". There are some domains where it
would not be my first choice. Anything that requires a heavy GUI front
end, for example, would be better served with a language that provides
high-level support for widgets and graphics (Java, or C# with the .Net
framework, etc.). String handling isn't exactly a happy proposition,
either. But there are times when code size or execution speed trump
everything else, and in those cases it's either C or assembler.

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

Is C on the decline?
C was state of the art 30 years ago. The art has advanced somewhat
since then. I would expect to see C used for new development less and
less as time goes on. I expect the last holdouts to be in domains
where code must compile to as small a footprint as possible, yet still
remain portable; games, device drivers, OS kernels, etc.

Thanks!


Nov 14 '05 #41
This thread is going to be a flame war ;-)
Martin Johansen wrote:
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.
This IS a matter of feeling, taste, habit, etc... And of course
applications.
You won't use C for tasks usually done in awk or python, for example.
But programming discipline has nothing to do with the language. If you
really
like the hard way, write your GUI apps in assembly ! Some people do that,
I've seen some web sites... very impressive, indeed, but is it really a good
idea ?
As evidenced by all the robust, secure, reliable, and maintainable code
out there right now?
I thought OpenBSD was robust, secure and maintainable :-) And it's not the
only one...
"Better programming discipline" is built by following best practices,
not by restricting yourself to the most primitive tools available.
But "restricting" to "primitive" tools is not forbidden ;-) And, who says
C is primitive ?
I suppose all home builders should throw away their table saws and
pnuematic hammers and laser levels and prefab trusses; using nothing
but a hand saw and claw hammer should enforce better building
discipline needed for bigger projects.
:-)

To complete the joke: Amish farms are said to be among the most productive.
But you still have the opportunity to buy seeds to Monsanto ;-)
Sorry, it's just that my personal experience with the whole "let's do
it the hard way, because it'll make us better programmers" attitude has
resulted in redundant, buggy code and missed deadlines.
And is the attitude of a wannabe "real programmer" :-) But it doesn't
necessarily mean that C is obsolete ! No need to become a C guru, you
can still write great programs with it.

You suggest that C is the "hard way". I'm sorry to inform you that
I program more easily in C than in any other language. I can compare with
BASIC, Pascal, Java, C++ and Fortran... I definitely prefer C. Some are
better for really simple tasks, but when I need full control over my
program, I use C, or sometimes assembly. Just try to check or change IEEE
flags
in Java... Hey, you can't !!!
There are times C just isn't the right answer.
I agree !
Why write 50 lines of code when
you can accomplish the same thing in 10?
Maybe it is faster, or more elegant, or more readable, etc...
Why roll your own library to
do something that's already supported at the language level in Java or
C#? Why not use tools that come with blade guards already attached?
Mmmm. Why reimplement in Java code already available for years in C.
This argument is pointless: you have only two "choices" (if you can choose
!)
when you decide to learn a new language: reuse existing code "as is" and
link,
or rewrite it. Both choices have drawbacks.
Is C still the language of choice for serious programming? Depends on what you mean by "serious".
Would you suggest that C is not serious ? :-) Just have a look at the
number of open source projects written in C... I wouldn't say they are
not serious.
There are some domains where it
would not be my first choice.
Here again, I agree
Anything that requires a heavy GUI front
end, for example, would be better served with a language that provides
high-level support for widgets and graphics (Java, or C# with the .Net
framework, etc.).
Well... Java is sometimes considered as a "toy" language, and it has many
many
drawbacks: subject to Sun will, have poor support for IEEE floating point,
is not as portable as claimed, etc. About portability: you first need a VM
on your OS. Try to run Java code on OpenBSD/macppc ! And it's not the most
uncommon. Even if you have a VM, there are differences, at least in
pathnames.
If you consider floating point, William Kahan has written a great paper on
this subject, I couldn't do better :-)

If you need a GUI, you can still use C: X11 or Carbon are easily accessible
in C.
But a simpler way is using Python and/or TclTk for GUI, and C for all
computations.
Linking C in Python is very easy, and made even easier by SWIG.

Oh, and if you really like Object-Oriented programming, you can do that in C
as well.
It's not immediate, but not very hard either.
String handling isn't exactly a happy proposition, either.
In Java it's not perfect, but probably better. Nevertheless, string
handling is not a problem in C.
But there are times when code size or execution speed trump
everything else, and in those cases it's either C or assembler.


Oh, not necessarily either. Many scientific codes are written in Fortran,
and compiled functionnal languages can be very fast. Objective Caml is
said to be faster than C++.
Which businesses favour C, e.g. game, driver, os, device or even web
developement?

Is C on the decline?


C was state of the art 30 years ago. The art has advanced somewhat
since then. I would expect to see C used for new development less and
less as time goes on. I expect the last holdouts to be in domains
where code must compile to as small a footprint as possible, yet still
remain portable; games, device drivers, OS kernels, etc.


It's funny to note that almost all interpreters and compilers are
written in C. One remarkable exception is Octave, but it's also remarkably
slow ;-)
And BTW, many people criticize C++, for some good reasons. It's only an
hybrid
OO language, and Objective C may be considered much better. In fact, the
best OO language
may be the oldest, smalltalk. Perhaps too old for you :-) But I don't think
old means
obsolete. UNIX is old, and MacOS X is built on a UNIX base... C is old, but
many
projects are still written in C. Why stop ? Only because someone has said
it's *too* old ? :-)

Hey, a good task for Java is GUI, as you said before: MATLAB's GUI is
written in Java,
but you bet the computation core isn't !!! :-D
Nov 14 '05 #42
Malcolm wrote:
"jacob navia" <ja***@jacob.remcomp.fr> wrote
The documentation specifies that the collecotr will work
assuming certain conditions, and if you do not respect them
your program may crash, or the block that the collector thinks
its free will be reused with unpredictable results.

The GC library is as any other library. There are zillion ways
to make it crash. The same as, say, a sockets library. You
can crash it in a zillion ways by feeding it wrong data,
using invalid pointers, destroying its internal data
structures whatever.

So what?


I would normally expect a function to crash if I feed it invalid parameters.
If it is possible to crash it by altering global varaibles it depends on, or
by calling functions in the wrong order (except to construct the parameters)
then I would say it is badly designed.
If it is possible to cause a function to crash by executing legal C in
another area of the program, then the library is not like any other library.
Effectively it is a change to the language.

That's not to say that it is necessarily a bad idea to make a few minor
changes, such as forbidding operation on pointer internal representations,
for the sake of allowing an automatic garbage collector to do its business.


The GC doesn't crash. But if you hide a pointer from it, it
will assume that that block is free, and give it to you again
when you call GC_malloc. This may make your code to crash because
the code that accesses the old block, will assume pointers somewhere
for instance, and that will make the code crash since when the block
was rewritten those values disappeared and were replaced by another
ones, most probably wrong ones.

The same will happen if you free() a block and the go on using it.

Nov 14 '05 #43
jo*******@my-deja.com wrote:

Martin Johansen wrote:
Is C still the language of choice for serious programming?

Depends on what you mean by "serious". There are some domains where it
would not be my first choice. Anything that requires a heavy GUI front
end, for example, would be better served with a language that provides
high-level support for widgets and graphics (Java, or C# with the .Net
framework, etc.). String handling isn't exactly a happy proposition,
either. But there are times when code size or execution speed trump
everything else, and in those cases it's either C or assembler.


The IDE of lcc-win32 is a GUI program written in C. It is 750K, and
very fast. It uses all widgets available under the Win32 API and
demostrates that C can be used without any problems to write GUI code.

I looked at C#, for instance. The code is still more or less the same
as C, in a more "abstracted" view maybe, but you do exacly the same
as in C because you call exactly the same widget set provided by the
OS.

But there is another advantage that C continues to have.

I started writing the IDE more than 12 years ago, under windows 3.1.

Most of the interface code from that time still runs without any
problems. Tha appearence of the widgets has improved of course,
but I have been able to use those "new" widgets without adding any
line of code because the windows API has been very stable.

How many of the programs written in "the language of the day" way
back in 1993 (OWL for instance) are still running today?

The huge advantage of C is that your software will LAST. Software
written in C doesn't need to be rewritten each few years.
Which businesses favour C, e.g. game, driver, os, device or even web
developement?

Is C on the decline?

C was state of the art 30 years ago. The art has advanced somewhat
since then. I would expect to see C used for new development less and
less as time goes on. I expect the last holdouts to be in domains
where code must compile to as small a footprint as possible, yet still
remain portable; games, device drivers, OS kernels, etc.


Many people in comp.lang.c are C++ programmers (apparently) that see
C as a dead. Maybe this is why they oppose any improvement to C, to
force people migrate to C++. One of the most glaring examples is Mr
Tisdale, but as this thread demonstrates, there are many others.

The strength of C is its simplicity, and even if I have added extensions
to my compiler system (lcc-win32) I have kept the simplicity of the
basic design of C. This is what got lost in C++, and as simpler
languages like C# demonstrate, a simple language is much more easier
to debug and maintain.

May I remind you that basically machines haven't changed conceptually
since the sixties?

A CPU, some high speed RAM, some disk, some peripherals like the
keyboard, there, a computer.

The CPU has some high speed registers, slower main memory, and even
slower disk storage. This is since the sixties.

That is why the C programming model still holds perfectly today.
Yes, machines have more now, more memory, more disk, more speed.

But THAT IS ALL!

Conceptually, they are exactly the same as 40 years ago.

New concepts?

OO programming is derived from Simula, already present during the seventies.

Virtual Machines?

Remember USCD Pascal?

Java as an Universal Computer Language (UCOL)?

The UCOL project was started in the sixties. And it is still not
finished :-)

BLOATED Software?

Just look at Algol. The C++ of the sixties.

jacob
Nov 14 '05 #44
jacob navia <ja***@jacob.remcomp.fr> writes:
[...]
Many people in comp.lang.c are C++ programmers (apparently) that see
C as a dead. Maybe this is why they oppose any improvement to C, to
force people migrate to C++. One of the most glaring examples is Mr
Tisdale, but as this thread demonstrates, there are many others.
You continue to misunderstand and/or misrepresent the reason many of
us object to discussions of non-standard extensions here.

I won't presume to speak for anyone other than myself, but I believe
the following reflects the opinion of most of the regulars. (I do not
include ERT in this; he is merely a troll.)

I have no objection to the language extensions you've introduced in
lcc-win32. (It could be argued that they encourage the creation of
non-portable code, but I don't believe that's a strong argument.) I'm
not very familiar with lcc-win32 (I have little opportunity to use it
since I don't do much Windows programming), but from what little I've
seen it appears to be a good piece of work for the most part, and I
applaud you for making it available. It might even be a good idea to
incorporate some of your extensions into a future version of the C
standard; if so, your efforts will have provided the "existing
practice" that could make this practical.

*BUT*

That doesn't mean that discussions of your extensions, however useful
they might be, are topical here in comp.lang.c. The language compiled
by lcc-win32 (when invoked in a mode that enables the extensions) is
not C. It's obviously closely related to C, in much the same way that
C++ is, or that GNU C is.

Note that the same people who object to discussions of lcc-win32
extensions object equally strongly to discussions of C++ features that
do not exist in standard C. If we were trying to "force people
migrate to C++", this would be a very odd way to go about it.

This is not about objecting to what you've done with lcc-win32. This
is about objecting to your talking about it here, in a newsgroup
devoted to standard C.

And if you want to advocate the inclusion of lcc-win32 extensions in a
future standard, comp.std.c is the place to do it. But that's not
what you've done here. Rather than saying "C should support these
features", you've said "lcc-win32, a C compiler, supports these
features". We've already explained why the latter statement is
untrue.

To take a recent example, when someone asked about function
overloading in C, you responded by describing some non-C features in
lcc-win32. There was no reason to think that this would be useful to
the original poster (he didn't say he was using Windows), and it was
not an honest answer to the question. If you had said something like
this:

C does not support overloaded functions. If you're interested in
a C-like language that does support overloading, you might
consider C++ (discussed in comp.lang.c++) or the lcc-win32
compiler (discussed in comp.compilers.lcc).

I don't think anyone would have objected.

[...]
BLOATED Software?

Just look at Algol. The C++ of the sixties.


Are you thinking of Algol 68? Algol (the 1960 version) was a small
elegant language, an ancestor of both C and Pascal. The canonical
quotation on Algol 60 was C.A.R. Hoare's "Here is a language so far
ahead of its time, that it was not only an improvement on its
predecessors, but also on nearly all its successors." (comp.lang.misc
would be a good place to discuss this further.)

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Nov 14 '05 #45
Keith Thompson wrote:
jacob navia <ja***@jacob.remcomp.fr> writes:
Many people in comp.lang.c are C++ programmers (apparently)
that see C as a dead. Maybe this is why they oppose any
improvement to C.


[long refutation]


Dear Mr. Brick Wall,

I am getting a bit sore but I hope you do not mind
if we continue our regular meetings.

Signed,
Head.

Nov 14 '05 #46
In article <mn***********************@YOURBRAnoos.fr>,
Emmanuel Delahaye <em***@YOURBRAnoos.fr> wrote:
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.


This website might help:
http://www.tiobe.com/tpci.htm

Napi
--
http://www.axiomsol.com
http://www.cs.indiana.edu/hyplan/napi.html
Nov 14 '05 #47
[Mind followups]

In article <42******@news.tulsaconnect.com>,
Jonathan Bartlett <jo*****@eskimo.com> wrote:
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.


Namespaces
Templates
Automatic memory management
STL
....

Use the right tool for the job. OO is not the only reason C++ might be
the right tool for the job.
dave

--
Dave Vandervies dj******@csclub.uwaterloo.ca
The best idea for you would be to learn the hype language of the second half
of this decade. That way, you would have a head start of at least two years.
--Kurt Watzka in comp.lang.c
Nov 14 '05 #48
In article <GK********************@news2.e.nsc.no>,
Martin Johansen <mf**@online.no> wrote:
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.
Working without these features might be a good way to _learn_ better
programming discipline, but good discipline combined with helpful features
is better than either one on its own.

Is C still the language of choice for serious programming?
Sometimes. Use the right tool for the job; sometimes C is the right
tool for the job, sometimes it isn't.
Keep in mind that technical advantages are never the only reason, and
often not the primary reason, why a particular tool is or isn't right
for a particular job. (But if they're ignored entirely that may be a
sign that something is wrong.)

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


I write software for WeBuildRadar, and C is often the preferred language
for the parts of that software that I write (mostly data crunching of
various sorts).
The biggest reason for this is that additional features of "more advanced"
languages aren't necessary for the components of the system that I get
assigned to (mostly processing-intensive), and C is the language I'm most
familiar with and also the easiest to get other languages (often useful
in other parts of the system) to play nicely with. It's also nice to
have an easy "upgrade" path to C++ if additional C++ish features turn
out to be useful (it's not difficult to keep header files both C-clean
and C++-clean, and converting a well-written C module to correct C++
code ready for C++isms to be added can be done in an afternoon with time
to spare).
Another reason C is nice to work with for this type of application is its
"What you type is what you get" nature. This isn't always a Good Thing
(often you WANT the compiler to do things behind your back, because
you don't want to have to deal with them yourself), but in cases where
the type of things other languages do for you don't need to be done
anyways, not having to worry about things you don't want the language
doing without asking it to makes it easier (with enough experience)
to see bugs and inefficiencies when the first pass at the code doesn't
work correctly or quickly enough.

That having been said, I do end up switching to C++ (or starting with it)
often enough that being restricted to only C would make life difficult,
and I do have a few bits of C code that it would have been nice to have
converted to C++ BEFORE they started getting as messy and complicated
as they are now. So even though C is still useful, it's definitely not
the only language you need to know.

(And then there's the times when somebody else converts my code to C++
to make a change that would have been better done in C anyways... and
introduces a bug doing it... and then I have to find the bug without
any clues about whether it's a problem with the conversion or the new
code...)
So, short answer to your question: C is still useful (and widely used),
but not as universally as it was 20 years ago[1]; there are now more
general-purpose languages that are better for some things than C is,
and there are more special-purpose languages that are better than any
general-purpose language (including C) for the purpose they're built for.
dave

[1] It's worth noting that 20 years ago I was 5 years old and had never
seen a computer, so my knowledge of the state of the world then
is built solely on second- and third-hand knowledge, but I'd be
surprised if anybody who was around 20 years ago would disagree with
this assessment of the difference in the state of the world.

--
Dave Vandervies dj******@csclub.uwaterloo.ca
The best idea for you would be to learn the hype language of the second half
of this decade. That way, you would have a head start of at least two years.
--Kurt Watzka in comp.lang.c
Nov 14 '05 #49
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.
Working without these features might be a good way to _learn_ better
programming discipline, but good discipline combined with helpful features
is better than either one on its own.


So the question is: Are C++ features helpful ? That depends :-)
Is C still the language of choice for serious programming?


Sometimes. Use the right tool for the job; sometimes C is the right
tool for the job, sometimes it isn't.
Keep in mind that technical advantages are never the only reason, and
often not the primary reason, why a particular tool is or isn't right
for a particular job. (But if they're ignored entirely that may be a
sign that something is wrong.)


[...]
The biggest reason for this is that additional features of "more advanced"
languages aren't necessary for the components of the system that I get
assigned to (mostly processing-intensive), and C is the language I'm most
familiar with and also the easiest to get other languages (often useful
in other parts of the system) to play nicely with.
Now you see that depends ;-)
[1] It's worth noting that 20 years ago I was 5 years old and had never
seen a computer, so my knowledge of the state of the world then
is built solely on second- and third-hand knowledge, but I'd be
surprised if anybody who was around 20 years ago would disagree with
this assessment of the difference in the state of the world.


That must have depended on task: Fortran has always been the preferred
language in scientific computing.

1985... Turbo Pascal had just showed up I think.

But ya know... I wasn't very old either. Yep, that's right, 5 :-)

Nov 14 '05 #50

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: mark4asp | last post by:
Why won't the window.status message change ? IE ver. 6.0.2800.1106 displays the tooltip OK. <td> <A HREF="editAuthor.asp?item=4" title="Edit author details"...
2
by: Charles Mendell | last post by:
1. When I go to http://www.w3schools.com/js/default.asp and choose: 2. JS HTML DOM and then choose: 3. the Window object and then choose: 4. Write some text in the windows status bar ( a link)...
6
by: Ada | last post by:
i have a little bit of issue getting the status bar to work properly. this is what happens now. when the program loaded, the status is "READY..." the code is inside the FORM LOAD. i also...
19
by: Frances | last post by:
Firefox is not respecting window.status, examples in this pg http://www.csua.berkeley.edu/~jgwang/jsform02.htm are ignored by Firefox.. why is this.. is there a solution.. thank you.. Frances
3
by: FAQ server | last post by:
----------------------------------------------------------------------- FAQ Topic - I have window.status="Moomin"; why doesn't the statusbar change?...
4
by: Mark | last post by:
Hey folks, I'm looking at making the following query more efficient potentially using the ranking functions and I'd like some advice from the gurus. The purpose of the following is to have a...
3
by: bharathreddy | last post by:
This article will explain you how to find the status of the fax operation. (Using FAXCOM.dll). Author: Bharath Reddy VasiReddy Reference to the FAXCOM.DLL Reference to import FAXCOM...
0
by: Edwin.Madari | last post by:
updated creature running in its own thread will get you started. try it foryourself, change sleep times per your need. import os, sys, threading, time class Creature: def __init__(self,...
9
by: tshad | last post by:
I have a Windows App that is doing some work and then writing a "Now Processing..." line to the status line of the window as well as the Textbox on the form. But the problem is that the work is...
0
by: tvnaidu | last post by:
I wrote a status page HTML code, here I have 8 port status, it prints first 7 and last status it won't print, from there onwards it won't print footer also, if I make 10 instead 8, then it prints...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.