|
|
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Поиски работы навели на вопрос. Ясно, что есть вакансии под него и есть проекты, в том числе новые, но тем не менее, если смотреть в будущее, то где ниша у него? Такое чувство, что в язык напихана невообразимая куча всего и вся эта куча со скрипом пригождается в любом проекте. Например, есть Qt, так пришлось специальный препроцессор изобретать для введения в язык специфических фич. Фактически Qt формально не на C++ написан. Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 16:52 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? Я именно так и использую. Првилнее сказать использовал. За поледний год не написал ни строчки кода. На чистом С писать разучился , регулярно исполузую выпригивание из области видимости через исключения. А С сишными сет-лонг-джампами с таким полетом мысли можно утонуть в отладке.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 17:15 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111в будущее, то где ниша у него?десктоп. вон майкрософт уже опомнилась, и вернула поддержку с++ в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 17:17 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Для геймдева разве что, но и то сомнительно,а что тогда юзать? Сто-111Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудьче, реально? и как у этих языков с производительностью? интел пилит компилятор только для фортрана и с++. если жава просто тормозит, то эрланг вообще математику не умеет. Сто-111Так что нужен ли он в перспективе? да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 17:20 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN... вон майкрософт уже опомнилась, и вернула поддержку с++ в студию. Это о чем ты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 17:47 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmZyK_BotaN... вон майкрософт уже опомнилась, и вернула поддержку с++ в студию. Это о чем ты?о том что в прошлых студиях - поддержку с++ никто не пилил, все силы на си-шарп бросили. да и агитировали за переход на дотНет. а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 17:49 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN... а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8. Наверное, поэтому решили отбросить все, что было до Win7? http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop-requirements :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:02 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmZyK_BotaN... а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8. Наверное, поэтому решили отбросить все, что было до Win7? http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop-requirements :)а это здесь впричем. и обращаю внимание на слово "express". т.е. они просто таким образом - стимулируют распространение приложений через их магазин. каким боком это относится к поддержке с++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:05 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, а без разницы, экспресс/не экспресс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:27 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Видишь: http://www.microsoft.com/visualstudio/eng/products/compatibility - если таргет-платформа - ХР и старее, то VS 2010 ставить надо. А платформа разработки только Win 7 и новее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:31 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmZyK_BotaN, а без разницы, экспресс/не экспресс.та ну? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:32 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmВидишь: http://www.microsoft.com/visualstudio/eng/products/compatibility - если таргет-платформа - ХР и старее, то VS 2010 ставить надо. А платформа разработки только Win 7 и новее.а, тогда мы о разном. там прикол в том, что если юзаешь экспресс - то нельзя распространять приложения в обход ихнего маркета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:35 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNvvmВидишь: http://www.microsoft.com/visualstudio/eng/products/compatibility - если таргет-платформа - ХР и старее, то VS 2010 ставить надо. А платформа разработки только Win 7 и новее.а, тогда мы о разном. там прикол в том, что если юзаешь экспресс - то нельзя распространять приложения в обход ихнего маркета. Ссылку дай, пожалуйста. Что-то не могу такого безобразия отыскать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:38 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmZyK_BotaNпропущено... а, тогда мы о разном. там прикол в том, что если юзаешь экспресс - то нельзя распространять приложения в обход ихнего маркета. Ссылку дай, пожалуйста. Что-то не могу такого безобразия отыскать. может я что-то неправильно понял? : http://msdn.microsoft.com/en-us/library/hs24szh9.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:46 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Visual Studio Express 2012 for Windows 8 supports only the creation and deployment of Windows Store apps and components, and doesn't support desktop or console apps. For desktop development, you can use or one of the Visual Studio 2012 editions. For information about Visual Studio editions, see Visual C++ Tools and Templates in Visual Studio Editions. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 18:47 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNVisual Studio Express 2012 for Windows 8 supports only the creation and deployment of Windows Store apps and components, and doesn't support desktop or console apps. For desktop development, you can use or one of the Visual Studio 2012 editions. For information about Visual Studio editions, see Visual C++ Tools and Templates in Visual Studio Editions. Это конкретно о Visual Studio Express 2012 for Windows 8 сказано. Для десктопных разработок нужно Visual Studio Express for Windows Desktop использовать. Другой пакет. В первом дополнительно, например, кросс-компилятор для ARM процессоров есть. Для смартфонов/планшетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 19:04 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmZyK_BotaNVisual Studio Express 2012 for Windows 8 supports only the creation and deployment of Windows Store apps and components, and doesn't support desktop or console apps. For desktop development, you can use or one of the Visual Studio 2012 editions. For information about Visual Studio editions, see Visual C++ Tools and Templates in Visual Studio Editions. Это конкретно о Visual Studio Express 2012 for Windows 8 сказано. Для десктопных разработок нужно Visual Studio Express for Windows Desktop использовать. Другой пакет. В первом дополнительно, например, кросс-компилятор для ARM процессоров есть. Для смартфонов/планшетов.спасибо за разъяснение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 19:06 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell То что ходят такие легенды - это тоже заслуга исторически сложившихся привычек. Мир, системы, архитектуры, языки поменялись, а привычки остались. Допустим многие считают, что в С++ проблемы с утечками памяти, нет стандартных алгоритмов, мало поддерживается платформ, нет нормального построителя форм для GUI или что обязательно наткнешься на трудности с множественным наследованием. Но большинство мыслят просто: "я не смог его изучить - язык говно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 20:18 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111 Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? Нет, не нужен. Не учи ни в коем случае, пиши на java, php, Perl, .net... Мне как раз на "пенсии" будет чем заработать на безбедную старость... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:34 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
MasterZivСто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? Нет, не нужен. Не учи ни в коем случае, пиши на java, php, Perl, .net... Мне как раз на "пенсии" будет чем заработать на безбедную старость... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:42 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
имхо. с++ - один из самых незаменимых и органичных инструментов для программирования современных приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:43 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Прикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы, КРОМЕ андроида, но это все равно не чистая ява, а гибрид, ОЧЕНЬ удачный. Блин, а сколько было фейлов у явы... Аплеты, jsp, java mobile, jfx, ejb 1 , Ms java... Я не знаю более фейланутой технологии. Даже перл выглядит более стройно и согласованно. Ан нет, живет, зараза... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:44 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNvvmпропущено... Это о чем ты?о том что в прошлых студиях - поддержку с++ никто не пилил, все силы на си-шарп бросили. да и агитировали за переход на дотНет. а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8. А чего ее пилить? Стандарта нового не будто пока, и пилить нечего было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:46 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
MasterZivZyK_BotaNпропущено... о том что в прошлых студиях - поддержку с++ никто не пилил, все силы на си-шарп бросили. да и агитировали за переход на дотНет. а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8. А чего ее пилить? Стандарта нового не будто пока, и пилить нечего было.пилить поддержку языка в студии(т.е. в иде) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:47 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
MasterZivПрикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы, а как же обж-си в яблочных поделках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 22:47 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNMasterZivПрикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы, а как же обж-си в яблочных поделках. Ну дык там ж не ява, а скорее как раз наоборот...:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 23:35 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
vvmZyK_BotaNпропущено... а как же обж-си в яблочных поделках. Ну дык там ж не ява, а скорее как раз наоборот...:)кто сказал ява? я лишь сказал - что не с++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 23:36 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNMasterZivПрикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы, а как же обж-си в яблочных поделках. ну так это и есть c/c++ с препроцессором ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 23:50 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Былинный тред /topic/466654 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2012, 23:58 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNMasterZivпропущено... А чего ее пилить? Стандарта нового не будто пока, и пилить нечего было.пилить поддержку языка в студии(т.е. в иде) Что такое "пилить поддержку языка"? И в какой конкретно версии MSVS его "не пилили"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 00:15 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ИзопропилZyK_BotaNпропущено... а как же обж-си в яблочных поделках. ну так это и есть c/c++ с препроцессоромта ну? и что там от с++ то хоть есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 00:17 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Что такое пилить?ZyK_BotaNпропущено... пилить поддержку языка в студии(т.е. в иде) Что такое "пилить поддержку языка"? И в какой конкретно версии MSVS его "не пилили"?в последних версиях(2010, 2008). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 00:17 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNИзопропилпропущено... ну так это и есть c/c++ с препроцессоромта ну? и что там от с++ то хоть есть? возможность одновременного использования C++ и Objective-C выглядит конечно страшно. Компилит в конечном итоге gcc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:01 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNЧто такое пилить?пропущено... Что такое "пилить поддержку языка"? И в какой конкретно версии MSVS его "не пилили"?в последних версиях(2010, 2008). Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:27 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ИзопропилZyK_BotaNпропущено... та ну? и что там от с++ то хоть есть? возможность одновременного использования C++ и Objective-C выглядит конечно страшно. Компилит в конечном итоге gcc ага, а под винду есть возможность компилить часть модулей на с++, а часть на делфи. от того делфи не является препроцессоором для с++. в обж-си - ничего нет от с++, только от си. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:41 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ХорошоZyK_BotaNпропущено... в последних версиях(2010, 2008). Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)значит в 2012 - тебе понравится еще больше. там реально много запилили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:42 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ХорошоZyK_BotaNпропущено... в последних версиях(2010, 2008). Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)з.ы. пишу на многих языках в нотепад++. "Все отлично, мне все нравится" (с). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:42 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNз.ы. пишу на многих языках в нотепад++. "Все отлично, мне все нравится" (с).особенно - отладчик, и интеллисенс доставляет ещё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:52 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
egorychZyK_BotaNз.ы. пишу на многих языках в нотепад++. "Все отлично, мне все нравится" (с).особенно - отладчик, и интеллисенс доставляет ещё а зачем отладчик, когда есть логгер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:53 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа зачем отладчик, когда есть логгер?бывает, удобней с логгером, бывает - с отладчиком. Один другого не заменяет, а дополняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:56 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNХорошопропущено... Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)значит в 2012 - тебе понравится еще больше. там реально много запилили. Ну наконец чистая конкретика! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:56 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
egorychZyK_BotaNа зачем отладчик, когда есть логгер?бывает, удобней с логгером, бывает - с отладчиком. Один другого не заменяет, а дополняет.я все-же предпочитаю логер. можно спокойно посмотреть на значения каких-то переменных в данный момент. потом пройтись назад, и увидеть случившиеся события до этого потом заварить чайку, и заново пересмотреть лог событий. отладчик такого не позволяет (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 01:58 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNага, а под винду есть возможность компилить часть модулей на с++, а часть на делфи. от того делфи не является препроцессоором для с++. в обж-си - ничего нет от с++, только от си. речь идёт о смешениии в ОДНОМ модуле с++ и objective-C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 08:50 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Objective-c не мобильная, а универсальная технология. В общем, что с++ что обжектив с — в данном топике наверное все равно. Или аффтар был инспирирован именно непониманием нужности c++, а не низкоуровневыми языками в общем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 09:46 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Изопропилречь идёт о смешениии в ОДНОМ модуле с++ и objective-C Objective-C++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 10:59 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Поиски работы навели на вопрос. Ясно, что есть вакансии под него и есть проекты, в том числе новые, но тем не менее, если смотреть в будущее, то где ниша у него? Такое чувство, что в язык напихана невообразимая куча всего и вся эта куча со скрипом пригождается в любом проекте. Например, есть Qt, так пришлось специальный препроцессор изобретать для введения в язык специфических фич. Фактически Qt формально не на C++ написан. Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? доктор, скойжите, а чем заменить C++ при программировании UDF для Firebird? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 11:23 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111....Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell... сразу видно - человек посчупал компы в этом мире только :) Вы попробуйте написать например для 51 МК например что нить на сях. ага. с принтф :) в какие нить 4 кило попробуйте въехать с бинарём. Си для системных нужд. кхм. круто. человек сразу пляшет не от задачи а от определения - о! вот это системные нужды = будем писать на этом языке! С++ обладает не плюшками и фичами. он следует за ООА и ООП. а не сам по себе. то же самое и про другие языки сказать можно. у каждого языка есть _слабые_ и _сильные_ стороны! Если Вы хотите быть профессионалом в данной области - Вам надо научится их видеть и понимать. Заметьте - обычно люди с бОльшим опытом говорят типа: работаю столько то лет(или столько то проэктов) а вот не пришлось кроме вот этого применять. качество такое то, цикл разработки такой, времени столько то.... и т.д.. вообще складывается впечатление, что уровень программеров падает с каждым годом. тьху, не о том хотел сказать. я хотел вам предложить подумать не о форме молотка и пасатижей. А о методике как и где это всё применять. А вэб серваки и на азме можно подымать(про машинные коды промолчим - это уже не язык вовсе), полностью. вопрос только в задаче-рентабельности-качестве. Например на производстве, где каждые 10 рублей удорожания миллионой партии изделия = есть дорогая цена, за то чтоб всё было на лиспе, фортране или си плас плас даже... надеюсь мысль понятна? удачи вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 11:38 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
MasterZivЯ не знаю более фейланутой технологии. you won't lose if you don't play ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 12:34 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ИзопропилZyK_BotaNпропущено... а как же обж-си в яблочных поделках. ну так это и есть c/c++ с препроцессоромчто это за язык такой с/c++ повторю еще раз - от с++ там ничего нет. только от си. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 12:35 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
РЕшил таки ответить по существу на поставленные вопросы. Сто-111Ясно, что есть вакансии под него и есть проекты, в том числе новые, но тем не менее, если смотреть в будущее, то где ниша у него? С++ -- это системное программирование, нижний слой всего. Соответственно, поскольку нижний слой есть у всего, и будет всегда, этому языку (или подобным) всегда найдётся место на рынке труда. Это операционные системы, СУБД, всякие компоненты системы, службы и пр. Java написан на C, Всякие косперсцикие, авпы, докторы вепы на С++, (кстати -- их дохрена и им дофига людей нужно, а платят хорошо, я б пошёл, да мне чеслово противно этим заниматься). Плюс -- математические и научные вычисления, плюс -- написание высокопроизводительных приложений для обработки звука, видео, графики. Фотошопы, гимпы, 3дмаксы и пр. Плюс игрушки. Сто-111 Такое чувство, что в язык напихана невообразимая куча всего и вся эта куча со скрипом пригождается в любом проекте. Как бы чувства --- дело субъективное. Это твои личные проблемы, что у тебя чувства. Да, С++ не маленький, но на самом деле он и не такой уж громоздкий. Тот же PL/SQL например или Fortran будут понавороченнее наверное. Ну а что большой -- С++ -- мультипарадигменный язык (гибридный), поэтому вполне понятно, что он немаленький. Сто-111Например, есть Qt, так пришлось специальный препроцессор изобретать для введения в язык специфических фич. Фактически Qt формально не на C++ написан. Язык QT -- это надмножество С++, так что ничего страшного. Ну и QT -- это всего лиш библиотека, к тому же уникальная, язык не может отвечать за все библиотеки, которые на ней написаны. То, что так в QT сделано -- в общем, частное решение его разработчиков на раннем этапе развития, оно могло бы выглядеть и по-другому, 100% совместимо со стандартным С++. Сто-111Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Я б поспорил, на мой взгляд Java куда менее для этого подходит. Ан используется (я не говорю про WEB сейчас, это отдельная песня). Сто-111 Проигрывает и Java и C# и PHP с Perl и Python. Сто-111 Для системных нужд и сейчас выбор - это чистый Си. Ну, это смотря кто выбирает. Я бы сказал-- пополам, и то, и то. Сто-111Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Ээээ это что за "тормозные фичи" такие ? В С++ их нет. Сто-111Для науки - Си и Fortran. Я бы сказал, C, C++ и FORTRAN. Сто-111Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Вообще-то для распределённых вычислений, если ты ими занимался, -- ПОФИГ что за язык. Лиш бы инфраструктура была доступна для взаимодействия. Сто-111Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell Как бы для генерации парсеров сейчас есть несколько решений на С (традиционных типа flex yacc) и одно на Java (ANTLR). На лиспе конечно тоже есть генераторы парсеров, но вот чтобы хацкель для этого юзать --- не знаю. Или ты имел в виду DSL -и ? Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? ОК, на этот сакраментальный вопрос я уже ответил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 13:21 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNИзопропилпропущено... ну так это и есть c/c++ с препроцессоромчто это за язык такой с/c++ повторю еще раз - от с++ там ничего нет. только от си. Это правда. Objective C -- это по идеологии скорее object pascal из Delphi, написанный с использованием С-образного синтаксиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 13:23 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
MasterZivObjective C -- это по идеологии скорее object pascal из Delphi, написанный с использованием С-образного синтаксиса. Хм... Я думал, что скорее SmallTalk. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 14:03 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Круче всех Дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 14:50 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Страуструп почти всю жизнь потратил на развитие C++, а вы говорите что язык не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 14:54 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
k0rvinMasterZivObjective C -- это по идеологии скорее object pascal из Delphi, написанный с использованием С-образного синтаксиса. Хм... Я думал, что скорее SmallTalk. Нет, до смалтака ему ой как далеко... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 16:09 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
> Java написан на C Слишком категоричное утверждение. Java в основном написана на java. Это очень легко проверить. В исходниках openjdk-6-src-b26-21_sep_2012 900 файлов на с и 17000 на java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 17:25 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Нормальная пропорция . Хотя... сомневаюсь что тут численная оценка уместна. Важнее идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 17:37 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Да, конечно, важна идея. Пишем на чем нибудь удобном, тюним, там где не хватает производительности или возможножности более высокоуровневого языка - эти места пишем на С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 17:52 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kolchanov> Java написан на C Слишком категоричное утверждение. Java в основном написана на java. Это очень легко проверить. В исходниках openjdk-6-src-b26-21_sep_2012 900 файлов на с и 17000 на java Для альтернативно одаренных пояснение еще раз. Java написан на C А вот JRE/JDK - вот те уже написаны на Java и немного на C. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 18:23 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kolchanovДа, конечно, важна идея. Пишем на чем нибудь удобном, тюним, там где не хватает производительности или возможножности более высокоуровневого языка - эти места пишем на С. Вообще-то на С сейчас пишут не для производительности, а для того, чтобы просто огородиться от ООП гамнокодеров с их расчудесными Boost, LINQ и прочими средствами возведения гамнокодирования в абсолют авторC++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C. In other words: the choice of C is the only sane choice. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 18:27 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуац, давай жги дальше запасся попкорном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 18:38 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestПроясним ситуац, давай жги дальше запасся попкорном Ты хоть понял кто написал вот тот текст на английском, поедатель углеводов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 18:46 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Торвальдс -- известный ненавистник плюсов. Тут ничего не поделаешь, и это ни о чём не говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 21:12 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
MasterZivТорвальдс -- известный ненавистник плюсов. Тут ничего не поделаешь, и это ни о чём не говорит. Кстати, интересно, а у Торвальдса скилы по плюсам выше джуниора, есть его открытые хоть какие-то мелкие проекты на плюсах? Или как обычно, horrible - по этому не изучал, но мнение оставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2012, 21:29 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ТорвальдсMasterZivТорвальдс -- известный ненавистник плюсов. Тут ничего не поделаешь, и это ни о чём не говорит. Кстати, интересно, а у Торвальдса скилы по плюсам выше джуниора, есть его открытые хоть какие-то мелкие проекты на плюсах? Или как обычно, horrible - по этому не изучал, но мнение оставил. Т.е. он должен быть нагомнокодиться всласть, выложить эти свои "творения" на всеобщее осмеяние, а потом оставлять свое мнение о том, что вот он, такой неудачник, да, боролся боролся, но так и не смог осилить C++? А вот для того, чтоб оставить мнение о том, что ходить мужчине на каблуках - как минимум смешно и ненормально, нужно мужику на каблуках-то проходить, и сколько лет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 00:47 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацТорвальдспропущено... Кстати, интересно, а у Торвальдса скилы по плюсам выше джуниора, есть его открытые хоть какие-то мелкие проекты на плюсах? Или как обычно, horrible - по этому не изучал, но мнение оставил. Т.е. он должен быть нагомнокодиться всласть, выложить эти свои "творения" на всеобщее осмеяние, а потом оставлять свое мнение о том, что вот он, такой неудачник, да, боролся боролся, но так и не смог осилить C++? А вот для того, чтоб оставить мнение о том, что ходить мужчине на каблуках - как минимум смешно и ненормально, нужно мужику на каблуках-то проходить, и сколько лет? Вас часто посещают такие образы? :) Понятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С. Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 01:16 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьПроясним ситуацпропущено... Т.е. он должен быть нагомнокодиться всласть, выложить эти свои "творения" на всеобщее осмеяние, а потом оставлять свое мнение о том, что вот он, такой неудачник, да, боролся боролся, но так и не смог осилить C++? А вот для того, чтоб оставить мнение о том, что ходить мужчине на каблуках - как минимум смешно и ненормально, нужно мужику на каблуках-то проходить, и сколько лет? Вас часто посещают такие образы? :) Понятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С. Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++? Oracle, DB2 и Sybase (мама MSSQL) изначально были написаны истинными мужиками, как раз на C (см. когда они сами появились, а когда С++). И ядра их до сих пор на этом-же языке и пишутся, обвязы-утилиты - не в счет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 02:08 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьпропущено... Вас часто посещают такие образы? :) Понятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С. Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++? Oracle, DB2 и Sybase (мама MSSQL) изначально были написаны истинными мужиками, как раз на C (см. когда они сами появились, а когда С++). И ядра их до сих пор на этом-же языке и пишутся, обвязы-утилиты - не в счет. http://www.lextrait.com/Vincent/implementations.html По крайней мере MSSQL, MySQL и Oracle имеют major programming language C++ и C is present, but is either stable or decreasing. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 02:18 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьПо крайней мере MSSQL, MySQL и Oracle имеют major programming language C++ и C is present, but is either stable or decreasing.Посмотрите в Call Stack Trace падения Оракла после оrа-600. Че-та не много там OOП ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 02:36 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Relic HunterOracle, DB2 и MSSQL лапухнулисьПо крайней мере MSSQL, MySQL и Oracle имеют major programming language C++ и C is present, but is either stable or decreasing.Посмотрите в Call Stack Trace падения Оракла после оrа-600. Че-та не много там OOП ))) Забей. Пусть дети верят в С++ в целом, и яростно, неистово - в STL/Boost, в частности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 04:43 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьПонятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С. Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++? Линус женат и у него двое детей, это к вопросу о подругах :) Что касается Oracle, DB2 и MSSQL их пример не означает, что на C++ нельзя написать хорошую программу. И кстати, есть сомнения, что ключевые вещи там на C++ написаны, особенно у Oracle и DB2, учитывая что первые версии этих СУБД появились еще до возникновения C++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 05:21 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Mike7Oracle, DB2 и MSSQL лапухнулисьПонятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С. Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++? Линус женат и у него двое детей, это к вопросу о подругах :) Что касается Oracle, DB2 и MSSQL их пример не означает, что на C++ нельзя написать хорошую программу. И кстати, есть сомнения, что ключевые вещи там на C++ написаны, особенно у Oracle и DB2, учитывая что первые версии этих СУБД появились еще до возникновения C++ . Это как бы намекает, что у людей в тот момент не было выбора. А как появился выбор - появился и С++. И потом С++ не обязывает на каждый чих создавать класс. Многое вполне можно писать в C-style, но в рамках области видимости неймспейса или класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 14:27 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
В С++ есть много полезных фич. Если сравнивать с С то, прегрузка и шаблоны помогают писать меньше кода, если сравнивать с C#, Java, то на C++ можно достичь существенно лучшего перформанса. В общем можно выбирать. У нас проект на С+ и С. Где-то поровну. DAO сделан на С, бизнес и разбор сетевых пакетов на С++, т.к. очень полезна более строгая типизация и классы. Веб морда сделана С (модули для nginx) Говорить, что какой-то язык круче или он панацея - глупо. Для каждой задчи есть один несколько языков которые лучше всего подходят. Также приходится учитывать и всякие организационные задачи. Например, если у вас 10 java девелоперов, то делать кусок приложения на C или perl стоит только по очень существенной причине ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 15:49 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьMike7пропущено... Линус женат и у него двое детей, это к вопросу о подругах :) Что касается Oracle, DB2 и MSSQL их пример не означает, что на C++ нельзя написать хорошую программу. И кстати, есть сомнения, что ключевые вещи там на C++ написаны, особенно у Oracle и DB2, учитывая что первые версии этих СУБД появились еще до возникновения C++ . Это как бы намекает, что у людей в тот момент не было выбора. А как появился выбор - появился и С++. И потом С++ не обязывает на каждый чих создавать класс. Многое вполне можно писать в C-style, но в рамках области видимости неймспейса или класса. Проблема С++ не в классах. А как раз в евойных темплейтах в виде STL/Boost. Которые еще и непереносимы по факту. Типовой гамнокодер вместо того, чтоб лишний раз подумать над задачей - обычно заряжает какой хренотени из буста, методом автоматизированной копипасты, и думает что он уже невероятно крут и вот решил задачу. Плюс абсолютно отфонарное размазывание абстракций по одноразовым и никогда не наследуемым классам (это дешево для него, а рефакторить кто-то потом будет). А потом берешь, выгребаешь тонны этого C++/Boost говнища, перепишешь - и в результате чего остается вместо 1500 строк - всего пять-шесть функций на C, на 50-120 строк в сумме. И так - постоянно. Такой себе C++ мозга - это нечто. Лучшеб они все на Java писали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 16:09 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьпропущено... Это как бы намекает, что у людей в тот момент не было выбора. А как появился выбор - появился и С++. И потом С++ не обязывает на каждый чих создавать класс. Многое вполне можно писать в C-style, но в рамках области видимости неймспейса или класса. Проблема С++ не в классах. А как раз в евойных темплейтах в виде STL/Boost. Которые еще и непереносимы по факту. Типовой гамнокодер вместо того, чтоб лишний раз подумать над задачей - обычно заряжает какой хренотени из буста, методом автоматизированной копипасты, и думает что он уже невероятно крут и вот решил задачу. Плюс абсолютно отфонарное размазывание абстракций по одноразовым и никогда не наследуемым классам (это дешево для него, а рефакторить кто-то потом будет). А потом берешь, выгребаешь тонны этого C++/Boost говнища, перепишешь - и в результате чего остается вместо 1500 строк - всего пять-шесть функций на C, на 50-120 строк в сумме. И так - постоянно. Такой себе C++ мозга - это нечто. Лучшеб они все на Java писали. Насчет непереносимости STL совершенно не понимаю. Можно пример? Ну а насчет набора библиотек boost да, формально для части библиотек есть только ограниченный список поддерживаемых платформ. Насчет boost, зачем там копипаста? Просто подключаешь библиотеку, а иногда это 100% переносимые шаблоны в хедерах и используешь её, проверенную и исправленную тысячами разработчиков. Никаких копипаст. Или вы и на С никогда библиотек не используете? Насчет того, что большинство классов не участвует в наследовании. Ну если нет наследования и перегрузки операторов, то воспринимайте это просто как неймспейс с конструктором и деструктором выполняющими функции инициализации и деинициализации. Проблема С++ в том, что каждая новая возможность умножает число вариантов реализации. А т.к. в С++ возможностей очень много, то зачастую не опытный разработчик из огромного множества выбирает не самый лучший вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 17:51 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
STL и BOST это всего лишь библиотеки. Из них STL еще более-менее обычен. Но можно пользоваться просто C++ без использования этих библиотек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2012, 19:52 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?Нужен. Даже если в вашей предметной области он не используется вообще, вы должны знать его на приличном уровне, потому что это часть программистского lingua franca, и его надо знать как минимум чтобы не испытывать лишних трудностей при общении с людьми. Ну а во-вторых, сколько я работаю, его всё "хоронят" и ругают, а он всё не загибается. Прям как загнивающий капитализм при Советской власти. И в то время, как всё прогрессивное человечество осваивает новые языки, "удешевляющие" и "упрощающие", сиплюсплюсники спокойно и методично внедряют всякие неинтересные #pragma simd и прочие #pragma offload (gtx), аккуратно выжимая из нового железа новые фигафлопсы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2012, 20:25 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе? Ну что ж, вперед, с песнями, напишите аналог LLVM на чем-то отличном от C++. Такой же быстрый, компактный и расширяемый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2012, 15:14 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
> Ну что ж, вперед, с песнями, напишите аналог LLVM на чем-то отличном от C++. Такой же быстрый, компактный и расширяемый. Не очень хороший довод - как раз llvm то и можно на чем угодно написать без особого ущерба для производительности.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2012, 23:43 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьНасчет непереносимости STL совершенно не понимаю. Можно пример? Попробуй собрать LevelDB под Embarcadero/Codegear/Borland C++. Приключения гарантированы. Или просто с dinkumware stl, хоть даже под VC++ Oracle, DB2 и MSSQL лапухнулисьНасчет boost, зачем там копипаста? Во-первых темплейты - это автоматизированная копипаста сама по себе. От и до. Во-вторых - boost "кодирование" - это обычно бездумная copy/paste кусков кода из интернетов, "решающих" проблему. Oracle, DB2 и MSSQL лапухнулисьПросто подключаешь библиотеку, а иногда это 100% переносимые шаблоны в хедерах и используешь её, проверенную и исправленную тысячами разработчиков. Никаких копипаст. Или вы и на С никогда библиотек не используете? С бибиотеки - да, используются (хотя даже libiconv вот под win32 - это еще то приключение). А вот C++ библиотеки - это не, это сраду в сад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 00:06 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Сто-111Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для синтаксического сахару. Ну очень пухнет мозг от старого сишного некрасивого кода, если его много. А STL конечно лесом в задачах с дефицитом системных ресурсов, коими задачи, связанные с 3D-графикой в большом количестве и являются. Ну и не на яве ж такое писать, правда? А сфера применения пошире чисто геймдева. Любую задачу по обработке большого количества данных, где нужен четкий контроль за выделением и освобождением ресурсов можно писать на с++ не боясь. На любом ЯП "жадные" задачи - это не банальное формошлепство и нет такого ЯП, который бы самостоятельно разрулил возникающие проблемы. Потому тут С++ вполне в тему и конкурентноспособен. А QT берет наличием в фреймворке полезных для интерактивных десктопных приложений компонетов. Примитивный КорелДрав (ну например, конструктор пластиковых окон или типа того) на чем как не на Qt быстрее всего сделать? А вот подобная прога для визуализации графиков и прочей 2D-геометрии GeoGebra выполнена на Яве и очень тормозит интерфейсом. Зато можно запустить и в браузере прямо с сайта, и на десктопе. Это преймущество весомо для небольших приложений, но для массивных - не имеет смысла и в этом случае я бы не стал использовать Яву. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 00:20 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьНасчет непереносимости STL совершенно не понимаю. Можно пример?Попробуй собрать LevelDB под Embarcadero/Codegear/Borland C++. Приключения гарантированы. Или просто с dinkumware stl, хоть даже под VC++На фоне разных значений M_PI в Борландах и Мелкософте, мелкие непереносимости STL кажутся совершенно незаметными ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 00:23 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьНасчет непереносимости STL совершенно не понимаю. Можно пример? Попробуй собрать LevelDB под Embarcadero/Codegear/Borland C++. Приключения гарантированы. Или просто с dinkumware stl, хоть даже под VC++ Если имеется ввиду под переносимостью - разные платформы, то под любой платформой найдется компилятор нормально поддерживающий стандарт и STL. Win - MSVC++, Linux - GCC. Если под переносимостью - разные компиляторы, то действительно найдутся комиляторы не до конца поддерживающие даже старый стандарт, типа билдеровского. На нем и из boost то немного чего компилится. Это проблема не языка, а компаний и компиляторов которые они не смогли реализовать. Компилятор С тоже могли бы написать глючным, но он слишком прост, чтобы его сделать таким. Но под любую платформу найдется хотя бы один нормальный компилятор С++, с полностью переносимым STL. Проясним ситуацOracle, DB2 и MSSQL лапухнулисьНасчет boost, зачем там копипаста? Во-первых темплейты - это автоматизированная копипаста сама по себе. От и до. Во-вторых - boost "кодирование" - это обычно бездумная copy/paste кусков кода из интернетов, "решающих" проблему. boost - это набор библиотек. Собранных и проверенных. Не знаю есть ли сейчас подобное собрание на С, но уверен если собрать такое же количество библиотек на С, то количество говнокода там будет не намного меньше. boost - это просто возможность, от которой вы всегда можете отказаться. В худшем случае - как буд-то её и не было. То что в случае темплейтов компилятор инстанцирует их - никак не влияет на надежность. Никто же не жалуется на ран-тайм полиморфизм, так в чем проблема компайл-тайм полиморфизма, который в среднем и работает быстрее? Копипастой можно назвать и любую используемую библиотеку С. Нашел какую-то библиотеку на С в инете, что вставил копипастой её в свои исходники, что вызвал через заголовочные файлы - тоже самое. Ок, добавьте inline к функциям библиотеки на С и вот она 100% копипаста. Это кто-то где-то придумал, что копипаста это плохо потому, что бездумно, а кто-то обобщил и уверовал, но почему-то не применил это ко всем без исключения библиотекам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 00:44 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьЭто проблема не языка, а компаний и компиляторов которые они не смогли реализовать. Я говорил про переносимость. Под платформой подразумевается не только операционка, а вообще вся инфраструктура, компиляторы в т.ч. Oracle, DB2 и MSSQL лапухнулисьКомпилятор С тоже могли бы написать глючным, но он слишком прост, чтобы его сделать таким. Plain old ANSI C89 таких приключений не подразумевает - тот-же sqlite под Borland С/C++ собирается влёт, без каких либо проблем. Писать надо уметь. Тем не менее, существует 1001 способ написать на даже на plain C так, чтобы библиотека не собиралась под другим компилятором. Начиная от всяких GCC расширений, до просто использования фич C99, которые никто, кроме Sun Studio толком не поддерживает в полном объеме. Oracle, DB2 и MSSQL лапухнулисьНо под любую платформу найдется хотя бы один нормальный компилятор С++, с полностью переносимым STL. Еще раз для тех, кто на бронепоезде. Переносимость с OpenSuse на CentOS - это не переносимость. Переносимость - это когда код компилируется и под win32, и под HP/UX, и под AIX, и под MC OS и пр. актуальные платформы. И вот тут у нас с переносимостью STL/Boost - явные проблемы Oracle, DB2 и MSSQL лапухнулисьboost - это набор библиотек. Собранных и проверенных. Boost проверенных? Иди иди, мальчик... Oracle, DB2 и MSSQL лапухнулисьНе знаю есть ли сейчас подобное собрание на С, но уверен если собрать такое же количество библиотек на С, то количество говнокода там будет не намного меньше. Угум. Всего раз в 10 или 20 меньше. Oracle, DB2 и MSSQL лапухнулисьЭто кто-то где-то придумал, что копипаста это плохо потому, что бездумно, а кто-то обобщил и уверовал, но почему-то не применил это ко всем без исключения библиотекам. Еще раз. Норма жизни для C++ - ника - это кодирование на STL/Boost, т.е. говнокодирование априори, вынужденное, иначе он будет аутсайдером (вне сообщества). Сейчас вообще невозможно найти проект, где экспертные знания по этой чудно пахнущей связке не были бы минимальными необходимыми требования для разработчика (ну надо же кому-то поддерживать кучи уже написанного кода, еще не все на Java и Plan C поди переписали). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 00:56 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonПримитивный КорелДрав (ну например, конструктор пластиковых окон или типа того) на чем как не на Qt быстрее всего сделать? Быстрее всего на Java или на Delphi. Или и вовсе - на C# В свете текущих тенденций все это скоро и вовсе будет писаться на простом Javascript/HTML5 Edd.DragonА вот подобная прога для визуализации графиков и прочей 2D-геометрии GeoGebra выполнена на Яве и очень тормозит интерфейсом. А вот Matlab не тормозит. Есть мнение - что писать надо просто уметь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 01:03 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьНо под любую платформу найдется хотя бы один нормальный компилятор С++, с полностью переносимым STL. Еще раз для тех, кто на бронепоезде. Переносимость с OpenSuse на CentOS - это не переносимость. Переносимость - это когда код компилируется и под win32, и под HP/UX, и под AIX, и под MC OS и пр. актуальные платформы. Я из бронепоезда не понимаю, "с OpenSuse на CentOS" - это откуда твой воспаленный мозг родил? Такое ощущение, что ты сам придумываешь какой-то бред и сам его опровергаешь. Твоим следующим шагом должно было стать написание говно компилятора, который бы не работал и на этом основании полаять на С++ :) Ещё раз читай по буквам: под любую платформу найдется хотя бы один нормальный компилятор С++, с полностью переносимым STL. Значит код компилируется и под win32, и под HP/UX, и под AIX, и под MC OS и пр. актуальные платформы. Oracle, DB2 и MSSQL лапухнулисьboost - это набор библиотек. Собранных и проверенных. Boost проверенных? Иди иди, мальчик... Проясним ситуацOracle, DB2 и MSSQL лапухнулисьНе знаю есть ли сейчас подобное собрание на С, но уверен если собрать такое же количество библиотек на С, то количество говнокода там будет не намного меньше. Угум. Всего раз в 10 или 20 меньше. Конкретный пример такого набора библиотек на С приведи. И конкретные сравнительные тесты из авторитетных источников. Наобум числа называть - ума не надо. У тебя есть хоть какие-то конкретные знания или все так от балды? Проясним ситуацOracle, DB2 и MSSQL лапухнулисьЭто кто-то где-то придумал, что копипаста это плохо потому, что бездумно, а кто-то обобщил и уверовал, но почему-то не применил это ко всем без исключения библиотекам. Еще раз. Норма жизни для C++ - ника - это кодирование на STL/Boost, т.е. говнокодирование априори, вынужденное, иначе он будет аутсайдером (вне сообщества). Сейчас вообще невозможно найти проект, где экспертные знания по этой чудно пахнущей связке не были бы минимальными необходимыми требования для разработчика (ну надо же кому-то поддерживать кучи уже написанного кода, еще не все на Java и Plan C поди переписали). То что STL переносимый, но ты не смог найти нормальный компилятор - мы разобрались. То что в boost как-то просочились глючные библиотеки, написанные теми кто много говорит о том чего не знает - это прискорбно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 01:32 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацНорма жизни для C++ - ника - это кодирование на STL/Boost, т.е. говнокодирование априори, вынужденное, иначе он будет аутсайдером (вне сообщества).Вот не надо. Хватает и плюсовых работ с вылизыванием всех мелочей (и с угрозой срезать премию тому, кто ещё раз напишет sin там где надо sinf :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 09:38 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Oracle, DB2 и MSSQL лапухнулисьТо что STL переносимый, но ты не смог найти нормальный компилятор - мы разобрались. То что в boost как-то просочились глючные библиотеки, написанные теми кто много говорит о том чего не знает - это прискорбно. Я очень, просто безмерно, невероятно рад, что ты со всем уже разобрался. Продолжай в том-же духе. iv_an_ruПроясним ситуацНорма жизни для C++ - ника - это кодирование на STL/Boost, т.е. говнокодирование априори, вынужденное, иначе он будет аутсайдером (вне сообщества).Вот не надо. Хватает и плюсовых работ с вылизыванием всех мелочей (и с угрозой срезать премию тому, кто ещё раз напишет sin там где надо sinf :) Работ на ассемблере тоже поди хватает. А по факту имеем то, что имеем. В практически любой вакансии на C++ программера мы видем "необходимы экспертные (или продвинутые) знания по STL". Что уже если не говорит о многом, то вызывает вполне такой себе саркастический смех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 09:56 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Проясним ситуацВ практически любой вакансии на C++ программера мы видем "необходимы экспертные (или продвинутые) знания по STL".Ну и что? Вот мы требуем знание плюсов последние 10 лет при том, что миграция с голого си на плюсы ещё не началась (и время на неё планируется только по отстаточному принципу :) Человек должен знать "общеупотребительные слова". Утрированно, если вам для вашей задачи нравится какой-то кусок STL вы должны его использовать. Если не нравится, вы должны знать, что именно не нравится и почему, чтобы не повторить ошибку, когда будете писать свой вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2012, 10:14 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestНе очень хороший довод - как раз llvm то и можно на чем угодно написать без особого ущерба для производительности.. Ну напишите. Без ущерба для производительности. Очень интересно. Или хотя бы расскажите, как именно собираетесь писать. Так, чтоб без ущерба для производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 15:44 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
llvm - ну вы ведь просто перегоняете файл из одного формата в другой какая разница на каком языке это делать? на скорость работы конечного исполняемого файла это никак не скажется скорее всего, несколько замедлится там процесс компиляции (трансляции, если более общим термином) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 16:40 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestllvm - ну вы ведь просто перегоняете файл из одного формата в другой какая разница на каком языке это делать? Держусь руками за лицо, истерично хихикаю. Скорость компиляции важна. LLVM, кроме всего прочего, еще и как JIT-компилятор используется. На данный момент Clang является самым быстрым компилятором C++. И это реально важно. Современные программисты, представьте себе, не любят ждать. на скорость работы конечного исполняемого файла это никак не скажется скорее всего, несколько замедлится там процесс компиляции (трансляции, если более общим термином) "Несколько"? Попробуйте оценить это ваше "несколько". Я так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Хотите ждать результатов компиляции в десять раз дольше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 19:50 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackalЯ так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Хотите ждать результатов компиляции в десять раз дольше?Не знаю, как прям сейчас, а недавно самый быстрый код для честных 80-битных даблов (без GPU) генерили из смеси Austin Kyoto Common Lisp + Livermore SDL. Так что фраза "Java или там Lisp какой" выдаёт в вас немножко неспециалиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 20:10 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruНе знаю, как прям сейчас, а недавно самый быстрый код для честных 80-битных даблов (без GPU) генерили из смеси Austin Kyoto Common Lisp + Livermore SDL. Так что фраза "Java или там Lisp какой" выдаёт в вас немножко неспециалиста. Тот факт, что вы не заметили, что речь идет о скорости компиляции , выдает в вас немножко дислексика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 20:28 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackal, Сравнивать лисп и си по скорости компиляции ещё забавнее, так как си вообще компиляется до-о-олго, дольше любого паскаля, ну а лиспы компиляются быстрее любых паскалей. А сравнивать компиляции разного качества оптимизации --- ну, не знаю с чем сравнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 20:36 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
> Я так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Не согласен. Скорее всего будет замедление на некие проценты, но никак не на порядки. В основном за счет того что в си и с++ есть нативные типы, в то время как в более высокоуровневых языках их нет или их поддержка слаба и ограничена. Также за счет того, что отсутствует возможность напрямую накладывать структурки (или там еще чего) на память, обычно для этого в той же явке приходится делать дополнительное копирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 20:48 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruСравнивать лисп и си по скорости компиляции ещё забавнее, так как си вообще компиляется до-о-олго, дольше любого паскаля, Все больше убеждаюсь, что был прав насчет дислексии. Перечитайте всю тему. Медленно. По слогам. Может тогда до вас дойдет, что мы тут обсуждаем конкретно компилятор языка C++. Хотя, можно взять любой другой язык, главное его зафиксировать. Так вот, компилятор языка X (пусть для определенности это будет C++), написанный на C++, будет заведомо быстрее работать, чем компилятор того же самого языка X, выполняющий все те же самые оптимизации, написанный на Java или на Lisp. Так понятно? Или еще более подробно разжевать? ну а лиспы компиляются быстрее любых паскалей Тоже в общем случае абсолютно неверно. Паскаль можно компилировать в один проход, а в Лиспе же есть макросы, которые могут исполняться вообще сколь угодно долго (как и шаблоны в C++, кстати). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 20:57 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestНе согласен. Докажите на практике. Реализуйте хотя бы один из тяжеловесных алгоритмов (ну, тот же register allocation) на Лиспе так, чтоб было не сильно медленее чем на C++. Скорее всего будет замедление на некие проценты, но никак не на порядки. Именно что на порядки. За счет того, что в коде на C++ будут использоваться пулы - т.е., породил парсер AST, кодогенератор сделал из него LLVM IR модуль, и весь пул с AST тут же удаляется, тогда как в managed языках на этом AST потом будет долго спотыкаться GC. И так на каждом этапе компиляции, со всеми промежуточными структурами (а они могут быть очень большими). В основном за счет того что в си и с++ есть нативные типы, в то время как в более высокоуровневых языках их нет или их поддержка слаба и ограничена. Чего? Какие такие типы?!? Если вы про арифметику, то она и в JVM нативная (и, полагаю, в Лиспе, если аннотации типов использовать). Также за счет того, что отсутствует возможность напрямую накладывать структурки (или там еще чего) на память, обычно для этого в той же явке приходится делать дополнительное копирование. Чего? Ни слова не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 21:02 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
> Может тогда до вас дойдет, что мы тут обсуждаем конкретно компилятор языка C++. Хотя, можно взять любой другой язык, главное его зафиксировать. Так вот, компилятор языка X (пусть для определенности это будет C++), написанный на C++, будет заведомо быстрее работать, чем компилятор того же самого языка X, выполняющий все те же самые оптимизации, написанный на Java или на Lisp. вы путаетесь в показаниях :) изначально было так: >> Ну что ж, вперед, с песнями, напишите аналог LLVM на чем-то отличном от C++. Такой же быстрый, компактный и расширяемый. > Не очень хороший довод - как раз llvm то и можно на чем угодно написать без особого ущерба для производительности.. подробнее: я высказал предположение, что транслятор llvm ir в машкод целевой платформы можно написать и на других языках, помимо си и с++ с терпимым провалом в скорости трансляции далее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) и возможности напрямую работать с голой памятью, накладывая на нее структуры данных так понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 21:38 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestподробнее: я высказал предположение, что транслятор llvm ir в машкод целевой платформы можно написать и на других языках, помимо си и с++ с терпимым провалом в скорости трансляции Какая разница - IR или C++? И то и другое должно транслироваться БЫСТРО . В том же Clang большая часть времени при компиляции тратися именно внутри LLVM (не верите - возьмите профайлер и убедитесь). И делать это быстро на чем либо отличном от C++ вы не сможете. Все остальное будет намного, недопустимо более медленным. далее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) Это как раз нисколько не преимущество, у JVM тоже они нативные, а беззнаковые тут ну совсем не нужны. и возможности напрямую работать с голой памятью, накладывая на нее структуры данных так понятнее? А этой фразы я вообще не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 22:18 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackalи возможности напрямую работать с голой памятью, накладывая на нее структуры данных так понятнее? А этой фразы я вообще не понял.а что непонятного? выделил мегабайт памяти, и размещай там объекты как хочешь. а в джаве - огромная фрагментация данных в куче. и весь доступ осуществляется через крупные цепочки ссылок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 22:22 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа что непонятного? Кривизна формулировки. выделил мегабайт памяти, и размещай там объекты как хочешь. Ну так и надо говорить про арифметику указателей. а в джаве - огромная фрагментация данных в куче. и весь доступ осуществляется через крупные цепочки ссылок. А вот это неверно. Как раз автоматический GC позволяет избежать фрагментации там, где руками это сделать очень непросто. Правда, в обсуждаемой задаче (компиляторы) это совершенно не важно, фрагментации там не будет в любом случае, так как мы можем оперировать очень хорошо разграниченными пулами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 22:33 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestдалее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) и возможности напрямую работать с голой памятью, накладывая на нее структуры данных так понятнее?Как будто в лиспах нет возможности накидать гадостей в голую память :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 22:50 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackal, ну хватит уже раскрутка компилятора, бутстрэппинг яву пишут на яве, лиспы тоже пишут на лиспах и прочее хватит тут всех убеждать, что компиляторы нужно писать на с++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 22:52 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackalЗа счет того, что в коде на C++ будут использоваться пулы - т.е., породил парсер AST, кодогенератор сделал из него LLVM IR модуль, и весь пул с AST тут же удаляется, тогда как в managed языках на этом AST потом будет долго спотыкаться GC. И так на каждом этапе компиляции, со всеми промежуточными структурами (а они могут быть очень большими).Ну то есть пулы придумали именно сиплюсплюсовцы и никак не раньше, ага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 22:55 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestхватит тут всех убеждать, что компиляторы нужно писать на с++У Си при построении компиляторов обнаруживаются два больших достоинства --- меньший дефицит годных кадров и достаточно удобные средства отладки, компенсирующие неприспособленность языка для задач сопоставления с образцом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:00 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
> Как будто в лиспах нет возможности накидать гадостей в голую память :) не очень понимаю, как это сделано вот пусть у нас есть бинарный файлик в определенном формате - пусть этот файлик выступает в роли простейшего хранилища обычной реляционной таблички с фиксированным количеством полей в сишке его можно прочитать в память и потом тупо начать накладывать структурки c полями, соответствующими полям таблицы на эту память по определенному смещению - тогда доступ к полям будет осуществлятся исключительно быстро а как это сделать в лиспах? там же все равно будут некие накладные расходы - скорей всего, будет происходить копирование этого куска памяти, соответствующего одной записи в некое s-exp для возможности дальнейшей обработки.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:03 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruКак будто в лиспах нет возможности накидать гадостей в голую память :) В общелиспе? Так, чтоб об эту голую память GC не спотыкался? Не, нет такой возможности разумными путями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:10 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestяву пишут на яве Ага, так написали, что единственный действительно удобный для пользователя компилятор Java - это Jikes. Который, таки да, работает как раз более чем в десять раз быстрее чем родной компилятор. Угадайте, на чем он написан? лиспы тоже пишут на лиспах Ну, про этих в приличном обществе лучше вообще не говорить. хватит тут всех убеждать, что компиляторы нужно писать на с++ Уточнение - БЫСТРЫЕ компиляторы надо писать на C++. Да, язык низкоуровневый, некоторые вещи требуют большого объема boilerplate-кода, но за все за это мы получаем сверхсветовую скорость работы. Поверьте, оно того стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:13 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruНу то есть пулы придумали именно сиплюсплюсовцы и никак не раньше, ага. Ну то есть пулы фундаментально несовместимы с тотальным GC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:14 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestа как это сделать в лиспах? Там вообще другая идеология, там глупо было бы этими вещами заниматься. Там скорее вот так сделают: http://okmij.org/ftp/Scheme/binary-io.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:16 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruнеприспособленность языка для задач сопоставления с образцом. 1) Посмотрите на tablegen в LLVM 2) Посмотрите на Elsa (и конкретно на http://scottmcpeak.com/elkhound/sources/ast/index.html ) 3) Ничто не мешает и более сложные DSL поверх C++ (или какого либо препроцессора над C++) сделать. Можно даже аналог scrap your boilerplate сделать ( http://www.haskell.org/haskellwiki/Scrap_your_boilerplate ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:21 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackalАга, так написали, что единственный действительно удобный для пользователя компилятор Java - это Jikes. Который, таки да, работает как раз более чем в десять раз быстрее чем родной компилятор. Угадайте, на чем он написан?Ну угадали. И что? Оп-па - последний билд на SF датирован февралём 2005 года. Ну что сказать - всех уделал. P.S. Да, разумеется - IBM, взявши проект под своё крыло могла его закрыть и развивать, но "меня опять терзают смутные сомнения ...". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:25 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_rukosh the bestдалее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) и возможности напрямую работать с голой памятью, накладывая на нее структуры данных так понятнее?Как будто в лиспах нет возможности накидать гадостей в голую память :)тут уж конкретный лисп нужно упоминать. а то в некоторых - нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:26 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
Ну, все, вывод ясен. С++ нужен для написания быстрых компиляторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2012, 23:29 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
oldjackal1) Посмотрите на tablegen в LLVM 2) Посмотрите на Elsa (и конкретно на http://scottmcpeak.com/elkhound/sources/ast/index.html ) 3) Ничто не мешает и более сложные DSL поверх C++ (или какого либо препроцессора над C++) сделать. Можно даже аналог scrap your boilerplate сделать ( http://www.haskell.org/haskellwiki/Scrap_your_boilerplate )В достаточно разумном компиляторе задачи сопоставления с образцами не заканчиваются с окончанием синтанализа, а только начинаются. И для их решения сишными средствами приходится городить толстый-толстый слой всякой ерунды, а чтобы эта ерунда шевелилась с разумной скоростью, приходится начинать с самого низа --- своя выделялка памяти большими кусками, свои пулы внутри этих кусков, свои специальные кучки внутри этих кусков, свои объекты в этих кучках и пулах (а typedef для этих объектов по историческим причинам у нас носит имя caddr_t :), свои структурки из этих объектов, специфические уже для конкретного транслятора, свои процедурки обходов этих структурок, сопоставлений с образцами, переписываний, поисков неподвижных точек... А ведь всё это --- здоровенный велосипед, многократно изобретённый и внедрённый, и он пишется не потому, что предыдущие плохи, а потому что в достаточно продолжительном проекте оказывается дешевле написать и поддерживать свой, чем интегрировать чужое и поддерживать эту интеграцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2012, 00:05 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruoldjackalЯ так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Хотите ждать результатов компиляции в десять раз дольше?Не знаю, как прям сейчас, а недавно самый быстрый код для честных 80-битных даблов (без GPU) генерили из смеси Austin Kyoto Common Lisp + Livermore SDL. Так что фраза "Java или там Lisp какой" выдаёт в вас немножко неспециалиста. Очевидно речь идет о том, на каком языке можно написать самый быстрый компилятор. iv_an_ruoldjackal, Сравнивать лисп и си по скорости компиляции ещё забавнее, так как си вообще компиляется до-о-олго, дольше любого паскаля, ну а лиспы компиляются быстрее любых паскалей. А сравнивать компиляции разного качества оптимизации --- ну, не знаю с чем сравнить. Очевидно речь идет о том, на каком языке можно написать самый быстрый компилятор. И так и сяк вопрос повернули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2012, 04:12 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
kosh the bestoldjackal, ну хватит уже раскрутка компилятора, бутстрэппинг яву пишут на яве, А как этот компилятор называется? И какие библиотеки на яве могли бы помочь в написании компилятора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2012, 04:23 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
На чем пишут компиляторына каком языке можно написать самый быстрый компилятор.На ассемблере! Принципиальные возражения будут? Нет. При вложении достаточных денег написать можно. На практике почему-то так не делают. И пишут много на чём, выбирая нужный компромисс между производительностью и ценой разработки. Можете попробовать написать на плюсах самоприменимый mix ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2012, 09:34 |
|
||
|
Зачем нужен C++ ?
|
|||
|---|---|---|---|
|
#18+
iv_an_ruВ достаточно разумном компиляторе задачи сопоставления с образцами не заканчиваются с окончанием синтанализа, а только начинаются. Я где-то про парсинг вообще говорил? Библиотека ast в Elsa это уже совсем другой уровень. А уж tablegen и подавно. Вы бы хоть посмотрели внимательно, прежде чем комментировать. И для их решения сишными средствами приходится городить толстый-толстый слой всякой ерунды, Ой не надо. Чего там толстого-то? ADT это тупо tagged unions, компилятор даже довольно сложного языка шаблонов пишется на коленке за час максимум (код-то надо очень простой генерить, лесенки из if-ов и switch-ей получаются). а чтобы эта ерунда шевелилась с разумной скоростью, приходится начинать с самого низа --- своя выделялка памяти большими кусками, свои пулы внутри этих кусков, Все уже украдено до нас. Полно готовых аллокаторов. свои специальные кучки внутри этих кусков, свои объекты в этих кучках и пулах (а typedef для этих объектов по историческим причинам у нас носит имя caddr_t :), свои структурки из этих объектов, специфические уже для конкретного транслятора, свои процедурки обходов этих структурок, Какие такие процедурки? Весь этот boilerplate тривиально генерить из декларативного, высокоуровневого описания. сопоставлений с образцами, переписываний, поисков неподвижных точек... Опять же, тривиальный boilerplate. То, что всякие там компиляторы haskell делают - это вовсе не rocket science, это очень примитивное раскрытие простейших шаблонов. Такое и поверх C++ сделать элементарно. А ведь всё это --- здоровенный велосипед, многократно изобретённый и внедрённый, и он пишется не потому, что предыдущие плохи, а потому что в достаточно продолжительном проекте оказывается дешевле написать и поддерживать свой, чем интегрировать чужое и поддерживать эту интеграцию. Такие велосипеды делаются легко и быстро. Так что нет даже смысла искать готовое, настолько все тривиально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2012, 15:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1342061]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
219ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 528ms |

| 0 / 0 |
