Hacker News new | ask | show | jobs
by e12e 3806 days ago
And C++, surely? (Although, I would probably choose C (or even assembler) over C++ for something this simple (loop, blink a light). And between all those, I think Rust is really interesting.

It could probably be argued that Rust doesn't add much on top of D (as a "better" C++) -- but between the mind-share and the focus on "safe" (and boxing in unsafe) memory access, I think Rust is really interesting. Not sure how run-time free D is coming along - believe there were some issues with the standard lib?

Ada was troubled by a confusing split between FSF LGPL Gnat trailing Ada Core GPL/commercial compiler with a release -- leaving people a little confused if there was a good Free Ada compiler that could be used for commercial (or just non-GPL) development. (Yes, it was a real issue, just as one needs an LGPL libc for c development etc).

But as I understand it the GNAT compiler has matured to the point that one can now use modern Ada without having to worry about that. Unfortunately Ada probably lost a lot of potential developers due to the confusion/issue.

1 comments

I left C++, Objective-C and Objective-C++ out, because of the C compatibility.

The price of commercial compilers wasn't the only issue with Ads. It never had any friends in the UNIX culture.

UNIX culture always ignored safer system programming languages from the 60 and 70's.

If the hacker culture bashes Java for being verbose, what would they say about Algol languages like Ada?

Another problem was Ads was mainly a DoD thing, there were no commercial OSes using it.

So you either used the system programming language of the OS, if you were lucky to access to the official SDK, or bought one you could afford. There was always an option to type it all in as well.

So with these constraints it was hard to get Ada widely adopted.

It is now mainly used in avionics, train control systems and high integrity systems. All areas that the common Starbucks coder usually doesn't care about.

As for D there are some projects using it on micro-controllers, presented at D Conf 2014. In comparison to Rust, it might appeal to those that favour a C++ like syntax, interoperability with C++, GC support, great metaprogramming capabilities.

I like both, and think there might be space for both of them.

I've only toyed with Ada, but it doesn't strike me as particularly verbose?

[ed1: eg: http://rosettacode.org/wiki/N-queens_problem#Ada compares pretty favourably/neutrally in my mind to the C++ version in terms of verbosity (or lack thereof). Unless one gets upset about "end loop" vs "}" ]

[ed3: Hm, I guess looking at: http://rosettacode.org/wiki/Balanced_brackets#Ada I could see Ada as being derided as verbose... maybe :-) ]

[ed2: And looking a bit more at rosettacode, I now found:

http://forge.ada-ru.org/matreshka (Quite unrelated to the rest of the discussion here, but anyone else interested in poking at Ada might find it interesting) ]

I also only toyed with Ada.

My real work experience with Algol like languages are Turbo Pascal, Delphi and Oberon. Although thanks to my interest into compiler development during my CS degree, I also do have some knowledge of almost all major Wirth influenced languages.

Personally, I do prefer some verbosity to lines full of symbols.

Ada 2012 is quite good.

It is also remarkable that in the 80's Ada 83 as seen as almost impossible to implement and nowadays C++ is way complexer to implement than Ada 2012.

Another anecdote, Rational started out in mid-80's as a startup doing Ada workstations[1] (think Ada machines), with IDE capabilities that probably only Lucid C++ had in the 90's [2].

[1] https://en.wikipedia.org/wiki/Rational_R1000

[1] http://datamuseum.dk/wiki/Rational/R1000s400

[2] https://www.youtube.com/watch?v=pQQTScuApWk