powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем нужен C++ ?
121 сообщений из 121, показаны все 5 страниц
Зачем нужен C++ ?
    #38013447
Сто-111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поиски работы навели на вопрос.
Ясно, что есть вакансии под него и есть проекты, в том числе новые, но тем не менее, если смотреть в будущее, то где ниша у него?

Такое чувство, что в язык напихана невообразимая куча всего и вся эта куча со скрипом пригождается в любом проекте. Например, есть Qt, так пришлось специальный препроцессор изобретать для введения в язык специфических фич. Фактически Qt формально не на C++ написан.

Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell

Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013488
ДохтаР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?

Я именно так и использую.
Првилнее сказать использовал.
За поледний год не написал ни строчки кода.

На чистом С писать разучился ,
регулярно исполузую выпригивание из области видимости через исключения.

А С сишными сет-лонг-джампами с таким полетом мысли можно утонуть в отладке..
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013495
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111в будущее, то где ниша у него?десктоп.

вон майкрософт уже опомнилась, и вернула поддержку с++ в студию.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013502
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111Для геймдева разве что, но и то сомнительно,а что тогда юзать?


Сто-111Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудьче, реально?

и как у этих языков с производительностью?

интел пилит компилятор только для фортрана и с++.

если жава просто тормозит, то эрланг вообще математику не умеет.
Сто-111Так что нужен ли он в перспективе?
да.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013561
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN...
вон майкрософт уже опомнилась, и вернула поддержку с++ в студию.
Это о чем ты?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013565
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmZyK_BotaN...
вон майкрософт уже опомнилась, и вернула поддержку с++ в студию.
Это о чем ты?о том что в прошлых студиях - поддержку с++ никто не пилил, все силы на си-шарп бросили.
да и агитировали за переход на дотНет.

а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013594
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN...
а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8.
Наверное, поэтому решили отбросить все, что было до Win7? http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop-requirements

:)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013601
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmZyK_BotaN...
а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8.
Наверное, поэтому решили отбросить все, что было до Win7? http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop-requirements

:)а это здесь впричем.

и обращаю внимание на слово "express".

т.е. они просто таким образом - стимулируют распространение приложений через их магазин.

каким боком это относится к поддержке с++?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013630
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN,

а без разницы, экспресс/не экспресс.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013634
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видишь: http://www.microsoft.com/visualstudio/eng/products/compatibility - если таргет-платформа - ХР и старее, то VS 2010 ставить надо. А платформа разработки только Win 7 и новее.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013637
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmZyK_BotaN,

а без разницы, экспресс/не экспресс.та ну?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013640
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну та.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013641
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmВидишь: http://www.microsoft.com/visualstudio/eng/products/compatibility - если таргет-платформа - ХР и старее, то VS 2010 ставить надо. А платформа разработки только Win 7 и новее.а, тогда мы о разном.

там прикол в том, что если юзаешь экспресс - то нельзя распространять приложения в обход ихнего маркета.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013645
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNvvmВидишь: http://www.microsoft.com/visualstudio/eng/products/compatibility - если таргет-платформа - ХР и старее, то VS 2010 ставить надо. А платформа разработки только Win 7 и новее.а, тогда мы о разном.

там прикол в том, что если юзаешь экспресс - то нельзя распространять приложения в обход ихнего маркета.
Ссылку дай, пожалуйста. Что-то не могу такого безобразия отыскать.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013655
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmZyK_BotaNпропущено...
а, тогда мы о разном.

там прикол в том, что если юзаешь экспресс - то нельзя распространять приложения в обход ихнего маркета.
Ссылку дай, пожалуйста. Что-то не могу такого безобразия отыскать.

может я что-то неправильно понял? :
http://msdn.microsoft.com/en-us/library/hs24szh9.aspx
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013657
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013675
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 процессоров есть. Для смартфонов/планшетов.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013678
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 процессоров есть. Для смартфонов/планшетов.спасибо за разъяснение
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013742
Сто-111Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell
То что ходят такие легенды - это тоже заслуга исторически сложившихся привычек. Мир, системы, архитектуры, языки поменялись, а привычки остались.

Допустим многие считают, что в С++ проблемы с утечками памяти, нет стандартных алгоритмов, мало поддерживается платформ, нет нормального построителя форм для GUI или что обязательно наткнешься на трудности с множественным наследованием.
Но большинство мыслят просто: "я не смог его изучить - язык говно"
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013814
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111
Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?


Нет, не нужен. Не учи ни в коем случае, пиши на java, php, Perl, .net...

Мне как раз на "пенсии" будет чем заработать на безбедную старость...
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013821
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivСто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?


Нет, не нужен. Не учи ни в коем случае, пиши на java, php, Perl, .net...

Мне как раз на "пенсии" будет чем заработать на безбедную старость...
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013822
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо. с++ - один из самых незаменимых и органичных инструментов для программирования современных приложений.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013823
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы, КРОМЕ андроида, но это все равно не чистая ява, а гибрид, ОЧЕНЬ удачный.
Блин, а сколько было фейлов у явы... Аплеты, jsp, java mobile, jfx, ejb 1 , Ms java...
Я не знаю более фейланутой технологии.
Даже перл выглядит более стройно и согласованно. Ан нет, живет, зараза...
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013827
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNvvmпропущено...

Это о чем ты?о том что в прошлых студиях - поддержку с++ никто не пилил, все силы на си-шарп бросили.
да и агитировали за переход на дотНет.

а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8.

А чего ее пилить?
Стандарта нового не будто пока, и пилить нечего было.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013828
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivZyK_BotaNпропущено...
о том что в прошлых студиях - поддержку с++ никто не пилил, все силы на си-шарп бросили.
да и агитировали за переход на дотНет.

а вот в 2012-й много для с++ сделали, и начали его продвигать как один из основных языков для разработки под вин8.

А чего ее пилить?
Стандарта нового не будто пока, и пилить нечего было.пилить поддержку языка в студии(т.е. в иде)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013829
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПрикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы,

а как же обж-си в яблочных поделках.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013870
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNMasterZivПрикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы,

а как же обж-си в яблочных поделках.
Ну дык там ж не ява, а скорее как раз наоборот...:)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013871
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmZyK_BotaNпропущено...


а как же обж-си в яблочных поделках.
Ну дык там ж не ява, а скорее как раз наоборот...:)кто сказал ява?
я лишь сказал - что не с++.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013876
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNMasterZivПрикольно, что ни одна из "мобильных" платформ так и не выстрелила, везде используют с или плюсы,

а как же обж-си в яблочных поделках.
ну так это и есть c/c++ с препроцессором
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013879
kolchanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Былинный тред
/topic/466654
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013887
ZyK_BotaNMasterZivпропущено...


А чего ее пилить?
Стандарта нового не будто пока, и пилить нечего было.пилить поддержку языка в студии(т.е. в иде)
Что такое "пилить поддержку языка"? И в какой конкретно версии MSVS его "не пилили"?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013889
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилZyK_BotaNпропущено...


а как же обж-си в яблочных поделках.
ну так это и есть c/c++ с препроцессоромта ну?
и что там от с++ то хоть есть?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013891
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое пилить?ZyK_BotaNпропущено...
пилить поддержку языка в студии(т.е. в иде)
Что такое "пилить поддержку языка"? И в какой конкретно версии MSVS его "не пилили"?в последних версиях(2010, 2008).
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013914
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNИзопропилпропущено...

ну так это и есть c/c++ с препроцессоромта ну?
и что там от с++ то хоть есть?

возможность одновременного использования C++ и Objective-C
выглядит конечно страшно. Компилит в конечном итоге gcc
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013929
Хорошо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaNЧто такое пилить?пропущено...

Что такое "пилить поддержку языка"? И в какой конкретно версии MSVS его "не пилили"?в последних версиях(2010, 2008).
Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013932
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилZyK_BotaNпропущено...
та ну?
и что там от с++ то хоть есть?

возможность одновременного использования C++ и Objective-C
выглядит конечно страшно. Компилит в конечном итоге gcc
ага, а под винду есть возможность компилить часть модулей на с++, а часть на делфи. от того делфи не является препроцессоором для с++.


в обж-си - ничего нет от с++, только от си.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013933
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХорошоZyK_BotaNпропущено...
в последних версиях(2010, 2008).
Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)значит в 2012 - тебе понравится еще больше. там реально много запилили.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013935
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХорошоZyK_BotaNпропущено...
в последних версиях(2010, 2008).
Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)з.ы. пишу на многих языках в нотепад++. "Все отлично, мне все нравится" (с).
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013938
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNз.ы. пишу на многих языках в нотепад++. "Все отлично, мне все нравится" (с).особенно - отладчик, и интеллисенс доставляет ещё
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013939
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychZyK_BotaNз.ы. пишу на многих языках в нотепад++. "Все отлично, мне все нравится" (с).особенно - отладчик, и интеллисенс доставляет ещё а зачем отладчик, когда есть логгер?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013940
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNа зачем отладчик, когда есть логгер?бывает, удобней с логгером, бывает - с отладчиком. Один другого не заменяет, а дополняет.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013941
ZyK_BotaNХорошопропущено...

Пишу в 2010. Все отлично, мне все нравится. Хорошо что они не "пилят" :)значит в 2012 - тебе понравится еще больше. там реально много запилили.
Ну наконец чистая конкретика!
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38013943
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychZyK_BotaNа зачем отладчик, когда есть логгер?бывает, удобней с логгером, бывает - с отладчиком. Один другого не заменяет, а дополняет.я все-же предпочитаю логер.

можно спокойно посмотреть на значения каких-то переменных в данный момент.
потом пройтись назад, и увидеть случившиеся события до этого
потом заварить чайку, и заново пересмотреть лог событий.


отладчик такого не позволяет ((
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014028
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNага, а под винду есть возможность компилить часть модулей на с++, а часть на делфи. от того делфи не является препроцессоором для с++.


в обж-си - ничего нет от с++, только от си.
речь идёт о смешениии в ОДНОМ модуле с++ и objective-C
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014082
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Objective-c не мобильная, а универсальная технология. В общем, что с++ что обжектив с — в данном топике наверное все равно.
Или аффтар был инспирирован именно непониманием нужности c++, а не низкоуровневыми языками в общем?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014218
Фотография k0rvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилречь идёт о смешениии в ОДНОМ модуле с++ и objective-C

Objective-C++?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014254
Сто-111Поиски работы навели на вопрос.
Ясно, что есть вакансии под него и есть проекты, в том числе новые, но тем не менее, если смотреть в будущее, то где ниша у него?

Такое чувство, что в язык напихана невообразимая куча всего и вся эта куча со скрипом пригождается в любом проекте. Например, есть Qt, так пришлось специальный препроцессор изобретать для введения в язык специфических фич. Фактически Qt формально не на C++ написан.

Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell

Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?

доктор, скойжите, а чем заменить C++ при программировании UDF для Firebird?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014269
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111....Для написания прикладных программ от бизнес-логики до веб - C++ ИМХО очень неудачный выбор сейчас. Проигрывает и Java и C# и PHP с Perl и Python. Для системных нужд и сейчас выбор - это чистый Си. Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен? Для науки - Си и Fortran. Для распределенных вычислений даже таже Java хороший выбор, а также Erlang какой-нибудь. Для сложной логики, вроде генерации компиляторов и т.п. и быстрого прототипирования - Lisp, Haskell...

сразу видно - человек посчупал компы в этом мире только :)
Вы попробуйте написать например для 51 МК например что нить на сях. ага. с принтф :) в какие нить 4 кило попробуйте въехать с бинарём.
Си для системных нужд. кхм. круто. человек сразу пляшет не от задачи а от определения - о! вот это системные нужды = будем писать на этом языке!
С++ обладает не плюшками и фичами. он следует за ООА и ООП. а не сам по себе.
то же самое и про другие языки сказать можно. у каждого языка есть _слабые_ и _сильные_ стороны! Если Вы хотите быть профессионалом в данной области - Вам надо научится их видеть и понимать. Заметьте - обычно люди с бОльшим опытом говорят типа: работаю столько то лет(или столько то проэктов) а вот не пришлось кроме вот этого применять. качество такое то, цикл разработки такой, времени столько то.... и т.д..

