Re[5]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.02.22 08:49
Оценка: +1
Здравствуйте, Shtole, Вы писали:

S>>>P.S. Чертовски отвратительная вещь, да, но последний проект тоже начал на плюсах. Увы, в некоторых применениях они рулят, да.

S>>>P.P.S. Я вообще считаю, что хорошим сиплюсплюсником можно стать только имея опыт хотя бы по годику на шарпе/джаве (лучше шарпе), джаваскрипте и чём-нибудь функциональном. Чтобы научиться видеть, где у плюсов реально сильные стороны, а где слабые. К сожалению, большинство их — дети монокультуры, которые вокруг себя ничего не видят и, что самое печальное, видеть не хотят.

N>>Где мерял?


S>Мерял что? Если вы про профессиональные качества, была возможность сравнить тех, кто пописал на всяком-разном и осознанно выбрал плюсы как оптимальный инструмент для решения задачи и тех, кто ничего другого знать просто не хочет.


Какая ширина выборки 1) в людях и 2) в фирмах/командах?
Что-то я подозреваю, что в обоих случаях объёмы близкие к ничтожным.

S>А! Про большинство, видимо? Это не измерения, это впечатление. Могу заменить на «встречаются среди них…», мне не принципиально.


Ну вот достоверность такого статистического впечатления под очень естественным сомнением.
The God is real, unless declared integer.
Re[6]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: Shtole  
Дата: 12.02.22 09:13
Оценка:
Здравствуйте, netch80, Вы писали:

S>>Мерял что? Если вы про профессиональные качества, была возможность сравнить тех, кто пописал на всяком-разном и осознанно выбрал плюсы как оптимальный инструмент для решения задачи и тех, кто ничего другого знать просто не хочет.


N>Какая ширина выборки 1) в людях и 2) в фирмах/командах?

N>Что-то я подозреваю, что в обоих случаях объёмы близкие к ничтожным.

Вы о чём? Статистика не нужна, когда у вас есть объяснения. Если человек говорит, например, что стандартная библиотека C++ прекрасна и лишена изъянов только потому, что он других просто не видел, мне не нужна никакая широкая выборка, чтобы назвать такое поведение профессиональной близорукостью.

S>>А! Про большинство, видимо? Это не измерения, это впечатление. Могу заменить на «встречаются среди них…», мне не принципиально.

N>Ну вот достоверность такого статистического впечатления под очень естественным сомнением.

Я же сказал, этот момент для меня не принципиален. Пусть будет не большинство. Пусть будет «некоторые». Беру про большинство назад! Я же ведь только рад буду, на самом деле, если большинство будет разделять точку зрения, озвученную Владом.
Do you want to develop an app?
Re[7]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.02.22 09:22
Оценка:
Здравствуйте, Shtole, Вы писали:

N>>Какая ширина выборки 1) в людях и 2) в фирмах/командах?

N>>Что-то я подозреваю, что в обоих случаях объёмы близкие к ничтожным.

S>Вы о чём? Статистика не нужна, когда у вас есть объяснения.


О да. А гром от того, что Илья-пророк по небу катается. Объяснение есть, зачем что-то ещё?

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


Ещё раз — сколько людей и из скольких команд вы видели и сколько из них такое утверждает?

N>>Ну вот достоверность такого статистического впечатления под очень естественным сомнением.


S>Я же сказал, этот момент для меня не принципиален.


Ааа. Ok, считаю, отказ от предыдущего вывода принят.

S> Пусть будет не большинство. Пусть будет «некоторые». Беру про большинство назад! Я же ведь только рад буду, на самом деле, если большинство будет разделять точку зрения, озвученную Владом.


Почему именно эту точку зрения? Она не менее бредовая, чем ваш пример с "стандартная библиотека C++ прекрасна и лишена изъянов", только в противоположную сторону.
The God is real, unless declared integer.
Re[8]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: Shtole  
Дата: 12.02.22 09:49
Оценка:
Здравствуйте, netch80, Вы писали:

N>>>Какая ширина выборки 1) в людях и 2) в фирмах/командах?

N>>>Что-то я подозреваю, что в обоих случаях объёмы близкие к ничтожным.

S>>Вы о чём? Статистика не нужна, когда у вас есть объяснения.


N>О да. А гром от того, что Илья-пророк по небу катается. Объяснение есть, зачем что-то ещё?


Прилично или нет будет дать ссылку на свой материал на другом ресурсе, где разобрана эта тема? Здесь явно не место для эпистемологических изысканий. Да и желания у меня нет в очередной раз эту тему мусолить. Могу просто в личку скинуть и закроем эту тему, ОК?

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


N>Ещё раз — сколько людей и из скольких команд вы видели и сколько из них такое утверждает?


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

N>Ааа. Ok, считаю, отказ от предыдущего вывода принят.


Смотря какого предыдущего. Про большинство — да. От остального я, вроде бы, не отказывался, чтобы принимать.

S>> Пусть будет не большинство. Пусть будет «некоторые». Беру про большинство назад! Я же ведь только рад буду, на самом деле, если большинство будет разделять точку зрения, озвученную Владом.

N>Почему именно эту точку зрения? Она не менее бредовая, чем ваш пример с "стандартная библиотека C++ прекрасна и лишена изъянов", только в противоположную сторону.

А вы писали годик на шарпе, JS и чём-то более-менее функциональном? Имеется в виду, в реальном проекте, на постоянной основе, с утра до вечера, а не просто потыкать палочкой.
Do you want to develop an app?
Re[9]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.02.22 10:55
Оценка: +1
Здравствуйте, Shtole, Вы писали:

N>>Ещё раз — сколько людей и из скольких команд вы видели и сколько из них такое утверждает?


S>Ещё раз: обсуждайте по существу. Если есть что сказать по существу. Утверждение приведено, и оно, как мне кажется, из разряда самоочевидных. Если человек знает только один инструмент, очевидно, что он понимает его сильные и слабые стороны хуже, чем человек, знакомый с несколькими разными инструментами. Какая вам вообще разница, со сколькими людьми я общался, чтобы придти к этому нехитрому выводу?


Я и говорю по существу, в отличие от вас. Раньше вы писали:

>> Чтобы научиться видеть, где у плюсов реально сильные стороны, а где слабые. К сожалению, большинство их — дети монокультуры, которые вокруг себя ничего не видят и, что самое печальное, видеть не хотят.


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

Есть такое понятие anecdotal evidence, и вы показываете именно его. В мире существует 100500 вариантов всего, включая разработчиков с их отношением к языкам. Кто-то подходит по принципу "задачу решил, а там хоть трава не расти". Кто-то говорит "это идеальный инструмент для всего, другого и не нужно". Кто-то говорит "идеального инструмента не может быть в принципе, но для данных условий с этим можно вполне эффективно работать". У кого-то промежуточная позиция (полный континуум промежуточных позиций, ограниченный количеством людей на планете; считаем, у инопланетян нет C++).

У вас есть какие-то результаты опроса хотя бы на RSDN? На StackOverflow? В каком-то ещё месте, где можно получить ответ на вопрос хотя бы от 200 человек (лучше 1000) и чтобы эта выборка имела шанс быть репрезентативной? И чтобы она была с адекватными вопросами (в первую очередь, сколько ещё языков и подходов человек освоил)?


N>>О да. А гром от того, что Илья-пророк по небу катается. Объяснение есть, зачем что-то ещё?


S>Прилично или нет будет дать ссылку на свой материал на другом ресурсе, где разобрана эта тема? Здесь явно не место для эпистемологических изысканий. Да и желания у меня нет в очередной раз эту тему мусолить. Могу просто в личку скинуть и закроем эту тему, ОК?


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


S>>> Пусть будет не большинство. Пусть будет «некоторые». Беру про большинство назад! Я же ведь только рад буду, на самом деле, если большинство будет разделять точку зрения, озвученную Владом.

N>>Почему именно эту точку зрения? Она не менее бредовая, чем ваш пример с "стандартная библиотека C++ прекрасна и лишена изъянов", только в противоположную сторону.
S>А вы писали годик на шарпе, JS и чём-то более-менее функциональном? Имеется в виду, в реальном проекте, на постоянной основе, с утра до вечера, а не просто потыкать палочкой.

Ну если задача померяться... ok. Я писал, если считать только по пересчёту суммарного времени на чистое рабочее (на глаз, но в целом близко): 9 лет на Python (можно считать эквивалентом JS для данного контекста, тоже максимально динамический), полгода на Perl (аналогично), около года на Java, 4 года на Erlang (пойдёт вам за функциональный?), 4 на C, 4 — на C++. В календарном — большинство цифр умножить примерно на 2, для Perl — около 10, для C — больше 20. Это только основные, были ещё разнообразные отвлечения на ассемблеры, Fortran, Pascal, шеллы, тот же JS... и да, это всё реальные проекты.
Думаю, я на основании этого очень разнообразного опыта могу судить, что C++ вполне неплох в своей нише, и эта ниша вполне широка, чтобы не игнорировать его. И про людей, которые на нём пишут, могу судить: большинство вполне адекватно понимает его преимущества, области адекватной применимости и недостатки — даже если их карьерная среда, как вы выразились, это "монокультура" (хотя таких меньшая часть, из тех, что я видел).


Теперь ваша очередь рассказывать про себя. И спектр средств и задач, и количество разных команд и людей с C++ и не только. Ну или не рассказывайте — но это не придаст вашему личному опыту хоть какой-то вес для остальных.
The God is real, unless declared integer.
Re: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: okman Беларусь https://searchinform.ru/
Дата: 12.02.22 13:03
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>В FAQ есть статья, которую я прочитал много лет назад и сделал выбор в пользу .Net. Все дерзко и вроде бы разумно: https://rsdn.org/forum/info/FAQ.philosophy.dotnetvscpp

S>Вроде все разумно, ...
S>...
S>Как вы сейчас на это все смотрите?

И что там разумного? Сравнение C++ с хождением по граблям на ходулях? Да это какой-то детский сад, даже комментировать нечего.
"XXX лучше YYY" для определенного круга задач. Ну ок, и что с того? Уже обсуждали это все миллионы раз на разных форумах,
разве нет более интересного занятия? Да, все такие обсуждения быстро перерастают в срач и пиписькометрию. Не стоит на это
тратить свое время, его и так с каждым годом становится все меньше.
Re[10]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: Shtole  
Дата: 12.02.22 19:59
Оценка:
Здравствуйте, netch80, Вы писали:

А теперь вернёмся к истокам
Автор: netch80
Дата: 12.02.22
, тысызыть:

S>Мерял что? Если вы про профессиональные качества, была возможность сравнить тех, кто пописал на всяком-разном и осознанно выбрал плюсы как оптимальный инструмент для решения задачи и тех, кто ничего другого знать просто не хочет.

N>Какая ширина выборки 1) в людях и 2) в фирмах/командах?

Я написал про профессиональные качества, но вы начали требовать с меня выборку. А теперь делаете вид, что всё это время спор был про «большинство», хотя я от этого тезиса отказался сразу.

Но трёх раз мало, давайте в четвёртый раз обсудим во всех деталях, как этот парень напрасно сказал «большинство», ведь на самом деле нет никаких доказательств, что это большинство, ведь большинство делает большинством количественное превосходство большинства и только тогда оно большинство. Большинство, большинство, большинство!

S>>>> Пусть будет не большинство. Пусть будет «некоторые». Беру про большинство назад! Я же ведь только рад буду, на самом деле, если большинство будет разделять точку зрения, озвученную Владом.

N>>>Почему именно эту точку зрения? Она не менее бредовая, чем ваш пример с "стандартная библиотека C++ прекрасна и лишена изъянов", только в противоположную сторону.
S>>А вы писали годик на шарпе, JS и чём-то более-менее функциональном? Имеется в виду, в реальном проекте, на постоянной основе, с утра до вечера, а не просто потыкать палочкой.

N>Ну если задача померяться... ok. Я писал, если считать только по пересчёту суммарного времени на чистое рабочее (на глаз, но в целом близко): 9 лет на Python (можно считать эквивалентом JS для данного контекста, тоже максимально динамический), полгода на Perl (аналогично), около года на Java, 4 года на Erlang (пойдёт вам за функциональный?), 4 на C, 4 — на C++. В календарном — большинство цифр умножить примерно на 2, для Perl — около 10, для C — больше 20. Это только основные, были ещё разнообразные отвлечения на ассемблеры, Fortran, Pascal, шеллы, тот же JS... и да, это всё реальные проекты.

N>Думаю, я на основании этого очень разнообразного опыта могу судить, что C++ вполне неплох в своей нише, и эта ниша вполне широка, чтобы не игнорировать его. И про людей, которые на нём пишут, могу судить: большинство вполне адекватно понимает его преимущества, области адекватной применимости и недостатки — даже если их карьерная среда, как вы выразились, это "монокультура" (хотя таких меньшая часть, из тех, что я видел).

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

N>Теперь ваша очередь рассказывать про себя. И спектр средств и задач, и количество разных команд и людей с C++ и не только. Ну или не рассказывайте — но это не придаст вашему личному опыту хоть какой-то вес для остальных.


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

Давайте я просто обозначу реперные точки, которые сочту нужным.

Впервые я начал изучать плюсы одновременно с Direct3D (IM), и было это… в 1998 году, кажется. Изучать и то, и другое приходилось по сэмплам, что, вообще говоря, лучший способ что-то изучить, но, к сожалению, не тогда, когда приходится изучать три вещи сразу: язык, API и MFC (как в некоторых примерах, причём как раз тех, которые мне были нужны — загрузчиках моделей через File/Open). Вообще-то, четыре: ещё и COM, хотя его изучение тогда почему-то совсем не запомнилось. Книги по актуальным компьютерным технологиям тогда стоили дорого для бедной студентоты (впрочем, тут мало что поменялось), а Интернета не было (а вот тут поменялось радикально всё, и слава богам), приходилось читать в магазине. По полчаса за раз. Пока дворник не выгонял, ибо «тут не библиотека». Пока я так не дочитал до главы про this, можете представить, какие адские порождающие паттерны приходилось использовать, чтобы все заинтересованные стороны про всех знали! Особенно, в MFC. Он же, в первую очередь, Model-View-Controller, и только во вторую — библиотека оконных классов. «Житие у нас тогда в шестнадцать лет… тяжкое было».

И после этого я очень много лет каждый день кроме плюсов ничего не видел. Когда появился дотнет, прямо тут про него и читал. Помните? «Память больше не ресурс!» ©IT. Я и до сих пор на плюсах пишу временами. Гигабайты Буста, бесконечные поиски, как чисто плюсовыми средствами сделать не слишком ущербно то, что нужно
Автор: удусекшл
Дата: 04.02.22
, вот это всё.

К счастью, я не стал вариться в собственном соку, а пробовал новое. И после того, как я пописал хорошенько с применением FCL, LINQ, TIS, поизучал немного Nemerle, уж про веб вообще молчу, я его фулстек труба шатал изучал, смотреть без слёз на std::chrono::system_clock::now().time_since_epoch().count(); не могу.

А про разных людей и команды… Ну ок, будет вам сейчас разоблачение сеанса чёрной магии, которого так упорно добивался любезнейший netch80. В общем, когда я написал «большинство», я имел в виду конкретный ресурс. Догадайтесь, какой. Только не просите меня переходить границу невежливости совсем глубоко, приводя конкретные примеры и расчёты. Считайте, что я его читаю так давно, что даже помню поимённо всех, у кого в плюсовом форуме была зелёненькая надпись «Эксперт». Между прочим, на других ресурсах (Хабре, например) картина совсем другая. Там подавляющее большинство согласно с тем, что плюсы отвратительная штука, хотя ей часто приходится пользоваться. А измерения там встроенные.

Что касается этого спора, как вы сами считаете, он аргумент в пользу чего?
Do you want to develop an app?
Re[11]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 12.02.22 22:15
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Я написал про профессиональные качества, но вы начали требовать с меня выборку. А теперь делаете вид, что всё это время спор был про «большинство», хотя я от этого тезиса отказался сразу.


1. Я перечитал ветку и собственно "отказа от тезиса" не вижу. Если это про реплику

S>>Вы о чём? Статистика не нужна, когда у вас есть объяснения.


то его крайне сложно считать "отказом от тезиса".

2. Как уже сказал, странных позиций и подходов может быть много. Но чтобы о них говорить, нужно, чтобы они были значимы — или статистически для многих, или чем-то лично, или ценными идеями. Первое не доказано, второе если имеет значение, то лично для вас, третьего не наблюдается по определению. Тогда зачем мы их тут обсуждаем по вашему побуждению? Я не учёл ещё какого-то фактора или варианта?

S>Нет, задача не померяться. Я просто с трудом себе представляю человека, который с таким бэкграундом сомневался бы в изначальном тезисе. Что-то вы, Герасим, недоговариваете.


Ну, почему бы вам таки не предположить, что дело не в каком-то "недоговаривании", а в реальных причинах?

S>Это забавно. Часто бывает, что пишешь-пишешь кулсторию, а её никто не читает. Но стоит раззадорить кого-то в споре, появляется искренний интерес, лол. Жаль, что практической ценности этот приём не имеет.


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

S>Давайте я просто обозначу реперные точки, которые сочту нужным.


S>Впервые я начал изучать плюсы одновременно с Direct3D (IM), и было это… в 1998 году,


[...]

S>И после этого я очень много лет каждый день кроме плюсов ничего не видел. Когда появился дотнет, прямо тут про него и читал. Помните? «Память больше не ресурс!» ©IT.


Помню. Я ещё в конце 2000 или начале 2001 пытался читать/писать этот сайт. Он бесконечно вис и не работал ни под чем кроме IE, а у меня на работе был Netscape (сначала под Solaris, потом под FreeBSD), в котором ничего этого тупо не работало — а дома я не хотел ходить сюда, было чем заняться. Только в 2004 оно начало нормально работать.
Да, это был важный контраргумент против дотнета
И "память больше не ресурс" — тоже, потому что память таки ресурс. Особенно с тем, что с 2012 цена на RAM не уменьшается (ходит в одном коридоре).
Современному дотнету это не очень мешает _покамест_, но некоторым другим подходам — однозначно.

S> Я и до сих пор на плюсах пишу временами. Гигабайты Буста, бесконечные поиски, как чисто плюсовыми средствами сделать не слишком ущербно то, что нужно
Автор: удусекшл
Дата: 04.02.22
, вот это всё.


Ну хорошо, вы озвучили проблему C++. Хотя это проблема не только C++, но и C — через fopen() такого тоже не достичь. Но там ещё много есть чего так не сделать. Например, безопасная работа с файлами в Linux предполагает O_NOCTTY (грустное глупое наследие SVR). В многонитевом приложении сейчас является нормальным тоном сразу открывать любой файл с O_CLOEXEC. Или есть O_DIRECT, O_EXLOCK (в BSD системах...) Должно ли это всё выноситься на уровень языка и если да, то как? И что нам дотнет для этого предложит? Я вот быстро заглянул в справку — там, например, OpenOrCreate не сочетается с Truncate, а Truncate — с чтением файла после этого. Create, судя по доке, тоже не позволяет читать. И оба они не сочетаются с Append. Ну и как с таким работать?

S>К счастью, я не стал вариться в собственном соку, а пробовал новое. И после того, как я пописал хорошенько с применением FCL, LINQ, TIS, поизучал немного Nemerle, уж про веб вообще молчу, я его фулстек труба шатал изучал, смотреть без слёз на std::chrono::system_clock::now().time_since_epoch().count(); не могу.


Ну да, громоздко пишется. Тут проблемка, согласен. Зато выливается в достаточно эффективный код (там разве что чуть-чуть лишних умножений и делений).
Но вы понимаете, что это всё для разных задач, что дотнет неприменим в огромном классе задач, где работают C/C++?
И что тот же дотнет реализован на C++?

S>А про разных людей и команды… Ну ок, будет вам сейчас разоблачение сеанса чёрной магии, которого так упорно добивался любезнейший netch80. В общем, когда я написал «большинство», я имел в виду конкретный ресурс. Догадайтесь, какой. Только не просите меня переходить границу невежливости совсем глубоко, приводя конкретные примеры и расчёты. Считайте, что я его читаю так давно, что даже помню поимённо всех, у кого в плюсовом форуме была зелёненькая надпись «Эксперт».


Это, конечно, интересно, учитывая то, что именно тот ресурс, который ставит такие плашки, является основным центром засилья дотнетчиков и виндовозов.

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


Вы как-то однобоко смотрите. Да, здесь меньше таких, как khim, который рассказывает, как в базе C++ сделаны катастрофические диверсии. Но это не значит, что тут такое не понимают.

S>Что касается этого спора, как вы сами считаете, он аргумент в пользу чего?


Разумеется, аргумента, что у C/C++ своя широчайшая ниша и что сравнение с C#, JS и прочими неадекватно потому, что они в принципе в ней не могут работать.

(А два ваших конкретных примера ещё и характерны тем, что воспользоваться платформенными средствами вместо недостающего в них банально. Вот в управляемых средах кроме дотнета обойти ограничения иногда невозможно.)
The God is real, unless declared integer.
Re[12]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите
От: Shtole  
Дата: 14.02.22 02:04
Оценка:
Здравствуйте, netch80, Вы писали:

S>>Я написал про профессиональные качества, но вы начали требовать с меня выборку. А теперь делаете вид, что всё это время спор был про «большинство», хотя я от этого тезиса отказался сразу.


N>1. Я перечитал ветку и собственно "отказа от тезиса" не вижу. Если это про реплику


Перечитайте ещё раз, чтобы увидеть, где дискуссия разделилась на два направления и где должно было закрыться обсуждение слова «большинство». Впрочем, скорее всего не поможет. Если бы цель была понять, вы бы давно поняли. Но цель, очевидно, позащищать любимый инструмент от критики. Я уже прямо написал: вот такие разговоры и показывают всю близорукость поклонников плюсов.

N>2. Как уже сказал, странных позиций и подходов может быть много. Но чтобы о них говорить, нужно, чтобы они были значимы — или статистически для многих, или чем-то лично, или ценными идеями. Первое не доказано, второе если имеет значение, то лично для вас, третьего не наблюдается по определению. Тогда зачем мы их тут обсуждаем по вашему побуждению? Я не учёл ещё какого-то фактора или варианта?


Позицию, которая не нравится, мы называем «странной» безо всякой статистики. А вот чтобы заиметь право её после этого обсуждать — нужна статистика. Удобно, чо.

N>Я не вполне понял, с какой стороны, по-вашему, появляется искренний интерес. Но интересные дискуссии это ценно, даже если не приводят к однозначно общему мнению — отдельные аргументы могут быть ценны сами по себе. Это именно то, почему я вообще тут пытаюсь вести данный диалог.


Как говорил Станиславский… Выглядит больше так, что вам просто не понравилось моё критическое замечание в адрес поклонников плюсов и вы хотите заткнуть мне рот. Требованием статистики в ситуации, когда такое требование просто неуместно. («Если человек знает только один инструмент, очевидно, что он понимает его сильные и слабые стороны хуже, чем человек, знакомый с несколькими разными инструментами.»)

N>Да, это был важный контраргумент против дотнета

N>И "память больше не ресурс" — тоже, потому что память таки ресурс. Особенно с тем, что с 2012 цена на RAM не уменьшается (ходит в одном коридоре).

Если вы действительно помните контекст, то полностью это звучало примерно как: «[И хочется просто сказать, что ] память больше не ресурс [и закрыть редактор со статьёй, но это будет глупо ... <тут куча технических подробностей>]».

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

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

Вообще, к слову сказать, это в наши дни уже не так актуально. Но дело не в ценах на RAM, а в том, что подход к написанию софта сильно изменился. Сейчас пишется, по большей части (по опыту предыдущей беседы, видимо, пора вставлять после каждого предложения формулировки как у юристов: «личное оценочное суждение»), «клеевой» (glue) код между большими готовыми кусками. Требование к памяти этого кода — вопрос вообще третьестепенной важности.

Простой пример. Вот вы пишете на плюсах и используете для UI CEF3. Опаньки: 6 процессов, минимум гиг виртуальной и плюс сто метров в каждом обновлении. А если вы пишете на плюсах, но используете вместо CEF3 сами-знаете-что — у вас внутрипроцессная библиотека, на порядки меньшее потребление памяти, плюс несколько метров в обновлении. Причём, и CEF3, и сами-знаете-что тоже написаны на плюсах. Понимаете? Выбор «большого куска» (такого как CEF3) повлияет на результирующее потребление памяти неимоверно сильнее, чем выбор плюсов или шарпа для кода, который им управляет.

S>> Я и до сих пор на плюсах пишу временами. Гигабайты Буста, бесконечные поиски, как чисто плюсовыми средствами сделать не слишком ущербно то, что нужно
Автор: удусекшл
Дата: 04.02.22
, вот это всё.


N>Ну хорошо, вы озвучили проблему C++. Хотя это проблема не только C++, но и C — через fopen() такого тоже не достичь. Но там ещё много есть чего так не сделать. Например, безопасная работа с файлами в Linux предполагает O_NOCTTY (грустное глупое наследие SVR). В многонитевом приложении сейчас является нормальным тоном сразу открывать любой файл с O_CLOEXEC. Или есть O_DIRECT, O_EXLOCK (в BSD системах...) Должно ли это всё выноситься на уровень языка и если да, то как? И что нам дотнет для этого предложит? Я вот быстро заглянул в справку — там, например, OpenOrCreate не сочетается с Truncate, а Truncate — с чтением файла после этого. Create, судя по доке, тоже не позволяет читать. И оба они не сочетаются с Append. Ну и как с таким работать?


А что в этом хорошего («Ну хорошо»)? Это значит, что фокус разработчиков много лет смещён от практических задач к… да хрен его разберёт к чему. К сложностям ради сложностей.

Вот недавно была статья «Си должен умереть» (или как-то так, не помню). Я её только раза с пятого правильно прочитал. Конечно, это не потому, что авторы тролли, а потому, что я плохой инженер, да. Неважно, на самом деле. Суть в том, что в наши дни Си тоже попал в руки астронавтов. Там приводилась, например, переписка Линуса, который пишет что-то полезное, и разработчиков компиляторов. Можете представить, да? Линус в таких случаях за словом в карман не лезет и проходится по всей домовой книге.

А уж про плюсы в этом смысле можно вообще не говорить: Марс атакует.

S>>К счастью, я не стал вариться в собственном соку, а пробовал новое. И после того, как я пописал хорошенько с применением FCL, LINQ, TIS, поизучал немного Nemerle, уж про веб вообще молчу, я его фулстек труба шатал изучал, смотреть без слёз на std::chrono::system_clock::now().time_since_epoch().count(); не могу.


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


Аааааа! Я не могу.

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

Вот вам художественное («личное оценочное суждение»!) сравнение. Вы покупаете Форд Фокус, а там из приборной панели торчит резиновый член, поддерживает крышечку от вентиляции. Можно, конечно, сказать: «Ну да, громоздко». А я вот скажу: как, как ЭТО дошло до релиза и попало в руки юзеров? Что вообще с этим автопроизводителем случилось?

N>Но вы понимаете, что это всё для разных задач, что дотнет неприменим в огромном классе задач, где работают C/C++?


А вы понимаете, что небо синее? Трава зелёная? Или что я написал где-то вверху: «пришлось последний проект начинать на плюсах»?

Дело, кстати говоря, не так уж часто именно в задачи упирается. Скорее, что-то типа: «Храним всё в sqlite, рисуем Скайтером, вмешиваемся в хендловый слой винды. Бля, и как сюда впишется дотнет? Ничего не поделаешь, опять крестики к бою»! (Пальцы написали: «К болю». Что тоже верно).

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

N>И что тот же дотнет реализован на C++?


Мне стыдно за нас обоих, что разговор дошёл до такого.
Do you want to develop an app?
Re[2]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.02.22 02:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD> У нас фронтэнд на дотнете, а бэкэнд на плюсах. Прикинь?


Это ты про KAV? Ну вот кстати там взять .NET для самого движка было бы крайне проблематично даже если бы дело шло не о "что в них вбухано море денег".

VD>Плюсы чертовско отвратиельная вещь, но в виду того, что в них вбухано море денег в некоторых применениях они рулят. А иногда рулит и старый С. Вот если тебе надо написать прошивку для роутера, то новые стандарты С++ — это минус, а дотнет вообще не применим. С точки зрения переносимости С — лучший выбор.


Сейчас очень сложно найти железо на котором нельзя хотя бы C++11 использовать. Ты даже какой-нибудь контроллер для поворотника вполне можешь на C++11 писать в наши дни, хотя чаще на C++14/17. Время когда Си был лучшим выбором для таких вещей уже прошло.
Re[3]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.02.22 02:18
Оценка:
Здравствуйте, Shtole, Вы писали:

S>P.P.S. Я вообще считаю, что хорошим сиплюсплюсником можно стать только имея опыт хотя бы по годику на шарпе/джаве (лучше шарпе), джаваскрипте и чём-нибудь функциональном. Чтобы научиться видеть, где у плюсов реально сильные стороны, а где слабые. К сожалению, большинство их — дети монокультуры, которые вокруг себя ничего не видят и, что самое печальное, видеть не хотят.


Для того что бы быть хорошим разработчиком надо в принципе знать несколько языков и парадигм. Это работает по отношению к совершенно любому языку программирования и почему тут только C++ представлен как нечто особое мне не очень понятно.
Re[4]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: Shtole  
Дата: 14.02.22 02:41
Оценка: +1 :)
Здравствуйте, kaa.python, Вы писали:

S>>P.P.S. Я вообще считаю, что хорошим сиплюсплюсником можно стать только имея опыт хотя бы по годику на шарпе/джаве (лучше шарпе), джаваскрипте и чём-нибудь функциональном. Чтобы научиться видеть, где у плюсов реально сильные стороны, а где слабые. К сожалению, большинство их — дети монокультуры, которые вокруг себя ничего не видят и, что самое печальное, видеть не хотят.


KP>Для того что бы быть хорошим разработчиком надо в принципе знать несколько языков и парадигм. Это работает по отношению к совершенно любому языку программирования и почему тут только C++ представлен как нечто особое мне не очень понятно.


А это уже не ко мне вопрос — почему именно у плюсовиков высокомерие наиболее удачно сочетается с узостью кругозора.

Серьёзно, вы когда-нибудь слышали, чтобы джаваскриптер говорил: «C++ — удел дрессированных мартышек!»? Вот и я не слышал. А обратное…
Do you want to develop an app?
Re[5]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.02.22 03:04
Оценка:
Здравствуйте, Shtole, Вы писали:

S>А это уже не ко мне вопрос — почему именно у плюсовиков высокомерие наиболее удачно сочетается с узостью кругозора.


Высокомерие иногда имеет место, факт. А вот узкости кругозора мне пока не удалось увидеть, в среднем то же самое что и в любой другой среде. Да и довольно странно делать разделение по языку, всё же разумнее делить по предметной области.

S>Серьёзно, вы когда-нибудь слышали, чтобы джаваскриптер говорил: «C++ — удел дрессированных мартышек!»? Вот и я не слышал. А обратное…


Хм... может ли что-то осмысленное написать разработчик JS на C++? Обычно нет, в то время как обратное довольно просто. Уровень компетенций разный, отсюда и идёт отношение такое. Даже если посмотреть на современные вайтишные тренды — все, или почти все, стараются войти во фронтенд, где по сравнению с бэком и уж тем более плюсами всё относительно просто.
Re[6]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: Shtole  
Дата: 14.02.22 03:55
Оценка: +1
Здравствуйте, kaa.python, Вы писали:

S>>А это уже не ко мне вопрос — почему именно у плюсовиков высокомерие наиболее удачно сочетается с узостью кругозора.


KP>Высокомерие иногда имеет место, факт. А вот узкости кругозора мне пока не удалось увидеть, в среднем то же самое что и в любой другой среде. Да и довольно странно делать разделение по языку, всё же разумнее делить по предметной области.


S>>Серьёзно, вы когда-нибудь слышали, чтобы джаваскриптер говорил: «C++ — удел дрессированных мартышек!»? Вот и я не слышал. А обратное…


KP>Хм... может ли что-то осмысленное написать разработчик JS на C++? Обычно нет, в то время как обратное довольно просто. Уровень компетенций разный, отсюда и идёт отношение такое. Даже если посмотреть на современные вайтишные тренды — все, или почти все, стараются войти во фронтенд, где по сравнению с бэком и уж тем более плюсами всё относительно просто.


Дело в том, что никому не нужно, как вы это назвали, «написать что-то осмысленное» (то есть, очередной хелловорлд). Всем нужен промышленный код с best practices, который новичок, разумеется, не напишет, сколько опыта у него не будет в других областях. То есть, ситуация тут симметричная, а отношение — нет. Что мы и видим.

Но поддержать тезис «джаваскрипт для мартышек» это, конечно, смело. Это лучше, чем ходить кругами, писать про «странные утверждения» и требовать статистику. Можно сразу к сути перейти, не тратя время попусту.
Do you want to develop an app?
Re[7]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.02.22 04:08
Оценка: +1
Здравствуйте, Shtole, Вы писали:

S>Дело в том, что никому не нужно, как вы это назвали, «написать что-то осмысленное» (то есть, очередной хелловорлд). Всем нужен промышленный код с best practices, который новичок, разумеется, не напишет, сколько опыта у него не будет в других областях. То есть, ситуация тут симметричная, а отношение — нет. Что мы и видим.


Я про промышленный код и говорю. Ситуация не симметричная, т.к. домен и практики на JS на порядок проще.

S>Но поддержать тезис «джаваскрипт для мартышек» это, конечно, смело. Это лучше, чем ходить кругами, писать про «странные утверждения» и требовать статистику. Можно сразу к сути перейти, не тратя время попусту.


И в чем же он хуже чем?

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


При том что найти монокультурного разработчика на C++ — это еще поискать надо (разве что какой-то MFC-ориантированный динозавр), а вот JS мартышек пруд пруди.

И, да, я и на функциональных языках продуктовый код писал, и на JS доводилось код развивать. Единственный язык который не заходит на ура при наличии большого опыта на C++ — это Haskell.
Re[8]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: Shtole  
Дата: 14.02.22 04:34
Оценка: +1 :)
Здравствуйте, kaa.python, Вы писали:

S>>Дело в том, что никому не нужно, как вы это назвали, «написать что-то осмысленное» (то есть, очередной хелловорлд). Всем нужен промышленный код с best practices, который новичок, разумеется, не напишет, сколько опыта у него не будет в других областях. То есть, ситуация тут симметричная, а отношение — нет. Что мы и видим.


KP>Я про промышленный код и говорю.


Что плюсовик сядет и с ходу начнёт писать промышленный код на JS? Это просто смешно. На практике знаете, какой типичный вопрос задаёт плюсовик через несколько дней ковыряния? «Как в этом вашем дурацком жабоскрипте делается ::Sleep()?». И знаю я это потому, что имел глупость пару раз перекинуть задачи по макету (с прописанными размерами и таймингами) на вот таких вот самоуверенных людей, утверждавших, что раз уж они осилили плюсы, то с макакаскриптом как-нибудь разберутся. Я за это знание заплатил достаточно крупной суммой денежных знаков, и мне эти сказки не зайдут, извините. Учёный-верчёный уже.

KP>При том что найти монокультурного разработчика на C++ — это еще поискать надо (разве что какой-то MFC-ориантированный динозавр), а вот JS мартышек пруд пруди.


Ещё смешнее.

Как раз MFC-то это был шаг в нужную сторону, в сторону более широкого кругозора, который мало кто делал. MFC это ведь замечательная архитектура «MVC для документов» (а вы думали, это просто обёртка над WinAPI + немного базовых классов? многие так думают!), аналога которой в дотнете не было, пока MVC окончательно не переехал в веб.

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

Впрочем, я видел в своей жизни больше десятка более-менее крупных MFC-based проектов (приложений а-ля Word/Excel) и НИ РАЗУ, ни единого гребанного разу, MFC не использовалась так, как задумывалось её архитекторами (и как она даёт максимум преимуществ). Так что, дело тут определённо не в языке.
Do you want to develop an app?
Re[9]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.02.22 05:29
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Что плюсовик сядет и с ходу начнёт писать промышленный код на JS? Это просто смешно. На практике знаете, какой типичный вопрос задаёт плюсовик через несколько дней ковыряния? «Как в этом вашем дурацком жабоскрипте делается ::Sleep()?». И знаю я это потому, что имел глупость пару раз перекинуть задачи по макету (с прописанными размерами и таймингами) на вот таких вот самоуверенных людей, утверждавших, что раз уж они осилили плюсы, то с макакаскриптом как-нибудь разберутся. Я за это знание заплатил достаточно крупной суммой денежных знаков, и мне эти сказки не зайдут, извините.


Какой ужас, как сделать ::Sleep()?! По этому вопросу я могу сделать следующие выводы. 1) Эти люди не компитентны, в современном C++ за попытку затищить std::this_thread::sleep_for() в прод просят переписать код. 2) Это не кроссплатформенная C++ функция, а что-то из дебрей Windows API. Из этого следует что это не вообще не C++ разработчики, а ХЗ что такое.

S> [много про то, какой MFC шикарный...]


Дальше комментировать скучно, т.к. на C++ никто в здравом уме писать UI сейчас не будет, разве что на Qt из за отсутствия альтернатив.
Re[10]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрит
От: Философ Ад http://vk.com/id10256428
Дата: 14.02.22 06:30
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>2) Это не кроссплатформенная C++ функция, а что-то из дебрей Windows API. Из этого следует что это не вообще не C++ разработчики, а ХЗ что такое.


А в какой OS нет sleep()?
Сорри, мне почему-то кажется, что некомпетентен ты.
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 14.02.2022 6:47 Философ . Предыдущая версия .
Re[10]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрите?
От: Shtole  
Дата: 14.02.22 06:32
Оценка:
Здравствуйте, kaa.python, Вы писали:

S>>Что плюсовик сядет и с ходу начнёт писать промышленный код на JS? Это просто смешно. На практике знаете, какой типичный вопрос задаёт плюсовик через несколько дней ковыряния? «Как в этом вашем дурацком жабоскрипте делается ::Sleep()?». И знаю я это потому, что имел глупость пару раз перекинуть задачи по макету (с прописанными размерами и таймингами) на вот таких вот самоуверенных людей, утверждавших, что раз уж они осилили плюсы, то с макакаскриптом как-нибудь разберутся. Я за это знание заплатил достаточно крупной суммой денежных знаков, и мне эти сказки не зайдут, извините.


KP>Какой ужас, как сделать ::Sleep()?! По этому вопросу я могу сделать следующие выводы. 1) Эти люди не компитентны, в современном C++ за попытку затищить std::this_thread::sleep_for() в прод просят переписать код. 2) Это не кроссплатформенная C++ функция, а что-то из дебрей Windows API. Из этого следует что это не вообще не C++ разработчики, а ХЗ что такое.


Сиплюсплюсники-то, оказывается, тоже по сортам делятся, однако. Пафос 80лвл.

S>> [много про то, какой MFC шикарный...]

KP>Дальше комментировать скучно, т.к. на C++ никто в здравом уме писать UI сейчас не будет, разве что на Qt из за отсутствия альтернатив.

Как стало понятно, что вы его даже не знали, так сразу поскучнели. Зато весело было кидаться какашками в MFC-динозавров, правда?
Do you want to develop an app?
Re[11]: .NET vs C++ - ответ Роме 18 лет спустя - как смотрит
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 14.02.22 07:07
Оценка: :)
Здравствуйте, Философ, Вы писали:

Ф>А в какой OS нет sleep()?


В POSIX нет функции ::Sleep() в глобальном пространстве имён, есть функция ::sleep(). А вот в как раз Windows API есть ::Sleep(), но нет ::sleep().

Ф>Сорри, мне почему-то кажется, что некомпетентен ты.


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