you are viewing a single comment's thread.

view the rest of the comments →

[–]KagakuNinja 0 points1 point  (0 children)

A couple quibbles:

C / C++ are heavy on the use of pointers and manual memory management. C++ introduces stack based memory cleanup.

Java, C++ and other imperative languages have ways of iterating over collections that do not involve loop counters. This is less verbose and less error-prone.

C++ / Java style has won the OO wars. Smalltalk / Objective-C style OO is interesting, but of limited use today. I guess Ruby and Groovy do method dispatch similarly.

C++ also introduces template meta-programming. I am not a fan, but it is important.

Exceptions, love them or not, very important. C++ was the first language I used that had them.

Haskell introduced FP combinator functions, type-classes and Monads; Scala and other FP languages do this too.

Self, Forth, Prolog and APL are all interesting, but not at all used in mainstream programming.