вообще складывается впечатление, что уровень программеров падает с каждым годом. тьху, не о том хотел сказать.
я хотел вам предложить подумать не о форме молотка и пасатижей. А о методике как и где это всё применять. А вэб серваки и на азме можно подымать(про машинные коды промолчим - это уже не язык вовсе), полностью. вопрос только в задаче-рентабельности-качестве. Например на производстве, где каждые 10 рублей удорожания миллионой партии изделия = есть дорогая цена, за то чтоб всё было на лиспе, фортране или си плас плас даже... надеюсь мысль понятна?

удачи вам
(круглый)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014374
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЯ не знаю более фейланутой технологии.
you won't lose if you don't play
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014375
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилZyK_BotaNпропущено...


а как же обж-си в яблочных поделках.
ну так это и есть c/c++ с препроцессоромчто это за язык такой с/c++

повторю еще раз - от с++ там ничего нет. только от си.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014460
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РЕшил таки ответить по существу на поставленные вопросы.

Сто-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++. Так что нужен ли он в перспективе?


ОК, на этот сакраментальный вопрос я уже ответил.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014462
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNИзопропилпропущено...

ну так это и есть c/c++ с препроцессоромчто это за язык такой с/c++

повторю еще раз - от с++ там ничего нет. только от си.

Это правда.
Objective C -- это по идеологии скорее object pascal из Delphi, написанный с использованием С-образного синтаксиса.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014528
Фотография k0rvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivObjective C -- это по идеологии скорее object pascal из Delphi, написанный с использованием С-образного синтаксиса.

Хм... Я думал, что скорее SmallTalk.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014622
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круче всех Дельфи.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014628
Фотография AHTOH_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страуструп почти всю жизнь потратил на развитие C++, а вы говорите что язык не нужен.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38014843
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k0rvinMasterZivObjective C -- это по идеологии скорее object pascal из Delphi, написанный с использованием С-образного синтаксиса.

Хм... Я думал, что скорее SmallTalk.

Нет, до смалтака ему ой как далеко...
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015024
kolchanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Java написан на C
Слишком категоричное утверждение. Java в основном написана на java.
Это очень легко проверить.
В исходниках openjdk-6-src-b26-21_sep_2012
900 файлов на с
и 17000 на java
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормальная пропорция . Хотя... сомневаюсь что тут
численная оценка уместна. Важнее идея.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015069
kolchanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, конечно, важна идея.
Пишем на чем нибудь удобном, тюним,
там где не хватает производительности или возможножности более высокоуровневого языка - эти места пишем на С.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015122
kolchanov> Java написан на C
Слишком категоричное утверждение. Java в основном написана на java.
Это очень легко проверить.
В исходниках openjdk-6-src-b26-21_sep_2012
900 файлов на с
и 17000 на java

Для альтернативно одаренных пояснение еще раз.

Java написан на C
А вот JRE/JDK - вот те уже написаны на Java и немного на C.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015126
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.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015137
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуац,
давай жги дальше
запасся попкорном
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015146
kosh the bestПроясним ситуац,
давай жги дальше
запасся попкорном

Ты хоть понял кто написал вот тот текст на английском, поедатель углеводов?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015244
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Торвальдс -- известный ненавистник плюсов. Тут ничего не поделаешь, и это ни о чём не говорит.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015248
Торвальдс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivТорвальдс -- известный ненавистник плюсов. Тут ничего не поделаешь, и это ни о чём не говорит.
Кстати, интересно, а у Торвальдса скилы по плюсам выше джуниора, есть его открытые хоть какие-то мелкие проекты на плюсах?
Или как обычно, horrible - по этому не изучал, но мнение оставил.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015355
ТорвальдсMasterZivТорвальдс -- известный ненавистник плюсов. Тут ничего не поделаешь, и это ни о чём не говорит.
Кстати, интересно, а у Торвальдса скилы по плюсам выше джуниора, есть его открытые хоть какие-то мелкие проекты на плюсах?
Или как обычно, horrible - по этому не изучал, но мнение оставил.

Т.е. он должен быть нагомнокодиться всласть, выложить эти свои "творения" на всеобщее осмеяние, а потом оставлять свое мнение о том, что вот он, такой неудачник, да, боролся боролся, но так и не смог осилить C++?

А вот для того, чтоб оставить мнение о том, что ходить мужчине на каблуках - как минимум смешно и ненормально, нужно
мужику на каблуках-то проходить, и сколько лет?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015365
Проясним ситуацТорвальдспропущено...

Кстати, интересно, а у Торвальдса скилы по плюсам выше джуниора, есть его открытые хоть какие-то мелкие проекты на плюсах?
Или как обычно, horrible - по этому не изучал, но мнение оставил.

