А был ли мальчик? (помянем плюсы)

User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: А был ли мальчик? (помянем плюсы)

Post by OtherSide »

AndreyT wrote: 12 Jan 2018 21:36
OtherSide wrote: 11 Jan 2018 21:29В общем мысль, что плюсы погубила совместимость с си, по хорошему на плюсах в ООП стиле оч. редко писали.
В C++ нет никакой совместимости с С и никогда не было (кроме замшелых времен "C with classes"). Миф о совместимости C++ с С существует только в головах студентов, которые не сумели изучить ничего больше, чем какое-то куцее С-подобное подмножество С++, да и то знают плохо. Схожесть С и С++ существует только на уровне syntactic sugar и общих деталей абстрактной платформы, но семантики этих языков различаются фундаментально, причем с самого начала стандартизованных времен.
В каком смысле, практически любой С код компилятор плюсов соберет.
А так это то о чем я говорю, плюсы погубило именно идентичность синтаксиса при другой семантике.
User avatar
Medium-rare
Уже с Приветом
Posts: 9239
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

OtherSide wrote: 13 Jan 2018 21:15 плюсы погубило
Точно. Но мы о том догадываемся, только читая этот тред.
... and even then it's rare that you'll be going there...
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: А был ли мальчик? (помянем плюсы)

Post by OtherSide »

Medium-rare wrote: 13 Jan 2018 21:18
OtherSide wrote: 13 Jan 2018 21:15 плюсы погубило
Точно. Но мы о том догадываемся, только читая этот тред.
Можно конечно говорить что они живее всех живых но по факту труп, это давно не основной язык для написания коммерческих приложений, стал нишевым
User avatar
Medium-rare
Уже с Приветом
Posts: 9239
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

OtherSide wrote: 13 Jan 2018 21:24 Можно конечно говорить что они живее всех живых но по факту труп, это давно не основной язык для написания коммерческих приложений, стал нишевым
У вас замечательный такой провокационный стиль. Главное, если не соглашаться, не принимать такую провокационную позицию: C++ никогда не был основным языком написания коммерческих приложений, и не претендовал на то.

... убрал нафиг... Входит ли наше приложение в группу "основных коммерческих"? Менее всего меня заботит эта группа, а работа даёт платить за дом и др.
... and even then it's rare that you'll be going there...
User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

Medium-rare wrote: 13 Jan 2018 21:18
OtherSide wrote: 13 Jan 2018 21:15 плюсы погубило
Точно. Но мы о том догадываемся, только читая этот тред.
Тема и правда ржачная :D
Плюсы сейчас можно сказать hardcore, Юникс обогнали
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

StrangerR wrote: 12 Jan 2018 20:01 Я весьма немного сам писал на C++, и побольше разбирался в чьем то коде. Темплейты - хороший способ запутать все насмерть.
Я тоже сейчас из-за старшего сына заново взялась за С++ после того как успешно завалила по нему класс и забыла в далеком 2002-м. Хотя вру, пришлось по работе в 2015-м не так давно. Но там одно приложение тока, причем в fancy IDE. Пережила :)
Сначала шло туго очень, потом как то вдруг наступило просветление и вполне себе получалось. Потом снова пошло STL и стало грустно.
В этом семестра будет Data Structures и алгоритмы и параллельно буду то же брать на Джаве. Надеюсь наконец-то хоть как то fill the gaps в своих знаниях и подвести С++ базу под Джава навыки :)
https://www.youtube.com/watch?v=wOwblaKmyVw
StrangerR
Уже с Приветом
Posts: 38046
Joined: 14 Dec 2006 20:13
Location: USA

Re: А был ли мальчик? (помянем плюсы)

Post by StrangerR »

Ну не знаю. Я считаю что в плюсах скрестили ужей с ежами. Получив все минусы обоих.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15477
Joined: 27 Sep 2007 22:53

Re: А был ли мальчик? (помянем плюсы)

Post by Мальчик-Одуванчик »

Сабина wrote: 14 Jan 2018 02:55
Medium-rare wrote: 13 Jan 2018 21:18
OtherSide wrote: 13 Jan 2018 21:15 плюсы погубило
Точно. Но мы о том догадываемся, только читая этот тред.
Тема и правда ржачная :D
Плюсы сейчас можно сказать hardcore, Юникс обогнали
Мне уже много раз попадаются рекомендации изучать Хаскель, чтобы было легче в плюсах.
User avatar
flip_flop
Уже с Приветом
Posts: 4375
Joined: 20 Jun 2001 09:01

Re: А был ли мальчик? (помянем плюсы)

Post by flip_flop »

Долго думаю и теряюсь в догадках - как С++ может обогнать Юникс.

