Больее интересен вопрос: «Что мне может предложить Ruby, чтоб на него перейти?».
Раньше мог предложить более чистый синтаксис/библиотеку. Теперь у python тоже с этим все вполне хорошо. А Django, я верю, не хуже, чем Rails.
Под огульной перегрузкой я понимаю наличие, например, __getattr__, __getattribute__, __get__. Вот как с наскоку понять, что есть что, и для чего это все (все эти операторы для получения аттрибута)?
Я написал: metaclass, огульная перегрузка операторов (еще больше, чем в C++). Я не говорю, что это плохо. Это замечательно, выразительно. Но сложно. Для сравнения, в Ява нет даже множественного наследования, автобоксинг появился кажется только в 1.5: Ява идет по пути максимального упрощения синтаксиса, в Ява ничего не происходит неявно (кроме сборки мусора, конечно ;).
Что лишнего? Заглянул. На букву A: abs. Почему б не положить в модуль math? Аналогично: divmod, chr и т.д. Compile и иже с ним, format, open… Даже понятно, почему эти функции в top-level. Но их слишком много, на разную тему в перемешку.
Минус, что подружится она сравнительно не скоро… Естесственно, это не минус python 3.0.
Если проникнуться, то от метапрограммирование получаешь непередаваемое удовольствие. А код буста очень даже неплохо написан. Этим С++ мне и нравится, что такими простыми концепциями, как шаблоны, можно добиться самых неожиданных эффектов.
А пайтону повезло, что он динамический ;)
Выразительность C++ приходит с шаблонами И перегрузкой оператором. Заросли не заросли, но я тащусь от, например, ковыряния в boost. Однако, код джанги, скажем, читать не намного проще (особенно про модели). Возможно оттого, что с пайтоном у меня опыта гораздо меньше, чем с С++.
С хаскелем я б тоже не сравнивал, по двум причинам. 1. он совсем-совсем функциональный. 2. я его почти совсем не знаю ;)
Может быть, может быть.
Но тут такое письмо цитировали: habrahabr.ru/blogs/i_am_clever/43878/:
типа нельзя SDE в МС ни в какой чужой опенсорс смотреть…
Лично у меня нет доступа к исходникам винды, но как вы думаете, если б дело было именно так, как вы говорите, неужели б какой-нибудь Столлман не скрежетал зубами на весь интернет?
А если они настолько извращены, как вы говорите, что, грубо говоря, тот же Столлман там GPL кода не видит, то, может, это дело рук (стало быть, кривых) программистов МС?
Кстати, вы, наверное, в очень крутой фирме работаете, раз вам доступны исходники винды…
Раньше мог предложить более чистый синтаксис/библиотеку. Теперь у python тоже с этим все вполне хорошо. А Django, я верю, не хуже, чем Rails.
Что лишнего? Заглянул. На букву A: abs. Почему б не положить в модуль math? Аналогично: divmod, chr и т.д. Compile и иже с ним, format, open… Даже понятно, почему эти функции в top-level. Но их слишком много, на разную тему в перемешку.
Минус, что подружится она сравнительно не скоро… Естесственно, это не минус python 3.0.
А пайтону повезло, что он динамический ;)
Я нечаянно
Выразительность C++ приходит с шаблонами И перегрузкой оператором. Заросли не заросли, но я тащусь от, например, ковыряния в boost. Однако, код джанги, скажем, читать не намного проще (особенно про модели). Возможно оттого, что с пайтоном у меня опыта гораздо меньше, чем с С++.
С хаскелем я б тоже не сравнивал, по двум причинам. 1. он совсем-совсем функциональный. 2. я его почти совсем не знаю ;)
А измерять дело дряное. Только ощущениями ;)
Кому что, конечно, но в свое время я наплевался, пока писал какой-то скриптик на перле.
Но тут такое письмо цитировали: habrahabr.ru/blogs/i_am_clever/43878/:
типа нельзя SDE в МС ни в какой чужой опенсорс смотреть…
А если они настолько извращены, как вы говорите, что, грубо говоря, тот же Столлман там GPL кода не видит, то, может, это дело рук (стало быть, кривых) программистов МС?
Кстати, вы, наверное, в очень крутой фирме работаете, раз вам доступны исходники винды…
Лепрозориум опасносте ))