Interview with Bjarne Stroustrup
Below, Aleksey Dolya interviews Bjarne
Stroustrup, the creator of the C++ programming language.Linux Journal: How old are
you? Do you have family?Bjarne Stroustrup: I'm 51
years old. I'm married and have two children; both are now
university students.
LJ: Bjarne, can you say a
few words about your youth? When and where you were born, where you
studied?BS: I was born in Arhus,
Denmark. I'm not from an academic family, but I did well in school.
So I continued through my local high school and then went on to the
University of Arhus, where I received a Masters degree in
Mathematics with [a focus on] Computer Science. Arhus is a
wonderful town with about 250,000 people situated on the east coast
of Jutland. Like most boys then and there, I played in "the yard"
of our apartment block, delivered newspapers and milk to get
spending money, played soccer, bicycled to the beach in the summer
and learned to appreciate the woods near town as a boy scout.
Towards the end of my university studies, I became interested in
microprogramming and went to England, where they had better
machines for that. I eventually ended up getting my PhD from
Cambridge.LJ: And where do you live
now?BS: I live in a suburb of
New Jersey called Watchung. It's a small, quiet place with a lot of
trees. When you see it from the air in the summer, almost all you
see are trees. It is ten-minute drive from Murray Hill, where I
used to work at Bell Labs, and about 30 minutes from Florham Park
where I work at AT&T Labs. It's about 35 miles from New York
City. I used to be able to see the World Trade Center towers from
just around the corner by my house.LJ:
This
points to a file with the proper pronunciation of your first name
and surname. Are you its author?BS: Yes, that's me.LJ: Did you have a computer
at home when you were growing up?BS: No, it was too early for
that. Computers were very expensive and lived in university
departments and large companies. The first computer I saw was my
university's Math department's GIER. It was an old Danish computer
that filled a room and was fed programs on paper tape. I learned to
program in Algol 60 on that one.LJ: Every famous man has his
beginning. Bill Gates, for example, began by writing his first
program in Basic, a program his school had bought. What was your
beginning?BS: I think the key project
was a distributed systems simulator that I wrote in Simula67 as
part of my PhD work at Cambridge. However, much of what I did
during my university years contributed significantly. For example,
I financed my Masters degree by writing small commercial programs
for the Arhus office of Burroughs, a company that later merged with
Univac to create Unisys. There, I learned to develop programs that
other people would rely on for their livelihood; that's very
different from just getting a program to work for yourself or your
friends. I also had to design those programs in consultation with
their eventual end-users; that too was very different from simply
solving a programming exercise at the university. In addition, my
work with machine architecture helped me make decisions about
programming languages and implementation techniques.If you are interested in the personal aspects of the birth of
C++, you might consider reading the chapter about me and C++ in
Steve Lohr's book Go To: The Story of the Math Majors,
Bridge Players, Engineers, Chess Wizards, Scientists and
Iconoclasts who were the Hero Programmers of the Software
Revolution (ISBN 0-46-504225-2). For a more technical
description of the origins of C++, see my book The Design
and Evolution of C++.LJ: How did you come to
invent the C++ language?BS: After completing my
studies at Cambridge in 1979, I went to the US to work as a
researcher for AT&T Bell Labs in Murray Hill, New Jersey.
There, I started a couple of projects related to distributed
computing using local area networks. However, I wasn't making good
progress because the available tools were inadequate for those
projects. So, I developed something I called C with Classes to
allow me to use Simula-style program organization (what is now
called object-oriented programming) for simulations and
close-to-the-hardware systems programming. C++ was based on C with
Classes and what was learned by me and many others (mostly at Bell
Labs) by using C with Classes in many application areas.LJ: Are you proud of your
C++ language?BS: Naturally. I'm very
happy with the way it allows me to write programs that are
simultaneously elegant and efficient. I'm also quite proud of its
widespread use. That said, I don't claim that C++ is perfect. There
is a lot of really horrible C++ code out there, because many
programmers haven't learned to use C++ well. I encourage people to
look at my home pages, papers and books for ideas about how to
improve their code. My impression is that most C++ code could have
been much cleaner, maintainable and efficient than it is had the
designers and programmers understood up-to-date C++ features and
techniques. Standard C++ really does make possible programming
techniques that were infeasible ten years ago. Unfortunately, many
are constrained or feel constrained to use C++ as it stood ten
years ago, or they simply use it as a better C.LJ: How do you feel now,
knowing that millions of people work using the tool you
created?BS: I'm very pleased, but as
I said, I wish they'd do themselves a favor by using it
better.LJ: Do you think that
creating C++ has been the most important thing in your life? Do you
think you will do something more useful in the future?BS: It has certainly been
the most significant part of my working life, and it's unlikely
that I could produce something that would be more significant. Many
of the applications that most directly affect our daily lives are
C++ programs. To get an idea, see
my
short list of C++ applications.I'm sure I'll do something significant and useful in the
future. It's just unlikely that I'll create something of the
magnitude of C++. I have recently decided to go into academia and
accepted a professorship at Texas A&M University. There, I will
be able to combine research with teaching in a way I can't at
AT&T Research. I see teaching as another and different way of
influencing the world for the better, and academic research
provides somewhat different tradeoffs from the industrial research
that I have practiced so far--not better, just different. I will
keep ties to AT&T Research and to industry in general, because
much of the best research is rooted in problems found in
industry.LJ: Do you use C++ in your
work?BS: Yes. It's my main
research tool.LJ: What C++ compiler is the
best from your point of view?BS: The major C++
implementations now are all pretty good or better. By that, I mean
they are close to the ISO C++ standard and provide good run-time
performance. For a list, see
www.research.att.com/~bs/compilers.html.
I don't recommend compilers that have fallen way behind the
standard, such as (sadly) Watcom.LJ: What compiler do you use
at work?BS: Several; for the moment,
GNU, Microsoft, Borland, SGI and Metrowerks.LJ:If it's not a secret,
what do you research at your job?BS: I'm looking at ways of
doing distributed computing, trying to apply some program
transformation techniques to allow me to use standard C++ source
code for a variety of distribution architectures.I suspect that this research is better for a technical paper
or technical talk than for an interview, but I can give an example.
I wanted to write a small program than needed to run with parts
being on several computers. Conventionally, I'd have to write that
program so the communication methods were explicit in the program.
For example, if I used CORBA, my code would contain CORBA calls and
I'd need to write IDL for the types I wanted to communicate between
the parts of my program. If, on the other hand, I wanted the
communication to use TCP/IP directly, my code would be full of
TCP/IP library calls. Instead, I wrote a program where the
communication between the parts were represented by ordinary C++
member function calls. If the object to be called was local, I
directly called members of class X; if not, I called the same
members of class proxy<X>. Using a library with facilities
for C++ program transformation, I then automatically converted the
calls of proxy<X> into message sent across a TCP/IP
connection or, alternatively, to CORBA calls.LJ:Did any companies other
than AT&T Bell Labs try to make you their employee?BS: Certainly; several
companies and universities did, but until this year they all
failed.LJ: What is your favorite
OS?BS: I use Unix and
Windows2000.LJ: What Unix?BS: Currently, Solaris, Irix
and Linux. I try not to depend on features that are not standard
across systems.LJ: Do you think they are
the best OSes available today?BS: They are good OSes, but
I'm not sure what would make an operating system the "best" in
general. There are serious tradeoffs among factors such as size,
performance (of various forms), ability to run existing
applications, availability on various hardware and so on, so that
users still have to choose among good systems for one that is best
for a given set of applications.LJ: Which processor do you
prefer, Pentium or Athlon?BS: I don't have a
preference, but the 8*86 isn't anyone's favorite machine
architecture. The way they use hardware to map from their archaic
instruction set to the internal RISC architecture it truly
remarkable.LJ: How much time do you
spend working with PCs every day?BS: I must spend more than
eight hours a day with computers, slightly less on weekend days.
Not all of my computers are PCs, though.LJ: Does your heavy PC work
on a daily basis cause any health problems?BS: I occasionally get a
sore right arm from using a mouse too much, and less frequently I
get a sore lower back from sitting at a desk too long. I fight this
by taking walks and by running. Most weeks, I run four to six miles
two or three times a week.LJ: What computer(s) do you
have at home now?BS: A Sun box running
Solaris, my IBM laptop running W2000, a Linux handheld, an old
Windows box running W95 and an "antique" Apple Mac. As you can
guess, I'm rather keen on portability and a reasonable degree of
system independence.LJ: And at the
office?BS: A Sun and my laptop.
From these computers (both at work and at home), I can reach many
more systems through the internal AT&T Research Net and beyond.
If people are interested, they actually can see those computers and
the rest of my office in a panorama accessible from my home
page.LJ: What programming
languages do you know?BS: That depends on what you
mean by "know", but I have a working knowledge of a few languages
and a reading knowledge of many more. Examples are ML, PERL, Python
and Ada.LJ: What languages do you
think are serious competitors to C++?BS: That depend on the
application. Sometime C++ is the best choice; at other times there
are reasons to prefer a language such as Fortran, Java, C# or
Python. And yet other times, one could use a more experimental
language just to learn something new. There are many languages that
are good for what they are designed for, and it is a mistake to
rely solely on one language. On the other hand, competition is
often based on marketing and perceptions rather than facts, and I'm
not going to comment on that.LJ: What do you think about
the .NET-platform and its child, the C# language?BS: I still know too little
about .Net to be comfortable writing about it.LJ: Can C# be a universal
language for everything?BS: No. It's too high level
for many kinds of systems programming, too specialized to Windows
for many other kinds of programming and proprietary. That, of
course, doesn't mean it cannot be a good tool for the
middle-of-the-road Windows applications it is designed for.LJ: But .NET is a platform
that can be designed for various OSes. For example, there are some
steps available from Microsoft to make that platform for FreeBSD.
Do you still think that it's too specialized to Windows?BS: Let's wait and see how
things develop. Currently .Net is a Microsoft proprietary platform
for Windows, and I don't expect to see significant use of it
elsewhere anytime soon.LJ: What is your opinion
about the abyss between the C and C++ languages? Those two
languages seem to be becoming further and further apart from each
other.BS: I think that the current
mess of C/C++ incompatibilities is a most unfortunate accident of
history, without a fundamental technical or philosophical basis.
Ideally the languages should be merged, and I think that a merger
is barely technically possible by making convergent changes to both
languages. It seems, however, that because there is an
unwillingness to make changes it is likely that the languages will
continue to drift apart--to the detriment of almost every C and C++
programmer.LJ: Are you taking any steps
to integrate C and C++?BS: I'm trying to make
people see the advantages of C/C++ compatibility for the C/C++
community. In particular, I have written a series of articles for
The C/C++ Users Journal on that topic, which
you can download from my publications page and the
CUJ site. However, there are entrenched
interests keeping convergence from happening, and I'm not seeing
much interest in actually doing anything from the majority that, in
my opinion, would benefit most from compatibility. As ever, the
majority just hopes that things somehow will work out for the
best.LJ: Would you say that C++
is the best of the best, compared to other programming
languages?BS: No; that wouldn't be
meaningful. There are many great programming language. C++ is one
of them, but there is not and could not be a single language that
is the best for every person and every problem.LJ: Do you have any
programming certificates?BS: No. In general, I value
education over training and would almost always choose someone with
a broad and deep general knowledge over someone with only specific
training. A combination of academic and practical skills is my
ideal.LJ: Do you think the
certificate system is useful for programmers and organizations that
hire programmers?BS: I don't know of a
certificate system that is really valuable for programmers. I
prefer traditional degrees from universities, engineering schools,
etc.LJ: What is your opinion, is
knowing assembly language useful for programmers nowadays?BS: It is useful to
understand how machines work and knowing assembler is almost
essential for that. If you don't know the machine at that level,
you almost certainly suffer from serious misconceptions about
computers, and some parts of the system are magical to you.
Currently, I'm reading the latest edition of Hennesey &
Patterson to bring my knowledge of machine architecture up to
date.LJ: "Last edition of
Hennesey & Patterson". What is it?BS: Probably the best book
explaining modern computer architecture. This is a book you want to
read if you want to know what's really going on inside your
processor. It's not bedside reading, though, at about 1,000 pages
long.LJ: Do employers need
asm-programmers?BS: Not as such, but
programmers who work with DSPs at the basic level must know the
architecture of their processors very well.LJ: What is DSP?BS: DSP is digital signal
processor. The relevance of my comment is that DSP instruction sets
have more special cases that ordinary general-purpose processors,
and compilers are relatively less capable of generating good code
for DSPs.LJ: Is it true that
programmers who understands OSes on the kernel level can get more
money (30-40%) than common high level programmers?BS: I don't know; I don't
keep statistics on salaries. Knowledge of kernels is useful, so it
ought to be valuable, but so are many other kinds of
knowledge.LJ: Do you play computer
games?BS: Hardly ever any more.
Unfortunately, I don't have the time.LJ: What is your favorite
meal?BS: I don't think I have a
favorite meal as such. Just about any meal in congenial company is
a feast. However, there's a Danish meal called a cold table that
starts with several kinds of herring, moves on to fish and meat and
usually ends with shellfish and cheese. Traditionally, a cold table
is accompanied by beer and aquavit. My wife has an excellent recipe
for pork tenderloin with watercress salad, and my favorite Italian
restaurant serves a spectacular Zupetta de Peche, which is fish and
shellfish over linguini with a spicy ("Fra Diavolo") sauce.
Yum!LJ: Are happy now?BS: I'm reasonably happy, as
I ought to be given my family, my friends, my contributions to
programming, my career and so on.LJ: What would you like to
say to programmers who use C++ or on their way to doing so?BS: Be adventurous in your
experimentation and somewhat more cautious in your production code.
On my home pages, I have a
"Technical
and Style FAQ" that gives many practical hints and
examples. However, to really develop significant new skills, one
must read articles and books. I think of C++ as a multi-paradigm
programming language. That is, C++ is a language that supports
several effective programming techniques, where the best solution
to a real-world programming problem often involves a combination of
these techniques. Thus, I encourage people to learn data
abstraction (roughly, programming using abstract classes),
object-oriented programming (roughly, programming using class
hierarchies) and generic programming (roughly, programming using
templates). Furthermore, I encourage people to look for
combinations of these techniques rather than becoming fanatical
about one of these paradigms because it happens to be a great
solution to a few problems.It is important to remember that a programming language is
only a tool. Once you master the basic concepts of a language, such
as C++, it is far more important to gain a good understanding of an
application area and of the problem you are trying to solve than it
is to study the minute technical details of C++. Good luck, and
have fun with C++!Aleksey Dolya is a Russian
C/C++ programmer interested in network security and software
protection.