Т.е. он должен быть нагомнокодиться всласть, выложить эти свои "творения" на всеобщее осмеяние, а потом оставлять свое мнение о том, что вот он, такой неудачник, да, боролся боролся, но так и не смог осилить C++?

А вот для того, чтоб оставить мнение о том, что ходить мужчине на каблуках - как минимум смешно и ненормально, нужно
мужику на каблуках-то проходить, и сколько лет?
Вас часто посещают такие образы? :)
Понятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С.

Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015389
Oracle, DB2 и MSSQL лапухнулисьПроясним ситуацпропущено...


Т.е. он должен быть нагомнокодиться всласть, выложить эти свои "творения" на всеобщее осмеяние, а потом оставлять свое мнение о том, что вот он, такой неудачник, да, боролся боролся, но так и не смог осилить C++?

А вот для того, чтоб оставить мнение о том, что ходить мужчине на каблуках - как минимум смешно и ненормально, нужно
мужику на каблуках-то проходить, и сколько лет?
Вас часто посещают такие образы? :)
Понятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С.

Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++?

Oracle, DB2 и Sybase (мама MSSQL) изначально были написаны истинными мужиками, как раз на C (см. когда они сами появились, а когда С++).

И ядра их до сих пор на этом-же языке и пишутся, обвязы-утилиты - не в счет.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015393
Проясним ситуац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.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015401
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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П )))
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015419
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, в частности
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015421
Mike7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle, DB2 и MSSQL лапухнулисьПонятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С.

Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++?

Линус женат и у него двое детей, это к вопросу о подругах :)
Что касается Oracle, DB2 и MSSQL их пример не означает, что на C++ нельзя написать хорошую программу. И кстати, есть сомнения, что ключевые вещи там на C++ написаны, особенно у Oracle и DB2, учитывая что первые версии этих СУБД появились еще до возникновения C++.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015550
Mike7Oracle, DB2 и MSSQL лапухнулисьПонятно, Линус не смог найти себе подругу и во всех толстых бородатых С-плюс-плюсниках видит женщин Ведь истинные мужики пишут на С.

Ну вы точно можете сказать, что Торвальсд объективно и всесторонне рассмотрел язык С++ дав ему экспертную оценку, а Oracle, DB2 и MSSQL лапухнулись используя C++?

Линус женат и у него двое детей, это к вопросу о подругах :)
Что касается Oracle, DB2 и MSSQL их пример не означает, что на C++ нельзя написать хорошую программу. И кстати, есть сомнения, что ключевые вещи там на C++ написаны, особенно у Oracle и DB2, учитывая что первые версии этих СУБД появились еще до возникновения C++ .
Это как бы намекает, что у людей в тот момент не было выбора. А как появился выбор - появился и С++.
И потом С++ не обязывает на каждый чих создавать класс. Многое вполне можно писать в C-style, но в рамках области видимости неймспейса или класса.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015584
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В С++ есть много полезных фич. Если сравнивать с С то, прегрузка и шаблоны помогают писать меньше кода, если сравнивать с C#, Java, то на C++ можно достичь существенно лучшего перформанса.
В общем можно выбирать. У нас проект на С+ и С. Где-то поровну. DAO сделан на С, бизнес и разбор сетевых пакетов на С++, т.к. очень полезна более строгая типизация и классы. Веб морда сделана С (модули для nginx)
Говорить, что какой-то язык круче или он панацея - глупо. Для каждой задчи есть один несколько языков которые лучше всего подходят.
Также приходится учитывать и всякие организационные задачи. Например, если у вас 10 java девелоперов, то делать кусок приложения на C или perl стоит только по очень существенной причине
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015591
Oracle, DB2 и MSSQL лапухнулисьMike7пропущено...


Линус женат и у него двое детей, это к вопросу о подругах :)
Что касается Oracle, DB2 и MSSQL их пример не означает, что на C++ нельзя написать хорошую программу. И кстати, есть сомнения, что ключевые вещи там на C++ написаны, особенно у Oracle и DB2, учитывая что первые версии этих СУБД появились еще до возникновения C++ .
Это как бы намекает, что у людей в тот момент не было выбора. А как появился выбор - появился и С++.
И потом С++ не обязывает на каждый чих создавать класс. Многое вполне можно писать в C-style, но в рамках области видимости неймспейса или класса.

Проблема С++ не в классах. А как раз в евойных темплейтах в виде STL/Boost. Которые еще и непереносимы по факту.

Типовой гамнокодер вместо того, чтоб лишний раз подумать над задачей - обычно заряжает какой хренотени из буста, методом
автоматизированной копипасты, и думает что он уже невероятно крут и вот решил задачу. Плюс абсолютно отфонарное
размазывание абстракций по одноразовым и никогда не наследуемым классам (это дешево для него, а рефакторить кто-то потом будет).

А потом берешь, выгребаешь тонны этого C++/Boost говнища, перепишешь - и в результате чего остается вместо 1500 строк - всего пять-шесть функций на C, на 50-120 строк в сумме.

И так - постоянно. Такой себе C++ мозга - это нечто. Лучшеб они все на Java писали.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015655
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьпропущено...

Это как бы намекает, что у людей в тот момент не было выбора. А как появился выбор - появился и С++.
И потом С++ не обязывает на каждый чих создавать класс. Многое вполне можно писать в C-style, но в рамках области видимости неймспейса или класса.

Проблема С++ не в классах. А как раз в евойных темплейтах в виде STL/Boost. Которые еще и непереносимы по факту.

