Re[23]: Оставаться в С++ или уходить?
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 12.05.22 08:22
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Похоже, питон так не может. Но никто не мешает установить параллельно старую версию питона. Гемор, не спорю.


Это не только гемор, но и рост технического долга.

N>>Нет, я пишу приложения/библиотеки/сервисы, которые оптимизированы под конкретный инстанс

Аё>Т.е. пишешь монолит.

Да.
Re[17]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 12.05.22 08:28
Оценка: +2
Здравствуйте, Артём, Вы писали:

S>>К простому точно не приведет, мы же в C++, здесь просто не бывает. Ну вот вообще никогда


Аё>И это imho причина маргинализации C++.


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

Другое дело, что это совпало с необходимостью массово разрабатывать новый софт для новых платформ в конце 1980-х и в 1990-х, а эти самые новые платформы не могли похвастаться производительностью, чтобы нормально тянуть софт на каком-нибудь Smalltalk или Lisp. Низкая мощность тогдашних персоналок и мини-компьютеров как раз и перевела большинство задач именно в эту нишу. Добавим сюда еще и то, что 1980-е и 1990-е -- это расцвет десктопа, для разработки которого ООП оказался более чем удачным, а C++ был одним из немногих нативных+эффективных языков, который это самое ООП более чем прилично поддерживал.

К началу 2000-х мощность ПК выросла уже достаточно для того, чтобы условная Java перестала тормозить. Поэтому с начала 2000-х начался закономерный отток из C++. Который усугубился еще и 15 годами застоя в развитии самого языка.

Ну а сейчас C++ вполне себе живет там, где он и должен был бы жить всегда. И конкуренцию ему составляет пока что чистый Си и, местами, Rust.

Аё>Т.е. того, что в нем остались лишь маргиналы.


Ты не представляешь, как это хорошо, когда в плюсах нет персонажей вроде тебя. Правда, природа еще не настолько очистилась, подобные тебе еще встречаются и гораздо чаще, чем хотелось бы.
Re[17]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 12.05.22 08:34
Оценка: +1
Здравствуйте, night beast, Вы писали:

NB>потому в последнее время и посматриваю на раст.


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

NB>но сейчас в основном работа на питоне идет, так что руки не доходят.


По нынешним временам если работа вообще идет, то это уже более чем хорошо. Не всем так везет
Re[18]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 12.05.22 22:27
Оценка:
Здравствуйте, so5team, Вы писали:

S>Причина не в этом. Причина в том, что C++ изначально создавался для очень узкого спектра задач.


Это неправда. C++ появился, как прикладной системный язык- как C, но с классами как у Smalltalk. У C хорошая производительность, у Smalltalk плохая. C с классами продавал идею на елку залезть, и не ободраться. Тогда не было альтернатив, а теперь альтернатив просто дофига. Начиная с легаси уже жавы, которую оч давно JVM довели производительность до сравнимой с C, потом V8 который догнал JVM, и Go, который компилируемый, быстрый, и без вывиха мозга сиплюсного. А еще Clojure / ClojureScript, хотя это не попсовый язык.
Re[21]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 13.05.22 01:58
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Точно также при компиляции приходится лочить версию компилятора. Потому что при апгрейде компилятора, ненулевая вероятносиь что что-то отвалится.

Вот уже какая версия CLang меняется и всё никак не начнёт отваливаться
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[19]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 13.05.22 04:02
Оценка:
Здравствуйте, Артём, Вы писали:

S>>Причина не в этом. Причина в том, что C++ изначально создавался для очень узкого спектра задач.


Аё>Это неправда.


Очень надеюсь, что ты сможешь объяснить что именно неправда.

Аё>C++ появился, как прикладной системный язык- как C, но с классами


Именно это -- "прикладной системный язык" -- и есть язык для очень узкого спектра задач, далее смотри по тексту. Для более широкого спектра есть просто прикладные языки. Или чисто системные (к коим можно отнести чистый Си, Modula-2 и Ada-95, а сейчас еще и Rust).

