19 October 2010 Comments Off

Bjarne Stroustrup::What inspired you to create C++?

In the late 1970s, Stroustrup applied the idea of “classes” to the C programming language to create a new language that allows for high level abstraction—but is efficient and close to the hardware.

Question: What inspired you to create C++?

Bjarne Stroustrup: In the really old days, people had to write their code directly to work on the hardware. They wrote load and store instructions to get stuff in and out of memory and they played about with bits and bytes and stuff. You could do pretty good work with that, but it was very specialized. Then they figured out that you could build languages fit for humans for specific areas. Like they built FORTRAN for engineers and scientists and they built COBALT for businessmen.

And then in the mid-’60s, a bunch of Norwegians, mostly Ole-Johan Dahl and Kristen Nygaard thought why can’t you get a language that sort of is fit for humans for all domains, not just linear algebra and business. And they built something called SIMULA. And that’s where they introduced the class as the thing you have in the program to represent a concept in your application world. So if you are a mathematician, a matrix will become a class, if you are a businessman, a personnel record might become a class, in telecommunications a dial buffer might become a class—you can represent just about anything as a class. And they went a little bit further and represented relationships between classes; any hierarchical relationship could be done as a bunch of classes. So you could say that a fire engine is a kind of a truck which is a kind of a car which is a kind of a vehicle and organize things like that. This became know as object-oriented programming or also in some variance of it as data abstraction.

And my idea was very simple: to take the ideas from SIMULA for general abstraction for the benefit of sort of humans representing things… so humans could get it with low level stuff, which at that time was the best language for that was C, which was done at Bell Labs by Dennis Ritchie. And take those two ideas and bring them together so that you could do high-level abstraction, but efficiently enough and close enough to the hardware for really demanding computing tasks. And that is where I came in. And so C++ has classes like SIMULA but they run as fast as C code, so the combination becomes very useful.

Question: What makes C++ such a widely used language?

Bjarne Stroustrup: If I have to characterize C++’s strength, it comes from the ability to have abstractions and have them so efficient that you can afford it in infrastructure. And you can access hardware directly as you often have to do with operating systems with real time control, little things like cell phones, and so the combination is something that is good for infrastructure in general.

Another aspect that’s necessary for infrastructure is stability. When you build an infrastructure it could be sort of the lowest level of IBM mainframes talking to the hardware for the higher level of software, which is a place they use C++. Or a fuel injector for a large marine diesel engine or a browser, it has to be stable for a decade or so because you can’t afford to fiddle with the stuff all the time. You can’t afford to rewrite it, I mean taking one of those ships into harbor costs a lot of money. And so you need a language that’s not just good at what it’s doing, you have to be able to rely on it being available for decades on a variety of different hardware and to be used by programmers over a decade or two at least. C++ is not about three decades old. And if that’s not the case, you have to rewrite your code all the time. And that happens primarily with experimental languages and with proprietary commercial languages that change to finish – to meet fads.

C++’s problem is the complexity part because we haven’t been able to clean it up. There’s still code written in the 80’s that are running and people don’t like their running codes to break. It could cost them millions or more.

Recorded August 12, 2010

Interviewed by Max Miller

3 September 2010 Comments Off

An Interview with Burunduk2

An Interview with Burunduk2
How long have you been engaged in programming? How did you start?

As I remember I started programming when I was 9 years old in my third year at school. My first programming language was Basic. One day I found an old book describing the principles of solving differential equations. I didn’t understand them at all but the examples were given in Basic and I began learning the language.

When I had grasped the fundamentals, I started coding. First I wrote programs just for mastering the language and then went on with the ones closer to real life problems. During the first year of my self-education I tried to write small games – mathematical and arcades mainly. Later I wrote editors, image viewers, and code-helping utilities. (My own 3-D shooter game I left unfinished.)

I participated in my very first programming contest in the sixth form. It was the Saint-Petersburg School Olympiad where I got the last but one of the third category certificates for solving several problems. By that time I had been already attending a special programming group for kids. At such circles children had an opportunity to study Logo, Pascal, C, Basic and learn how to solve algorithm problems. Thus by the time when I started taking part in real programming contests, I’d already had some programming skill.


