Donz wrote:
> M>Абсолютно без разницы. Википедия и facebook сделаны на РНР. > То есть ты, если бы знал PHP, начал лабать высоконагруженный проект на нем?
Вас что-то смущает в PHP или вы подозреваете, что эта платформа
недостойна быть примененной в "высоконагруженных" проектах (кстати, что
это)?
Я как бы еще и немножечко вышива.. играю на гитарке знаете ли в
перекурах между долблением по кнопкам — топик до боли напоминает
многочисленные споры о том какая гитарка или педалька лучше и
насколько... а весь секрет в пальцах знаете ли...
У всех платформ есть куча недостатков — вот что очень печально-то на
самом деле, и эти недостатки удерживают широкие массы трудящих.. то есть
программистов от ежегодного метания от одной платформы к другой.
Впрочем опыт, собственные наработки и практика каким-то образом эти
самые недостатки нивелируют — и пресловутый ассемблер для написания
сайтов может быть и не так страшен в умелых руках. (На самом деле когда
я занимался последний раз ассемблером лет так 12 назад — там было все
достаточно хорошо, по крайней мере в Intel Assembler).
Опять же как говорят лабухи:
— У кого и х.. в руках — балалайка
— Не имей Амати, а умей лабати!
Кроме того, есть целый пласт знаний: ООП, паттерны, архитектурные
приемы, принципы проектирования, общий кругозор в области ИТ — который
ну никак от платформы не зависит, а определяет и сроки, и качество, и
стоимость разработки в очень большой степени.
Кроме того, не забывайте про то, что есть проблемы чисто
организационного плана — например, где и как набрать N инженеров на
новый проект — поэтому и соображения насчет платформы могут
корректироваться в соответствующую сторону.
D>Ну так назови хотя бы те параметры, что важны тебе. D>ИМХО, основные и общепринятые: стоимость разработки, скорость разработки, простота поддержки, масштабируемость (нужно далеко не для всех проектов). Из простоты поддержки следует простота модификации и гибкость языка/платформы.
Перечисленные параметры не атомарны — тут опять может быть великое множество мнений.
А что касается меня — я сразу написал: нужна веская причина, чтобы что-то вообще писать с нуля. Есть огромное множество как простых CMS, так и реально сложных систем — в 90% хватит какого-нибудь Drupal'а.
Здравствуйте, dmz, Вы писали:
dmz>Здравствуйте, Mr.Cat, Вы писали:
MC>>Я вот по мелочи сабжевые языки юзал — вполне сносно.
dmz>vs Haskell ( см. happstack )
Здравствуйте, Donz, Вы писали:
D>>>То есть, все-таки нужно сделать лишнее телодвижение для того, чтобы получить фичу, уже сразу присутствующих в некоторых других языках/платформах? A>>Какую, например, фичу? D>Я так понимаю, Moose библиотеку надо прикручивать для нормальной работы с объектами? Если так, то фичу под названием "нормальный ООП".
Я не знаю что такое «нормальный ООП». Давай начнём с определения.
Здравствуйте, Donz, Вы писали:
D> M>ASP.NET — это не язык, а технология.
D> Да, речь идет о технологиях, который обычно завязаны на конкретный язык.
D> M>Абсолютно без разницы. Википедия и facebook сделаны на РНР. Youtube — на питоне. Microsoft+MSDN вроде уже переведены на ASP.NET. Куски сайта Adobe/Macromedia написаны на Coldfusion. eBay — это в основном Java (если верить). D> M>Брать надо тот иснтрумен, который лучше всего знаешь. Тольо изредка какой-нибудь язык может дать тебе толчок в производительности тебя, как программиста, и совсем уж редко — в производительности собственно сайта.
D> То есть, создатели Ruby, Python и прочая просто изобретают нафиг никому ненужные велосипеды?
В смысле? Созание новых языков программирования никак не влияет на выбор или не выбор этих языков, скажем, для веб-разработки.
D> Что-то сомневаюсь. Тот же Микрософт переписывает на ASP.NET. Просто для пиара, мол у нас все на самой лучше технологии?
Что значит переписывает? Что значит для пиара?
D> Как минимум тот или иной язык подталкивает к типовому его использованию. На одном написать спагетти-код, в котором никому не разобраться, сложнее, на другом проще. Один уже предоставляет удобные инструменты для X, другой для Y, а третий очень прост для программирования.
Это все очень субъективные критерии.
D> Грамотно можно писать и на ассемблере, но ни один вменяемый разработчик не станет созавать на нем веб-портал.
Аналогия абсолютно некорректна, потому что ассемблер — это язык очень низкого уровня. Мы же сравниваем «птиц одного полета» — языки высокого и очень высокого уровня.
Здравствуйте, Donz, Вы писали:
D> M>Абсолютно без разницы. Википедия и facebook сделаны на РНР.
D> То есть ты, если бы знал PHP, начал лабать высоконагруженный проект на нем?
Естественно. Потому что ключевой момент — я знаю РНР. То есть я знаю, что делать, чтобы он хорошо работать под нагрузкой, или знаю, где искать решения для РНР.
Если я, например, вообще ни ухом ни рылом в C#, Ruby или там Питоне, то я тааакого понапишу, что и сотни серверов не хватит (это я утрирую, конечно )
Здравствуйте, Donz, Вы писали:
D>Perl. Один из проектов на Perl переводим на Java. То, что я вижу — это полный п. Хотя в этом языке разобраться проще, равно как и найти концы переменной, метода и т.д. Даже сам немного стал писать, если приходится что-то патчить. Но отсутствие отделения бизнес-логики от представления (проще говоря, отсутствие MVC) просто убивает (хотя думается, что это скорее косяк разработчиков проекта, в котором приходится копаться).
Если бы там все было хорошо, вам не отдали бы его на перевод. Так что тут скорее квалификация исполнителей.
Здравствуйте, Mamut, Вы писали:
D>> M>Абсолютно без разницы. Википедия и facebook сделаны на РНР. Youtube — на питоне. Microsoft+MSDN вроде уже переведены на ASP.NET. Куски сайта Adobe/Macromedia написаны на Coldfusion. eBay — это в основном Java (если верить). D>> То есть, создатели Ruby, Python и прочая просто изобретают нафиг никому ненужные велосипеды?
M>В смысле? Созание новых языков программирования никак не влияет на выбор или не выбор этих языков, скажем, для веб-разработки.
Ты написал, что абсолютно без разницы, какой язык/платформу выбрать. Значит, ни у одного языка нет явных преимуществ/недостатков. Раз так, зачем люди маются с изобретением велосипедов, раз можно взять тот же PHP. Без разницы же.
D>> Что-то сомневаюсь. Тот же Микрософт переписывает на ASP.NET. Просто для пиара, мол у нас все на самой лучше технологии? M>Что значит переписывает? Что значит для пиара?
Ты сам написал "переведены". Видимо, это перевод веб-приложений с одной платформы на другую. Зачем Микрософт это делает, раз без разницы на чем писать?
M>Это все очень субъективные критерии. D>> Грамотно можно писать и на ассемблере, но ни один вменяемый разработчик не станет созавать на нем веб-портал. M>Аналогия абсолютно некорректна, потому что ассемблер — это язык очень низкого уровня. Мы же сравниваем «птиц одного полета» — языки высокого и очень высокого уровня.
То есть у тебя есть критерий как минимум по высокоуровневости языка?
Здравствуйте, Donz, Вы писали:
D> M>ASP.NET — это не язык, а технология.
D> Да, речь идет о технологиях, который обычно завязаны на конкретный язык.
D> M>Абсолютно без разницы. Википедия и facebook сделаны на РНР. Youtube — на питоне. Microsoft+MSDN вроде уже переведены на ASP.NET. Куски сайта Adobe/Macromedia написаны на Coldfusion. eBay — это в основном Java (если верить). D> M>Брать надо тот иснтрумен, который лучше всего знаешь. Тольо изредка какой-нибудь язык может дать тебе толчок в производительности тебя, как программиста, и совсем уж редко — в производительности собственно сайта.
D> То есть, создатели Ruby, Python и прочая просто изобретают нафиг никому ненужные велосипеды?
В смысле? Созание новых языков программирования никак не влияет на выбор или не выбор этих языков, скажем, для веб-разработки.
D> Что-то сомневаюсь. Тот же Микрософт переписывает на ASP.NET. Просто для пиара, мол у нас все на самой лучше технологии?
Что значит переписывает? Что значит для пиара?
D> Как минимум тот или иной язык подталкивает к типовому его использованию. На одном написать спагетти-код, в котором никому не разобраться, сложнее, на другом проще. Один уже предоставляет удобные инструменты для X, другой для Y, а третий очень прост для программирования.
Это все очень субъективные критерии.
D> Грамотно можно писать и на ассемблере, но ни один вменяемый разработчик не станет созавать на нем веб-портал.
Аналогия абсолютно некорректна, потому что ассемблер — это язык очень низкого уровня. Мы же сравниваем «птиц одного полета» — языки высокого и очень высокого уровня.
Здравствуйте, Donz, Вы писали:
D> M>Абсолютно без разницы. Википедия и facebook сделаны на РНР.
D> То есть ты, если бы знал PHP, начал лабать высоконагруженный проект на нем?
Естественно. Потому что ключевой момент — я знаю РНР. То есть я знаю, что делать, чтобы он хорошо работать под нагрузкой, или знаю, где искать решения для РНР.
Если я, например, вообще ни ухом ни рылом в C#, Ruby или там Питоне, то я тааакого понапишу, что и сотни серверов не хватит (это я утрирую, конечно )
Здравствуйте, mazurkin, Вы писали:
M>Вас что-то смущает в PHP или вы подозреваете, что эта платформа M>недостойна быть примененной в "высоконагруженных" проектах (кстати, что M>это)?
Судя по отзывам, на PHP очень легко допустить ошибку, приводящую к уязвимости проекта, например. Также невысокая скорость исполнения кода.
Высоконагруженный — можно привести веб-приложения Google как пример. Или портал с посещаемостью в сотни тысяч уникальных посетителей в день.
В общем, я так понимаю смысл опять сводится к "Без разницы на чем писать, главное, чтобы программист был хорошим специалистом"? Тогда повторяю свой вопрос, который уже задал Мамуту, для чего по твоему мнению разрабатывают новые технологии, языки?
Здравствуйте, anonymous, Вы писали:
A>Здравствуйте, Donz, Вы писали:
D>>>>То есть, все-таки нужно сделать лишнее телодвижение для того, чтобы получить фичу, уже сразу присутствующих в некоторых других языках/платформах? A>>>Какую, например, фичу? D>>Я так понимаю, Moose библиотеку надо прикручивать для нормальной работы с объектами? Если так, то фичу под названием "нормальный ООП".
A>Я не знаю что такое «нормальный ООП». Давай начнём с определения.
Понеслась... Вообще, это оффтоп в этой теме. Но для меня нормальный это как минимум невозможность писать не в стиле ООП. То есть, при желании, конечно, можно какашку сделать из чего угодно, но чтобы сам язык подталкивал к тому или иному подходу. В перле, если не ошибаюсь, для написания в ООП стиле нужна договоренность между разработчиками, чтобы никто не лабал код в стиле процедурного программирования
Здравствуйте, Donz, Вы писали:
D>Какую бы технологию выбрали вы, если бы прямо сейчас предложили создать легкий/средний/сложный проект?
Что-то реально сложное — Java. Все остальное — PHP.
D>Что больше подходит для высоконагруженных разработок, что для интернет-магазинов "Компьютеры У Васи"? D>На чем стоит делать форум, рассчитанный на 5000 участников? Начем портал, аналогичный rsdn.ru?
PHP три раза.
Здравствуйте, skeptik_, Вы писали:
D>>Какую бы технологию выбрали вы, если бы прямо сейчас предложили создать легкий/средний/сложный проект? _>Что-то реально сложное — Java. Все остальное — PHP.
D>>Что больше подходит для высоконагруженных разработок, что для интернет-магазинов "Компьютеры У Васи"? D>>На чем стоит делать форум, рассчитанный на 5000 участников? Начем портал, аналогичный rsdn.ru? _>PHP три раза.
О, первый ответ по теме!
Спасибо.
Если готов написать аргументы в пользу одного или другого языка, будет вообще отлично.
Здравствуйте, DOOM, Вы писали:
D>>Ну так назови хотя бы те параметры, что важны тебе. D>>ИМХО, основные и общепринятые: стоимость разработки, скорость разработки, простота поддержки, масштабируемость (нужно далеко не для всех проектов). Из простоты поддержки следует простота модификации и гибкость языка/платформы. DOO>Перечисленные параметры не атомарны — тут опять может быть великое множество мнений. DOO>А что касается меня — я сразу написал: нужна веская причина, чтобы что-то вообще писать с нуля. Есть огромное множество как простых CMS, так и реально сложных систем — в 90% хватит какого-нибудь Drupal'а.
Предложим, что веская причина имеется.
Можешь тогда атомизировать? Цена и скорость важны в любом коммерческом проекте. Другое дело, что соотношение их приоритетов может быть разным.
Можешь назвать, которые важны для тебя?
Здравствуйте, Donz, Вы писали:
D>>>Я так понимаю, Moose библиотеку надо прикручивать для нормальной работы с объектами? Если так, то фичу под названием "нормальный ООП". A>>Я не знаю что такое «нормальный ООП». Давай начнём с определения. D>Понеслась... Вообще, это оффтоп в этой теме. Но для меня нормальный это как минимум невозможность писать не в стиле ООП.
То есть в Си++, позволяющем не пользоваться классами, не «нормальный ООП»? Или в JavaScript, где нет классов? Эти все вопросы лишь призваны выяснить, чего же ты хочешь. Пока это не ясно.
D>То есть, при желании, конечно, можно какашку сделать из чего угодно, но чтобы сам язык подталкивал к тому или иному подходу. В перле, если не ошибаюсь, для написания в ООП стиле нужна договоренность между разработчиками, чтобы никто не лабал код в стиле процедурного программирования