Аё>как у Smalltalk.


Как у Simula, если быть точным.

Аё>У C хорошая производительность, у Smalltalk плохая. C с классами продавал идею на елку залезть, и не ободраться.


Чем это противоречит тому, что я говорил выше?

Аё>Тогда не было альтернатив


Были. Если брать нативные языки с поддержкой ООП и высокой производительностью, то в 1980-х появились (из тех, что я знаю): Eiffel, ObjectPascal (ставший в 1990-е популярным в виде диалекта Delphi), Objective-C (вот уж где пытались скрестить производительность Си с классами из SmallTalk-а), Modula-3 (не взлетел), Oberon (до сих пор является фетишем для истинных верующих).

Если не требовать ООП, то были Pascal, Modula-2 и Ada-83/95.

Так что C++ был не единственным и уж точно он не был однозначным лидером. А с учетом того, что первую версию Windows начинали писать на Pascal и C++ проник в системную разработку в Microsoft в начале 1990-х, т.е. лет на 5-6 позже, то у какого-нибудь TurboPascal в 1980-х шансов стать мейнстримом на ПК было не меньше.

Аё>Начиная с легаси уже жавы, которую оч давно JVM довели производительность до сравнимой с C, потом V8 который догнал JVM, и Go, который компилируемый, быстрый, и без вывиха мозга сиплюсного. А еще Clojure / ClojureScript, хотя это не попсовый язык.


Ну а теперь объясни чем это противоречит тому, что я писал выше. И где же я сказал неправду.
Re[20]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 13.05.22 04:24
Оценка: +1
Здравствуйте, so5team, Вы писали:

S>>>Причина не в этом. Причина в том, что C++ изначально создавался для очень узкого спектра задач.


Аё>>Это неправда.


S>Очень надеюсь, что ты сможешь объяснить что именно неправда.

Что еще обьяснять, когда на C++ писали вообще весь прикладной софт.

Аё>>C++ появился, как прикладной системный язык- как C, но с классами


S>Именно это -- "прикладной системный язык" -- и есть язык для очень узкого спектра задач, далее смотри по тексту.

Для всего спектра.


S>Были. Если брать нативные языки с поддержкой ООП и высокой производительностью, то в 1980-х появились (из тех, что я знаю): Eiffel, ObjectPascal (ставший в 1990-е популярным в виде диалекта Delphi), Objective-C (вот уж где пытались скрестить производительность Си с классами из SmallTalk-а), Modula-3 (не взлетел), Oberon (до сих пор является фетишем для истинных верующих).

Дельфи (паскаль) весьма сливал C++ по производительности. И ниша его была узкой- клиент к БД.


Аё>>Начиная с легаси уже жавы, которую оч давно JVM довели производительность до сравнимой с C, потом V8 который догнал JVM, и Go, который компилируемый, быстрый, и без вывиха мозга сиплюсного. А еще Clojure / ClojureScript, хотя это не попсовый язык.


S>Ну а теперь объясни чем это противоречит тому, что я писал выше. И где же я сказал неправду.


Неправда что C++ всегда был нишевым. Это не так.
Re[21]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 13.05.22 04:37
Оценка: +1
Здравствуйте, Артём, Вы писали:

S>>Очень надеюсь, что ты сможешь объяснить что именно неправда.

Аё>Что еще обьяснять, когда на C++ писали вообще весь прикладной софт.

Тёмчик, актись, просто ахриненную кучу прикладного софта на ПК писали на dBase/FoxBase/Clipper, VisualBasic, Clarion, PowerBuilder, Delphi и пр. Настолько ахриненную, что C++ просто нервно курил в сторонке. И уж софт был прикладнее некуда.

S>>Именно это -- "прикладной системный язык" -- и есть язык для очень узкого спектра задач, далее смотри по тексту.

Аё>Для всего спектра.

Да, для всего этого узкого спектра.

