Live data from Hacker News

Hacker Poll: Is C++ the Language of the Future?

readwriteweb.com

31–40 of 69 posts

Re: Hacker Poll: Is C++ the Language of the Future?

#31
post #21

Even though there is a lot of hate for C++ as a language due to its complexity, it does fit in a niche (cross platform, object oriented native language) that no other language does, although D, Objective-C and Go come close. I wonder if it'd make sense to develop a Coffee Script style language that compiles a "sane" subset of C++, gets rid of some of the nasty\annoying aspects of C++ (header files), and helps enforce…

D feels to me the closest thing to a fixed C++. But without major additional momentum, I don't see how it can ever catch up to C++ in adoption.

D is pretty nice. It has implemented almost everything people suggest when they mention how to fix C++, but it has some major problems as well. It'd have to be supported by a lot of different vendors on different platforms and architectures, and the standard library would has to be straightened out.

What I was proposing is a C++ compiler that could enforce a specific subset of standard C++, along with making things that are generally regarded as best practices default. Because of the complexity of C++ it might have to be a somewhat simplified version of it to work (something like http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProp...).

Re: Hacker Poll: Is C++ the Language of the Future?

#32
post #21

Earlier quoted context omitted.

D feels to me the closest thing to a fixed C++. But without major additional momentum, I don't see how it can ever catch up to C++ in adoption.

D is pretty nice. It has implemented almost everything people suggest when they mention how to fix C++, but it has some major problems as well. It'd have to be supported by a lot of different vendors on different platforms and architectures, and the standard library would has to be straightened out. What I was proposing is a C++ compiler that could enforce a specific subset of standard C++, along with making things t…

in the media arts and "creative coding" world a couple of the frameworks are OpenFrameworks and Cinder, both of which sort of do provide a set of higher level abstractions, but you can always just do the C++ with them as well.

Re: Hacker Poll: Is C++ the Language of the Future?

#33

I don't like C++ as a language AT ALL, but the fact is, for cross-platform native app development, it's the only game in town unless you want to write C. Do you want your app (or some part of your app) to run on Windows/OSX/iOS/Android/Linux? Then you're writing it in C++. It sucks, in many ways, but it's what we have.

Or C#, which runs on all of the platforms you named and a few others as well.

Re: Hacker Poll: Is C++ the Language of the Future?

#36
I am limiting this prediction to mass-consumed applications of technology.

If we extrapolate (obligatory: http://xkcd.com/605/) present trends it seems that the platform of the future will be the web.

This will require fast internet connections on computing devices (whatever those will look like in 10 years) as pervasive as water and electricity in the rich world. And we are getting there.

So the language of the future will be based on this platform. The obvious choice then would be javascript. But javascript has a lot of problems so most likely someone will invent a language of the form javascript++ within a few years.

Re: Hacker Poll: Is C++ the Language of the Future?

#37
post #16

I think Yes, C++ is the language of the future. It has several strong points, which are still relevant. Namely: 1. cross platform 2. the programmer can choose from several levels of abstractions, as appropriate for a particular project: low-level c-style coding, OOP, templates, meta-programming. 3. even the very high level abstraction usually doesn't induce performance penalty. 4. not using some property of the langu…

I have to challenge some of your points:

2. Just use 2 languages, like C + Lua. or C + anything-higher-level-than-Java. As a "language", such a combination is easily simpler than C++, and the high level part is way cleaner. My point is, don't use one complex tool when 2 simpler one can do.

On a side note, you should think about what OOP, templates, and "meta-programming" are good for. Most of the time, naked lambdas and closures solves OOP's problems in simpler ways. Templates solve parametric polymorphism (or "genericity"), and meta-programming is just a buzzword, as far as C++ is concerned. (When it is not a buzzword, the systems behind are so huge than I wonder if it's worth the effort, see the Boost library.)

3. That one sounds like a lot of work. A high-level and efficient abstraction has to be build from a fairly low level. Efficient memory management for instance, will probably be more complicated than the straightforward (but copy-ridden) RAII scheme.

6. Properly thought out type systems enforce better, and in a simpler way. See Haskell for instance. And even if your high level language is very permissive (Lua, Lisp…), you could still write a custom preprocessor. Not too daunting, as long as the syntax you pre-process isn't C++'s.

Re: Hacker Poll: Is C++ the Language of the Future?

#39

Even though there is a lot of hate for C++ as a language due to its complexity, it does fit in a niche (cross platform, object oriented native language) that no other language does, although D, Objective-C and Go come close. I wonder if it'd make sense to develop a Coffee Script style language that compiles a "sane" subset of C++, gets rid of some of the nasty\annoying aspects of C++ (header files), and helps enforce…

The key to enforce const correctness is to reverse the default behaviour. Make everything const by default, scrap "const", and introduce "mutable" (or "assignable", or something).

The result hopefully won't feel like a nano-management attempt, while people will think twice before they make anything "mutable".

Re: Hacker Poll: Is C++ the Language of the Future?

#40
post #18

Have you tried to staff a C++ project? If you don't have the ability to easily fire people, it's a horrible pain. There are tons of people who think they know C++. There are a smaller subset that do. If you get people who A> Refuse to follow the subset of the language your group is using on the project or B> deeply misunderstand one or two features, you're in total utter hell if you can't fire the person. Most places…

I think that indicates poor interviewing more than anything.

People coding in a different subset of C++ is predictable from an interview? Howso? Not that they know it, but that they prefer it and do it to the contrary of people asking them not to.

Most other languages it doesn't matter anywhere near as much, as idiosyncrasies can be cordoned off well, but with C++, anyone doing anything strange or incompatible anywhere is a problem for most everyone. That same power and control is a curse when people are controlling things two different ways.

In a bigco which takes 6 months to fire someone, this is killer to a project. One guy can destroy a project in that timespan.

C++ has it's place, and that place is "where we can afford pretty high salaries and fire those people who don't work out quickly".

Post reply on HN