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

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

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

Post by OtherSide » 13 Jan 2018 21:15

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: 8865
Joined: 04 Mar 2011 03:04
Location: SFBA

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

Post by Medium-rare » 13 Jan 2018 21:18

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

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

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

Post by OtherSide » 13 Jan 2018 21:24

Medium-rare wrote:
13 Jan 2018 21:18
OtherSide wrote:
13 Jan 2018 21:15
плюсы погубило
Точно. Но мы о том догадываемся, только читая этот тред.
Можно конечно говорить что они живее всех живых но по факту труп, это давно не основной язык для написания коммерческих приложений, стал нишевым

User avatar
Medium-rare
Уже с Приветом
Posts: 8865
Joined: 04 Mar 2011 03:04
Location: SFBA

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

Post by Medium-rare » 13 Jan 2018 21:35

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

... убрал нафиг... Входит ли наше приложение в группу "основных коммерческих"? Менее всего меня заботит эта группа, а работа даёт платить за дом и др.
... and even then it's rare that you'll be going there...

User avatar
Сабина
Уже с Приветом
Posts: 17132
Joined: 11 Jan 2012 09:25
Location: CA

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

Post by Сабина » 14 Jan 2018 02:55

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: 17132
Joined: 11 Jan 2012 09:25
Location: CA

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

Post by Сабина » 14 Jan 2018 02:59

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: 27049
Joined: 14 Dec 2006 20:13
Location: USA

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

Post by StrangerR » 14 Jan 2018 04:22

Ну не знаю. Я считаю что в плюсах скрестили ужей с ежами. Получив все минусы обоих.

User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 8420
Joined: 27 Sep 2007 22:53

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

Post by Мальчик-Одуванчик » 14 Jan 2018 06:21

Сабина 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: 4320
Joined: 20 Jun 2001 09:01

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

Post by flip_flop » 14 Jan 2018 06:42

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

Язык на доске почёта (hall of fame) 2017 года по версии TIOBE - ... та да .... гром фанфар ... чистый C !

User avatar
M. Ridcully
Уже с Приветом
Posts: 7784
Joined: 08 Sep 2006 20:07
Location: Силиконка

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

Post by M. Ridcully » 14 Jan 2018 06:50

Мальчик-Одуванчик wrote:
14 Jan 2018 06:21
Мне уже много раз попадаются рекомендации изучать Хаскель, чтобы было легче в плюсах.
Как-то даже сложно представить, на чём сия рекомендация основана.
Потуги писать в функциональном стиле на C++ выглядят довольно нелепо...
Transforming the jews
(c) Scooter

User avatar
M. Ridcully
Уже с Приветом
Posts: 7784
Joined: 08 Sep 2006 20:07
Location: Силиконка

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

Post by M. Ridcully » 14 Jan 2018 06:57

Сабина wrote:
14 Jan 2018 02:59
Сначала шло туго очень, потом как то вдруг наступило просветление и вполне себе получалось. Потом снова пошло STL и стало грустно.
STL как раз одна из самых светлых частей C++.
Сабина wrote:
14 Jan 2018 02:59
... подвести С++ базу под Джава навыки :)
Не знаю, что сия фраза означает, но звучит ужасно. :D
ИМХО самое худшее, что можно придумать - это пытаться писать на языке "А", как будто это язык "Б".
Transforming the jews
(c) Scooter

StrangerR
Уже с Приветом
Posts: 27049
Joined: 14 Dec 2006 20:13
Location: USA

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

Post by StrangerR » 14 Jan 2018 07:10

STL одна из самых дерьмовых частей C++. Иначе зачем бы понадобилось изобретать QT с его собственной работой со строками?

Palych
Уже с Приветом
Posts: 12244
Joined: 16 Jan 2001 10:01

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

Post by Palych » 14 Jan 2018 07:13

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

Может сейчас как-то исправилось, а то получается что все эти хаскели имеют смысл только если пишешь с нуля какой-нибудь PoC, или учебное пособие. (может относительно простые встроенные системы) А как только enterprise дела начинаются - 99% времени ковыряешься с указателями...

StrangerR
Уже с Приветом
Posts: 27049
Joined: 14 Dec 2006 20:13
Location: USA

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

Post by StrangerR » 14 Jan 2018 07:48

В том то и дело. На 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: 17132
Joined: 11 Jan 2012 09:25
Location: CA

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

Post by Сабина » 14 Jan 2018 07:50

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: 8420
Joined: 27 Sep 2007 22:53

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

Post by Мальчик-Одуванчик » 14 Jan 2018 07:54

StrangerR wrote:
14 Jan 2018 07:10
STL одна из самых дерьмовых частей C++. Иначе зачем бы понадобилось изобретать QT с его собственной работой со строками?
STL - это, на минуточку, контейнеры и алгоритмы прежде всего. Одна из самых замечательных и мощных частей плюсов.

User avatar
Сабина
Уже с Приветом
Posts: 17132
Joined: 11 Jan 2012 09:25
Location: CA

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

Post by Сабина » 14 Jan 2018 08:06

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

User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 8420
Joined: 27 Sep 2007 22:53

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

Post by Мальчик-Одуванчик » 14 Jan 2018 08:12

StrangerR wrote:
14 Jan 2018 07:48
В том то и дело. На C просто писали асинхронные запросы, асинхронную обработку ответов, все явно и просто. На C++ сдуру решили _вот оно, тред и вперед, нефиг выпендриваться_ после чего выяснилось, что тред то тредом но половина библиотек не фига не мультитредоваые, прозрачность _что там происходит_ потерялась нафиг, для работы со строками непонятно чего выбирать так как много разной фигни и ничего хорошего, ну а когда еще 3-д парти используешь,то они (1) фиг совместимы, (2) фиг мультипоточны.
И что мешало все тоже самое делать на плюсах, но используя более выразительные средства С++, нежели чем на простом С?
А неумение писать многопоточные приложения вообще с языком не связано напрямую.

User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 8420
Joined: 27 Sep 2007 22:53

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

Post by Мальчик-Одуванчик » 14 Jan 2018 08:20

Сабина 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.

partner_ca
Уже с Приветом
Posts: 1681
Joined: 06 Dec 2016 00:55
Location: California

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

Post by partner_ca » 14 Jan 2018 08:20

Мальчик-Одуванчик wrote:
14 Jan 2018 07:54
STL - это, на минуточку, контейнеры и алгоритмы прежде всего. Одна из самых замечательных и мощных частей плюсов.
Плюсую.

User avatar
Medium-rare
Уже с Приветом
Posts: 8865
Joined: 04 Mar 2011 03:04
Location: SFBA

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

Post by Medium-rare » 14 Jan 2018 17:36

Лучше не пытаться понимать всё, что написано. Моск глючит. :)
... and even then it's rare that you'll be going there...

User avatar
flip_flop
Уже с Приветом
Posts: 4320
Joined: 20 Jun 2001 09:01

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

Post by flip_flop » 14 Jan 2018 22:14

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: 17132
Joined: 11 Jan 2012 09:25
Location: CA

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

Post by Сабина » 15 Jan 2018 00:36

Мальчик-Одуванчик wrote:
14 Jan 2018 08:20
Ну вообще вся эта асинхронная красотища еще три десятка лет вполне себе присутствовала на голимом си, особенно в телекоме, где оформилась в виде actor модели, и чуть позже была реализована в языке эрланг. В хайп она попала лишь по прошествии угара по обьектно-ориентированныму программированию и переключением моды на функциональное. Но по-сути стюардессу опять откопали, как в том анекдоте.
Эта ли ?
Сссылки в студию плиз ... на три десятка лет назад
https://www.youtube.com/watch?v=wOwblaKmyVw

User avatar
Medium-rare
Уже с Приветом
Posts: 8865
Joined: 04 Mar 2011 03:04
Location: SFBA

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

Post by Medium-rare » 15 Jan 2018 00:58

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: 168
Joined: 07 Dec 2001 10:01
Location: toronto

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

Post by tau » 15 Jan 2018 01:22

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

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