Какие есть альтернативы?
...
Их много. Честно говоря, на настоящий момент мы имеем целый зоопарк языков программирования, которые постоянно эволюционируют, расщепляются и сливаются. Это уже упомянутые выше языки Ruby и Python. Дерево эволюции "видов" языков программирования можно найти в Интернете http://merd.sourceforge.net/pixel/la...y/diagram.html, http://www.levenez.com/lang ...
Перечислим ключевые факторы, которые на текущем этапе управляют естественным отбором:
Возможность разрабатывать адаптивные системы.
Язык должен быть таким, чтобы программы, написанные на нём, не были костными и неповоротливыми. Язык должен допускать возможность внесения малых изменений в код, чтобы подстроится под динамически меняющуюся и усложняющуюся задачу. Краеугольными камнями адаптивности языковых программных средств являются гибкая многоуровневая модульность (как у языков
Java, Ruby http://www.ruby-lang.org,
Python http://www.python.org, Tcl
http://wiki.tcl.tk, ...
Предоставление языком высокоуровневых средств контроля за целостностью и безошибочностью кодa на первом этапе сборки проектов.
Это относится в первую очередь к языкам
Java, Haskell, и Python. *Языки стараются делать такими, чтобы программист просто не мог допускать ошибок....* ...
Чистота и ясность кода, "читаемость" кода.
...Таким свойством, пожалуй, обладают языки
Java и
Pascal. Сегодня на всех официальных сайтах программных средств среди первых достоинств указывается "естественность синтаксиса" или "близость к естественному языку" (обычно английскому)...
Чистота и целостность парадигмы, заложенной в основу языка.
Например, языки
SmallTalk и
Ruby базируются на чистой объектно-ориентированной парадигме, а
Haskell — на чистой функциональной парадигме. Эта чистота полезна, чтобы программист чётко представлял модель, которой он ограничен, и в терминах которой ему нужно мыслить при проектировании программы...
Многогранность и гибкость, возможность писать сложные программы коротко и красиво.
Таким свойством обладает сейчас языки
Perl, Ruby, Python. Но следует отметить, что такая универсальность языков может иметь и недостатки, так как часто приводит к излишнему усложнению синтаксиса. Например, очень многогранен Perl, он богат различными конструкциями и хитрыми штучками, которые позволяют записывать сложную логику очень коротко ("коротко о многом"). В итоге очень легко написать программы, которые потом невозможно читать. Впрочем, то же самое касается и языков
C и C++. Языкам
Ruby, Python многогранность даётся с меньшими потерями, нежели
Perl и
C++...
Наличие стандартных библиотек и наличие средств интеграции проектов друг с другом и с другими системами и технологиями.
... Сегодня идёт непрерывное соревнование между скриптовыми языками программирования типа
Python, Ruby, Tcl, Perl и др. в том, насколько хорошо развиты в них средства интеграции с различными технологиями. Кто-то умеет работать с OpenGL, а кто-то нет. Есть и другие номинации. Язык
Python сегодня победитель в номинации "простота синтаксиса", а
Perl более, чем какой-либо другой язык удобен для обработки текстов и CGI*-скриптинга. Язык *
Tcl в принципе создавался как язык интегратор. С его помощью можно интегрировать различные приложения и создавать свои собственные пакеты и новые макроязыки...
Итак, Perl многогранен, Tcl прост, Python красив, Ruby тоже молодец, Java и C технологичны. Номинаций много и явного победителя нет, так же как и нет одежды, которая одинаково хорошо подходит под летнюю, дождливую или зимнюю погоду.
Статистика показывает, что победители школьных и студенческих олимпиад по программированию пишут в основном на Pascal. Но следует отметить, что Pascal активно теснят языки Java, С# и Haskell. В частности, на последней олимпиаде на международном соревновании по функциональному программированию два победителя писали на Haskell (http://www.haskell.org, http://www.cs.luc.edu/icfp). А на международном соревновании ImagineCup (http://imagine.thespoke.net) победитель использовал язык C#.
Полная версия статьи лежит в приложении...