Типовой гамнокодер вместо того, чтоб лишний раз подумать над задачей - обычно заряжает какой хренотени из буста, методом
автоматизированной копипасты, и думает что он уже невероятно крут и вот решил задачу. Плюс абсолютно отфонарное
размазывание абстракций по одноразовым и никогда не наследуемым классам (это дешево для него, а рефакторить кто-то потом будет).

А потом берешь, выгребаешь тонны этого C++/Boost говнища, перепишешь - и в результате чего остается вместо 1500 строк - всего пять-шесть функций на C, на 50-120 строк в сумме.

И так - постоянно. Такой себе C++ мозга - это нечто. Лучшеб они все на Java писали.
Насчет непереносимости STL совершенно не понимаю. Можно пример?
Ну а насчет набора библиотек boost да, формально для части библиотек есть только ограниченный список поддерживаемых платформ.

Насчет boost, зачем там копипаста? Просто подключаешь библиотеку, а иногда это 100% переносимые шаблоны в хедерах и используешь её, проверенную и исправленную тысячами разработчиков. Никаких копипаст. Или вы и на С никогда библиотек не используете?

Насчет того, что большинство классов не участвует в наследовании. Ну если нет наследования и перегрузки операторов, то воспринимайте это просто как неймспейс с конструктором и деструктором выполняющими функции инициализации и деинициализации.

Проблема С++ в том, что каждая новая возможность умножает число вариантов реализации. А т.к. в С++ возможностей очень много, то зачастую не опытный разработчик из огромного множества выбирает не самый лучший вариант.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38015724
Фотография vromanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STL и BOST это всего лишь библиотеки. Из них STL еще более-менее обычен. Но можно пользоваться просто C++ без использования этих библиотек.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38016297
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?Нужен. Даже если в вашей предметной области он не используется вообще, вы должны знать его на приличном уровне, потому что это часть программистского lingua franca, и его надо знать как минимум чтобы не испытывать лишних трудностей при общении с людьми.

Ну а во-вторых, сколько я работаю, его всё "хоронят" и ругают, а он всё не загибается. Прям как загнивающий капитализм при Советской власти. И в то время, как всё прогрессивное человечество осваивает новые языки, "удешевляющие" и "упрощающие", сиплюсплюсники спокойно и методично внедряют всякие неинтересные #pragma simd и прочие #pragma offload (gtx), аккуратно выжимая из нового железа новые фигафлопсы :)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020271
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111Получается, что C++ в основном нужен по привычке и для режима писать на Си с некоторыми фичами C++. Так что нужен ли он в перспективе?

Ну что ж, вперед, с песнями, напишите аналог LLVM на чем-то отличном от C++. Такой же быстрый, компактный и расширяемый.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020877
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Ну что ж, вперед, с песнями, напишите аналог LLVM на чем-то отличном от C++. Такой же быстрый, компактный и расширяемый.
Не очень хороший довод - как раз llvm то и можно на чем угодно написать без особого ущерба для производительности..
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020894
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++ библиотеки - это не, это сраду в сад.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020906
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сто-111Для геймдева разве что, но и то сомнительно, тормозными фичами C++ не воспользуешься, а иначе зачем он нужен?
Для синтаксического сахару. Ну очень пухнет мозг от старого сишного некрасивого кода, если его много. А STL конечно лесом в задачах с дефицитом системных ресурсов, коими задачи, связанные с 3D-графикой в большом количестве и являются. Ну и не на яве ж такое писать, правда?

А сфера применения пошире чисто геймдева. Любую задачу по обработке большого количества данных, где нужен четкий контроль за выделением и освобождением ресурсов можно писать на с++ не боясь. На любом ЯП "жадные" задачи - это не банальное формошлепство и нет такого ЯП, который бы самостоятельно разрулил возникающие проблемы. Потому тут С++ вполне в тему и конкурентноспособен. А QT берет наличием в фреймворке полезных для интерактивных десктопных приложений компонетов. Примитивный КорелДрав (ну например, конструктор пластиковых окон или типа того) на чем как не на Qt быстрее всего сделать? А вот подобная прога для визуализации графиков и прочей 2D-геометрии GeoGebra выполнена на Яве и очень тормозит интерфейсом. Зато можно запустить и в браузере прямо с сайта, и на десктопе. Это преймущество весомо для небольших приложений, но для массивных - не имеет смысла и в этом случае я бы не стал использовать Яву.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020908
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацOracle, DB2 и MSSQL лапухнулисьНасчет непереносимости STL совершенно не понимаю. Можно пример?Попробуй собрать LevelDB под Embarcadero/Codegear/Borland C++. Приключения гарантированы. Или просто с dinkumware stl, хоть даже под VC++На фоне разных значений M_PI в Борландах и Мелкософте, мелкие непереносимости STL кажутся совершенно незаметными ;)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020913
Проясним ситуац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% копипаста.

Это кто-то где-то придумал, что копипаста это плохо потому, что бездумно, а кто-то обобщил и уверовал, но почему-то не применил это ко всем без исключения библиотекам.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020921
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 поди переписали).
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020924
Edd.DragonПримитивный КорелДрав (ну например, конструктор пластиковых окон или типа того) на чем как не на Qt быстрее всего сделать?
Быстрее всего на Java или на Delphi. Или и вовсе - на C#

В свете текущих тенденций все это скоро и вовсе будет писаться на простом Javascript/HTML5

