Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What I meant wasn't that it was a language that was compatible with an earlier language. Groovy just compiles to the JVM; lots of things do. TypeScript is just JavaScript with type safety; Python did that too. Objective-C was just NeXT attempting to make the ugliest-looking programming language possible and they succeeded immediately.

But Cfront was released circa 1983 and you basically just wrote C, but it added a bit of new syntax that generated extra C behind the scenes. Object-oriented programming was still fetal in 1983! It didn't get really hyped until the mid-90's. So C++ kind of mutated for decades as this gross appendage on C until it became this whole separate blob that ate half of programming. It was 15 years later when the C++98 "standard" started trying to reign in Dr. Stroustrup's monster.

Then in 2005 we threw away all our textbooks that were like "Look! `Apple` derives from `Fruit`! `Car` derives from `Engine`! This is going to change the world!" because adding object-orientedness to everything became uncool when our bosses became fans of Java. But by this point the C++ blob had taken on a life of its own...

So yeah. Very few programming languages have a story as long and insane as C++.



Objective-C was originally a macro processor just like CFront on top of C.

Objective-C++ likewise on top of CFront.

Until like with CFront, they became selfhosted compilers.

Groovy code is Java code, regardless of targeting the JVM, the same syntax is supported and extended with dynamic capabilities.

Object Pascal was created for Lisa project, exactly in 1983.

Tom Love and Brad Cox created Objective-C in 1984.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: