Имеет ли смысл использовать Python/Ruby в веб-программировании?
Вопрос людям, которые имеют какой-либо опыт - имеет ли смысл изучать/разрабатывать проекты с помощью Python/Ruby? И если да, то на каком языке лучше? Или лучше остаться на PHP?
В общем, интересует перспективность и рентабельность использования какого-либо из этих языков.
Просто судя по стандартным заказам по фрилансу - PHP востребован практически во всех заданиях.
Так что позиция такова.
Знать и уметь, что на Пионе, что на рельсах стоит, но вот зарабатовать этим на хлеб с икрой, пока проблематично..
Знать и уметь, что на Пионе, что на рельсах стоит, но вот зарабатовать этим на хлеб с икрой, пока проблематично..
О_о мы точно в одном и том же киеве живем?
Трудно давать общие советы для абстрактных ситуаций. Ты используешь PHP и он тебя чем-то не устраивает и ты это пытаешься исправить перейдя на новый язык/фреймворк? Или просто пробуешь на вкус новые технологии? В чем проблема решение которой ты ищешь в новых языках?
1) Более простой и лакончиный синтаксис, некоторые частоиспользуемые операции решаются кодом в Руби проще и нагляднее (давно когда-то смотрел различные примеры - понравилась реализация).
2) Компиляция в байт-код.
3) Хочется чего-то нового, но в рамках того, в чем давно работаю.
Т.к. часто приходится писать теоретически (в будущем при развитии) нагруженные сайты, то хочется большего быстройдействия + большего понимания, что где происходит, когда откроешь код через полгода для изменения.
Сам пока не могу понять, что из этого лучше подходит мне
в 1.9 наконец-то сообразили, что делают не игрушку для гиков, а язык для практического применения. и начали перепиливать. теперь работает быстрее и валится постоянно. сыро и криво.
По поводу быстродействия Ruby/Rails сохранились старые страшные легенды. Сейчас скорость Ruby и PHP примерно сравнялись. У кого-то чуть выше скорость, у кого-то чуть больше жрется памяти но разница в пределах десятков процентов. То есть те задачи которые ты решал на PHP ты сможешь решать и на Ruby. Определенный класс задач все равно потребуют дополнительных усилий (фоновых очередей, тюнинга sql, ...) хоть на PHP ты их будешь писать, хоть на Ruby, хоть на Java.
По поводу синтаксиса. Это уже чистейшей воды вкусовщина но мне синтаксис и читаемость Ruby нравится больше чем Python. Единственная вещь которой не хватает в этом смысле в Ruby это пайтоновских отступов.
По поводу фриланса. На территории бывшего Союза серьезных заказчиков с Ruby проектами практически нет. За время работы я нашел одного небольшого заказчика который смог дать мне терпимый часовой рейт. Точно так же нет и нормальных книг, форумов и блогов. Готовься к тому, что теперь все, что связано с профессиональной деятельностью будешь вести на английском языке, на западных фриланс биржах и частенько с учетом западных часовых поясов.
По поводу быстродействия Ruby/Rails сохранились старые страшные легенды. Сейчас скорость Ruby и PHP примерно сравнялись. У кого-то чуть выше скорость, у кого-то чуть больше жрется памяти но разница в пределах десятков процентов.
а я не сравниваю с пхп, если ты заметил. пхп - тоже не эталон быстродействия.
в 1.9 наконец-то сообразили, что делают не игрушку для гиков, а язык для практического применения. и начали перепиливать. теперь работает быстрее и валится постоянно. сыро и криво.
Сорри squirL, но спорно. Его, как-то бонально но... нужно уметь готовить. Скорость и у питона тах себе...
А если кому-либо необходимо повысить скорость, функционал и т.п., то Ruby sdk можно смело заменить на JRuby. И быстрее в разы (сравнимо со скоростью Java), и получаем Ruby+Java+Rails. А это несравненное преимущество.
Для примера Rails Rumble
Ну и чуваки кот. разрабатывают JRuby
JRuby это руль :)
Либо факты излагайте и ведите дискуссию в контексте обозначенных условий, либо обсуждение что там быстрее и круче будет похоже на замшелый холивар.
Ты правда думаешь, что "динамическую типизацию" действительно можно улучить введением новых инструкций? Имхо это они аналог DLR в .NET изобретают.
Принципиально динамическую типизацию по производительности до статики может вытянуть только частичная статическая типизация кода.
А я то почему-то всегда думал, что это .NET has been inspired by Java. Это я так корректно :)
Зачастую ведь и нет большой необходимости в скорострельности. Скорость разработки, удобство поддержки проекта многие годы и скорость поиска, устранения ошибок в коде намного превышают чуть более быстрого исполнения у иного альтернативного языка. Наверное поэтому сейчас на С/С++ пишуть лишь узкоспецифические вещи. Даже многие (ну не то что бы толпы, но..) Java EE девелоперы перелазиют на Ruby on Rails.
Поддержка динамической типизации в Java7 не повысит скорость на какой-то новый уровень. Просто теперь будет единая поддерка на уровне самого языка Java динамических языков. Пока что, для запуска общирного колличества динамических языков необходимо цеплять коннекторы, т.к. из коробки поддерживается мин. их кол-во (JavaScript и еще какая-то хрень).
К примеру же опять, в JRuby была проведена большая работа по устранению багов и наложения патчей на текущую JDK, что бы JRuby был как более ближе придвинут к стандарту POSIX.
Принципиально динамическую типизацию по производительности до статики может вытянуть только частичная статическая типизация кода.
Я не могу тебе ответить по существу, так как никак не найду время разобраться с этим вопросом досконально :(.
Но некоторый определенный прирост производительности( в том числе) я думаю будет.