Здравствуйте, maxkar, Вы писали:
M>Еще вопрос. А что за языки? Некоторые друг от друга очень сильно отличаются, а некоторые очень похожи друг на друга и мало чем отличаются. Точнее, я чуть переформулирую вопрос. А сколько различнхы систем типов было в этих языках? Были ли языки с возможностью метапрограммирования (макросы в compile-time)? Хвастаться языками просто так особого смысла не имеет. Известно же, что "Опытный фортранщик на любом языке может писать как на фортране". То же самое и на других языках встречается. Т.е. одно дело "просто написать работающее приложение", другое — "написать приложение в идеологии языка". В некоторых случаях paradigm shift достаточно большой и переход на новый язык может быть достаточно длительным. Ну а стили радикально отличаются. Например, на функциональных языках (ocaml, haskell) внутри методы очень сильно по внешнему виду отличаются от таких же в императивщине без нормальной поддержки fp (js, java, python, etc...). Кстати, вы зря javascript не считаете. На нем можно делать вещи, которые в C#/Java даже и не снились. Вот в каком-нибудь nemerle можно, но там только макросами (система типов мешает
), а вот в js — вполне в рантайме, обычными функциями.
да, и Вы меня заинтриговали — а что такого можно делать в js, что нельзя в с#? Реально, интересно.
(Дело в том, что, как мне кажется, в c# можно делать почти всё. Единственное, о чём лично я "горевал" — это отсутствие макросов и работы с темплейтами, как в сях. Дженерики, всё-таки, меньше возможностей имеют, чем старые добрые темплейты, как ни крути. Но зато они и меньше возможностей запутать код дают