Единственная причина, по которой языки программирования кажутся взаимозаменяемыми инструментами, заключается в том, что все основные языки мэйнстрима - это посредственно переработанные АЛГОЛы-60 -- даже до 68-го не дотягивающие.
A68 -- это... мощная статическая поддержка типов на уровне языка (комплексные числа, динамические массивы и слайсы, которые питон из него украл, да только типизацию не потянул), структуры и объединения с возможностью определения пользовательских операторов (например, умножение матриц через * или оператор ⊗ для тензорного умножения) с настраиваемым приоритетом, поэлементное сложение массивов a + b вместо циклов, лямбда-процедуры из коробки...
Концепция expression-oriented design позволяет использовать любые конструкции как возвращающие значение:
real abs := if x < 0 then -x else x fi;
Причём сами циклы и case могут быть частью выражений.
Автоматическая композиция операций: присваивание a := b := 0 возвращает значение (сишечка подобными фишками неплохо воспользовалась)...
...и многое-многое другое, уже вовек недостижимое "современному" детсадовскому мэйнстриму.
Java, C#, C++, JavaScript и далее по списку, что с лицом?
Post #1912
793

- 🤯 42
- 😁 16
- ✍ 12
- 👍 9
- 🤔 2