Язык на доске почёта (hall of fame) 2017 года по версии TIOBE - ... та да .... гром фанфар ... чистый C !
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Мальчик-Одуванчик wrote: 14 Jan 2018 06:21 Мне уже много раз попадаются рекомендации изучать Хаскель, чтобы было легче в плюсах.
Как-то даже сложно представить, на чём сия рекомендация основана.
Потуги писать в функциональном стиле на C++ выглядят довольно нелепо...
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Сабина wrote: 14 Jan 2018 02:59 Сначала шло туго очень, потом как то вдруг наступило просветление и вполне себе получалось. Потом снова пошло STL и стало грустно.
STL как раз одна из самых светлых частей C++.
Сабина wrote: 14 Jan 2018 02:59 ... подвести С++ базу под Джава навыки :)
Не знаю, что сия фраза означает, но звучит ужасно. :D
ИМХО самое худшее, что можно придумать - это пытаться писать на языке "А", как будто это язык "Б".
StrangerR
Уже с Приветом
Posts: 38046
Joined: 14 Dec 2006 20:13
Location: USA

Re: А был ли мальчик? (помянем плюсы)

Post by StrangerR »

STL одна из самых дерьмовых частей C++. Иначе зачем бы понадобилось изобретать QT с его собственной работой со строками?
Palych
Уже с Приветом
Posts: 13975
Joined: 16 Jan 2001 10:01

Re: А был ли мальчик? (помянем плюсы)

Post by Palych »

Мы где-то в 2004-м взялись переписывать (точнее - клонировать/мигрировать) одну систему с Java на C++.
Последние несколько лет выковыриваем остатки этого эксперимента из темных уголков приложения.
Главная причина фиаско - в библиотеках и в пресловутой "совместимости с C": библиотеки были, но под C, совмещать работу с памятью был еще тот фан...
Особенно помнится два случая:
- Expect Library оказалась фундаментально однопоточная
- GDome пришлось оборачивать в reference counting механизм, в котором с год отлавливали баги связанные с многопоточностью, потом при переходе на очередную версию Red Hat он работал в QA, но упал в production, где было несколько процессоров. Вылечилось перестановкой местами нескольких строк, после многодневного секса, когда все ключевые девелоперы бросили все дела и ловили баги в gdb, valgrind...

Может сейчас как-то исправилось, а то получается что все эти хаскели имеют смысл только если пишешь с нуля какой-нибудь PoC, или учебное пособие. (может относительно простые встроенные системы) А как только enterprise дела начинаются - 99% времени ковыряешься с указателями...
StrangerR
Уже с Приветом
Posts: 38046
Joined: 14 Dec 2006 20:13
Location: USA

Re: А был ли мальчик? (помянем плюсы)

Post by StrangerR »

В том то и дело. На C просто писали асинхронные запросы, асинхронную обработку ответов, все явно и просто. На C++ сдуру решили _вот оно, тред и вперед, нефиг выпендриваться_ после чего выяснилось, что тред то тредом но половина библиотек не фига не мультитредоваые, прозрачность _что там происходит_ потерялась нафиг, для работы со строками непонятно чего выбирать так как много разной фигни и ничего хорошего, ну а когда еще 3-д парти используешь,то они (1) фиг совместимы, (2) фиг мультипоточны.

И получается, что если выбор между C и JAVA понятен, с плюсами и минусами у каждого, то C++ сочетает минусы обоих а не плюсы - и как на Жабе не попишешь, и как на C вроде нелогично, а тогда на хрена нужны ++ после C становится непонятно. Как я уже упоминал, отсутствие чистой и удобной библиотеки работы со строками (STL дерьмо, от него пришлось отказаться) - это самое первое что там в глаза бросается...

PS. Я еще помню, как специально искали самые МЕДЛЕННЫЕ СТАРЫЕ СЕРВЕРЫ с кучей процессоров, вставляли разные искуственные задержки, чтобы все эти тредовые рейс кондишены ловились...
Last edited by StrangerR on 14 Jan 2018 07:51, edited 1 time in total.
User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

M. Ridcully wrote: 14 Jan 2018 06:57
Сабина wrote: 14 Jan 2018 02:59 ... подвести С++ базу под Джава навыки :)
Не знаю, что сия фраза означает, но звучит ужасно. :D
ИМХО самое худшее, что можно придумать - это пытаться писать на языке "А", как будто это язык "Б".
Странно что непонятно :).
Java просто high level language, в смысле что higher level of abstraction from memory etc. Придумана для более ускоренного девелопмента определенных вещей. А тут можно сказать к истокам. Не было бы счастья, несчастье помогло 8)
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15477
Joined: 27 Sep 2007 22:53

Re: А был ли мальчик? (помянем плюсы)

Post by Мальчик-Одуванчик »

StrangerR wrote: 14 Jan 2018 07:10 STL одна из самых дерьмовых частей C++. Иначе зачем бы понадобилось изобретать QT с его собственной работой со строками?
STL - это, на минуточку, контейнеры и алгоритмы прежде всего. Одна из самых замечательных и мощных частей плюсов.
User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

