АРМАДА
Выбираем язык программирования.
На страницу Пред.  1, 2, 3, 4, 5  След.
Новая тема Написать ответ
Ср Авг 20, 2008 6:28 am Start Post: Выбираем язык программирования. 

Cabal
Гуру
Зарегистрирован: 20.10.2007
Сообщений: 1360
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 8:15 pmОтветить с цитатой
Вацлав писал(а):
Cabal, гхм. Я себя часто на страницах форума называю старпером и ветераном Smile Но это не значит, что я себя дискредитирую Smile


Ой. А я пока ты отвечал пост дополнял... Короче там ещё буковки появились...

Вацлав
Сетевой Гугляка
Зарегистрирован: 21.02.2006
Сообщений: 4965
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 8:25 pmОтветить с цитатой
Cabal, когда пишешь сам и всерьез от публичных классов часто приходится отказываться, либо выдирать из них нужные фрагменты кода. Публичные классы хороши тем, что они "усредненные". А для хорошей производительности, гибкости и безопасности - ничего лучше чем 100% своего кода не придумать. Поэтому любя Ruby я недолюбливаю Ruby on Rails (Джангу для Питона, соответственно). Мне нравится изучать чужие классы и фреймворки и брать из них для себя отдельные приемы, чтобы они работали так, как нужно именно мне, а не "среднему сферическому пользователю".

"Знай свой код!" - отличный девиз программирования. За десяток лет я не раз спотыкался на том, что какой-нибудь умник дает какой-нибудь переменной в классе или в функции общеупотребимое название (например GetRSSFeed) и потом придется головой об стену биться, если у тебя есть такая же переменная, которая почему-то теряет свое значение.
Второе пришествие Вацлава. Камингсуново.

Cabal
Гуру
Зарегистрирован: 20.10.2007
Сообщений: 1360
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 8:33 pmОтветить с цитатой
Вацлав, пример не понял... А как же область видимости? В PHP5 он может их хоть как в примерах в официальном мануале обзывать чтоб уж точно похожие переменные в коде пользователя его класса найшлись, но толку не будет - их не видно вне функций и вне класса если не обозвать глобальными в функциях или правильно не обратиться к классу. В целом вопросы только по примеру, в остальном я тебя понял. Позиция безупречна. Даже завидую наверно чуть чуть. Но на данном этапе жизни мне главное быстрее чем качественнее Smile . Ну и вопрос а нужно ли это ООП тому кто пишет сам а не юзает чужое конечно не последний в списке...

Вацлав
Сетевой Гугляка
Зарегистрирован: 21.02.2006
Сообщений: 4965
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 8:40 pmОтветить с цитатой
Cabal, в этом и проблема, что некоторые "умники" не устанавливают областей видимости, а то и шпарят свои переменные как GLOBAL.

Ну вот и для "быстрее" чем качественнее я использую как раз Ruby Smile И уже после обточки самого алгоритма и его слабых звеньев переписываю (или заказываю) на более производительных языках.
Второе пришествие Вацлава. Камингсуново.

Cabal
Гуру
Зарегистрирован: 20.10.2007
Сообщений: 1360
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 8:47 pmОтветить с цитатой
Вацлав, ну вот я же и говорю какой PHP5 отличный язык программирования Smile. Там надо объявить переменную глобальной чтобы она стала а к переменным внутри классов своя процедура обращения. Короче там уже не накосячишь как раньше Smile .

GFox
Опытный
Зарегистрирован: 14.10.2007
Сообщений: 232
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 9:32 pmОтветить с цитатой
Cabal писал(а):
Ну и вопрос а нужно ли это ООП тому кто пишет сам

ООП нужно обязательно! Эта просто маст-кноу парадигма программирования , один раз написав грамотно класс , можешь всегда его везде юзать без проблем. Вообще я ультра-аццкий приверженец и фанат ООП , т.к считаю это самым гибким способом создания приложений. :thup: А язык программирования плохо поддерживающий ООП , для меня не серьёзная вещь. Smile

Cabal
Гуру
Зарегистрирован: 20.10.2007
Сообщений: 1360
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 9:58 pmОтветить с цитатой
GFox, ну это фанатизм. Одобряю, но ведь не все здесь - фаны ООП. А потом судя по подписи у тебя другие потребности нежели у меня. Я софт только для себя пишу и в общем то грамотности у меня нет достаточной чтобы коммерческие приложения разрабатывать. Но ведь и у большинства начинающих изучать программирование с нуля причём сразу именно в разрезе написания мини money-dowload-скриптов потребности близки к моим, а не к потребностям коммерческой разработки на продажу или под заказ. Главное быстро пока тема не ускользнула всё разрулить а какой там код - чистый-грязный, прямой-кривой, переносимый-не переносимый, стоит в конце списка.

GFox
Опытный
Зарегистрирован: 14.10.2007
Сообщений: 232
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 10:38 pmОтветить с цитатой
Ну ты прав в целом , я сам начинал кодить с PHP Cool Когда нужно быстро и для себя , о коде не заморачиваешся вообще Smile

grozny
Опытный
Зарегистрирован: 03.02.2006
Сообщений: 121
Обратиться по нику
# Добавлено:Чт Авг 28, 2008 11:16 pmОтветить с цитатой
Сам Руби хорош для маленьких скриптов за счет своего супер краткого синтаксиса.
Но почему забыли про ruby on rails?
Имхо вся сила руби именно в нем.
По моему опыту, этот фреймворк резко увеличивает производителньность труда програмера, я не побоюсь сказать раза в 3 по сравнению с пхп.
На пхп есть кастрированная версия рельсов - symfony, но она все равно не дотягивает немного.

Конечно когда нужны "системные" или консольные скрипты то Ror нафик нужен.
А вот для построения сайтов - это просто песня.
What to do, how to be...

Вацлав
Сетевой Гугляка
Зарегистрирован: 21.02.2006
Сообщений: 4965
Обратиться по нику
# Добавлено:Вс Сен 14, 2008 10:02 pmОтветить с цитатой
Возвращаясь к теме Ruby on Rails. Наткнулся тут у себя в букмарках на несколько боянистых, но забавных роликов:

RoR vs PHP

Ruby on Rails vs .NET

Ruby on Rails vs Java


Ruby on Rails VS Django
Второе пришествие Вацлава. Камингсуново.

nerezus
Свой
Зарегистрирован: 22.05.2009
Сообщений: 5
Обратиться по нику
# Добавлено:Пт Май 22, 2009 4:43 pmОтветить с цитатой
Цитата:
все остальные языки (за исключением Java) без «костылей» не умеют встраиваться в HTML. Это автоматически зачисляется им в минусы всем сразу же.

Отсутствие вредной неиспользуемой возможности - минус?
Читаем http://ru.wikipedia.org/wiki/MVC

Цитата:
PHP - относительно низкая производительность.

По сравнению с руби он держит гораздо большую нагрузку.

Цитата:
Python. Плюсы: хороший и крепкий середнячок. Достаточно быстрый, в меру удобный.
Минусы: все еще мало распространен.

Очень широко распространен, тот же tiobe рейтинг глянь. Тот же YouTube на питоне, к примеру, как и многие гугловые вещи.

Цитата:
Все разновидности языка (C, CPP, C#)

C# так же относится к C, как говно страуса к Юпитеру.
Это абсолютно разные языки с абсолютно разными технологиями и подходами.
C# можно назвать клоном джавы(ОЧЕНЬ похожи), но вот на C он нисколько не похож.

Цитата:
Минусы: крайне хреновая интеграция в WWW, сложность для освоения.

Фееричный бред, про ASP.NET слышали?

Цитата:
Самым узким местом в веб-программировании остаются http-запросы. Запрос-ожидание-ответ.

А мужики то и не знали, что это не СУБД.
А проблемы с http-нагрузкой легко решаются через проксирующие вебсервера для статики. И бэкенд уже за ними. И первым дохнет всегда бэкенд.

Цитата:
Если вкратце, то Java в 200 раз быстрее PHP.

Нет понятия "быстрее" в вебе. Есть "производительнее". И они не пересекаются, а быстрота никому не нужна.

DrKronos
SEO-доктор
Зарегистрирован: 11.03.2008
Сообщений: 13024
Moder (Сумма: 1)
Обратиться по нику
# Добавлено:Пт Май 22, 2009 5:17 pmОтветить с цитатой
Вы занимались HiLoad нагрузками? Не в теории, а на практике?

Цитата:
Отсутствие вредной неиспользуемой возможности - минус?
Читаем http://ru.wikipedia.org/wiki/MVC


Статья ориентирована на АВМ-ов, если о чём-то это вам говорит.
Попробуйте их быстро перевести с LAMP на Python/Nginx. Я пробовал. Сложно.

MVC? Для сферического проекта отлично. Как и Django или ROR. Но для HiLoad да ещё и в высокорисковых нишах - самоубийство. В лучшем случае - web.py или CherryPy.

Цитата:
По сравнению с руби он держит гораздо большую нагрузку.


Готовы поспорить на хорошую сумму денег?

Цитата:
Очень широко распространен, тот же tiobe рейтинг глянь. Тот же YouTube на питоне, к примеру, как и многие гугловые вещи.


Я ковыряю Google App Engine ещё с его закрытых тестов, так что прекрасно знаю о возможностях и распространённости Python.
Но аудитория статьи - АВМы. Которые слаще чем WP в своей жизни ничего не видели. И для них Python - это экзотика. Объясните-ка обычному вебмастеру (не кодеру), как развернуть что-то под Nginx. Как скомпилить ручками Nginx для поддержки WSGI, как развернуть хотя бы FastCGI через юникс-сокеты и демонизировать процесс Python веб-приложения.

Цитата:
C# так же относится к C, как говно страуса к Юпитеру.
Это абсолютно разные языки с абсолютно разными технологиями и подходами.
C# можно назвать клоном джавы(ОЧЕНЬ похожи), но вот на C он нисколько не похож.


Согласен, здесь накосячил и крепко.

Цитата:
Фееричный бред, про ASP.NET слышали?


Я даже про Mono слышал. ASP.NET - это унылое корпоративное говно, уж простите мой французский. Win-платформа для HiLoad хороша только при фееричном бюджете.

Цитата:
А мужики то и не знали, что это не СУБД.


Smile Наивная точка зрения. В вебмастерских проектах, СУБД можно вывести из игры достаточно просто. Перенеся всё в Memcached или на раздел tmpfs файловой системы линукс. Слышали про такое?
Цитата:
А проблемы с http-нагрузкой легко решаются через проксирующие вебсервера для статики. И бэкенд уже за ними. И первым дохнет всегда бэкенд.


И тем не менее, http - остаётся самым уязвимым и медленным звеном. Про ДДос тоже слышали наверное?

Цитата:
Нет понятия "быстрее" в вебе. Есть "производительнее". И они не пересекаются, а быстрота никому не нужна.


Что, серьёзно? Ну пускай так и думает большинство. А я точно знаю, что скорость ответа сервера и передача контента клиенту влияют непосредственно на мою прибыль. Скажем, процентов 20 прироста.
Oscar the grouch Здесь могла быть ваша реклама

nerezus
Свой
Зарегистрирован: 22.05.2009
Сообщений: 5
Обратиться по нику
# Добавлено:Пт Май 22, 2009 5:56 pmОтветить с цитатой
Цитата:
Вы занимались HiLoad нагрузками? Не в теории, а на практике?

Да, но лишь однажды, проект с бюджетом 5к для города. Школьная сеть для 164 школ города, 300к пользователей(школьники, родители, учителя).

Цитата:
Статья ориентирована на АВМ-ов, если о чём-то это вам говорит.

Проще нанять специалиста, это дешевле обойдется, если принять, что время=деньги.
А если человек хочет серьезно заниматься, то сразу стоит на качество упирать.

Цитата:
Наивная точка зрения. В вебмастерских проектах, СУБД можно вывести из игры достаточно просто. Перенеся всё в Memcached или на раздел tmpfs файловой системы линукс. Слышали про такое?


Для обльшого набора индексироанных данных это слабо поможет. Для таблиц на полгига это слишком жестоко.
Но с замечанием согласен, но подойдет это не везде, а только в случае частоиспользуемых небольших структур данных.
+ не стоит забывать и про кеширование самой СУБД.

Цитата:
Объясните-ка обычному вебмастеру (не кодеру), как развернуть что-то под Nginx.

У всех заказчиков были свои админы, которые все делали. Минимальный проект был за 500 баксов(tube). Я сомневаюсь, что это такое везение, что были админы. В крайнем случае сам настрою.

Цитата:
Наивная точка зрения. В вебмастерских проектах, СУБД можно вывести из игры достаточно просто. Перенеся всё в Memcached или на раздел tmpfs файловой системы линукс. Слышали про такое?

Сложновато.

Цитата:
Готовы поспорить на хорошую сумму денег?

RoR vs PHP? Какую сумму? Как будет проводиться тестирование? На какой задаче?

Цитата:
Win-платформа для HiLoad хороша только при фееричном бюджете.

Судя из опыта, гораздо проще докупить железок, чем выделить денег на програмимиста. Оптимизация выйдет дороже, т.к. время программиста дороже.

Цитата:
А я точно знаю, что скорость ответа сервера и передача контента клиенту влияют непосредственно на мою прибыль. Скажем, процентов 20 прироста.

На сколько процентов увеличит прибыль уменьшение времени генереции страницы с ~0.1с до 0.05с?) 50мс пользователь не заметит.

Цитата:
Про ДДос тоже слышали наверное?

Как правило первой не справляется база. Хотя если поток идет в 800мбит, то уже ничего не поможет.

P.S. вы в ПМ написали? не могу прочитать по кол-ву голосов.

Lab
Свой
Зарегистрирован: 20.07.2007
Сообщений: 60
Обратиться по нику
# Добавлено:Пт Май 22, 2009 6:32 pmОтветить с цитатой
nerezus писал(а):
Да, но лишь однажды, проект с бюджетом 5к для города. Школьная сеть для 164 школ города, 300к пользователей(школьники, родители, учителя).


Это даже близко не HiLoad. Это, пардон, детский сад. HiLoad - это 100К пользователей, смотрящих видео онлайн.

Цитата:
Проще нанять специалиста, это дешевле обойдется, если принять, что время=деньги. А если человек хочет серьезно заниматься, то сразу стоит на качество упирать.


Бывают проекты, в которые лишних людей нанимать вообще нельзя. Дабы пресечь утечки. И удачно выбранный язык программирования и платформа реализации обойдутся дешевле при масштабировании на 2-5-10 серверов.

Цитата:
Для обльшого набора индексироанных данных это слабо поможет. Для таблиц на полгига это слишком жестоко.
Но с замечанием согласен, но подойдет это не везде, а только в случае частоиспользуемых небольших структур данных.
+ не стоит забывать и про кеширование самой СУБД.


И зачем нам таблицы в полтера? Если в веб-проекте таблица в полтерабайта, это означает только одно - нужно уволить того, кто проектировал базу данных. А. Вы о 500Мб? Так это детский лепет на лужайке, а не таблица. Около 100000 записей. Проблема с задержками решается через кэширование в памяти или на диске наиболее востребованных веб-документов.
Цитата:
У всех заказчиков были свои админы, которые все делали. Минимальный проект был за 500 баксов(tube). Я сомневаюсь, что это такое везение, что были админы. В крайнем случае сам настрою.


Не у каждого вебмастера есть свои админы и уж тем более умения администрировать. Мы тут, в общем-то, в основном торгуем изображениями ебущихся людей

Цитата:
RoR vs PHP? Какую сумму? Как будет проводиться тестирование? На какой задаче?


