4 ms·
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 lesson
by rustyconover 2y 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.
- kqr 2y agoIndeed. 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 2y agoDo you have some examples of this? Sounds interesting. But unsure what is different to plain composition approaches?
- thesuperbigfrog 2y agoSee https://learn.adacore.com/courses/intro-to-ada/chapters/object_oriented_programming.html https://learn.adacore.com/courses/intro-to-ada/chapters/obje...
- m463 2y agoIf other languages just had the wonderful package and package body, they would have solved many or even most of my problems.
- tolerance 2y agoWhat kind of programs did they teach you to write in the language?
- ChuckMcM 2y agoI 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/src_due 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 2y agoI’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.
- DFHippie 2y ago> a wide variety of languages as diverse as English, French, and Russian As a linguist this makes me despair. These are all Indo-European languages, and not very exotic ones at that. It's like "as diverse as white, off-white, ivory, and bone." There are so many languages which would stretch your brain more. I loved Latin back in the day, and Greek, but if you want exotic Indo-European languages, try Welsh or Old Irish. And if you want really exotic languages, leave Indo-European altogether. If you want to stick to Europe, try Basque, Finnish, or Hungarian. If you're willing to stretch your legs, try Seneca or Yindjibarndi. Swahili isn't too difficult, but it's very, very different from Latin. Hell, try Mandarin, though non-alphabetic writing systems kill my interest. Too much work on what I regard as a side point. If you want to make your brain explode (and who doesn't?), look into the Khoisan languages. Go here and listen to the speech sample. https://en.wikipedia.org/wiki/Ju%C7%80%CA%BChoan_language https://en.wikipedia.org/wiki/Ju%C7%80%CA%BChoan_language Amazing.
- taurknaut 2y agoI'll believe it when I see it. This smells like boarding-school braggadocio.