Форум: Форум C++Разное
Новые темы: 00
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сложность C++
 
 автор: Belkin   (27.11.2011 в 16:21)   письмо автору
 
 

Да.. это не php учить, он как-то проще был ) и синтаксис красивее.

[поправлено модератором: обсуждение выделено из темы Как определить место запуска скрипта? (конcольное приложение)]

  Ответить  
 
 автор: cheops   (27.11.2011 в 17:21)   письмо автору
 
   для: 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, когда понятие "стоимость компьютерного времени" вообще вышло из употребления. Разные языки, разные ниши, разные экономические модели, разный охват сфер применения.

  Ответить  
 
 автор: Belkin   (27.11.2011 в 20:17)   письмо автору
 
   для: cheops   (27.11.2011 в 17:21)
 

Вы раскрыли мне глаза + мотицацию наверное дали. Вижу, что вы не равнодушны к C/C++ :)

  Ответить  
 
 автор: cheops   (27.11.2011 в 20:26)   письмо автору
 
   для: Belkin   (27.11.2011 в 20:17)
 

>Вижу, что вы не равнодушны к C/C++ :)
Ага, я вообще к языкам программирования не равнодушен, меня если вовремя не заткнуть :))), могу про них часами говорить, сравнивать, вспоминать интересные байки, факты... Причем не обязательно про C++, а скажем Prolog, Perl или Fortran. Однако, среди всех языков, C++ является ключевым, это как английский (сейчас) или латынь (в прошлом) - будете знать C++, все IT-двери перед вами откроются, вернее вы будете знать как их открывать и сколько это может занять у вас времени.

  Ответить  
 
 автор: Belkin   (27.11.2011 в 20:39)   письмо автору
 
   для: cheops   (27.11.2011 в 20:26)
 

А сколько вы знаете языков? (это так, на будущее мне)

и возможно изучать + будет ли от этого толк - веб и прикладноее программирование?

  Ответить  
 
 автор: cheops   (27.11.2011 в 21:34)   письмо автору
 
   для: 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-область поднимать. Язык можно освоить и в зависимости от подготовки это может занимать разное время, технологиями нужно жить и чтобы считаться специалистом или экспертом в области той или иной технологии – нужны годы такой жизни.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования