Linked by Thom Holwerda on Mon 13th Aug 2007 17:57 UTC
General Development "A good programming language is far more than a simple collection of features. My ideal is to provide a set of facilities that smoothly work together to support design and programming styles of a generality beyond my imagination. Here, I briefly outline rules of thumb (guidelines, principles) that are being applied in the design of C++0x. Then, I present the state of the standards process (we are aiming for C++09) and give examples of a few of the proposals such as concepts, generalized initialization, being considered in the ISO C++ standards committee. Since there are far more proposals than could be presented in an hour, I'll take questions." Dr. Bjarne Stroustrup is the original designer and implementer of the C++ Programming Language.
Thread beginning with comment 263090
To read all comments associated with this story, please click here.
C: Esperanto
by Almafeta on Mon 13th Aug 2007 18:02 UTC
Almafeta
Member since:
2007-02-22

C and its children are the Esperanto of programming languages.

Just good enough to be used, just bad enough to inspire countless revisions, and even with vastly superior successors it'll probably never die just due to the inertia of having been there first.

Does anyone have a link to a transcript?

RE: C: Esperanto
by renhoek on Mon 13th Aug 2007 18:09 in reply to "C: Esperanto"
renhoek Member since:
2007-04-29

no no, c is not bad. macro's, global variables, pointers, no range checking (for arrays), bufferoverflows, the stl error messages and that kind of stuff are bad.

c(++) has a nice syntax. java and c# don't have the problems mentioned above, and that's why they are often used.

Reply Parent Bookmark Score: 2

RE[2]: C: Esperanto
by butters on Mon 13th Aug 2007 19:31 in reply to "RE: C: Esperanto"
butters Member since:
2005-07-08

Macros are bad. Global variables are necessary. Pointers are useful (although not always necessary). Range checking is good in all but the most performance-critical code. I'll add that manual memory management is usually (but not always) unnecessary.

C++ does NOT have nice syntax and it's semantics are even worse. Java is nice, C# is a little nicer, but neither compiles very well to native code.

D ftw!

Reply Parent Bookmark Score: 2

RE[2]: C: Esperanto
by postmodern on Mon 13th Aug 2007 19:41 in reply to "RE: C: Esperanto"
postmodern Member since:
2006-01-27

C++ does not have nice syntax... when it comes to templates. Templates over complicate the syntax, not to mention the debugging output.

Reply Parent Bookmark Score: 3

RE: C: Esperanto
by zetsurin on Mon 13th Aug 2007 18:37 in reply to "C: Esperanto"
zetsurin Member since:
2006-06-13

"Just good enough to be used, just bad enough to inspire countless revisions, and even with vastly superior successors it'll probably never die just due to the inertia of having been there first."

That sounds exactly like a desciption of the average programmer who is incapable of programming C or it's children because they require nappies in the runtime environment to keep making up for the buggy, diseased code they end up slapping together.

Reply Parent Bookmark Score: 12

RE: C: Esperanto
by DataPath on Mon 13th Aug 2007 18:54 in reply to "C: Esperanto"
DataPath Member since:
2005-06-29

Vastly superior successors? Do you have ANY experience with real development?

There's a time and a place for C and C++, just like there's a time and a place for Java and C#, just like there's a time and a place for machine code and assembly programming.

There are a number of tasks that I wouldn't want to do in any other language than C. It is simply the best tool for some jobs.

I'd really like to hear about some of these vastly superior languages, so I can write my kernel drivers in them.

I'd really like to hear about some of these vastly superior languages, so I can write cellphone applications in them.

Please, share with me what these wonderful panacea languages are, so that I can write my toolkit libraries in them, and let my customers call them from whatever language they use.

Reply Parent Bookmark Score: 4

RE[2]: C: Esperanto
by postmodern on Mon 13th Aug 2007 19:52 in reply to "RE: C: Esperanto"
postmodern Member since:
2006-01-27

When people talk of vastly superior languages, they are really talking about a shift in language application. People can do much more much quicker in Java/C#/Perl/Python/Ruby then in C/C++ (speaking from experience as a former Java/C/C++ programmer). Thus the application space for C/C++ shrinks, people move to more modern languages, and they begin to frame their discussions wrt those languages.

Reply Parent Bookmark Score: 2

RE[2]: C: Esperanto
by Auxx on Tue 14th Aug 2007 06:18 in reply to "RE: C: Esperanto"
Auxx Member since:
2007-04-05

Pascal, D. At least they have better syntax and don't have stupid "features" like header files.

Reply Parent Bookmark Score: 2

RE: C: Esperanto
by MORB on Mon 13th Aug 2007 19:05 in reply to "C: Esperanto"
MORB Member since:
2005-07-06

The problem with C++ are people using it thinking it's just C with additional stuff.

Reply Parent Bookmark Score: 4

RE[2]: C: Esperanto
by Bending Unit on Mon 13th Aug 2007 19:17 in reply to "RE: C: Esperanto"
Bending Unit Member since:
2005-07-06

