Как стать автором
Обновить

Комментарии 11

Например, она не будет хорошо работать в языках, где вы обязаны перед использованием объявить переменные. Когда вы просто набираете выражения в интерактивной среде, вы хотите присвоить x значение и начать его использовать. Вы не хотите, чтобы вас заставляли сначала объявить тип x. Вы можете оспорить каждое из этих предположений, но если удобным языком считается язык с реализованной средой верхнего уровня, а обязательные объявления типов не совместимы с этой средой, то ни один из языков, который делает объявления типов обязательными, не может быть удобным для программирования.


Как то странно написано и я не понял смысла. Это он про динамическую/статическую типизацию? Как то бредово звучит…
Не каждый статически типизированный язык требует объявления типа переменной перед её использованием. Например, OCaml не требует. Более того, в OCaml'е очень редко нужно объявлять тип функции. Компилятор всё выводит сам. Ах да, и REPL у него есть.
А по поводу того, что имел в виду автор, имхо, это кивок (плевок) в сторону Cobol, Ada и Java.
А чем это плохо?
Просто разница: int a = 10; или auto a = 10; или даже a = 10 не вижу существенной разницы.
std::unique_ptr< MyClass, my_deleter > my_func(MyClass* my, std::string& s, std::pair<int, int> p) {...}
или
let my_func my s p =…

Почувствуйте разницу.
Ну если я прав то в выше указанных языках ужасов шаблонов нету. Да и в C++ появился auto.
т.е. претензия только в том что в редких случаях нужно много писать?
Если я правильно понял, то претензия в том, что типы нужно объявлять. Что, если учесть любовь автора к лиспу, который является динамически типизированным (если не брать в расчет Racket), не удивительно. А вообще, я не телепат, чтобы читать мысли автора.

Лично моё мнение в том, что лисп сосёт (http://www.c2.com/cgi/wiki?LispSucks), как OCaml (http://sds.podval.org/ocaml-sucks.html) и даже С++ (http://whydoesitsuck.com/cpp-sucks-for-a-reason/). И, как известно, нет такого языка програмирования, который повышает производительность програмирования на порядок (http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf).

Я решил для себя, что отсутсвие модульности, часовая компиляция, отсутсвие ADT и pattern matching'а, и километровые сообщения об ошибках меня бесят больше чем убогая стандартная библиотека (есть батарейки), неотключаемый сборщик мусора (смирился) и компилятор, который, зараза, постоянно пишет только «Syntax error» и не объясняет, в чем же ошибка (видимо, придется искать альтернативный компилятор, или, в крайнем случае, писать свой. Кстати, в случае плюсов, это занимает 2+ года: http://cppgm.org/).

Кстати, а вы пробовали писать на фортране? Кода на нём получается даже больше чем на плюсах… Но зато код намного приятнее читать.
Кстати, а вы пробовали писать на фортране? Кода на нём получается даже больше чем на плюсах… Но зато код намного приятнее читать.

Увы дальше Hello World не продвигался (правда приходилось читать мат либы на нём). А так сейчас я на чистом Си пишу, периодически на Python, Java, JavaScript и C++ наверное в таком порядке.

Хочу добавить в Си перегрузку функций или хотя бы опциональные аргументы как в Python… спасло бы много кода и нервов.
> Хочу добавить в Си перегрузку функций

А что мешает компилировать сишный код плюсовым компилятором? Просто ограничьте плюсы сабсэтом Си+перегрузка+опциональные аргументы.
Ну C99 не шибко совместим с С++. Да и проект мягко говоря не маленький… Postgres.
А ведь некоторые языки ещё и требуют все переменные заранее объявить в начале функции или блока…
Он работает за выключенным компом )
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории