Языки - они как хорошая одежда. Уверенный в себе человек чувствует себя хорошо в любой одежде. Но если у него есть хотя бы капля здравомыслия, он не пойдет на встречу с президентом в одних семейниках, а в бассейн прыгать с вышки в смокинге.
Да проще простого, на самом деле. Роль сишной проги можно свести к минимуму - что-то навроде контроллера в популярной нынче MVC-парадигме. Достать данные из БД, преобразовать их в XML, отдать XSLT-трансформатору. И всё. Разница - в ресурсах и скорости.
Т.е., условно говоря, пока человек думает над тем, как стратегически прикрепить декоративный итератор к очередному прокси-фасаду мементо с четырьмя синглтонами, у тебя уже всё давно шуршит и хлеба не просит.
На самом деле израсходовано гораздо больше. Вы не учитываете налоги, себестоимость аренды рабочего места, расходы на бухгалтерию и прочие скрепки, кофе и корпоративы :). Так что озвученную Вами сумму можете смело умножить на 2.
А вообще г-н Чичваркин (один из владельцев "Евросети") сказал примерно так: "Пусть лучше мне будет стыдно за то, что я сделал, чем за то, что я не сделал" :). Так что если "СУП" где-то потратил лишнего, так ведь это не по злобе душевной, а так - в рабочем порядке.
Я вот не понял. Как С++ программисты умудрились все испортить? Они саботировали работу perl программистам (perl им патчили, что бы он падал? :) Или все же perl программисты провалили задание, не успели фотохостинг к сроку сдать и потому их решили уволить?
ЗЫ. Не верю что такие проекты проще на С++ писать. Да и тот же perl хорошо с C++ интегрируется - если не хватает скоростей, можно некоторые функции на сях переписать...
Дополнительные накладные расходы могут вноситься виртуальными вызовами и использованием RTTI. Если от них отказаться, производительность не пострадает. То есть использование механизмов наследования и шаблонов никак не повлияет на производительность кода. Есть еще древний холивар по поводу исключений — тут вопрос неоднозначный, но большинство сходится во мнении, что при разумном их использовании (когда исключения используются в исключительных ситуациях, а не для определения порядка выполнения программы в стандартных use-caseах) производительность также не страдает.
Если бы не видел написанные на c++ проекты то молчал бы... а так и сам немного писал.. правда давно это было когда php только начинал карьеру а правили миром perl...
и скажу так - однозначно легче писать, легче дебагить, короче программировать на порядок легче...
И я так подозреваю быстрее...
С++ не подходит только тем у кого шаровый сервак...(аналог с++ - "процессор" :) PHP, тот же с++ (синематика) токо в профиль), у кого свой сервак - С++ рулит однозначно.
А вам не кажется тогда странным, что все резко начали писать сайты именно на perl, хотя в те времена многие прекрасно владели C++, и "однозначно легче писать, легче дебагить, короче программировать на порядок легче..."? Т.е. получается, что многие програмисты, решили что им не нужно легких путей, им не нужен хорошо известный и провереный годами C++ и решили заняться изучением какого-то там perl? :)
С++ плохо подходит для Web разработок. Хотя конечно его для этого тоже использует, в каких-то узких задачах, где требуется высокая производительность. Чаще всего на нем пишут высокоскоростные библиотеки которые подключаются к языкам более высокого уровня.
Я ж написал C++ привязан к СВОЕМУ серверу... perl, php "кросссерверные", поэтому распространие больше и получили php и perl , c++ erprj специализированый, так же как и java... А вообще по большому счету... кто как хочет так и .... работает ... мне больше нравится php, n к задачи которые я пишу для юзерах на разных системах... я не говорю что другое хуже... просто супу нужна была другая специалшизация...
Если честно тупой спор... это флуд на тему AMD vs Intel... закончится тем что все передерутся... :)
Что бы запустить код на C++ нужно его скомпилировать и он будет работать. Что бы запустить perl/php - нужно скомпилировать интерпретатор и он тоже будет работать.
В любом случае, моя мысль сводится к тому, что их "кроссерверность" - является далеко не главной причиной их популярности.
Давайте рассуждать о вкусе устриц, предварительно их попробовав. Вот Вы лично разработали хоть один вебпроект на С++? Если да, то какими технологиями пользовались? Если нет, на основании чего Вы допускаете столь смелое утверждение?
C++ (как и вообще любой язык) очень плохо подходит для разработки чего-либо вообще.
Для разработки всегда используется тот или иной фреймворк. Это могут быть модули PERL, PHP-extensions + PEAR или что-либо другое.
Очевидно ведь, что та же Java, не будь для нее разработаны сервера приложений, очень плохо подходила бы для Web-разработок.
Поэтому весь вопрос, собственно, в том, есть ли подходящие фреймворки для того или иного языка. Для С++ они есть.
В сущности, интерпретируемые языки - не что иное как прослойка между вебсервером и низкоуровневыми библиотеками, тот же "P" в LAMP - не более чем описатель логики взаимодействия "A" с "M" на платформе "L". Примеров описателей бизнес-логики очень много: Java, Python, PHP, PERL, TCL, CL, С++ и т.д. Критерий интерпретации, как видим, здесь не главный.
Касаемо разработки больших проектов, то вообще сам вопрос о компиляции/интерпретации не принципиален - ведь все равно никто на рабочих серверах правки кода в консоле не делает. Есть определенный порядок выкатки кода, тестирования и сдачи проекта в эксплуатацию. И процесс непосредственно разработки занимает не самый большой процент времени.
Гораздо важнее - соответствие выдвигаемым бизнес-требованиям. Если проект им соответствует, совершенно не важно, на чем он написан.
Давайте рассуждать о вкусе устриц, предварительно их попробовав.
Да, я попробовал еще давно, без фреймворков. То что на С++ можно делать все что угодно - я согласен. Но ведь согласитесь же и вы, что в среднем своем (не берусь сразу же вам определить этот термин) С++ менее подходит, чем тот же PHP/Perl? И те же устрицы ведь не является повседневной едой, значит это не мэинстрим, а исключение.
Ю. Н. Тюрин, читающий курс матстата в Московском университете любит шутить, что только мол наши люди на вопрос "как дела?" могут отвечать "нормально"
Зачем говорить о среднем? качество "среднего" пхпшного кода таково, что надо заливать напалмом. И при этот это "среднее" вряд-ли может являться эффективной несмещенной оценкой для чего-либо
Вы "приятно" удивитесь, когда увидите качество среднего C/C++ кода (возьмите случайно любой проект на sourceforge), а не любимых всеми linux-kernel/apache/squid/kde/etc. Я боюсь себе даже представить, что станет с этим качеством, если бы все веб-разработки велись бы только на C/C++ ...
А. Н. Подкорытов, читающий курс мат-анализа в Санкт-Петербургском университете любил говорить так - "Как ни расскажи, всё равно найдётся, где споткнуться."
если исходный код проекта будет и далее открыт, я всеми руками за с++-основу. Поскольку веб-решений на с++ очень мало, а хотелось бы некоторые примеры видеть
Месье знает толк в извращениях ) С веб-проектами на С++ лучше как с ядерным оружием - не делать, не хранить, не распространять. Тем более жалко ЖЖ, хороший все-таки ресурс )
Google, Yandex - вот типичные проекты на C++ (хотя думаю в обоих случаях там есть не только C++). Когда обработки данных много, а выдачи результатов мало C++ - то, что надо. Но переписывать на C++ LiveJournal ? Зачем ?
На С++ из Веб-приложений в Google написан только лишь морда поисковика.
я отдаю отчет в последствиях для своей кармы, но не могу не спросить.
Вы, случайно, не наркоман?
это сложный вопрос для меня
но я думаю, что люди, контролирующие свою связь с реальностью задумываются, что в "поисковике" есть что-то кроме морды, даже если не задумываться над вопросом, что эта морда из себя представляет (см. "морда google.com написана на html")
Милейший, рекомендую перечитать ветвь дискуссии. В ней разговор идет про С++ фреймворки для написания веб-приложений. До уважаемой публики я и пытался донести что большинсво веб-приложение написано на Java (мы не говорим про бекенд)
Я со всей серьезностью ценю и уважаю Ваше упорство, хотя и считаю, что лучше бы Вы были наркоманом.
В целях позитивизации моего комментария, сделаю три уточнения:
* Слово "фрейморки", разумеется, необходимое и достаточное
* Поскольку предшествуещее утверждение может оказаться непростым для понимания, предлагаю также сконцентрироваться на слове "большинство". См. : "большинство веб-приложений вообще написано на пхп","большинство веб-запросов в природе обслуживается мордой гугла (ни и майспейсом)". Ну и, разумеется, "морда гугла написана на html"
* лостбатнотлист, прежде, чем давать ссылку на википеию стоило бы подумать, почему "морда гугла" написана на богом проклятых плюсах, а не на RoR, например. Сразу предупреждаю, что в википедии ответа на этот вопрос нет.
Google maps? Вы ш ума шошли? Под картами лежат совершенно дикие алгоритмы (поверьте, я точно знаю о чем говорю) c совершенно зубодробильной математикой, и на Java это будет писать только совсем ненормальный человек.
При всем при этом я допускаю, что самый верхний слой - отображение, может быть написан на чем угодно, хоть на ТурбоПаскале, но вот алгоритмы geolocation пишутся все-таки на Си/С++.
немного подробнее. допустим, вы ищете... ну, скажем, San Diego. Ну можно подумать, то что скорее всего имеется в виду Сан-Диего в Калифорнии. Однако ж в мире таких еще около 20 штук только городов, две части города, одна провинция и один остров. Поэтому исходя из того, где вы находитесь, у вас могут быть разные результаты. С другой стороны, если вы уточните, что ищете San Diego, Mexico это сильно сужает круг поиска.
Это часть задачи. Другая, еще более интересная часть - "вытаскивание" так называемых неформальных определений. К примеру, в Самаре есть памятник - такая высокая дура с человеком с крыльями... никто не помнит как он называется, но все называют его Паниковским, уточняя что он с гусем. В Самаре определение "у Паниковского" очень точно определяет место. Сложнее индексируя различные онлайн материалы найти это определение, и установить, что на самом-то деле это Площадь Славы, Ленинский Район, Самара, Самарская Область, Россия.
Ну и тому подобные вещи. Интересно - могу потом написать.
вы конечно простите, но никаких зубодробильных математических вычислений для решения этих задачек не требуется. они могут подребоваться для решения этих задачек ОЧЕНЬ быстро, как и все популярные сервисы гугла.
впрочем это актуально только для гигантов типа гугла, где стоимость разработки действительно значительно ниже стоимости железа и контента (в случае с картами). для большинства же веб-проектов (включая и всякие жежешечки) ЗНАЧИТЕЛЬНО дешевле прикупить пару десятков новых серваков. главное нужен софт (и в определенной степени аппаратная составляющая, но она опять же снижается) способный к эффективным распределенным обработкам запросов. в этом направлении все сейчас и двигается. выше представленны примерные цифры потерь супа от такого перехода. три миллиона. УЖЕ. а еще нужно написать код и отладидить его на плюсах. для этого надо найти высококлассных программеров на плюсах под веб. смею предположить, что таких не много, а значит стоят они кучу денег. вот и посчитайте сколько серваков мог купить суп за эти бабки. а ведь цель одна – выдерживать нагрузки.
А никто и не говорит что на плюсах надо писать все... на плюсах пишется код, который требует повышенной производительности, оперирует с очень большими объемами данных и т.д. Для жежешечки тоже думаю С++ не очень нужен - это ж один гуй, а на С++ как правило пишется core, которое потом обвешивается всякими джавами и PHP-ми.
ну на самом-то деле карты без соответствующего поиска штука довольно бесполезная (а поиск тут скорее специфический, и с поиском как таковым связан лишь постольку поскольку).
Лично меня "плюсы" и "минусы" не волнуют совершенно. Словесным недержанием в блогах я не страдаю и от факта забанивания или падения рейтинга меня не коробит ничуть.
Могу лишь добавить, что слив любой информации (а тем более - откровенного вранья (см. ответ http://habrahabr.ru/blog/rumor_has_it/35440.html#comment645628 ) является показателем отношения к коллективу и работодателю.
Как следствие, даже если бы мне был *очень* нужен программист PERL, кандидатура устроившего слив perl-разработчика из СУПа, "крутого и высокооплачиваемого" не рассматривалась бы вовсе, ибо он - мудак.
>Больше не всегда эффективнее
Конечно. Но если Perl-программистов, скажем, тысячей не приманить, а на 2500 идут, значит, они и стоят 2500, а не тысячу. А что эффективнее, решать в конечном счете работодателю.
Когда-то давно Livejournal работал безумно быстро и был удобным. Потом пошло-поехало, HTML код безобразно разросся в размерах, совершенно не добавляя полезную функциональность, с тех пор он мне как-то разонравился.
Напомните, пожалуйста, когда это было.
Вот у меня написано: Date created: 2001-07-18 06:00:49 и я помню что оно всегда тормозило, пять лет назад больше, пару лет поменьше.
Хотелось бы знать, что и когда я пропустил.
Это было в середине 2003 года, тогда у меня был GPRS-интернет и страницы на Livejournal у меня грузились быстро, примерно как Google. Сейчас пользоваться Livejournal через GPRS невозможно.
Бред. Оптимизация быстродействия отдельных блоков на С++ не означает переписывание всего ЖЖ.
Печально, что автор этого поста, пользуясь недостоверной информацией, строит домыслы как о количестве перл-программистов в СУПе, так и их дальнейшей судьбе.
Слух из области "В одном конце деревни пукнули, в другом сказали что война началась". Не оперируя никакими фактами, мысля только логически - скажу что это бред полнейший.
После прочтения поста представил картину:
С++ рейдеры успешно атакуют СУП, затем быстро всё переписывают под себя, чтобы perl разработчики подумали о смене работы:)))
Не, перфокарты в Яндекс везли - они МойКруг срочно переписывают, пытаются ВКонтакте догнать. Вчера как раз питерская команда реализацию AJAX двумя фурами отправила
Так у МоегоКруга и ВКонтакта, если не ошибаюсь, цели совершенно разные. Хотя, после недавнего нововведения Павла Дурова, я думаю Вы несколько правы, только ВКонтакт теперь начал догонять МойКруг ;)
МойКруг — Поиск коллег, работы и сотрудников.
ВКонтакте (от 16 января 2008) — ...С этого года в рамках ВКонтакте расширяет круг своей деятельности подразделение Профессиональные контакты - инновационная служба, которая позволяет специалистам находить высокоплачиваемую работу, а компаниям - находить именно тех сотрудников, которые им нужны.
livejournal - социальный, навороченный (rss синдикация, сложная система стилей, jabber, etc.), open source (perl)
blogspot(blogger) - stand alone, для домохозяек (в хорошем смысле слова: интеграция фотохостинга, всё за малое количество кликов), closed souce
wordpress - stand alone, в меру навороченный, но дополняемый плагинами на любой вкус, open source (php), но (а сейчас меня будут бить) с ужасным качеством кода (смесь кода, sql запросов и html вставок)
Называется — «не было печали» :( Перепишут всё на сях, и будет оно от кривизны падать поначалу, а они будут править, а сервис будет от этого лежать и глючить :(
То, что может показаться выброшенным в трубу сегодня, завтра может отправить в трубу конкурентов. Рынок, как правило, наиболее эффективное средство расставлять всё по своим трубам.
не важно, какие данные
этот тред приносит нам знание об уровне российского веб-программирования
оно, конечно, пугает, но это наша рельность других писателей у нас нет
Удивляет, что отметившегося здесь плюсового лидера СУПа заминусовали. Ребята, вы бы лучше задали вопросы почему крупная компания Сиксапарт доверило переписывание этой команде. Наверняка они руководствовались какими-то соображениями. И наверняка текущий движок не устраивал. Может быть потому что ребята хорошо знают своё дело?
Ну а что часть исходников уже сто лет как открыта и использовалась в других проектах до Супа, так про это я уже молчу. Умные люди не минусуют хороших аффтаров, а используют их наработки.
Perl хороший язык - вот только разработчики собрались криворукие.
Нужно ли было менять разработчиков а не язык реализации.
Тут как говорится - хозяину виднее.
с разработчиками все в порядке. и ресурс нормальный. проблема с sup'ом, который принимает неадекватные решения и до сих пор не в состоянии переделать ресурс в соответствие современным требованиям. С++ для рефакторинга Perl-приложения это нефиговый даунгрейд.
Livejournal.com перепишут на C++