13 August 2010 Comments Off

Joke- Stroustrup C++ ‘interview’

Interviewer: Well, it’s been a few years since you changed the world of software design, how does it feel, looking back?

Stroustrup: Actually, I was thinking about those days, just before you arrived. Do you remember? Everyone was writing ‘C‘ and, the trouble was, they were pretty damn good at it. Universities got pretty good at teaching it, too. They were turning out competent – I stress the word ‘competent’ – graduates at a phenomenal rate. That’s what caused the problem.

Interviewer: Problem?

Stroustrup: Yes, problem. Remember when everyone wrote Cobol?

Interviewer: Of course, I did too

Stroustrup: Well, in the beginning, these guys were like demi-gods. Their salaries were high, and they were treated like royalty.

Interviewer: Those were the days, eh?

Stroustrup: Right. So what happened? IBM got sick of it, and invested millions in training programmers, till they were a dime a dozen.

Interviewer: That’s why I got out. Salaries dropped within a year, to the point where being a journalist actually paid better.

Stroustrup: Exactly. Well, the same happened with ‘C’ programmers.

Interviewer: I see, but what’s the point?

Stroustrup: Well, one day, when I was sitting in my office, I thought of this little scheme, which would redress the balance a little. I thought ‘I wonder what would happen, if there were a language so complicated, so difficult to learn, that nobody would ever be able to swamp the market with programmers? Actually, I got some of the ideas from X10, you know, X windows. That was such a bitch of a graphics system, that it only just ran on those Sun 3/60 things. They had all the ingredients for what I wanted. A really ridiculously complex syntax, obscure functions, and pseudo-OO structure. Even now, nobody writes raw X-windows code. Motif is the only way to go if you want to retain your sanity.

Interviewer: You’re kidding…?

Stroustrup: Not a bit of it. In fact, there was another problem. Unix was written in ‘C’, which meant that any ‘C’ programmer could very easily become a systems programmer. Remember what a mainframe systems programmer used to earn?

Interviewer: You bet I do, that’s what I used to do.

Stroustrup: OK, so this new language had to divorce itself from Unix, by hiding all the system calls that bound the two together so nicely. This would enable guys who only knew about DOS to earn a decent living too.


16 July 2010 Comments Off

Interview with Joan Rieu

Well, I began programming when I was really young, let’s say 9 years old. It was on an Amstrad CPC 6128+. It had a BASIC environment which wasn’t always a joy to “work” with, because it was really slow (drawing a circle took 30sec), but it did it’s job. It had no way to save what I created as the floppy drive was broken. It had therefore only the BASIC and one game which was on the system disk. Programming was the only thing you could do, when bored with the game Burnin’ Rubber. Switching between BASIC and the game also cleared the RAM (and any program in it, at the same time)… But that’s with this computer that I started.


5 July 2010 Comments Off

Get Yourself Interviewed by ACMSolver

Get Yourself Interviewed by ACMSolver

This is your chance to give yourself a promotional boost, and at the same, give us and readers, the opportunity to know you better. You may approach for getting interviewed:

  • If you have participated in ACM-ICPC World Finals.

OR (you may be considered, case by case)

  • If you have been placed in top ten in ACM-ICPC regionals.
  • If you have coached any winning team in ACM-ICPC Regional.

OR (you may approach!)

  • Solved more than 100 problems in any Online Judge.

Please note that once you’ve posted your interview, you will not be able to make changes. Questions will be educational and tutorial based.

This is a FREE service. To express your interest please send mail admin

5 July 2010 Comments Off

Denis Koshman From Russia

Arefin : Hi! headden! How is life? Would you please give us a brief introduction about you, your current works and activities?
My name is Denis Koshman from Russia, Petrozavodsk. 21 years old. I started programming on 8086 BASIC and Assembler when I was 10. Games were also important part of my life and remain so until now. At age of 12 I started programming C/C++ and never left this area, even now. Perl, PHP, Java, .Net… whatever else got minds of some of my friends, all of these passed by without my attention and until there is still work to be done under C/C++, I am not going to leave this area. [...]