This week 5 lucky Members will receive a copy of The Official Ubuntu Server Book by Benjamin Mako Hill and Linux Journal's very own Kyle Rankin. No entry necessary. Check back here early next week to find out who the lucky Online Members are.




Comments
I Love C++
I am a student. I learning C++ and Java both. I like both languages. But what i really miss in Java is pointer and use of multiple inheritance. Cheers :D
Blurg!
BLURG!!!!!I need to know about his family for a report i have to do for business management.
thank you
I would like to thank Bjarne Stroustrup for inventing C++. It is my favorite language because through its discovery I became a computer scientist, not just a programmer. It made me want to search and want to find out, and for me today computer science is a pleasureful discovery every single day.
Thank you Mr. Stroustrup for giving me my thirst.
Re: Interview with Bjarne Stroustrup
I agree that programming certificate is nothing. One can easily distingish good and bad programmer by a few questions but not a certificate. Certificate system was created to generate business only, for example MSCE.
Understanding C++ is a multi-paradigm programming language is important. Last week, I attended a talk by a University Professor who mentioned C++ as Object Oriented programming language. We need to learn the 2 words from James Coplien's "Multi-Paradigm Design for C++" - "Commonality" and "Variability". All kinds of analysis want to separate a problem into these 2 parts but no single methodology is good for all problems, for example OO for GUI framework, generic programming for STL.
Bjarne is a genious person
Bjarne is a genious person thats why people wants to know about him.And if someboby don't know how to respect than i'll suggest them don't post ur cheap mentality.
Re:Bjarne is a genius.
First, buddy, IMPROVE YOUR ENGLISH. Secondly, Bjarne IS a genius person. As far as i know, every genius is respected....so stop posting crap.
Are you out there Bjorn? I would like to ask a couple of better
Aleksey, You seem to be a very paranoid person (network security, and software piracy)... Why don't you get into Open Source? Then you can stop working on software protection :)
Q: What is your opinion on the 'c' that went the other way: ObjC.
A:
Q: What is your thoughts on the state of boost?
A:
Q: I realize that you don't want to single out a compiler as the best C++ compiler or the worst because you realize that time has an effect on source code (The bad one may become the best one, and the best one may become the worst). When your programming on unix, what utilities do you use to manage, build, and test your software writen in C++?
A:
I thought these where some good questions that I did not see in this Q and A session.
Bjorn. I would like to appologize for questions like:
*Would you say that C++ is the best of the best, compared to other programming languages?
*Do you play computer games?
*What is your favorite meal?
And worst of all:
*Are happy now?
If you would like to retake a Q and A session, I would love to ask some better, on topic questions.
Have a nice day,
Bryan Hundven
b h u n d v e n a t u s e r s d o t s o u r c e f o r g e d o t n e t
I don't think so
I was thinking that the interviewer was great. I liked *all* the questions very much, including those. Yours not, indeed. Seem trivial, very specific and intrascendent to me.
Re: Are you out there Bjorn? I would like to ask a couple of bet
"Bjorn. I would like to appologize for questions like:"
And next for not spelling Bjarne right?
:P oops, and most people spel
:P oops, and most people spell my name with an 'i'...
Re: One of the worst interviews I 've ever read
Well, this is one of the worst interviews I've ever read. You have had the chance to interview the man responsible for one of the most popular and widely used computer languages, and all you had to ask him is "What is your favorite plate?" or "Do you get tired working for so many hours in front of a terminal?". What is this? Has Linux Journal become a fashion magazine? Where are *important* questions (for a language expert) like: What he thinks about statically-typed vs. dynamically-typed languages? Or what he thinks about the modern object-oriented scripting-languages? Or whether he thinks templates are like reinventing macros in a more formal manner (or an attempt to add to C++ something of the power of LISP macros)? How about the recent objections to object-orientation, claiming that "OO" is a limited set of features aimed to give statically-typed languages a high-level facade? Or, even, about garbage collectors and why C++ hasn't any? Actually the questions I would be the least interested to have answered by Bjarne Stroustroup, are the ones asked by the interviewer!
Re: One of the worst interviews I 've ever read
What a waste of time... I read the entire interview and still don't know what his favorite color might be.
Re: One of the worst interviews I 've ever read
"What a waste of time... I read the entire interview and still don't know what his favorite color might be."
.. i think it's Red :)
Re: One of the worst interviews I 've ever read
Yes, this was sad...............
Re: One of the worst interviews I 've ever read
Indeed, this was a terrible interview. The questions were lame. The interviewer exhibited very little knowledge on the general subject of computing and I suspect this may be why the interview turned out the way it did. It was painful to read.
Re: Interview with Bjarne Stroustrup
I admire Strostrap for his job. I admire Hejlsburg, Gosling, Torvalds, and others who changed the world that we-programmers live in. Admire Kernighan as well as Gates!
Admire all the scientists who developed a better life. Einstin, Edison,...
come one everybody! They did their best. There's no need to sue them for just what they did for human being, specially the intelligent race, programmers! ;)
PS. I admire them! But I don't use Nukes from Einstin, Elecrtic chair from Edison, Windows from Gates, and C++ from Strostrap...
All of them did their best to make an idea but others get it and make a REAL and USEFUL product, like Java from C/C++ and Linux (to get rid of windows) and Nuclear power (vs. other E=MC^2 usages)...
That is the point! Sorry for bad English essay. ;) maybe I should sue the first England who created it! I need esperanto LOL
Re: Interview with Bjarne Stroustrup
"PS. I admire them! But I don't use Nukes from Einstin, Elecrtic chair from Edison, Windows from Gates, and C++ from Strostrap..."
And you cannot spell either.
Not to mention that Einstein had nothing to do with the Nuke. He was against it.
And now let's sign together the "Rebel Without a Clue".
Re: Interview with Bjarne Stroustrup
You need lojban.
Re: C++ IS OVER RATED
I can't for the life of me figure out why this hack was ever invented.. C is and was a perfectly good language which spawned other perfectly good languages such as Visual Basic. VB is the way to go.
No joking!
VB is a piece of crap! It is a con we invented at microsoft to get rich fast and to encourage crappy programming so the OS would not stand off by its low quality. every nitwit could believe (s)he was able to "write code" using veebee...
Re: Interview with Bjarne Stroustrup
>and my favorite Italian restaurant serves a spectacular >Zupetta de Peche, which is fish and shellfish over linguini >with a spicy ("Fra Diavolo") sauce. Yum!
the right spelling is "zuppetta di pesce"
What an undereducated, simple-minded interviewer !!
How could you ask a man that was obviously born around 1951 if he had a computer at home when he grew up? and that's not the only faux pas in the interview.
unbelievable. be glad BS is such a gentle and polite man. others would just have thrown you out for stupidity.
Re: What an undereducated, simple-minded interviewer !!
Probably the interviewer did'nt realise what was going around.
The stupidest interview ( stupidest interviewer rather ) I have ever come across.
Sorry Stroustrp.
Re: What an undereducated, simple-minded interviewer !!
Welcome to Linux Journal. There's more of an agenda here than Fox News. It's obvious the interviewer thinks he can get the answer he wants to hear if he simply asks the questions over and over. Sad really, it looks like he's badgering BS.
Re: What an opinion.
I think it was a good way for younger readers to understand the temporal shift. People 51 years old DIDN'T have computers at home when they were growing up, but to the average 21 year old - growing up in the 1990s - *not* having a computer at home is something they can't relate to.
Re: What an undereducated, simple-minded interviewer !!
This would have been a "great" article if the interviewee had been some 25 yo geek. Utterly insulting, though, to a respected 51 yo PhD.
The LJ editors should have, well, edited out the banal or stupid
questions like "favorite processor" and "did you have a computer growing up".
Re: What an undereducated, simple-minded interviewer !!
Actually it was possible to learn something about computing back in the 50's. I made my own punch cards from index cards with binary numbers represented by either slots or holes located on the edges. You could use knitting needles to separate holes from slots and use different sorting algorithms. I also programmed a machine that was built in the 50's and still running in the 80's that ran entirely on 120 volt relays. ( I programmed it in the 80's) The designer built his own tape punch and reader that used cash register tape.
Knitting
I have just recently started to knit, and I love. I make purses mostly but I also like to do scarves and blankets. I was doing really well and selling everything that I was making. It is now becoming so popular that everyone is doing it and I get less buiusness, so as fun as it may sound it is hard and if I were you I would not try it.
Re: What an undereducated, simple-minded interviewer !!
Was it in your house? No....
Re: What an undereducated, simple-minded interviewer !!
What interviews have you done? If you have, would you care to link to them? Interviews (particularly via email) are difficult to do - I have done quite a few of them. OK - there were obviously no computers around when Bjarne was growing up, but hey, if that's the only thing you can criticise about it (you didn't list the other 'faux pas' you mentioned) then best to keep your negative comments to yourself. I, for one, liked the interview and I thought the interviewer did a good job.
Re: What an undereducated, simple-minded interviewer !!
To be honest, I am a bit disapointed with this interview.
Many of the questions are just dumb.
Ok, maybe I wouldn't do it better myself. But that's why I'm not the interviewer ;)
C++ should never been
C++ is an inglorious hack, and as such it has cost the software development world a huge amount of time. C++ code is unportable, and difficult to debug. It is an overwrought language that has an overly rich feature set and syntax - this has lead to enormously bad C++ code (and coding habits) throughout the world.
Java, although imperfect, is really "the better C". Bjarne, if he had been a little bit more clever, would never have created C++ in the first place. It has caused the world a lot more trouble than it's worth.
Re: C++ should never been: I disagree...
Great work Bjarne! Without this tool, a lot that has happened wouldn't have happened in the progamming arena. As I use the tool, i discover new things and many will agree that this is a VERY POWERFUL tool! I wish people may start looking on the bright side of this Language.
Re: C++ should never been
U idiot person. U don't know anything. Bjarne is famous bcoz u did his best.
Re: C++ should never been=>go to mental hospital
I think u should go to mental hospital. Because if a person insult bcoz he likes another language than i should say <b>u has a hole in ur brain</b>.
I agree with u bcoz Bjarne is a genious person
i agree with u. Bjarne is a genious person. And the person who start the thread "C++ should never been" is an idiot person.
Re: C++ should never been
It's sad how deceiving this interview is, ...
I don't think C++ is just an inglorious hack as you said, I've been using myself Java for now 4 years, this language is really great even if it's getting old now, and even it tooked 7 years for Sun microsystems to decide to finally integrate generic programming( maybe they thought that java was so revolutionary that we'll be stuck with until the end of the next century). I think that I learned a lot with java, essentially the good practices of abstraction and writing good interfaces and APIs. But this does'nt make me uninterested in learning or using other languages, even when it's assembly language. And, honstly, C++ is a valualble language, and it brought a lot to the programmers community, saying that it should never been is accusing Stroustrup for not retaining his brain when he started inventing it, and more then 80% of the developers community for adopting it. Moreover, c++ was a source of inspiration for improving languages like java and even for programming language theory in general.
I personnaly enjoyed reading pieces of code written in c++ by persons like Meyers, Martin.. So my final thought is that whatever the language is , good code writing is more a matter of style and way of thinking than a matter of the design of the language itself, have to know that strong experienced developers are more comfortable with dynamically typed languages thant with statically typed ones, this is because they master more knowledge then average developers and have a bag full of good practices, in opposition, dummies like babies who can't walk alone, are always asking for assistance from the language, saying that they need a language that will avoid them to do this or that, just because they don't know that they don't have to do it. So I think we don't have to be lazy about learning, and C++ offers a large field for that, you can learn a lot, even if you write only java code.
Re: C++ should never been
Bugs?! Java, my friend, is the very definition of the word!
Re: C++ should never been
A language should do far more than 'opening a wGUI window in one line of code' to impress me. Java, good language for certain things but I wouldn't compare it with c++ at all.
Re: C++ should never been
FLAME BAIT!
Wow, you'd think that you folks would recognize it when you see it.
Re: C++ should never been
You're jumping the gun here. Any language, if used improperly, can end up wasting large amounts of time and money. Yes, the feature set is rich, which means that the programmer needs to thoroughly explore and understand its use before coding or run the risk of writing code that is far from optimal and difficult to maintain.
C++ does have value as does Java. They are simply different tools each suitable for solving different types of problems.
Re: C++ should never been
Java? Brr! I hate languages where you're not "free" enough. For example pointers, usage of goto :) and so. Yes these stuffs can be called 'ugly', but I bet I can code faster and smaller programs than you with your 'clean programming language'.
Re: C++ should never been
C++ SUCKS!!! VB is the language of the future which all applications and programs will be written in. Wake up and smell the coffee. I could give many advantages of VB over any and all languages
Re: C++ should never been
Do you have a source for a version of VB to run on my Sharp Zaurus SL-5000?
Where can a download a GPL version to run on my Linux machine?
Is there an embedded version of VB?
The fresh brewed coffee smells just fine. When VB is available and runs on all of the machines I use it will approach the usefulness of C/C++ for my applications.
Cheers.
Re: C++ should never been
I dont know about any of you, but im still using FORTRAN
Re: C++ should never been
"I bet I can code faster and smaller programs than you"
And I could code it even faster and smaller in assembly language - except that by the time I got it working, the need for it would probably be gone. "Faster and smaller" still counts for something in embedded programming, but otherwise - getting the programming done and getting the bugs out is a whole lot more important than being thrifty with machine resources when you can just go to Walmart and buy GHz machines with 40G hard drives.
Will Java will actually let you write big programs and get the bugs out any better than C++? It's not something I can answer...
Re: C++ should never been
"C++ is an inglorious hack, and as such it has cost the software development world a huge amount of time."
"Java, although imperfect, is really "the better C"
Try to make a linux kernel with java ( its impossible ) or rdbms like oracle in java ... Even Sun Microsystems ( they created Java, but of course you didnt know that either ) would laugh at your statement
Re: C++ should never been
> Try to make a linux kernel with java ( its impossible )
There isn't an awful lot of C++ code in the Linux kernel either (read: NONE at all).
Cheers
Steffen.
Re: C++ should never been
Put it this way, Write a kernel in Java.
humpty dump, BeOS.
Re: C++ should never been
Hey, don't talk about the kernel! It is even imposible to write variable-sized arrays in Java without using native methods!
It is impossible to implement the java.* entirely in Java. Compare this with Standard C++ Library.
Post new comment