S>>Были. Если брать нативные языки с поддержкой ООП и высокой производительностью, то в 1980-х появились (из тех, что я знаю): Eiffel, ObjectPascal (ставший в 1990-е популярным в виде диалекта Delphi), Objective-C (вот уж где пытались скрестить производительность Си с классами из SmallTalk-а), Modula-3 (не взлетел), Oberon (до сих пор является фетишем для истинных верующих).

Аё>Дельфи (паскаль) весьма сливал C++ по производительности.

В начале 1990-х разница в производительности между C++, C, Pascal, Modula-2 гораздо, гораздо ниже, чем в каком-нибудь 1998-ом между С++ и Java. Бенчмарков в тогдашних околокомпьютерых журналах было в избытке и результаты зависели от компилятора и задачи. Так что на фоне SmallTalk-а или Clipper-а у Pascal/Modula-2 производительность была более чем достаточная.

Аё>И ниша его была узкой- клиент к БД.


Ну что поделать, слишком поздно появился.

Аё>Неправда что C++ всегда был нишевым. Это не так.


Тёмчик, это так. А то, что ты не можешь с этим смириться -- это твои личные половые трудности.
Отредактировано 13.05.2022 4:48 so5team . Предыдущая версия .
Re[22]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 13.05.22 08:07
Оценка:
Здравствуйте, so5team, Вы писали:

S>Тёмчик, актись, просто ахриненную кучу прикладного софта на ПК писали на dBase/FoxBase/Clipper, VisualBasic, Clarion, PowerBuilder, Delphi и пр. Настолько ахриненную, что C++ просто нервно курил в сторонке. И уж софт был прикладнее некуда.

Все перечисленное использовалось на уровне локальной организации.

S>>>Именно это -- "прикладной системный язык" -- и есть язык для очень узкого спектра задач, далее смотри по тексту.

Аё>>Для всего спектра.

S>Да, для всего этого узкого спектра.

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

S>В начале 1990-х разница в производительности между C++, C, Pascal, Modula-2 гораздо, гораздо ниже, чем в каком-нибудь 1998-ом между С++ и Java.

Жава была просто ужасна, не нужно этого вот на ночь. Как жаваскрипт. А дельфи реально сливала плюсам по скорости, это хорошо помню. Как ассемблерная вставка расшила тормозную функцию с секунд до миллисекунд, и следом то же самое, на VC++ 6 без всяких вставок за миллисекунды работало.

S> на фоне SmallTalk-а или Clipper-а у Pascal/Modula-2 производительность была более чем достаточная.

На фоне улитки, да.

Аё>>И ниша его была узкой- клиент к БД.


S>Ну что поделать, слишком поздно появился.

Не поздно, напрямую конкурирлвал с VB6.

Аё>>Неправда что C++ всегда был нишевым. Это не так.


S>Тёмчик, это так. А то, что ты не можешь с этим смириться -- это твои личные половые трудности.


Ок, если ты не мог найти работу на C++ в 90-х- это твои половые трудности. В моем окружении C++ был самым таким мейнстримом.
Re[23]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 13.05.22 08:33
Оценка:
Здравствуйте, Артём, Вы писали:

S>>Тёмчик, актись, просто ахриненную кучу прикладного софта на ПК писали на dBase/FoxBase/Clipper, VisualBasic, Clarion, PowerBuilder, Delphi и пр. Настолько ахриненную, что C++ просто нервно курил в сторонке. И уж софт был прикладнее некуда.

Аё>Все перечисленное использовалось на уровне локальной организации.

А теперь подумай о количестве этих самых локальных организаций. Ну или задумайся о том, на чем же делали деньги разработчики FoxBase (и почему они были куплены MS-ом), Clarion, PowerBuilder и т.д. Если все писали на C++ (на самом деле нет), то кому они свои продукты-то продавали?

S>>Да, для всего этого узкого спектра.

Аё>Весь десктоп на сиплюсах был.

