Показать сообщение отдельно
Старый 04.05.2006, 21:56   #10
Str@teg
Пользователь
 
Аватар для Str@teg
 
Регистрация: 26.04.2006
Адрес: Удомля
Сообщений: 71
Вы сказали Спасибо: 5
Поблагодарили 3 раз(а) в 1 сообщении
Отправить сообщение для Str@teg с помощью ICQ
Вопрос Альтернатива в выборе языка

Какие есть альтернативы?

...Их много. Честно говоря, на настоящий момент мы имеем целый зоопарк языков программирования, которые постоянно эволюционируют, расщепляются и сливаются. Это уже упомянутые выше языки 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#.


Полная версия статьи лежит в приложении...
Вложения
Тип файла: zip Уроки по информатике в школе и вузе.zip (176 байт, 17 просмотров)
__________________
(с) Консерватор !
Str@teg вне форума