Edd.DragonА вот подобная прога для визуализации графиков и прочей 2D-геометрии GeoGebra выполнена на Яве и очень тормозит интерфейсом.
А вот Matlab не тормозит. Есть мнение - что писать надо просто уметь.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38020942
Проясним ситуац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 как-то просочились глючные библиотеки, написанные теми кто много говорит о том чего не знает - это прискорбно.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38021106
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацНорма жизни для C++ - ника - это кодирование на STL/Boost, т.е. говнокодирование априори, вынужденное, иначе он будет аутсайдером (вне сообщества).Вот не надо. Хватает и плюсовых работ с вылизыванием всех мелочей (и с угрозой срезать премию тому, кто ещё раз напишет sin там где надо sinf :)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38021143
Oracle, DB2 и MSSQL лапухнулисьТо что STL переносимый, но ты не смог найти нормальный компилятор - мы разобрались.
То что в boost как-то просочились глючные библиотеки, написанные теми кто много говорит о том чего не знает - это прискорбно.

Я очень, просто безмерно, невероятно рад, что ты со всем уже разобрался. Продолжай в том-же духе.


iv_an_ruПроясним ситуацНорма жизни для C++ - ника - это кодирование на STL/Boost, т.е. говнокодирование априори, вынужденное, иначе он будет аутсайдером (вне сообщества).Вот не надо. Хватает и плюсовых работ с вылизыванием всех мелочей (и с угрозой срезать премию тому, кто ещё раз напишет sin там где надо sinf :)

Работ на ассемблере тоже поди хватает. А по факту имеем то, что имеем. В практически любой вакансии на C++ программера мы видем "необходимы экспертные (или продвинутые) знания по STL".

Что уже если не говорит о многом, то вызывает вполне такой себе саркастический смех.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38021190
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проясним ситуацВ практически любой вакансии на C++ программера мы видем "необходимы экспертные (или продвинутые) знания по STL".Ну и что? Вот мы требуем знание плюсов последние 10 лет при том, что миграция с голого си на плюсы ещё не началась (и время на неё планируется только по отстаточному принципу :) Человек должен знать "общеупотребительные слова". Утрированно, если вам для вашей задачи нравится какой-то кусок STL вы должны его использовать. Если не нравится, вы должны знать, что именно не нравится и почему, чтобы не повторить ошибку, когда будете писать свой вариант.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38023559
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestНе очень хороший довод - как раз llvm то и можно на чем угодно написать без особого ущерба для производительности..

Ну напишите. Без ущерба для производительности. Очень интересно.

Или хотя бы расскажите, как именно собираетесь писать. Так, чтоб без ущерба для производительности.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38023670
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llvm - ну вы ведь просто перегоняете файл из одного формата в другой
какая разница на каком языке это делать?
на скорость работы конечного исполняемого файла это никак не скажется
скорее всего, несколько замедлится там процесс компиляции (трансляции, если более общим термином)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38023934
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestllvm - ну вы ведь просто перегоняете файл из одного формата в другой
какая разница на каком языке это делать?

Держусь руками за лицо, истерично хихикаю. Скорость компиляции важна. LLVM, кроме всего прочего, еще и как JIT-компилятор используется. На данный момент Clang является самым быстрым компилятором C++. И это реально важно. Современные программисты, представьте себе, не любят ждать.

на скорость работы конечного исполняемого файла это никак не скажется
скорее всего, несколько замедлится там процесс компиляции (трансляции, если более общим термином)

"Несколько"? Попробуйте оценить это ваше "несколько". Я так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Хотите ждать результатов компиляции в десять раз дольше?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38023957
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldjackalЯ так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Хотите ждать результатов компиляции в десять раз дольше?Не знаю, как прям сейчас, а недавно самый быстрый код для честных 80-битных даблов (без GPU) генерили из смеси Austin Kyoto Common Lisp + Livermore SDL. Так что фраза "Java или там Lisp какой" выдаёт в вас немножко неспециалиста.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38023988
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruНе знаю, как прям сейчас, а недавно самый быстрый код для честных 80-битных даблов (без GPU) генерили из смеси Austin Kyoto Common Lisp + Livermore SDL. Так что фраза "Java или там Lisp какой" выдаёт в вас немножко неспециалиста.

Тот факт, что вы не заметили, что речь идет о скорости компиляции , выдает в вас немножко дислексика.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024004
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldjackal,

Сравнивать лисп и си по скорости компиляции ещё забавнее, так как си вообще компиляется до-о-олго, дольше любого паскаля, ну а лиспы компиляются быстрее любых паскалей. А сравнивать компиляции разного качества оптимизации --- ну, не знаю с чем сравнить.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024019
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Я так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой.
Не согласен. Скорее всего будет замедление на некие проценты, но никак не на порядки. В основном за счет того что в си и с++ есть нативные типы, в то время как в более высокоуровневых языках их нет или их поддержка слаба и ограничена. Также за счет того, что отсутствует возможность напрямую накладывать структурки (или там еще чего) на память, обычно для этого в той же явке приходится делать дополнительное копирование.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024039
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruСравнивать лисп и си по скорости компиляции ещё забавнее, так как си вообще компиляется до-о-олго, дольше любого паскаля,

Все больше убеждаюсь, что был прав насчет дислексии. Перечитайте всю тему. Медленно. По слогам. Может тогда до вас дойдет, что мы тут обсуждаем конкретно компилятор языка C++. Хотя, можно взять любой другой язык, главное его зафиксировать. Так вот, компилятор языка X (пусть для определенности это будет C++), написанный на C++, будет заведомо быстрее работать, чем компилятор того же самого языка X, выполняющий все те же самые оптимизации, написанный на Java или на Lisp.

Так понятно? Или еще более подробно разжевать?

ну а лиспы компиляются быстрее любых паскалей

Тоже в общем случае абсолютно неверно. Паскаль можно компилировать в один проход, а в Лиспе же есть макросы, которые могут исполняться вообще сколь угодно долго (как и шаблоны в C++, кстати).
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024043
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestНе согласен.

Докажите на практике. Реализуйте хотя бы один из тяжеловесных алгоритмов (ну, тот же register allocation) на Лиспе так, чтоб было не сильно медленее чем на C++.