No, why?

Many simply don't like all the additional complexities of C++ and use it as an improved C.

Reply Parent Bookmark Score: 2

RE[2]: C: Esperanto
by tristan on Mon 13th Aug 2007 19:27 in reply to "RE: C: Esperanto"
tristan Member since:
2006-02-01

The problem with C++ are people using it thinking it's just C with additional stuff.


I like C. But I also like references better than pointers, and prefer std::string to an array of char.

What's wrong with that?

Reply Parent Bookmark Score: 5

RE[2]: C: Esperanto
by Cloudy on Tue 14th Aug 2007 01:58 in reply to "RE: C: Esperanto"
Cloudy Member since:
2006-02-15

The problem with C++ are people using it thinking it's just C with additional stuff.

No. The problem with C++ is all the people using it who don't know that it is just C with additional stuff.

Reply Parent Bookmark Score: 4

RE: C: Esperanto
by Michael on Mon 13th Aug 2007 19:24 in reply to "C: Esperanto"
Michael Member since:
2005-07-01

As someone who learned to program in Pascal, I've always disliked C/C++ syntax, but it really is the only widely supported language that compiles to native machine code.

Reply Parent Bookmark Score: 1

RE[2]: C: Esperanto
by smitty_one_each on Tue 14th Aug 2007 01:53 in reply to "RE: C: Esperanto"
smitty_one_each Member since:
2005-07-07

Take this link, educate yourself, then re-read your post, sir:
http://gcc.gnu.org/

Reply Parent Bookmark Score: 1

RE: C: Esperanto
by TheMonoTone on Mon 13th Aug 2007 19:33 in reply to "C: Esperanto"
TheMonoTone Member since:
2006-01-01

You realize of course that the reason your operating system isn't dog slow is because they *are* using a very close to asm-like language, aka C and some use C++.

<rant>
Just because C/C++ don't hold your hand doesn't mean they don't have a use. They are system level languages, and I have to think of the fantastic duo that created it and Unix everytime I have to write embedded software. ASM is a pain in the ass, C is like a better ASM without the hassle of remembering all the machine specifics, and C++ is like a better C, adding in some great features that save time if you know how to use them. Thinking about it in those terms, it makes perfect sense why they exist and why they are so popular. I have no doubt more than half the programmers out there despise these languages because they never understood how a computer really worked in the first place, or even if they did, despised the effort required to write proper C/C++ programs. Hell C++ makes it even easier if you follow a few simple paradigms and common practices. Of course your not going to learn it over night in some C++ 24hrs book which teaches a glorified C as C++.
</rant>

Reply Parent Bookmark Score: 6

RE[2]: C: Esperanto
by postmodern on Mon 13th Aug 2007 19:45 in reply to "RE: C: Esperanto"
postmodern Member since:
2006-01-27

The point to this whole article is that C++ could be pushed further, to be a even better OOP/system-level language. So why not try and improve it, or learn why C++ is a dead-end design-wise?

Reply Parent Bookmark Score: 2

RE[2]: C: Esperanto
by Michael on Mon 13th Aug 2007 20:14 in reply to "RE: C: Esperanto"
Michael Member since:
2005-07-01

RANT
BEGIN

Most software isn't system software and doesn't need all that low-level stuff. Yet C/C++ are the default languages of programming. Office software, web browsers, games etc. are all written in C++. Why? Stability and cost of development are much more important than perfomance, even in games. C++ is used because it's widely known, which thus reduces the cost of development, not because it's an inherently good language for software development. It allows you to make mistakes most people have absolutely no need to make and the result is not that the only programmer is a good programmer, but rather that there are an awful lot of very bad programs in the wild. Crashes and memory leaks are as much the fault of the choice of language as they are the fault of the programmer. There are plenty of other languages that are just as fast for most things. C/C++ do indeed have their place, it's just that that place isn't everywhere.

END RANT.

Reply Parent Bookmark Score: 2

RE[2]: C: Esperanto
by Auxx on Tue 14th Aug 2007 06:25 in reply to "RE: C: Esperanto"
Auxx Member since:
2007-04-05

ASM is NOT a pain in ass. And OSes does not need to be written in C/C++ to be fast - there are some languages which are better/easier/safer and compilers for them do generate a very good binaries. Sometimes even better then C-ones.

Reply Parent Bookmark Score: 2

RE: C: Esperanto
by funny_irony on Tue 14th Aug 2007 04:53 in reply to "C: Esperanto"
funny_irony Member since:
2007-03-07

A programming language is as bad as the skill of the programmer.

Reply Parent Bookmark Score: 2

RE: C: Esperanto
by timothy.crosley on Tue 14th Aug 2007 13:07 in reply to "C: Esperanto"
timothy.crosley Member since:
2006-06-15

As long as you have a nice toolkit like Qt, C++ can be a joy to program on. And there really isn't a replacement for it, Java/Mono and the like are higher level languages meant for a very different purpose.

Reply Parent Bookmark Score: 1