|
|
|
| Да.. это не php учить, он как-то проще был ) и синтаксис красивее.
[поправлено модератором: обсуждение выделено из темы Как определить место запуска скрипта? (конcольное приложение)] | |
|
|
|
|
|
|
|
для: Belkin
(27.11.2011 в 16:21)
| | PHP появился сильно позже и ресурсов жрет столько, что мама не горюй, плюс медленнее в 1000 раз (и не для красного словца, а действительно в 900 с чем-то раз). Понятно, что писать на PHP или каком-то другом интерпретаторе, даже не операционную систему или игру, а какое-то крупное приложение - это самоубийство и разбазаривание средств (когда у вас один сервер - PHP экономит средства, когда у вас их тысячи - он их жрет). Facebook был написан на PHP и что же? Им пришлось писать компилятор для PHP, который бы транслировал PHP-код в C-код для последующей компиляции. PHP - это когда вы не ограничены железом, ресурсами, но сильно ограничены временем. Один PHP-разработчик за 2 месяцев сделает примерно тоже самое, что 5 C++-разработчиков за пол года. При этом заработная плата PHP-разработчика меньше, чем одного хорошего C++-разработчика, а код будет содержать меньше ошибок (да будет медленее и требовать больше памяти). При этом подготовить PHP программиста из человек незнающего программирование не очень сложно, а вот подготовить C++ программиста даже из того, кто уже знает программирование - это сложная задача, ну или по крайней мере более длительная.
Вот поэтому в условиях бума, когда не было времени на длительную разработку и денег на персонал (много начинающих компаний), популярность PHP взлетела до небес, а теперь когда появились крупные игроки с десятками и сотнями серверов - медленно полезла вниз. Чистая экономика - иногда выгодны медленные прожорливые приложения, но быстро, а иногда можно потратить время на создание быстрых и экономных приложений. В ряде случаев, вообще нельзя использовать медленные прожорливые языки... например, в том же игростроении... да, конечно, можно использовать Python для игровой логики, но движок хоть тресни придется писать на С/С++.
PS Он красивый, просто, чтобы увидеть красоту C/C++, придется потратить довольно много времени. В PHP, конечно, все быстрее происходит - он специально для этого и проектировался. В PHP - сильная сторона скорость разработки, а в C/C++ - конечная скорость того, что вы разрабатываете. Плюс на C/C++ вы разработаете все что угодно, было бы время, про PHP такое сказать уже нельзя - сфера его применения ограничена. С/С++ создавали во времена, когда компьютерное время было дорого, PHP, когда понятие "стоимость компьютерного времени" вообще вышло из употребления. Разные языки, разные ниши, разные экономические модели, разный охват сфер применения. | |
|
|
|
|
|
|
|
для: cheops
(27.11.2011 в 17:21)
| | Вы раскрыли мне глаза + мотицацию наверное дали. Вижу, что вы не равнодушны к C/C++ :) | |
|
|
|
|
|
|
|
для: Belkin
(27.11.2011 в 20:17)
| | >Вижу, что вы не равнодушны к C/C++ :)
Ага, я вообще к языкам программирования не равнодушен, меня если вовремя не заткнуть :))), могу про них часами говорить, сравнивать, вспоминать интересные байки, факты... Причем не обязательно про C++, а скажем Prolog, Perl или Fortran. Однако, среди всех языков, C++ является ключевым, это как английский (сейчас) или латынь (в прошлом) - будете знать C++, все IT-двери перед вами откроются, вернее вы будете знать как их открывать и сколько это может занять у вас времени. | |
|
|
|
|
|
|
|
для: cheops
(27.11.2011 в 20:26)
| | А сколько вы знаете языков? (это так, на будущее мне)
и возможно изучать + будет ли от этого толк - веб и прикладноее программирование? | |
|
|
|
|
|
|
|
для: Belkin
(27.11.2011 в 20:39)
| | Давно уже не считаю, больше 10 знаю хорошо (хоть завтра пиши книгу), за все время работы приходилось иметь дело вероятно где-то с 20... тут понимаете в чем штука, если язык не использовать, он постепенно забывается, как бы долго и упорно вы на нём не программировали в прошлом. Мне на Fortran только сны не снились... но вот книгу по нему никуда не заглядывая, я наверное уже не напишу (особенно по новым стандартам 1990, 1995 года). Однако, если он вдруг мне потребуется, мне нужна будет максимум неделя, чтобы вспомнить что там и как, после этого я смогу подключиться к проекту любой степени сложности. И такая ситуация со многими языками - это инструменты, вы можете 20 лет виртуозно играть на гитаре или резать резцом по кости, а потом 10 лет заниматься чем-то другим. Сможете тут же без подготовки работать, играть? Вряд ли. А потренировавшись? Почему бы и нет... и если новичку потребуются годы, то вам - недели. Вот и тут точно также.
А еще есть технологии... которые просто так не освоить. Вот вы PHP знаете и работаете, как я понимаю, для Web, и знаете, что одного PHP для работы сайта не достаточно:
1. Нужен хорошо настроенный и защищенный сервер, пусть не вами настраиваемый, но вы должны быть по крайней мере знакомы с инфраструктурой хостингов и регистраторов доменных имен (это только когда все знаешь, кажется, что ерунда).
2. Нужно знать синтаксис и директивы Apache для .htaccess
3. Нужна база данных MySQL, по объему возможностей и того, что нужно учить не уступающая по объему PHP
4. Сам язык PHP - это прикрасно, но у него 1001 полезное расширение, одно GDLib можно годами изучать.
5. Сайт без HTML/CSS не построишь, даже если за вас верстают, нужно хотя бы минимально разметку знать.
6. Наступила эра JavaScript, AJAX, jQuery - все-равно нужно разбираться, чтобы писать приложения с их помощью...
7. Есть куча подводных камней с *nix-системами, на которых работают сервера, хотя бы просто другой набор команд и отличная от windows файловая система...
8. Есть готовые CMS, которые включают все выше перечисленное.
9. Еще есть Flash, который сам по себе отдельный мир.
10. Плюс проблемы безопасности - народу много и настроены они отнюдь не лояльно.
И это только ключевые особенности и только то, что я вспомнил... Пока не начнешь работать над реальными Web-приложениями, только читая книги, даже не будешь знать, куда копать. Это и есть технология.
В C++ тоже самое, одного языка мало, нужно знать окружение и технологии там, где вы их будете применять (там свои платные услуги, за что-то нужно платить, за что-то не обязательно, свои сопровождающие технологии, где звук нужен, где векторные изображения, где 3d-модели, где студийные записи, где справочные системы и т.д. и т.п.). Проблема только в том, что C++ применяется вообще везде от написания операционных систем для компьютеров и спутников, заканчивая разработкой сайтов. Поэтому если в случае PHP еще можно составить конкретный список (он молодой и специально был заточен под Web-технологию, конкретнее под связку Apache+MySQL+PHP), то для C++ это крайне затруднительно - слишком много таких списков придется составить, нужно будет всю IT-область поднимать. Язык можно освоить и в зависимости от подготовки это может занимать разное время, технологиями нужно жить и чтобы считаться специалистом или экспертом в области той или иной технологии – нужны годы такой жизни. | |
|
|
|
|