Скорее всего будет замедление на некие проценты, но никак не на порядки.

Именно что на порядки. За счет того, что в коде на C++ будут использоваться пулы - т.е., породил парсер AST, кодогенератор сделал из него LLVM IR модуль, и весь пул с AST тут же удаляется, тогда как в managed языках на этом AST потом будет долго спотыкаться GC. И так на каждом этапе компиляции, со всеми промежуточными структурами (а они могут быть очень большими).

В основном за счет того что в си и с++ есть нативные типы, в то время как в более высокоуровневых языках их нет или их поддержка слаба и ограничена.

Чего? Какие такие типы?!? Если вы про арифметику, то она и в JVM нативная (и, полагаю, в Лиспе, если аннотации типов использовать).

Также за счет того, что отсутствует возможность напрямую накладывать структурки (или там еще чего) на память, обычно для этого в той же явке приходится делать дополнительное копирование.

Чего? Ни слова не понял.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024078
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Может тогда до вас дойдет, что мы тут обсуждаем конкретно компилятор языка C++. Хотя, можно взять любой другой язык, главное его зафиксировать. Так вот, компилятор языка X (пусть для определенности это будет C++), написанный на C++, будет заведомо быстрее работать, чем компилятор того же самого языка X, выполняющий все те же самые оптимизации, написанный на Java или на Lisp.

вы путаетесь в показаниях :)
изначально было так:

>> Ну что ж, вперед, с песнями, напишите аналог LLVM на чем-то отличном от C++. Такой же быстрый, компактный и расширяемый.
> Не очень хороший довод - как раз llvm то и можно на чем угодно написать без особого ущерба для производительности..

подробнее: я высказал предположение, что транслятор llvm ir в машкод целевой платформы можно написать и на других языках, помимо си и с++ с терпимым провалом в скорости трансляции
далее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) и возможности напрямую работать с голой памятью, накладывая на нее структуры данных
так понятнее?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024104
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestподробнее: я высказал предположение, что транслятор llvm ir в машкод целевой платформы можно написать и на других языках, помимо си и с++ с терпимым провалом в скорости трансляции

Какая разница - IR или C++? И то и другое должно транслироваться БЫСТРО . В том же Clang большая часть времени при компиляции тратися именно внутри LLVM (не верите - возьмите профайлер и убедитесь). И делать это быстро на чем либо отличном от C++ вы не сможете. Все остальное будет намного, недопустимо более медленным.

далее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых)

Это как раз нисколько не преимущество, у JVM тоже они нативные, а беззнаковые тут ну совсем не нужны.

и возможности напрямую работать с голой памятью, накладывая на нее структуры данных
так понятнее?

А этой фразы я вообще не понял.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024107
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldjackalи возможности напрямую работать с голой памятью, накладывая на нее структуры данных
так понятнее?

А этой фразы я вообще не понял.а что непонятного?
выделил мегабайт памяти, и размещай там объекты как хочешь.

а в джаве - огромная фрагментация данных в куче. и весь доступ осуществляется через крупные цепочки ссылок.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024111
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNа что непонятного?

Кривизна формулировки.

выделил мегабайт памяти, и размещай там объекты как хочешь.

Ну так и надо говорить про арифметику указателей.

а в джаве - огромная фрагментация данных в куче. и весь доступ осуществляется через крупные цепочки ссылок.

А вот это неверно. Как раз автоматический GC позволяет избежать фрагментации там, где руками это сделать очень непросто. Правда, в обсуждаемой задаче (компиляторы) это совершенно не важно, фрагментации там не будет в любом случае, так как мы можем оперировать очень хорошо разграниченными пулами.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024121
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestдалее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) и возможности напрямую работать с голой памятью, накладывая на нее структуры данных
так понятнее?Как будто в лиспах нет возможности накидать гадостей в голую память :)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024122
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldjackal, ну хватит уже
раскрутка компилятора, бутстрэппинг
яву пишут на яве, лиспы тоже пишут на лиспах и прочее
хватит тут всех убеждать, что компиляторы нужно писать на с++
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024125
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldjackalЗа счет того, что в коде на C++ будут использоваться пулы - т.е., породил парсер AST, кодогенератор сделал из него LLVM IR модуль, и весь пул с AST тут же удаляется, тогда как в managed языках на этом AST потом будет долго спотыкаться GC. И так на каждом этапе компиляции, со всеми промежуточными структурами (а они могут быть очень большими).Ну то есть пулы придумали именно сиплюсплюсовцы и никак не раньше, ага.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024126
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestхватит тут всех убеждать, что компиляторы нужно писать на с++У Си при построении компиляторов обнаруживаются два больших достоинства --- меньший дефицит годных кадров и достаточно удобные средства отладки, компенсирующие неприспособленность языка для задач сопоставления с образцом.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024129
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Как будто в лиспах нет возможности накидать гадостей в голую память :)
не очень понимаю, как это сделано
вот пусть у нас есть бинарный файлик в определенном формате - пусть этот файлик выступает в роли простейшего хранилища обычной реляционной таблички с фиксированным количеством полей
в сишке его можно прочитать в память и потом тупо начать накладывать структурки c полями, соответствующими полям таблицы на эту память по определенному смещению - тогда доступ к полям будет осуществлятся исключительно быстро
а как это сделать в лиспах? там же все равно будут некие накладные расходы - скорей всего, будет происходить копирование этого куска памяти, соответствующего одной записи в некое s-exp для возможности дальнейшей обработки..
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024132
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruКак будто в лиспах нет возможности накидать гадостей в голую память :)

В общелиспе? Так, чтоб об эту голую память GC не спотыкался? Не, нет такой возможности разумными путями.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024134
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestяву пишут на яве