Тёмчик, ну нельзя же быть настолько неспособным думать. Я же говорил, что в 1980-х/1990-х так совпало, что из-за слабости тогдашнего железа изрядная часть разработки попала в категорию "высокая сложность самой задачи с высокими требованиями к производительности/эффективности и/или тесной интеграцией с системой". Как раз в плане "высоких требований к производительности". Хотя и сложность разработки под десктоп в 1990-ом была значительно выше, чем даже в 1995-ом. Ну и плюс нужно было тесно общаться с ОС, что было проще для Си и C++, чем для других ЯП.

Но стоило только железу стать мощнее, а инструментарию для GUI продвинутее, как разработка под десктоп перестала быть сложной и требующей производительности.

Аё>А дельфи реально сливала плюсам по скорости, это хорошо помню.


Блин, ну хоть прочитать то, что я тебе пишу ты можешь? Речь идет о середине 1980-х и самом начале 1990-х, когда и C++, и Eiffel, и Objective-C, и ObjectPascal были никем и звать их было никак. Они все боролись за место под Солнцем. И производительность у них была плюс-минус одинаковая.

Это потом уже определились лидеры и в этих лидеров было вбухало немерено средств на оптимизацию компиляторов.

Когда Delphi появился в 1994-ом C++ уже был самым что ни есть мейнстримом (в своей нише) с кучей компиляторов от разных вендоров, некоторые из которых славились своими оптимизаторами и скоростью работы результирующего кода (вроде Watcom C++).

Аё>Как ассемблерная вставка расшила тормозную функцию с секунд до миллисекунд, и следом то же самое, на VC++ 6 без всяких вставок за миллисекунды работало.


Как бы Pascal всегда был более безопасным языком, чем Си и C++, там была куча проверок в run-time и для получения максимальной производительности местами требовалось играться с директивами компилятора. Тем не менее, в 1990-х в постсоветских ВУЗах Delphi широко использовался для вычислительных задач и для задач имитационного моделирования, где производительность была не на последнем месте.

Так что ты скорее вспоминаешь прохладные истории про кривизну собственных рук.

S>>Ну что поделать, слишком поздно появился.

Аё>Не поздно, напрямую конкурирлвал с VB6.

Поздно для того, чтобы стать мейнстримом и захватить вообще все. Пришлось довольствоваться своей нишей. Но и этой нише многие бы позавидовали бы.

Хотя и за пределами "морды к БД" на Delphi делали разное. Первые версии Skype тому отличный пример.

Аё>Ок, если ты не мог найти работу на C++ в 90-х- это твои половые трудности. В моем окружении C++ был самым таким мейнстримом.


В 90-х я как раз таки программировал на C++, но это были специфические задачи, типа АСУТП. А вокруг было огромное количество работы на FoxBase/Clipper/VisualBasic/Delphi. Так что где-то C++ был мейнстримом, а где-то его применяли разве что для того, чтобы узкие места по производительности расшить.
Re[18]: Оставаться в С++ или уходить?
От: кубик  
Дата: 15.05.22 02:03
Оценка: 4 (1)
S>Причина не в этом. Причина в том, что C++ изначально создавался для очень узкого спектра задач.

C++ не создавался изначально для очень узкого спектра задач.
Re[16]: Оставаться в С++ или уходить?
От: sergey2b ЮАР  
Дата: 15.05.22 02:15
Оценка:
Электромобили занимают 2% рынка в год
Re[20]: Оставаться в С++ или уходить?
От: sergey2b ЮАР  
Дата: 15.05.22 02:28
Оценка:
Немного позанудствую ооп добавили в turbo pascal в версию 5.5 это примерно 88 год
Компилятор позволял собирать проекты в 100 тыс трое можно было. Обрата не имея hdd
Дельфиновых появилось после выхода win 3,1 думаю это 92 год
Re[19]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 15.05.22 04:00
Оценка:
Здравствуйте, кубик, Вы писали:

S>>Причина не в этом. Причина в том, что C++ изначально создавался для очень узкого спектра задач.


К>C++ не создавался изначально для очень узкого спектра задач.


Из "Дизайн и эволюция языка C++" Страуструпа:

