Мне интересно, есть ли какие - нибудь менее предвзятые ресурсы, которые дают хорошие, конкретные обзоры языков программирования и их предполагаемых целей. Я хотел бы выучить новый язык, но посещение сайтов каждого языка не работает. Каждый говорит о том, как это здорово, без особого упоминания о его слабостях или конкретных целях .
Ruby - это динамический язык программирования с открытым исходным кодом, ориентированный на простоту и производительность.
Python - это язык программирования, который позволяет вам работать быстрее и более эффективно интегрировать ваши системы.
Будучи разработчиком PHP в течение многих лет, Вик Керубини хорошо подводит итог моего положения:
Я хорошо знал PHP, имел свой собственный фреймворк и мог быстро работать, чтобы что-то запустить и запустить.
Я так программировал всю революцию MVC. Я стал работать лучше и лучше (читай: лучше платить, лучше название) как разработчик PHP, но все время осознавая, что код, который я написал в свое время, был великолепен, а код, с которым я работал на работе, был ужасен. Мол хуже ужасного. Зверские. Уровень OS Commerce плохой. Наличие сторонних проектов поддерживало меня в здравом уме, потому что код, с которым я работал на работе, делал меня несчастным.
Вот почему я ухожу из PHP для своих побочных проектов и новых программных предприятий. Я провел с PHP. Исчерпаны, если хотите. Я достиг уровня, на котором, как мне кажется, я нахожусь на вершине с этим языком, и если я не перейду к новому языку в ближайшее время, я полностью закончу с программированием, и я этого не хочу.
Языки, на которые я смотрел, включают JavaScript (для node.js), Ruby, Python и Erlang. Я даже думал о Scala или C ++.
Проблема в том, чтобы выяснить, какие из них созданы, чтобы удовлетворить мои потребности наилучшим образом.
Итак, куда я могу пойти, чтобы пропустить шумиху и получить реальную информацию о зрелости платформы, размере сообщества, а также сильных и слабых сторонах этого языка. Если я знаю это, тогда выбрать язык для продолжения моей веб-разработки будет легко.
Обновить
Я просто не хочу тратить 4 месяца в пути с каким-то языком и считаю, что это отстой, потому что каждый поток имеет 4 МБ служебных данных, или максимальное количество одновременных соединений составляет 999, нет пакета для выполнения функции "X" или поддержка постепенно сокращается для новой языковой ветви.
источник
Ответы:
Я не собирался публиковать это как ответ, но Xeoncross попросил меня, так что здесь мы идем:
(Примечание: если бы кто-то мог исправить проблему уценки в небольшом примере кода, я был бы признателен.)
Автор Alex Martelli на comp.lang.python : Что лучше в Ruby, чем в Python? 18 августа 2003 г., 17:50
источник
Удачи
Ни одно из приведенных примеров не является объективным или проверяемым. Они все шумиха и мнения.
Попытайся
Возьмите небольшой пример проекта, который вы, вероятно, будете делать, и попробуйте его на всех языках, которые вас интересуют. Тогда опубликуйте свой объективный отзыв, и мы все узнаем.
источник
Я думаю, что часть проблемы заключается в том, что любой, кто знает достаточно, чтобы комментировать осмысленно об одном или нескольких языках, будет иметь тенденцию к предвзятости. За почти 4 десятилетия программирования я работал на большем количестве языков, чем могу сосчитать. Я могу дать вам мнения (некоторые из них датированы) относительно многих из этих языков, но ни одно из этих мнений не будет беспристрастным.
Я использую подход, использующий правильный язык для работы. Вы конкретно спрашиваете о веб-разработке , но это все еще довольно широкая категория - вроде как сказать, что вы заинтересованы в фотографии. Микро? Astro? и т. д. Хотя я согласен, что для многих клиентов PHP не является эмоционально насыщенным языком для работы это правильный язык, основанный на любом количестве факторов, не в последнюю очередь это долгосрочная способность находить программистов для исправления сайта после вашего ухода и / или попасть под автобус.
Поэтому, возможно, вам стоит взглянуть на клиентов, которые заинтересованы в проектах, которые поддаются чему-то другому, а затем поработать над тем, чтобы им было интересно.
источник
питон
Наиболее универсальное и общее назначение их всех, но также и в случае веб-программирования, обеспечивает более широкий выбор продуктов. Стандартизированный интерфейс WSGI гарантирует отличную совместимость между фреймворком и серверами. Некоторые из известных веб-продуктов Python:
Рубин
Рубин тоже довольно универсальный язык. Но, безусловно, наиболее заметным продуктом является Ruby on Rails. Его дизайн вдохновил многих (включая упомянутого выше Джанго).
JavaScript
В настоящее время единственным выбором на стороне сервера для JS является node.js. Это очень похоже на Tornado и Twisted (на которые он был вдохновлен). Тем не менее, ему все еще не хватает полноценного фреймворка, похожего на Django или RoR, построенного поверх него.
Scala
Будучи функциональным языком, он отлично подходит для массовых параллельных вычислений, поскольку для веб-программирования общего назначения существует Lift - веб-среда, вдохновленная RoR, используемая, например, FourSquare.
источник
В моем последнем веб-проекте я начал с PHP, потому что раньше использовал его для веб-проекта (быстрый старт), но у меня было много проблем с языком, например, плохая поддержка UTF-8 и динамическая типизация. У меня также есть некоторый опыт работы с Java, и мне действительно нравятся статическая типизация и хорошие инструменты рефакторинга. Java также имеет хорошую производительность по сравнению с PHP. Но мне также нравится выразительность функционального программирования.
Scala и Play Framework
Имея вышеупомянутый опыт, мне очень нравится язык программирования Scala, он статически типизирован, имеет поддержку как объектно-ориентированного, так и функционального программирования и обладает хорошей производительностью по сравнению с другими языками, используемыми для веб-разработки. Но мне не понравились веб-фреймворки для Java и сервлетов, и я обнаружил Play Framework , который поддерживает Scala и Java и имеет очень быстрый цикл разработки - сохраните файл и обновите свою веб-страницу. Я был очень доволен Scala & Play Framework в прошлом месяце. Но поддержка Scala в Play Framework пока не очень развита, как и поддержка инструментов.
Короче говоря, я рекомендую Scala в качестве языка программирования и Play Framework в качестве веб-фреймворка.
источник
На самом деле, вы, вероятно, смотрите на три типа ресурсов:
Оба этих ресурса будут предвзятыми.
У вас может быть шанс найти какое-то нейтральное сравнение, но очень сложно его написать. Лично я никогда не смог бы написать сравнение между реальным языком и PHP без постоянной критики PHP. И я уверен, что я не одинок в том, что не могу быть достаточно нейтральным.
Если вы хотите получить обзор различных языков, вам нужно выучить их самостоятельно и много читать . Под изучением я имею в виду знание основ языка, но возможность иметь собственное мнение . Дело не в том, что вы прочитали руководство по Ruby, а в том, что вы можете объяснить, что хорошо и что плохо на этом языке.
Это означает, что вам нужно потратить время (месяцы или даже годы) на занятия. Или вы можете много читать. Но попробуйте прочитать противоречивые вещи . Если кто-то пишет, что он ненавидит PHP, а PHP - один из худших языков, особенно по сравнению с реальными языками, такими как Ruby, C # или Java, попробуйте найти человека, который скажет, что PHP замечательный, и его гораздо проще использовать, чем C #, намного быстрее, чем Java, и намного ... (я действительно не знаю, что), чем Ruby.
Помните одну вещь: если вы уже хорошо знаете язык, вы будете очень критичны в начале, когда будете изучать другой , полагая, что язык, который вы уже знаете, лучше и намного проще в использовании. Это как пользователи Linux, которые ненавидят Windows, и пользователи Windows, которые ненавидят Linux: на самом деле, ни одна ОС не лучше; просто пользователь Linux не знает, как использовать Windows, и наоборот. Только после того, как вы приобретете достаточно опыта, вы сможете правильно решить, какой из них лучше для вас.
Последнее, о чем часто забывают: также очень важно уметь оценивать «окружение» языка:
источник
Ну, так как один из ваших критериев, кажется, «с ним весело работать», я думаю, вы захотите найти предвзятую информацию. Если автор чего-то увлечен своим языком выбора, есть большая вероятность, что он даст предвзятую оценку.
Может быть, вам следует подойти к этому с другой стороны. Поскольку вы говорите так, будто говорите о том, чтобы сделать карьеру более успешной, чем хобби, возможно, вам следует изучить объявления о работе, найти интересные технологии / языки и изучить их.
Что касается языков, имеющих конкретные цели, у многих языков их нет. Большинство перечисленных вами языков довольно общего назначения. Например, язык Ruby является довольно универсальным языком, подходящим для многих задач. Как только вы добавляете к нему фреймворк, такой как Rails , он имеет довольно конкретную цель.
источник
Это не совсем то, о чем вы просили, но если бы я искал что-то, чтобы вытащить меня из профессиональной колеи веб-разработки, продолжая использовать этот опыт и контакты, я бы занялся написанием приложений для Android и iPhone. Возможность продавать приложение, которое дополняет веб-сайт клиента, может действительно выделить вас в разработке для Интернета, доступ к которому все чаще осуществляется через мобильные устройства.
источник
Вы действительно достигли предела PHP или просто предела PHP, как вы его знаете?
Вы смотрели в Drupal ? Это основанная на PHP CMS и среда программирования, которая настоятельно рекомендует хорошие стандарты и практики кодирования. (Мне приходилось работать с OSCommerce на предыдущих работах, я чувствую вашу боль там.) Хотя он основан на PHP, он настолько отличается, что зачастую «правильный» способ сделать что-то на чистом PHP не является правильным способом сделать это в Drupal, и у вас будет хорошая кривая обучения, чтобы подняться, чтобы действительно овладеть ею. Тем не менее, это может изменить ваши взгляды на возможности PHP как языка и веб-разработки в целом.
источник