Ага, так написали, что единственный действительно удобный для пользователя компилятор Java - это Jikes. Который, таки да, работает как раз более чем в десять раз быстрее чем родной компилятор. Угадайте, на чем он написан?

лиспы тоже пишут на лиспах

Ну, про этих в приличном обществе лучше вообще не говорить.

хватит тут всех убеждать, что компиляторы нужно писать на с++

Уточнение - БЫСТРЫЕ компиляторы надо писать на C++. Да, язык низкоуровневый, некоторые вещи требуют большого объема boilerplate-кода, но за все за это мы получаем сверхсветовую скорость работы. Поверьте, оно того стоит.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024135
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruНу то есть пулы придумали именно сиплюсплюсовцы и никак не раньше, ага.

Ну то есть пулы фундаментально несовместимы с тотальным GC.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024136
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kosh the bestа как это сделать в лиспах?

Там вообще другая идеология, там глупо было бы этими вещами заниматься. Там скорее вот так сделают: http://okmij.org/ftp/Scheme/binary-io.html
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024138
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 )
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024142
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oldjackalАга, так написали, что единственный действительно удобный для пользователя компилятор Java - это Jikes. Который, таки да, работает как раз более чем в десять раз быстрее чем родной компилятор. Угадайте, на чем он написан?Ну угадали. И что?
Оп-па - последний билд на SF датирован февралём 2005 года.
Ну что сказать - всех уделал.

P.S. Да, разумеется - IBM, взявши проект под своё крыло могла его закрыть и развивать, но "меня опять терзают смутные сомнения ...".
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024143
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_rukosh the bestдалее я написал, почему все же на си и с++ будет быстрее - за счет нативных типов (в том числе и беззнаковых) и возможности напрямую работать с голой памятью, накладывая на нее структуры данных
так понятнее?Как будто в лиспах нет возможности накидать гадостей в голую память :)тут уж конкретный лисп нужно упоминать. а то в некоторых - нельзя.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024145
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, все, вывод ясен. С++ нужен для написания быстрых компиляторов.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024166
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 :), свои структурки из этих объектов, специфические уже для конкретного транслятора, свои процедурки обходов этих структурок, сопоставлений с образцами, переписываний, поисков неподвижных точек... А ведь всё это --- здоровенный велосипед, многократно изобретённый и внедрённый, и он пишется не потому, что предыдущие плохи, а потому что в достаточно продолжительном проекте оказывается дешевле написать и поддерживать свой, чем интегрировать чужое и поддерживать эту интеграцию.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024273
iv_an_ruoldjackalЯ так полагаю, "несколько" будет как минимум в порядок, если заменить C++ на Java или там Lisp какой. Хотите ждать результатов компиляции в десять раз дольше?Не знаю, как прям сейчас, а недавно самый быстрый код для честных 80-битных даблов (без GPU) генерили из смеси Austin Kyoto Common Lisp + Livermore SDL. Так что фраза "Java или там Lisp какой" выдаёт в вас немножко неспециалиста.
Очевидно речь идет о том, на каком языке можно написать самый быстрый компилятор.

iv_an_ruoldjackal,

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

И так и сяк вопрос повернули.
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024275
kosh the bestoldjackal, ну хватит уже
раскрутка компилятора, бутстрэппинг
яву пишут на яве,
А как этот компилятор называется?
И какие библиотеки на яве могли бы помочь в написании компилятора?
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38024306
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На чем пишут компиляторына каком языке можно написать самый быстрый компилятор.На ассемблере! Принципиальные возражения будут? Нет. При вложении достаточных денег написать можно. На практике почему-то так не делают. И пишут много на чём, выбирая нужный компромисс между производительностью и ценой разработки.

Можете попробовать написать на плюсах самоприменимый mix ;)
...
Рейтинг: 0 / 0
Зачем нужен C++ ?
    #38025662
oldjackal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruВ достаточно разумном компиляторе задачи сопоставления с образцами не заканчиваются с окончанием синтанализа, а только начинаются.

Я где-то про парсинг вообще говорил? Библиотека ast в Elsa это уже совсем другой уровень. А уж tablegen и подавно. Вы бы хоть посмотрели внимательно, прежде чем комментировать.

И для их решения сишными средствами приходится городить толстый-толстый слой всякой ерунды,

Ой не надо. Чего там толстого-то? ADT это тупо tagged unions, компилятор даже довольно сложного языка шаблонов пишется на коленке за час максимум (код-то надо очень простой генерить, лесенки из if-ов и switch-ей получаются).

а чтобы эта ерунда шевелилась с разумной скоростью, приходится начинать с самого низа --- своя выделялка памяти большими кусками, свои пулы внутри этих кусков,

Все уже украдено до нас. Полно готовых аллокаторов.

свои специальные кучки внутри этих кусков, свои объекты в этих кучках и пулах (а typedef для этих объектов по историческим причинам у нас носит имя caddr_t :), свои структурки из этих объектов, специфические уже для конкретного транслятора, свои процедурки обходов этих структурок,

Какие такие процедурки? Весь этот boilerplate тривиально генерить из декларативного, высокоуровневого описания.

сопоставлений с образцами, переписываний, поисков неподвижных точек...

Опять же, тривиальный boilerplate. То, что всякие там компиляторы haskell делают - это вовсе не rocket science, это очень примитивное раскрытие простейших шаблонов. Такое и поверх C++ сделать элементарно.

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

Такие велосипеды делаются легко и быстро. Так что нет даже смысла искать готовое, настолько все тривиально.
...
Рейтинг: 0 / 0
121 сообщений из 121, показаны все 5 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем нужен C++ ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]