С++ -- это язык программирования общего назначения, цель которого -- сделать работу серьезных программистов более приятным занятием.


...остановлюсь на сильных сторонах C++:

* низкоуровневое системное программирование;

* высокоуровневое системное программирование;

* встроенные системы;

* численные и научные расчеты;

* общее прикладное программирование.


Каждый сам может оценить ширину спектра, особенно с учетом того, какое количество софта в этих же нишах разрабатывались, разрабатываются и будут разрабатываться не на C++.
Re[21]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 15.05.22 04:03
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>Немного позанудствую ооп добавили в turbo pascal в версию 5.5 это примерно 88 год


Turbu Pascal 5.5 -- май 1989.

S>Дельфиновых появилось после выхода win 3,1 думаю это 92 год


Delphi 1.0 -- февраль 1995.

https://delphi.fandom.com/wiki/Delphi_Release_Dates
Re[20]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 16.05.22 04:28
Оценка:
Здравствуйте, so5team, Вы писали:

S>>>Причина не в этом. Причина в том, что C++ изначально создавался для очень узкого спектра задач.


К>>C++ не создавался изначально для очень узкого спектра задач.


S>Из "Дизайн и эволюция языка C++" Страуструпа:


S>

С++ -- это язык программирования общего назначения, цель которого -- сделать работу серьезных программистов более приятным занятием.


S>

...остановлюсь на сильных сторонах C++:

S>* низкоуровневое системное программирование;

S>* высокоуровневое системное программирование;

S>* встроенные системы;

S>* численные и научные расчеты;

S>* общее прикладное программирование.


Так это широкий спектр задач
Притом, из ядра, из драйверов, C++ так и не вытеснил C.

S>Каждый сам может оценить ширину спектра, особенно с учетом того, какое количество софта в этих же нишах разрабатывались, разрабатываются и будут разрабатываться не на C++. Высокоуровневое системное- типа шелл, десктопный софт- сама эта область уменьшилась в разы, все что можно и нельзя, перенесли в веб и в облака. И тоже не вытестил C++ другие языки на десктопе.

Численные рассчеты- ну давай, покажи мне датааналистов, квантов- экспертов в C++. Там питон, матлаб, R.
"общее прикладное" это что вообще? Десктоп? См. выше.

C++ остается де-факто выбор в видео-играх, для кастомизации движка. Так-то движок исполняет скриптовый язык, какой-нибудь lua.- вот на lua и питоне, игродевы и пишут игры.
Re[21]: Оставаться в С++ или уходить?
От: so5team https://stiffstream.com
Дата: 16.05.22 05:07
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Так это широкий спектр задач

Аё>Притом, из ядра, из драйверов, C++ так и не вытеснил C.
Аё>Численные рассчеты- ну давай, покажи мне датааналистов, квантов- экспертов в C++. Там питон, матлаб, R.
Аё>"общее прикладное" это что вообще? Десктоп? См. выше.

Тёмчик, ты сам в своих словах противоречий не видишь? Если что, то не стесняйся, спроси, я покажу пальцем.
Re[21]: Оставаться в С++ или уходить?
От: CreatorCray  
Дата: 16.05.22 05:16
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>Притом, из ядра, из драйверов, C++ так и не вытеснил C.

Писал на С++ в ядре ещё лет 10 назад
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[22]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 19.05.22 04:02
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

CC>Писал на С++ в ядре ещё лет 10 назад

Только в макоси в ядре COM и C++. Можешь рассказать нам, как хорошо работают исключения и вообще стандартный рантайм C++ в ядре.
Re[22]: Оставаться в С++ или уходить?
От: Артём Австралия жж
Дата: 19.05.22 04:48
Оценка:
Здравствуйте, so5team, Вы писали:

S>Тёмчик, ты сам в своих словах противоречий не видишь? Если что, то не стесняйся, спроси, я покажу пальцем.


http://rsdn.org/forum/flame.comp/8279055.1
Автор: elmal
Дата: 18.05.22


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

Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.