$5K устроит? В качестве приза за движок, который лучше выдержит 20 тысяч ежедневных просмотров видео, общим объемом терабайт. Плюс комментарии, плюс чат, плюс система рейтингования и естественно защита. Нет, конкурс вообще глупый, ибо лучше с этой задачей справится Python или Java (С++ ещё лучше, но мы пока остановимся не на AOT-компилируемых языках)

Цитата:
Судя из опыта, гораздо проще докупить железок, чем выделить денег на програмимиста. Оптимизация выйдет дороже, т.к. время программиста дороже.


Время программиста = копейки по сравнению с ростом издержек при масштабировании Win-систем.

Цитата:
На сколько процентов увеличит прибыль уменьшение времени генереции страницы с ~0.1с до 0.05с?) 50мс пользователь не заметит.


В реальности, разрыв доходит с 2 с per request до 0.1 sec per request. Это означает, что один и тот же сервер выдержит в десяток раз большую нагрузку перед тем как рухнуть. А ещё, это означает, что пришедшие боты поисковиков не обрушат ваш сайт и успеют сожрать и проиндексировать больше страниц.

Цитата:
Как правило первой не справляется база. Хотя если поток идет в 800мбит, то уже ничего не поможет.


Базу, умный разработчик, уберёт на отдельный сервер и закэширует так, что она вообще не будет задействована в игре. А вот забить канал slow-connection-ами, существенно проще.

nerezus
Свой
Зарегистрирован: 22.05.2009
Сообщений: 5
Обратиться по нику
# Добавлено:Пт Май 22, 2009 11:27 pmОтветить с цитатой
Цитата:
Это даже близко не HiLoad. Это, пардон, детский сад. HiLoad - это 100К пользователей, смотрящих видео онлайн.

На тестах держало 20 запросов в секунду на динамику. Это примерно 1200k запросов или 120к уников, считая 10 запросов на уника.

Цитата:
А. Вы о 500Мб? Так это детский лепет на лужайке, а не таблица.

Только вот как ее эффективно кешировать? Я вижу эту задачу нетривиальной. Не каждый же раз полгига ворочать.

Цитата:
Не у каждого вебмастера есть свои админы и уж тем более умения администрировать.

Админ хостинга в конце концов. Если нет админа - могу сам базовую конфигурацию поставить и настроить.

Цитата:
$5K устроит? В качестве приза за движок, который лучше выдержит 20 тысяч ежедневных просмотров видео, общим объемом терабайт. Плюс комментарии, плюс чат, плюс система рейтингования и естественно защита. Нет, конкурс вообще глупый, ибо лучше с этой задачей справится Python или Java (С++ ещё лучше, но мы пока остановимся не на AOT-компилируемых языках)

facebook как пример не покатит? PHP.
Далее по производительности: как пункты кроме видео и чата влияют на производительность? Или они для суммы, типа чтобы мбыло много чего делать и я не спорил, т.к. на рор это ощутимо проще реализовать?

Цитата:
В реальности, разрыв доходит с 2 с per request до 0.1 sec per request. Это означает, что один и тот же сервер выдержит в десяток раз большую нагрузку перед тем как рухнуть. А ещё, это означает, что пришедшие боты поисковиков не обрушат ваш сайт и успеют сожрать и проиндексировать больше страниц.

Ну я же не битрикс юзаю, чтобы 2 секунды было Wink

Цитата:
А вот забить канал slow-connection-ами, существенно проще.

Согласен. Только это не канал забивается, а памяти не хватает, т.е. проблема из-за канала, но нагрузка на память.

P.S. Пудумал, что я неправ в:
Цитата:
Цитата:
А. Вы о 500Мб? Так это детский лепет на лужайке, а не таблица.

Только вот как ее эффективно кешировать? Я вижу эту задачу нетривиальной. Не каждый же раз полгига ворочать.


На том же питоне или джаве это вполне удобно, а вот в PHP нет многопоточного режима, а при работе со shmop придется каждый раз КОПИРОВАТЬ данные. Так что это существенный минус пхп, признаю.
Новая тема Написать ответ    ГЛАВНАЯ ~ ПОЛЕЗНЫЕ СТАТЬИ

Перейти:  





Генеральный спонсор



Партнеры