Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
4
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
892
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4308
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2598
0
Куда идти после php? Ruby или Python?
Просмотров: 534
 
Ответов: 27
Собственно вопрос в заголовке :) Хочется услышать принципиальные различия между языками. Для каких задач что лучше подходит?
Python гораздо быстрее, лучше документация, более отполирован (в руби до сих пор можно увидеть библиотеку генерации html 3.2 — наглядный пример того, что они с трудом управляются с этими десятками тысяч файлов). Твиттер, который часто показывают как пример популярного сайта на рельсах, переписал самую нагруженную часть на Scala, потому как руби сам там не справляется.
Популярность Ruby тесно связана с популярностью рельс. Когда я узнал об этом языке (2001, рельс еще не было) он особо ни кому не был нужен вне Японии. Появились рельсы — Руби стал ультра-модным языком (некоторые до сих пор не могут понять, что Руби и Рельсы — это не одно и то же). Хотя сейчас, кажется, популярность спадает.
Питон же все это время планомерно развивался и популяризировался более-менее самостоятельно.
Потому я бы склонялся к Питону. Сильная сторона руби — ОО и синтаксис.
А вообще это все жутко субъективное мнение, учите то, что больше нравится.
Учите питон.
Он сделает Вас более хорошим программистом, т.к. python
a) не приветствует трюкачество
b) учит принимать самые простые (KISS) решения, не усложнять ничего
образовательный аспект в python очень явно выражен — всегда есть 1 правильный способ сделать что-то. Очень полезная «промывка мозгов» получается, не встречал такого ни в одном другом языке. Учишься смотреть на код «свысока», думаешь больше о том, как его организовать, а не как его написать. После питона на других языках начинаешь писать лучше, т.к. в голове остаются полезные идеи и принципы.
Ruby несколько «мощнее» как язык, дает больше свободы, позволяет делать больше разных трюков и не имеет такой выраженной идеологии. Мне кажется, что выучить ruby тоже полезно и практично, это хороший язык, но python учить полезнее из-за того, что он учит правильным вещам (например, избегать трюков всеми силами).
Еще вариант — выучить javascript. Именно хорошо выучить, чтобы понимать все ФП-фишки языка и его нестандартную объектную модель. Гуру js мало, толпы умеют сделать свистелку на jQuery и не более того. С хорошим знанием js можно довольно просто писать всякие супер-быстрые асинхронные realtime-штуки на node.js. По «мощности» язык вполне адекватен Ruby и Python'у, разве что имеет несколько менее приятный синтаксис и меньше библиотек для серверной части.
Библиотек и для python, и для ruby полно. Imho их больше, чем для php, и способы распространения у них лучше. В питоне есть стандартная библиотека на все случаи жизни с кучей полезностей. Коммьюнити очень разное — в ruby-коммьюнити вы увидите красивые сайты, рекламирующие те или иные библиотеки, кучу эпитетов awesome, каждый второй будет rock-star-programmer и тд, в python-коммьюнити вы увидите, скорее всего, скучноватых суровых инженеров. Я, понятное дело, преувеличиваю)
Области применения у языков похожие, скорость похожая, возможности похожие. Основной критерий тут — нравится/не нравится.
Эти языки сильно похожи, как по назначению, так и по идеологии. Каких-то радикальный отличий между ними нет.
Лично я предпочитаю Руби, за «правильную» объектную модель, за читаемый синтаксис, за блоки, за открытые классы. Опять же, еще один громадный плюс Руби — Rails.
Так что ответ стандартный — попробуй оба и учи тот, который ляжет на душу=)
Знать PHP != уметь на нём делать сложные вещи правильно.
Вместо изучения другого языка, углубитесь в сам PHP, а так же займитесь очень плотно MySQL (там не паханое поле оптимизаций, приёмов и.т.д) и прочими связанными технологиями: Redis, MongoDB, Sphinx, акселераторы (они умеют не только хранить опкод), повышайте скилл уменя работать с memcache, изучайте архитектуры, изучите какой-нить framework (рекомендую Yii — очень грамотно построен и расширяется на все 100% любой компонент написанием собственно этого самого компонента + запись в конфиге о переопределении стандартного компонента. Никаких костылей и правок самого фреймворка. В общем очень правильный OOP в реалиях PHP).
Учи python. Ведь он используется не только в веб-программировании, а и в куче других вещей:
— www.amazon.com/Natural-Language-Processing-Python-Steven/dp/0596516495
— www.sagemath.org/
— code.google.com/p/sympy/
— twistedmatrix.com/trac/
— и многое другое
Ruby и Python хоть и имеют красивую, правильную объектную модель, но очень далеки от того, как работает реальное железо. В итоге это выливается в чудовищный оверхед, причем Ruby умудряется тормозить сильнее Python'а, php в этих же тестах где-то рядом, но все они плетутся в хвосте.
Я бы порекомендовал поизучать языки программирования со статической типизацией: они принципиально быстрее и ближе к железу.
Python — это идеологический наследник PHP'а. Такой же бестолковый язык, за которым, ко всему прочему, не видно никакой идеи. Просто неуклюжая комбинация стыренных отовсюду концепций. Ничего нового. Python не нужен.
Ruby — это идеологический наследник Perl'а. Кое-где избыточен, кое-где лаконичен. может быть и красивым, и уродливым. Пацаны с района говорят, мол медленный и с Юникодом плохо дружит, зато у него круто реализовано ООП. Ruby на любителя.
Вывод? Выучите Haskell, пора посмотреть на программирование под другим углом.
Если у вас появилось желание выучить что-то еще, могу предложить вот что:
Прочитайте статью Эрика Рэймонда «Как стать хакером», и выберите язык из предложенных там — это Perl, Python, C, LISP. Небольшая цитата:
Лучше всего, на самом деле, выучить все четыре этих языка (Python, C/C++, Perl, и LISP). Помимо того, что это самые важные хакерские языки, они демонстрируют очень разные подходы к программированию и каждый из них научит вас ценным вещам.
Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться