Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Что эффективнее в развитии языка программирования — расширять язык или расширять библиотеки? И для чего?

ПрограммированиеПрограммное обеспечениеЯзыки программирования
Анонимный вопрос
Я ЛЮБЛЮ ТЕБЯ
  · 2,0 K
Веб-разработчик, геймер, специалист по этике  · 9 янв 2022
Если под "расширением языка" мы понимаем добавление новых лексических конструкций, как, например, корутины в C++20 или ключевое слово let в ES6, то мой ответ - библиотеки для развития языка программирования важнее. Что значит "эффективнее", не очень понятно.
Можно увидеть на конкретных примерах, что язык сначала становится популярным, потому что на нём пишут много кода, а потом только в него по запросам пользователей добавляют новые фичи, когда их невозможно выразить в виде библиотеки.
PHP, Javascript, Python, Java, даже C++, все шли и идут этим путём. Если хочется, чтобы твой язык стал мейнстримным, пиши под него библиотеки. C# настолько тесно связан с .NET, что новички даже их не различают. C++ постоянно интегрирует сторонние библиотеки в виде компонентов стандартной.
Haskell, Common Lisp, Prolog, перекачанные уникальными фичами под завязку, кое-как ещё держатся на плаву, только потому что энтузиасты продолжают пилить под них библиотеки.
Go, Rust, Dart всё ещё пытаются набрать достаточно популярности, чтобы стать мейнстримными, только потому что для них написано ещё недостаточно много библиотек.
Я - программист, который знает немного о циклах и условиях.  · 8 янв 2022
С точки зрения простоты важнее иметь мощный язык, но при этом чтобы всё взаимодействие с операционной системой и, тем более, работа с верхнеуровневыми протоколами типа HTTP, чтобы была в библиотеках. С этой точки зрения примерами являются C++ и Rust: они имеют нулевую или очень небольшую рантайм-библиотеку, а остальное отдаётся на откуп third-party библиотекам. Есть... Читать далее