| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Флейм > Выбор языка для серверной части сайта |
| Автор: iivanovi 30.4.2013, 13:10 |
| Как я понял из соседней темы, PHP - лучший язык. С другой стороны генерировать web-странички можно на любом языке. Когда стоит выбрать Ruby, Python? Какие преимущества у них в сравнениее с PHP? Обязытельно ли язык должен быть интерпретируемым, можно ли серверную часть написать используя компилируемый язык? Почему никто так не делает? |
| Автор: k0rvin 30.4.2013, 13:53 |
Да вы, батенька, излишней полнотой страдаете. Всегда, когда есть выбор. Нормальные языки. Нет. Можно. Все так делают. PHP, Ruby, Python, Java, C# и т.д. компилируются в байт-код. JVM и CLR еще и JIT'ятся. (Node)JS (посредством V8) компилируется в машкод. |
| Автор: ksnk 30.4.2013, 13:55 |
| iivanovi, У интерпретируемого языка сложно "потерять исходники" и остаться с откомпилированной версией со старыми багами. Практически невозможно. Это открывает для владельцев сайтов возможность развиваться постепенно, не завися сильно от разработчиков. Ни один компилируемый язык таким удобным "в быту" свойством не обладает. У PHP преимущество перед другими языками - низкий порог вхождения, что обеспечивает широкий набор специалистов разного профиля. Это единственное его преимущество перед Перлом, однако, опять же, позволяет не зависеть от разработчиков. Руби и Питон при этом проигрывают еще и в "ареале распространения", их не так много на бесплатных-дешевых хостингах. |
| Автор: iivanovi 30.4.2013, 14:21 | ||||||
Что это значит "потерять исходники"? Если накрылся диск с исходниками, какая разница на каком языке были исходники? Ну, положим, исходники на PHP есть не только у программистов, но и на сервере. А почему бы не положить на сервер вместе с готовой программой и ее исходники? Добавлено @ 14:26
То есть они лучше, чем PHP, но и требования к программисту выше? Добавлено через 10 минут и 49 секунд
А где независимость от разработчиков? Если надо что-то поменять и владелец сайта не умеет сам программировать, то независимо от языка ему нужен разработчик. Разве сложно пересобрать программу? Одно лишнее нажатие кнопки в конце рабочего дня. |
| Автор: ksnk 30.4.2013, 16:01 |
| Совсем забыл про самое важное свойство интерпретируемых языков - независимость от платформы. Систему, хостинг и даже сам web-сервер в разумных пределах хостер может менять, не трогая владельцев сайтов и не заставляя их перекомпилировать исходники, лихорадочно подыскивать новые библиотеки, искать какого фига оно перестало работать на новой системе. Владелец сайта может переползать на новый хостинг простым копированием исходников. Язык, на котором говорит бОльшее количество народу - лучше. |
| Автор: bilbobagginz 3.5.2013, 20:48 | ||||
в принципе правильно и понятно можно кодить на всех языках. но в некоторых языках существует культура писанины так, чтобы никто (даже автор) не понял код через 2 дня. поэтому читабельность кода (эквивалентная к легкости поддержки кода) является по моему более важным фактором, чем переносимость. Переносить нужно намного реже чем подкручивать код. Сила таких языков как python/ruby в том, что они подпинывают делать код читаемым и красивым (python больше, т.к. форма файлов едина) на PHP такого не наблюдается, но это не значит что на пхп нельзя написать красивый и читаемый код.
можно. некоторые так делают. напр. технология JSP это и есть написание серверной стороны на java. CGI - это стандарт, не привязанный к языку, т.е. CGI программу можно написать хоть на ассемблере. т.к. веб системы подвержены огромному количеству изменений в процессе работы, технически удобнее делать это интерпретируемыми языками. но не обязательно. веб-фреймворки существуют на компилируемых языках: C++: http://stackoverflow.com/questions/746309/which-is-the-best-c-web-framework Erlang: http://nitrogenproject.com/ Haskell: http://www.yesodweb.com/ |
| Автор: Akella 5.5.2013, 10:09 |
Осторожнее с такими высказываниями |
| Автор: irinazanuda 5.5.2013, 10:45 |
| iivanovi, учи одно из двух доднет или джаву.. и не парься |
| Автор: diadiavova 5.5.2013, 11:14 | ||
Ну что ты всполошился-то? Дельфу ведь все равно сюда никаким боком не прикрутишь. |
| Автор: ksnk 5.5.2013, 11:45 |
| iivanovi, А вопрос по какому поводу возник? Надеюсь, это не выбор "первого языка" для изучения? |
| Автор: Akella 5.5.2013, 17:09 |
| захочешь - прикрутишь |
| Автор: diadiavova 5.5.2013, 17:14 | ||
Крыша поедет - может и захочу |
| Автор: Akella 5.5.2013, 17:39 |
| что за намёки |
| Автор: diadiavova 5.5.2013, 17:47 | ||
Никаких намеков. Сам подумай, с чего бы мне этого вдруг взять и захотеть? |
| Автор: Akella 5.5.2013, 22:35 |
| Пока не знаю |
| Автор: krundetz 6.5.2013, 15:50 |
выбор чего? языка? |
| Автор: iivanovi 8.5.2013, 08:57 |
| А почему в требованиях на вакансию веб-программиста часто указаны все 4 языка - PHP, Ruby, Python, Perl? Бывают ли сайты, написанные сразу на всех этих языках? |
| Автор: baldina 8.5.2013, 11:06 |
в жизни все бывает. но не все - нормально |
| Автор: ksnk 8.5.2013, 11:56 |
| Обычно, это означает, что вакансию пишут непрограммисты. Им нужен сайт, они списали все слова из вакансий, который смогли увидеть. Программист, обычно, представляет, что весь комплект языков "логически" несовместим |
| Автор: k0rvin 9.5.2013, 10:37 | ||
Инструмента. В данном случае это не только язык, но и, например для Ruby — RoR, для Python — Django и/или Tornado, например. Добавлено через 2 минуты
Да не, вполне можно уместить на достаточном уровне для уверенного кодинга. А остальное можно узнать в гугле. |
| Автор: Arantir 9.5.2013, 15:05 | ||
Где вы только находите такие вакансии? По-моему, даже знающий все эти языки не пошел бы на эту вакансию. Все эти языки в вебе, обычно, используются почти для той же цели и нет смысла делать винегрет. Никому не захочется разбираться в такой каше. Вакансия может быть, например, "С/С++ и PHP", так как на первом пишутся расширения под второй. Ну или там "Java, C/C++, PHP", если на Java еще и написаны какие-то апплеты. Или еще что-то с четко видимым предназначением дополнительного языка. А PHP, Ruby, Python, Perl сразу — просто нецелесообразно. |
| Автор: bilbobagginz 9.5.2013, 20:07 | ||
не согласен я с тобой, дорогой: представим этакого старпера со дней перла. сначала он работал на перлах, и было ему хорошо потом появился ASP, на котом ему было легко клепать, но асп вдруг через несколько лет удавила родная папа. И пришлось ему покоситься на довольно широко (ко времени смерти ASP) растущий пхп, который на крайняк был открытой платформой. и он, наш родимый старпер (уже с парой-тройкой детишек дома), со скрежетом в зубах перешел на пхп, ругаясь в сторону Степана Балмера (чтоб его лысина обросла колючками!), ессно продолжая рисовать нечитаемые регекспы потом, вдруг увидел, что можно все это делать по человечески, и освоил довольно легко (после напрягов с пхп) руби, и рельсы. вот тебе и человек с 25-летним опытом разработки серверной части веб серверов (грубо говоря я лично знаю пару таких дядечек, работающих и по сей день..., ессно на руби) |
| Автор: ksnk 12.5.2013, 00:11 |
Легко проверить. Вообрази себе маленькую, несложную web-утилитку. Такую, которую без разницы на каком языке писать. Ну чтобы без сокетов (чтобы php сразу не отвалился...) И без дальнейшего сопровождения (хотя это лишнее, наверное...) На каком языке стал бы ее делать? Вот эта рука и будет правая |
| Автор: iivanovi 12.5.2013, 21:19 |
| Так какой же язык всё же круче всего? Ruby? У PHP низкий порог входа, а у него наверное высокий? Или может стоит выбрать ASP.NET - какой у него порог входа в сравнении с open source языками? |
| Автор: krundetz 13.5.2013, 09:33 | ||
О уже интереснее. Только вот выбирать стоит то что дешевле обойдется не только для компании но и для тебя самого. Простой пример, как работодатель я готов взять начинающего PHP программиста, но я никогда не возьму начинающего Ruby или Python программиста, так как ценник на них выше. А если задачи будут выполняться с одинаковой эффективностью то зачем платить больше? 1. Тот который ты лучше всего знаешь. Так как сможешь сделать на нем за 1 час то что на другом при помощи гула будешь делать неделю. 2. Тот за знания которого тебе готовы платить деньги. Большое заблуждение. Нет языков программирования с большим или низким порогом входа. Есть языки которые ты выучил и используешь, набираясь опыта, либо нет. Просьба к модераторам закрыть тему, так как ТС упорно пытается свести ее к религиозным войнам. |
| Автор: iivanovi 13.5.2013, 10:23 | ||
Предположим, что в одну компанию устраиваются 4 программиста одинакового уровня. У всех большой опыт создания сайтов под разные технологии. Один хорошо знает PHP, другой Ruby, третий Python, четвертый ASP.NET. Всех решили взять. Какие зарплаты у них будут? Почему одни языки ценятся больше других? |
| Автор: ksnk 13.5.2013, 11:40 | ||
Всем Сокеты должны быть с коллбяками и бекджеком. А такие как в php - с ожиданием ответа - не для всех применений годны. Достаточно посмотреть на "демонов на php". К сожалению в php они пока не вписались. Приходится писать/использовать прослойку на перле или Node.js Добавлено через 1 минуту и 37 секунд
Это, вроде, флейм. Не? |
| Автор: baldina 13.5.2013, 11:48 | ||
42, 42, 42, 42 потому что 42 киев мать городов русских, а москва - порт пяти морей. почему французский ценится больше немецкого (или наоборот)? видишь ли, знание французского полезно во франции, а немецкого - в германии. а всех и вся - в вавилоне |
| Автор: Arantir 13.5.2013, 12:30 | ||
Никто не платит деньги за знание языка. Платят за результат его применения. Все остальное — дело рынка, дело экономики. Себестоимость у программных продуктов невероятно низкая. Ведь платить нужно только один раз и только за работу разработчика. Каждая фирма выставляет свои цены и предоставляет свои зарплаты. А в идеале зарплаты одинаковые. Проблема Вашего понимания состоит в том, что кардинально может различаться даже зарплата одно и того же человека, в зависимости от его работодателя. А вы пробуете найти зависимость еще и между языками. Про математическую статистику слышали когда-нибудь? Если вам так интересно узнать ответ на свой вопрос о зависимости зарплаты от языка, то почитайте про нахождение зависимости между случайной величиной (зарплатой) и неслучайной (язык). Спросите побольше народу о языке и зарплате и посчитайте себе... Тогда Вы абсолютно точно будете знать, зависит или не зависит. |
| Автор: iivanovi 13.5.2013, 13:13 | ||
Вот нашел такое исследование http://habrahabr.ru/company/it_dominanta/blog/145830/ Лучше всего по средней зарплате оказался Perl, далее с небольшим отставанием ASP.NET, Ruby, Flash. PHP значительно остает (второй с конца). С другой стороны наибольшая зарплата (не средняя) - на Ruby (причем в разных городах). Почему делая сайт на Ruby или на Perl вместо PHP работодатель (а вместе с ним и программист) может заработать больше денег? |
| Автор: krundetz 13.5.2013, 17:00 | ||||||
да флейм, но даже в нем принято дискутировать, а не противопоставлять одно другому без аргументации.
1. Они уже сами по себе не одинакового уровня, так как в каждом из этих языков есть свои подводные камни. 2. Если их всех решили взять значит возьмут в разные проекты. А следовательно зарплата будет зависеть от проекта. Либо кто-то из них будет сеньером, а кто то джуниором, а это опять разный уровень. Кто из них станет сеньером зависит от того на каком языке будет проект. 3. Я вам уже говорил, вам бы сначала стать просто программистом, получить реальный опыт, хоть за копейки, а потом уже думать, а куда дальше податься. А то все ваши разговоры это больше похоже, на деление шкуры не убитого медведя. Ответьте на следующие вопросы: 1. Почему вы уверены что ваших знаний будет достаточно чтобы вас наняли программистом? 2. Почему вы уверены что за то время пока вы будете входить в технологию изучая язык и т.д. и т.п. уровень зарплат в этом сегменте не опуститься ниже? Побуду немного циником. За те знания что вы показали в этой дискуссии я готов вас взять на работу PHP программистом и платить 0 рублей, гарантировать могу то что работать будете над реальными проектами, я выделю 1 час на постановку и контроль задач, 1 час ваше обучение в день из своего времени. Какие знания из этой работы вы получите будет зависеть от вас, предложу ли я вам реальные деньги за свой труд тоже будет зависеть от вас. Интересует? Только вот картинка диаметрально поменяется.
Вы правда думаете что вам так и скажут, где деньги растут на деревьях и как их правильно срывать? |
| Автор: ksnk 13.5.2013, 17:09 |
А вот это сделано еще страшнее сокетов, не? fork - это вообще страшный хак. Эффектный и эффективный, да, но хак. Чилдовый процесс без всяких ограничений лазит по данным родителя и своих братьев, что может быть страшнее для отладки? Не! Любим мы php совсем не за сокеты |
| Автор: Farmazon 13.5.2013, 17:39 |
| php: родился чтобы умереть... не надо заставлять скрипты на php жить в рантайме долго, не для того... |
| Автор: iivanovi 13.5.2013, 18:56 | ||||
А я не спрашиваю где деньги растут. Исходя из той статьи надо учить Ruby и Perl чтобы получать больше денег. Тем не менее на этом форуме есть сторонники PHP. Приведите аргументы в пользу своего любимого языка. |
| Автор: Arantir 13.5.2013, 19:19 | ||
Да потому что пиар, понты, мейнстрим, тенденции... А вы знаете, что Ruby и PHP практически ровесники? А Python им в старшие братья годится. Но Ruby был удобен для веба так же, как для веба годен C++, пока не придумали сделать Ruby on Rails, на котором, соответственно названию, все и понеслось. Да и не всегда эти языки были такими, как сейчас. У них было куча версий, годы постоянной разработки и совершенствования. Они не сразу стали мейнстримом веб-разработки. Невозможно исключить вариант, что PHP 6.0 положит начало новой волне, и все скажут, что остальные языки — полный отстой. То, как все сейчас обстоит с языками в вебе, отлично отвечает на вопрос этой темы. И ответ: тот язык, на котором вы умеете всё. Не было Ruby в вебе — не беда, зафигачили фреймворк... И на Python... И под .NET заточили ASP... Да если какой-то умелец захочет, он и C++ в веб двинет. Всегда можно доверится сухой статистике, тенденциям и перспективам. Это Ваше право. Выбирать более выгодный вариант — логичный поступок. Никто не поспорит, что в среднем ЗП на PHP на некоторую величину ниже ЗП на Ruby и т.п. Только где будет выбранный вами язык, пока Вы доберетесь до тех зарплат, что платят сейчас? А достигните ли Вы вообще такого проф. уровня, если Вам не понравится выбранный язык (в т.ч. использовать сопутствующие ему технологии)? Они не "сторонники", они просто делают то, что умеют сейчас лучше всего, на том, что им удобно, с помощью того, что они знают, делают то, что они любят. Если есть работа, руки в деле, то как-то все бросать и переучиваться никому не хочется. С старшего PHP в старшие Ruby разрабы не один прыжок. Чтобы получать те же 60000 на PHP, на нем надо писать лет 5 минимум, и успеть за эти 5 лет быть и младшим, и тимлидом, и т.д., и т.п., иначе просто никто Вам такой ЗП не даст. Проходить весь этот путь заново на другом языке не у всех есть желание, время и возможность. Это, к слову, о текущем разнообразии языков. Еще не определившиеся студенты/новички вполне могут попробовать себя во всём и выбрать какой-то основной путь для карьерного роста, который считают перспективным или просто какой больше понравился. |
| Автор: Farmazon 13.5.2013, 20:40 |
| работай и учись всё время... Секрет успеха, лол. Со временем освоение языка или фреймворка будет занимать пару недель, и зряплата будет соответствующая... Php, Python, Java, Ruby... все императивные, переход происходит быстро, если опыта достаточно. Это мой подход, как инженера. =))) На чём надо, на том и буду писать. |
| Автор: krundetz 14.5.2013, 11:41 | ||
Надо быть профессионалом и все, не важно в каком языке. Хоть в PHP, хоть в Perl, хоть в Ruby, хоть в каком то другом языке. |
| Автор: k0rvin 14.5.2013, 15:13 |
http://cppcms.com/wikipp/en/page/main |
| Автор: bilbobagginz 15.5.2013, 03:07 |
| судя по бьярну страуструпу: человек не знающий как минимум 5 языков программирования (специальный список есть, который включает в себя не только императивные языки немного философии: определяя в какую технологию вкладывать время (твоей короткой жизни), если единственный стимул в работе по разработке ПО для тебя - з/п, подход слишком угловатый. ты так долго не протянешь в сфере, тебя должна работа радовать, технология интриговать. иначе ты просто сотрешься в порошок и придется тебе долго восстанавливаться. Работать на нелюбимой креативной работе - дело очень тяжелое психологически, грубо говоря очень трудно писАть стихи о любви под прицелом. насчет зарплат: как тут и указывают: из людей, которых я знаю, которые имеют самые увесистые з/п на технических ролях имеют люди либо с очень углубленными знаниями в какой-то специфической сфере (т.н. "консультанты"), которым приходится работать на большом количестве 1/4 ставок, или по подряду, что не всегда гладко и приятно, либо люди с гибким умом, способные выбрать подходящую технологию для специфической задачи, изучить и применить ее в короткий срок (обычно с долгим опытом в разных сферах + с хорошим образованием, но иногда и самоцветы). |
| Автор: Arantir 15.5.2013, 05:58 | ||||||||
Ну и тем более... А ТС в соседней теме еще спрашивает, придется ли отказаться от PHP, если у него СУБД не MySQL...
Чувак, если ты думаешь стать веб-разрабом, чтобы просто срубить на этом бабла, то ничего не выйдет. Чтобы получать те зарплаты, о которых ты мечтаешь в каждой второй теме, надо пройти такой сложный, долгий, трудный, гористый путь, что его возможно пройти только если программирование — это для тебя самая важная вещь на свете, дай бог, после семьи, если уж не важнее всего и вся. С таким отношением тот проф. уровень, на который хватит сил и желания, максимум позволит зарабатывать на проживание. Нужно или менять мировоззрение или сразу выбирать род занятий, который позволит тебе в нем достичь больших высот чисто психологически (род занятий, который тебе по душе, которым готов заниматься постоянно, который не надоедает). |
| Автор: krundetz 15.5.2013, 09:10 | ||||
ТС вы знаете слова Гугл и Яндекс? А может вы просто троль?
ну рано или поздно такой список наберется у каждого, для веба стандарт как минимум 4 языка(XML, PHP, JavaScript, SQL), хотя бы в минимальном объеме, а если ты не погулять вышел то ещё как минимум Python, Ruby, Erlang добавишь, а если ещё и университет за плечами то ещё от 2 до 5 наберется, включая собственный игрушечный. Но по моим субъективным впечатлениям, в корпоративном секторе стараются минимизировать их число, у тех же noSQLDB оттуда ноги растут, хотя я не совсем прав смысл не в минимализации, а в сокращение затрат, поэтому уже в разработку интерфейсов добавили слой XML |
| Автор: iivanovi 15.5.2013, 12:08 | ||
Чтобы сделать 1 сложный сайт, то надо знать и PHP и Python и Ruby и Erlang, или достаточно только одного из них? Вот этот форум например написан на скольких языках? Кстати, а HTML уже не надо знать? |
| Автор: bilbobagginz 15.5.2013, 13:04 |
| чтобы сделать "сложный сайт" языка не хватит. кроме того, что нужно разработать серверную и клиентскую часть (обычно посредством javascript), создать дизайн, но еще и понимать в архитектуре всей системы, которая включает в себя ОС, на которой сервер будет бежать, и все сподручные сервисы, потому что на каждом из них у тебя родится какое-то там узкое место, и это узкое место надо как-то решать. сегодня довольно стандартный набор средств:
|
| Автор: Farmazon 15.5.2013, 13:05 |
| они язык разметки гипертекста за язык не считают) Надо конечно, как и CSS... В качестве стартовых - php+html+css - вполне достаточно... Правда без использования фреймворков, где есть стандартные решения для многих задач, и знания вагона основных подходов и паттернов, код скорее всего превратится в трудноуправляемую кучу... ну так учиться надо и опыт набирать... Кстати, чаще всего за эти неуправляемые кучи часто и не любят PHP... Порог вхождения довольно низок, потому дисциплины никакой... Но бывают проекты на PHP которые можно нормально поддерживать, больше от программиста зависит, чем от языка... На Java тоже можно вебприложения в виде макарон писать... |
| Автор: Farmazon 15.5.2013, 13:28 |
| Кстати, что есть сложный сайт?... Загнул мне тоже) Для начала юзать 1 сервер и для статики и динамики можно. Система индексации не факт что нужна, может небольшой SEO оптимизации будет хватать... Механизм кеширования тоже не всегда нужен... Механизмы очередей опять же разные бывают (некоторым и почты хватает, да-да SMTP/POP3, а можно и RDBMS вываливать), и опять же не всегда надо... И операционной системой, к слову, на готовом хостинге уже всё за вас настроят в какой-то мере и на первых порах оно не сильно и надо будет... |
| Автор: krundetz 15.5.2013, 16:00 |
да, когда будете изучать обратите внимание чьим подмножеством он является, ну и читайте не между строк как то что вам отвечают. |
| Автор: LSD 15.5.2013, 17:34 | ||
Ты там между строк SGML что ли учить предлагаешь? |
| Автор: krundetz 16.5.2013, 10:14 |
нет предлогаю воспринимать слова отвечающих буквально, а не выискивать скрытый смысл между строк. |