Обрыгался
-
- Уже с Приветом
- Posts: 5552
- Joined: 20 Mar 2001 10:01
- Location: SFBA
Обрыгался
Капец котенку. Я сперва думал, что это только PyCon последние несколько лет вырождается (понагнали теток, которые презентуют/докладают ни о чем). Но блин, в CppCon вообще трансы выступают. И тоже несут в массы zero value с беспрестанным подмигиванием, подергиванием бровями и прочими ужимками.
А такое многообещающее название!
Value Semantics: Fast, Safe, and Correct by Default
А такое многообещающее название!
Value Semantics: Fast, Safe, and Correct by Default
Увидев друга, Портос вскрикнул от радости...
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
Я не очень понимаю зачем вообще такое смотреть возрослым (не студентам) людям? Вы не знаете C++?
-
- Уже с Приветом
- Posts: 5552
- Joined: 20 Mar 2001 10:01
- Location: SFBA
Re: Обрыгался
Я его знаю хорошо, но не отлично. К сожалению, большая часть языка состоит из всевозможных засад, о которых лучше узнавать из конференций. Набивать свои шишки дорого обходится.
Увидев друга, Портос вскрикнул от радости...
-
- Уже с Приветом
- Posts: 2612
- Joined: 19 Jun 2003 20:22
- Location: USA
Re: Обрыгался
у нас в ВУЗе не было даже штатного курса по Сям или плюсам (в 90-е). Предполагалось, что студенты уже знают эти языки, впитав с молоком матери, или выучив на уроках школьной информатики.
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: Обрыгался
Сиюминутная мода.
Это пройдет.
А чего толковое или интересное было?
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 7723
- Joined: 29 Mar 2000 10:01
- Location: Kirkland,WA
-
- Уже с Приветом
- Posts: 232
- Joined: 11 May 2019 00:56
- Location: US
Re: Обрыгался
+1
Сам Герб Саттер признавался, что некоторые вещи не понимает и язык нужно упрощать:
"How many of you sometime have been frustrated at some aspect of C++?"
-
- Уже с Приветом
- Posts: 7916
- Joined: 19 May 2008 22:10
- Location: BY->DEU->SFBA
Re: Обрыгался
У нас тоже не было. Может вы геолог. И смотря какие 90-е. У нас паскаль в школе преподавали, а в начале вовсе какой-то язык, где по русски писали команды на каких-то доисторических компьютерах. Но это еще в 80-х было.
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
Проблемы надо решать исходя из задачи. А просто так ходить на рандомные лекции - это все равно что пытаться получать системные знания по словарю.
Тем более я прихожу к выводу что с современной т.з. С++ язык довольно таки неудачный. Пытались скрутить бескомпромиссную производительность и гибкость - по итогу и то и другое вышло плохо. не говоря уже о стандартных проблемах, как отстутвие хороший стандартизированных фреймворков общего назначения, убогие и кривые поддержки подключаемых библиотек и средств сборки и т.д.
Единственный "плюс" языка - это то что он очень сложный и неоднозначный и нужна хорошая квалификация, что бы писать на нем => работа не должна оплачиваться плохо.
-
- Уже с Приветом
- Posts: 232
- Joined: 11 May 2019 00:56
- Location: US
Re: Обрыгался
Надо знать язык до того, как решать на нем задачи. И чем лучше им владеть, тем эффективнее, быстрее и надежнее будет решение.
Современный С++ очень современен, поддерживает многие парадигмы программирования, функциональное программирование уж не хуже Питона. Код на современном С++ НЕ длиннее, чем на Питоне. Какой другой язык даст сходную производительность? Если вы про АСМ или чистый Си, то это выигрыш на уровне погрешности, а писать на них - это АД. Все языки с GC вообще игнорируем, если мы про производительность. Что остается? Rust и Swift? хорошие языки, каждый со своими вкусностями, но уж точно не быстрее С++.Тем более я прихожу к выводу что с современной т.з. С++ язык довольно таки неудачный. Пытались скрутить бескомпромиссную производительность и гибкость - по итогу и то и другое вышло плохо.
Общего решения для компилируемого в машинные коды языка с подключением внешних библиотек не существует. Это компромисс. Сейчас с++20 вводит модули, посмотрим что там.не говоря уже о стандартных проблемах, как отстутвие хороший стандартизированных фреймворков общего назначения, убогие и кривые поддержки подключаемых библиотек и средств сборки и т.д.
Касаемо фреймворков, то есть boost, который де факто - стандарт. GUI - да, нет и не будет, кому надо есть Qt, есть GTK.
Здесь как раз самое слабое место языка, навороты с темплейтами сделали язык архитрудным и неочевидным для понимания. Все эти fold expressions, deduction rules + guides, все это невозможно знать досконально и применять без гугления примеров использования.Единственный "плюс" языка - это то что он очень сложный и неоднозначный и нужна хорошая квалификация, что бы писать на нем => работа не должна оплачиваться плохо.
И нет, в среднем С++ не оплачивается выше, чем др. языки. По крайней мере в Америке.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Обрыгался
Тут дело в пороге вхождения. Таки для поддержки инфраструктуры питоно-писателей найти проще, чем тех, которые пишут real-time сервер специального назначения на C++, который, в том числе, и питоно-писателям даст API. Они, питонята, вообще "в том числе". Работают, адаптируя под клиента, всякие докеры-шмокеры, периодические проверки чего-то, какая-то откуда ни возьмись специфическая отчётность по желанию одного конкретного клиента. Что из того не может сделать грамотный C++ писатель? Он просто занят core всё время. То есть, грамотному C++ писателю даже не особо надо изучать Питон, чтобы попробовать какой-то тест своего же кода, так можем ли мы им выдать наружу такую функциональность? Это вообще небольшой процент работы для core разработчика.TormentorOne wrote: ↑08 Mar 2020 17:16 И нет, в среднем С++ не оплачивается выше, чем др. языки. По крайней мере в Америке.
Ну и, периодически принимая участие в тех-скринах, и интервью, и видя, кого реально трудно нанять:
Очень вряд ли в конкретной организации питоно-писатель может в офере получить больше.
Естественно, чаще всего, и у тех и других в резюме будет написан C++. Только у одних он "в натуре".
А другие и вовсе избегают писать Питон в резюме, чтобы резюме-читатели не отвлекались.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
1 Вы не находите, что если специалисты после 25 лет кодирования чуть меньше чем все так и не знают язык программирования - проблемы в языке?TormentorOne wrote: ↑08 Mar 2020 17:161 Надо знать язык до того, как решать на нем задачи. И чем лучше им владеть, тем эффективнее, быстрее и надежнее будет решение.
2 Современный С++ очень современен, поддерживает многие парадигмы программирования, функциональное программирование уж не хуже Питона. Код на современном С++ НЕ длиннее, чем на Питоне. Какой другой язык даст сходную производительность? Если вы про АСМ или чистый Си, то это выигрыш на уровне погрешности, а писать на них - это АД. Все языки с GC вообще игнорируем, если мы про производительность. Что остается? Rust и Swift? хорошие языки, каждый со своими вкусностями, но уж точно не быстрее С++.Тем более я прихожу к выводу что с современной т.з. С++ язык довольно таки неудачный. Пытались скрутить бескомпромиссную производительность и гибкость - по итогу и то и другое вышло плохо.
3 Общего решения для компилируемого в машинные коды языка с подключением внешних библиотек не существует. Это компромисс. Сейчас с++20 вводит модули, посмотрим что там.не говоря уже о стандартных проблемах, как отстутвие хороший стандартизированных фреймворков общего назначения, убогие и кривые поддержки подключаемых библиотек и средств сборки и т.д.
Касаемо фреймворков, то есть boost, который де факто - стандарт. GUI - да, нет и не будет, кому надо есть Qt, есть GTK.
4 Здесь как раз самое слабое место языка, навороты с темплейтами сделали язык архитрудным и неочевидным для понимания. Все эти fold expressions, deduction rules + guides, все это невозможно знать досконально и применять без гугления примеров использования.Единственный "плюс" языка - это то что он очень сложный и неоднозначный и нужна хорошая квалификация, что бы писать на нем => работа не должна оплачиваться плохо.
И нет, в среднем С++ не оплачивается выше, чем др. языки. По крайней мере в Америке.
2 То что в 2020 году только думают над тем, как добавить модули - это треш. А еще нет таких привычных вещей как рефлекшн, интерфейсы, асинхронные вызовы, yield и думаю много чего
3 считаю основная проблема плюсов - это костыли в попытке сохранить соместимость с плюсами. в итоге там даже string не стандартизирован
4 ну ок, уговорили, значит язык тотальное говно без плюсов (сори за тафтологию)
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Обрыгался
В итоге стандартизован в C++ Standard Library, но не запрещает кому угодно имплементировать свой string.
In the C++ programming language, the C++ Standard Library is a collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.[1]
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
На практике постоянно приходится работать с кодом из винегрета char*, wchar*, std::string, QString и пр.Medium-rare wrote: ↑08 Mar 2020 18:25В итоге стандартизован в C++ Standard Library, но не запрещает кому угодно имплементировать свой string.In the C++ programming language, the C++ Standard Library is a collection of classes and functions, which are written in the core language and part of the C++ ISO Standard itself.[1]
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Обрыгался
Более того, каждое из перечисленных имеет свои важные свойства, и преимущества в использовании в конкретном случае. Там где C++, некоторые чудики заинтересованы в экономии циклов процессора, для примера. QString это шедевр, без иронии, с copy-on-write семантикой, но аттрибут фреймворка Qt. std::string это самый универсальный и удобный и стандартизованный. wchar_t* просто указатель на широкие символы. Всякие строки имеют значение в C++ разработке. Ну и пусть C# и Java программисты довольствуются одним правильным типом. Правильной дорогой идут. Туда.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 5552
- Joined: 20 Mar 2001 10:01
- Location: SFBA
Re: Обрыгался
Ну, к примеру, вот это мне показалось интересным (про сложности имплементации std::optional):
How to Write Well-Behaved Value Wrappers
Last edited by 8K on 08 Mar 2020 18:53, edited 1 time in total.
Увидев друга, Портос вскрикнул от радости...
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
Все правильное - идеология плюсов - куча гемора на ровном месте ради мифического прироста производительности, которого в реальности и нет. Плюсы были актуальны во времена машин с 8-16 мб оперативки, сейчас эти пляски себя никак не окупают. А на практике часто тот же Гуй на плюсах мало того что в 10 раз дороже, так же и безбожно тормозит по сравнению с JSMedium-rare wrote: ↑08 Mar 2020 18:31Более того, каждое из перечисленных имеет свои важные свойства, и преимущества в использовании в конкретном случае. Там где C++, некоторые чудики заинтересованы в экономии циклов процессора, для примера. QString это шедевр, без иронии, с copy-on-write семантикой, но аттрибут фреймворка Qt. std::string это самый универсальный и удобный и стандартизованный. wchar_t* просто указатель на широкие символы. Всякие строки имеют значение в C++ разработке. Ну и пусть C# и Java программисты довольствуются одним правильным типом. Правильной дорогой идут. Туда.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Обрыгался
Вы просто кладезь мудрости. И поучавствовали везде во всех проектах. А мы менее недели назад на веб-конфе сидели с одной конторкой, которая подключается через наш API к нашему мифическому серверу, но у них всё время объекты отстают от их точек в пространстве, либо вдруг, всё наоборот. GUI у них на Java подключается к очень быстрому потоку данных через пару портов на сервере. У нас есть свой GUI, на Qt/QML/C++, все аргументы джавной стороны быстро спускаются по назначению просто воспроизведением конкретного случая. Но они хотят иметь свой клиент, и глубоко вникать в "детали" входного потока.OtherSide wrote: ↑08 Mar 2020 18:52 Все правильное - идеология плюсов - куча гемора на ровном месте ради мифического прироста производительности, которого в реальности и нет. Плюсы были актуальны во времена машин с 8-16 мб оперативки, сейчас эти пляски себя никак не окупают. А на практике часто тот же Гуй на плюсах мало того что в 10 раз дороже, так же и безбожно тормозит по сравнению с JS
Короче, есть какой-то предел, после которого нет более аргументов настоящему корифану корифею. Да всё вокруг программирование, это же веб, и бухгалтерия.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 5552
- Joined: 20 Mar 2001 10:01
- Location: SFBA
Re: Обрыгался
Он их просто не умеет готовить. Вполне понятная реакция.
Увидев друга, Портос вскрикнул от радости...
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
Честно говоря, мало что понял что вы написали. Понятно что в теории плюсы всегда быстрее скриптовых языков. Но то в теории. На практике JS сильно заоптимизирован, возможно подключена видеокарта и шейдеры, поэтому код на плюсах "в лоб" работает медленней скриптового. У меня был случай, в паралельной команде рисовали клиента на objective c, в итоге через пару месяце там с гордостью выкатили код, который все равно раза в полтора медленней, написаного на js изначально.Medium-rare wrote: ↑08 Mar 2020 20:06Вы просто кладезь мудрости. И поучавствовали везде во всех проектах. А мы менее недели назад на веб-конфе сидели с одной конторкой, которая подключается через наш API к нашему мифическому серверу, но у них всё время объекты отстают от их точек в пространстве, либо вдруг, всё наоборот. GUI у них на Java подключается к очень быстрому потоку данных через пару портов на сервере. У нас есть свой GUI, на Qt/QML/C++, все аргументы джавной стороны быстро спускаются по назначению просто воспроизведением конкретного случая. Но они хотят иметь свой клиент, и глубоко вникать в "детали" входного потока.OtherSide wrote: ↑08 Mar 2020 18:52 Все правильное - идеология плюсов - куча гемора на ровном месте ради мифического прироста производительности, которого в реальности и нет. Плюсы были актуальны во времена машин с 8-16 мб оперативки, сейчас эти пляски себя никак не окупают. А на практике часто тот же Гуй на плюсах мало того что в 10 раз дороже, так же и безбожно тормозит по сравнению с JS
Короче, есть какой-то предел, после которого нет более аргументов настоящему корифану корифею. Да всё вокруг программирование, это же веб, и бухгалтерия.
Сам на плюсах писал много лет, потом был перерыв лет 8, сейчас вернулся и сильно невпечатлен. К хорошему быстро привыкаешь.
-
- Уже с Приветом
- Posts: 1964
- Joined: 11 Mar 2015 01:12
Re: Обрыгался
В правильных местах правильные проекты все на плюсах. Нравится - не нравится, спи, моя красавица.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: Обрыгался
Бия себя по рукам: прекрати отвечать на троллинг. Эх. Может, он в самом деле так думает?
JavaScript написали в основном на C++. Вот там и имплементировано, что вам нравится. И там, в JavaScript, есть, что ширнармассы будут хавать.
В нашем сильно не бухгалтерском GUI на C++ тоже имплементировано, что нам нравится, но откуда тому быть в JavaScript? Он о том ничего не знает.
Если ещё одно натягивание видеокарты на глобус, лучше сразу в лес. Могу просветить "как используется видеокарта". Но вопрос о чём? О вере или неверии? Тут есть другой подфорум.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 5552
- Joined: 20 Mar 2001 10:01
- Location: SFBA
Re: Обрыгался
"И календарь осьмого года:
Старик, имея много дел,
В иные книги не глядел"
Увидев друга, Портос вскрикнул от радости...
-
- Уже с Приветом
- Posts: 15773
- Joined: 01 Mar 2008 15:14
Re: Обрыгался
Тоже мне Америку открыл что js на плюсах писано. Ну ну. Превозносить плюсы это все старперский снобизм ещё из 90х когда тру кодеры были чисто плюсовиками. Плюсы красивы только в учебниках александреску, по факту в 90 проц. Проектов код кусок неподдерживаемого говна которое падает и тормозит. Писать на плюсах очень дорого но сейчас мало где оправданоMedium-rare wrote: ↑09 Mar 2020 15:42Бия себя по рукам: прекрати отвечать на троллинг. Эх. Может, он в самом деле так думает?
JavaScript написали в основном на C++. Вот там и имплементировано, что вам нравится. И там, в JavaScript, есть, что ширнармассы будут хавать.
В нашем сильно не бухгалтерском GUI на C++ тоже имплементировано, что нам нравится, но откуда тому быть в JavaScript? Он о том ничего не знает.
Если ещё одно натягивание видеокарты на глобус, лучше сразу в лес. Могу просветить "как используется видеокарта". Но вопрос о чём? О вере или неверии? Тут есть другой подфорум.
-
- Уже с Приветом
- Posts: 232
- Joined: 11 May 2019 00:56
- Location: US
Re: Обрыгался
Как вообще такое можно написать серьезно?! Детский сад какой-то.OtherSide wrote: ↑09 Mar 2020 17:08 Тоже мне Америку открыл что js на плюсах писано. Ну ну. Превозносить плюсы это все старперский снобизм ещё из 90х когда тру кодеры были чисто плюсовиками. Плюсы красивы только в учебниках александреску, по факту в 90 проц. Проектов код кусок неподдерживаемого говна которое падает и тормозит. Писать на плюсах очень дорого но сейчас мало где оправдано
Если падает и тормозит, то это проблема кривых рук, а не языка. То что тормозит на плюсах, тем более будет тормозить на JS.
То что падает на плюсах, на JS будет падать чаще, ибо динамически-типизированные языке порождают новый класс ошибок связанный с типизацией, в современном С++ практически не существующий.
Ускорение на видеокарте не осуществляется автоматически, а только при использовании специальных вычислений. И если они вам не нужны, никакого прироста вы не получите, а если нужны, то вы и на с++ их сделаете если надо тем же OpenMP.
Проблема плюсов в том, что сложно найти толковых разработчиков. Учить долго, и потому желающих мало.
Пока никаких других языков, развитых до его уровня, так где нужна высокая производительность, нет.
Нет др. языка, который поддерживает compile-time programming на таком уровне, как с++