top | item 42993928

(no title)

rustyconover | 1 year ago

Ada was the first language they threw at us in university back in '98. At the time, it felt like learning Latin to become a poet, but looking back, those lessons—rigor, clarity, and discipline—have aged better than some modern frameworks. Ada may not trend on GitHub, but it quietly shaped a generation of better programmers.

discuss

order

kqr|1 year ago

Indeed. As a concrete example of one of those things Ada gets very right, it breaks down object-oriented programming into separate features of

- encapsulation,

- reuse,

- inheritance, and

- dynamic dispatch.

In Ada, you can opt into each of those things separately, depending on what you need “object-oriented programming” for. This is in big contrast to Java, where you type the keyword “class” and then all of that comes along for the ride.

I never truly understood OOP until I worked a bit with Ada.

MortyWaves|1 year ago

Do you have some examples of this? Sounds interesting. But unsure what is different to plain composition approaches?

m463|1 year ago

If other languages just had the wonderful package and package body, they would have solved many or even most of my problems.

ChuckMcM|1 year ago

I believe for the same reasons that Latin helps develop a foundation in language, the people who designed it were looking at the problem from many different levels all at the same time. The first language I encountered with split behavioral / code components was Mesa at Xerox, and then Modula 2. (later VHDL but that's different?)

I think at the other end are lisp/forth list/stack languages which made this particular crate: https://github.com/BrentSeidel/Ada-Lisp-Embedded/tree/main/s... getting an award interesting to me. The combination of the two languages has an expressibility that individually they don't possess.

throwup238|1 year ago

I’m not sure whether to agree or disagree with this perspective/analogy. On the one hand, Latin declinations prepare one for a wide variety of languages as diverse as English, French, and Russian, on the other hand the Roman Republic/Empire had such a wide influence - supposedly a third of the global population at its peak - that it’s hard to extricate the path dependency from the true influence of Romance languages.

There’s so much cross pollination in programming languages that I’m not sure where to draw the line. Even trying to probably isn’t worth the effort.

taurknaut|1 year ago

Oh yes I'm screenshotting this for the textbook

tolerance|1 year ago

What kind of programs did they teach you to write in the language?

taurknaut|1 year ago

I'll believe it when I see it. This smells like boarding-school braggadocio.