StrangerR wrote: 14 Jan 2018 07:48 PS. Я еще помню, как специально искали самые МЕДЛЕННЫЕ СТАРЫЕ СЕРВЕРЫ с кучей процессоров, вставляли разные искуственные задержки, чтобы все эти тредовые рейс кондишены ловились...
Тем более надо радоваться прогрессу :umnik1:
Не будь С -> С++ -> Java ->Scala/Spark, Go разьве мы бы увидели reactive, потоки и всякую асинхронную красотищу, которая имеет место в наши дни :) ?
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15477
Joined: 27 Sep 2007 22:53

Re: А был ли мальчик? (помянем плюсы)

Post by Мальчик-Одуванчик »

StrangerR wrote: 14 Jan 2018 07:48 В том то и дело. На C просто писали асинхронные запросы, асинхронную обработку ответов, все явно и просто. На C++ сдуру решили _вот оно, тред и вперед, нефиг выпендриваться_ после чего выяснилось, что тред то тредом но половина библиотек не фига не мультитредоваые, прозрачность _что там происходит_ потерялась нафиг, для работы со строками непонятно чего выбирать так как много разной фигни и ничего хорошего, ну а когда еще 3-д парти используешь,то они (1) фиг совместимы, (2) фиг мультипоточны.
И что мешало все тоже самое делать на плюсах, но используя более выразительные средства С++, нежели чем на простом С?
А неумение писать многопоточные приложения вообще с языком не связано напрямую.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15477
Joined: 27 Sep 2007 22:53

Re: А был ли мальчик? (помянем плюсы)

Post by Мальчик-Одуванчик »

Сабина wrote: 14 Jan 2018 08:06
StrangerR wrote: 14 Jan 2018 07:48 PS. Я еще помню, как специально искали самые МЕДЛЕННЫЕ СТАРЫЕ СЕРВЕРЫ с кучей процессоров, вставляли разные искуственные задержки, чтобы все эти тредовые рейс кондишены ловились...
Тем более надо радоваться прогрессу :umnik1:
Не будь С -> С++ -> Java ->Scala/Spark, Go разьве мы бы увидели reactive, потоки и всякую асинхронную красотищу, которая имеет место в наши дни :) ?
Ну вообще вся эта асинхронная красотища еще три десятка лет вполне себе присутствовала на голимом си, особенно в телекоме, где оформилась в виде actor модели, и чуть позже была реализована в языке эрланг. В хайп она попала лишь по прошествии угара по обьектно-ориентированныму программированию и переключением моды на функциональное. Но по-сути стюардессу опять откопали, как в том анекдоте.
Last edited by Мальчик-Одуванчик on 14 Jan 2018 08:21, edited 1 time in total.
User avatar
Medium-rare
Уже с Приветом
Posts: 9239
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

Лучше не пытаться понимать всё, что написано. Моск глючит. :)
... and even then it's rare that you'll be going there...
User avatar
flip_flop
Уже с Приветом
Posts: 4375
Joined: 20 Jun 2001 09:01

Re: А был ли мальчик? (помянем плюсы)

Post by flip_flop »

partner_ca wrote: 14 Jan 2018 08:20
Мальчик-Одуванчик wrote: 14 Jan 2018 07:54 STL - это, на минуточку, контейнеры и алгоритмы прежде всего. Одна из самых замечательных и мощных частей плюсов.
Плюсую.
Тоже в вашем лагере, хоть и не программист. Template meta-programming, честно приознаюсь - основное, что мне нравится в плюсах, и чего не хватает в чистом, голимом С. Eigen - замечательный пример.

Medium-rare, sorry, наверное добавил гкюков, простите великодушно.
User avatar
Сабина
Уже с Приветом
Posts: 19045
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

Мальчик-Одуванчик wrote: 14 Jan 2018 08:20 Ну вообще вся эта асинхронная красотища еще три десятка лет вполне себе присутствовала на голимом си, особенно в телекоме, где оформилась в виде actor модели, и чуть позже была реализована в языке эрланг. В хайп она попала лишь по прошествии угара по обьектно-ориентированныму программированию и переключением моды на функциональное. Но по-сути стюардессу опять откопали, как в том анекдоте.
Эта ли ?
Сссылки в студию плиз ... на три десятка лет назад
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Medium-rare
Уже с Приветом
Posts: 9239
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

flip_flop wrote: 14 Jan 2018 22:14 Medium-rare, sorry, наверное добавил гкюков, простите великодушно.
Не про вас, вестимо. Больше про непонимание разницы между инструментом, и областью его приложения. Вы такого не писали. Да ладно. AndreyT лучше озвучит оную проблему обсуждения, если ему ещё интересен наш разговор бабуль на лавочке про C++.
... and even then it's rare that you'll be going there...
tau
Уже с Приветом
Posts: 510
Joined: 07 Dec 2001 10:01
Location: toronto

Re: А был ли мальчик? (помянем плюсы)

Post by tau »

M. Ridcully wrote: 14 Jan 2018 06:57 STL как раз одна из самых светлых частей C++.
Это только если в исходники не лазить, там будет много непривычного для начинающих.
Да и выдающиеся ошибки компилятора и линкера тоже могут кого хошь напугать с непривычки.

Return to “Вопросы и новости IT”