LINUX.ORG.RU

Python или Ruby, немного порассуждаем


2

4

Добрый день уважаемые форумчане. Это не холивар, просто хочу узнать ваше мнение об этих двух языках. Итак.

Задача: выучить новый язык, который был бы достаточно универсальным, при этом приятным в применении. Хочется выйти за рамки мира PHP, хоть он и стал уже не так плох (фреймворки Symfony, Yii, нормальный ООП и проч). Поковырявшись в обоих, пришел к мнению, что: Ruby имеет почти интуитивный синтаксис, куча замечательных фич делается легко и просто, нормальный ООП с областями видимости, блоки и итераторы. Python в этом плане более коряв. НО, когда дело касается распространенности и сферы применения, Python легко уделывает Ruby. Какой язык уже установлени почти в любом линуксовом дистрибутиве? Python. У кого куча библиотек на все случаи жизни? Опять Python. Плюс Cpython, JPython, IronPython.

Не знаю как так получилось, но хотя и возможно применять Ruby для десктопа и мобильной разработки например, мало кто это делает. Получается что Ruby узко завязан на фреймворке Ruby on Rails и веб девелопменте, остальное не так распространено.

Стало быть, мой выбор Python. Поправьте меня если я не прав.

Перемещено tazhate из general


Ответ на: комментарий от anonymous

Вместо того, чтобы писать логику, ты оборачиваешь код в проверки типов в каждой функции в которой есть аргументы. Со временем этого защитного программирования становится слишком много.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от tailgunner

Руби был в моде, но говорят, что Ruby is not cool anymore

Очевидно по достижении критической массы руби-хипстоты.

yoghurt ★★★★★
()
Ответ на: комментарий от Dark_SavanT

я не знаю вообще ни о каких типах. Для меня _всё_ строка, и её разные уровни абстракции (списки, словари, etc).

В общем сеанс ясновидения ты запорол ;)

anonymous
()
Ответ на: комментарий от Dark_SavanT

даже относительно питона. Динамические языки более адекватны повседневно решаемым задачам, быстрому прототипированию и использованию готового решения, чем та #бл'@ с статически типизированными языками, что ты посоветовал.

anonymous
()
Ответ на: комментарий от anonymous

быстрое _прототипирование_ это конечно хорошо, но если прототип становится продуктом - это трэш и содомия. Для реализации лучше брать что-то с приличными типами, хоть жаву или C#.

Ибо иначе немалая часть кода это один хрен проверка на типы.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Ибо иначе немалая часть кода это один хрен проверка на типы.

А можешь пример привести, где тебе нужно проверку на типы проводить в питоне и не нужно в твоем любимом языке со статической типизацией?

pi11 ★★★★★
()
Ответ на: комментарий от pi11

Джанговские темплейты ужасны. В mako я могу:

 
some_dict.get('key') 
или 
some_dict['key'] 
или же
object.attr.get('key') object.attr['key']

В джанго темплейт мне нада городить свои темплейтстэги. http://stackoverflow.com/questions/8000022/django-template-how-to-lookup-a-di...

Когда я первый раз увидел алхимию, сразу всё стало яснопонятно, в отличие от джанго орм.

ggrn ★★★★★
()
Ответ на: комментарий от ggrn

Т.е. она тебе не нравится субъективно, и недостаточно функциональности встроенного шаблонизатора? Понятно. Спасибо.

pi11 ★★★★★
()
Ответ на: комментарий от pi11

Инструмент(фреймворк) должен быть простым(код выше) и понятным. В остальное питон он и в Африке питон.

ggrn ★★★★★
()
Ответ на: комментарий от ggrn

Кстати, что касается шаблонов, jinja2 встраивается очень легко, функциональность там гораздо лучше, я иногда его в джанге использую.

pi11 ★★★★★
()
Ответ на: комментарий от pi11

я бы с радостью посмотрел бы на jinja, но приходится работать с чем есть.

ggrn ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.