А где Тимми? / Он пытается изучить С++ после своих курсов по Питону / it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek 
А где Тимми?
/
Он пытается изучить С++ после своих курсов по Питону,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор
Подробнее
А где Тимми? / Он пытается изучить С++ после своих курсов по Питону
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
кэп ? или после питона мозги основательно деградируют ?
Nagisa Nagisa 25.12.202009:31 ответить ссылка 9.9
Наверное питон лёгкий, и Тимми поверив в себя взялся за неподъёмный С++
d0z3R d0z3R 25.12.202009:36 ответить ссылка 29.2
это не питон лёгкий, это плюсы превратились за десятилетия в адовы напластования костылей.
эт по сути уже не один язык, а несколько, совместить которые в одном проекте будет проблематично.
villy villy 25.12.202009:47 ответить ссылка 13.8
Какие-то неправильные представления о плюсах. Эти "пласты костылей" называются обратная совместимость. И это очень круто. Тот же питон не парился, а просто сделал python3, сломав к чертям всю обратную совместимость. Вот уж где действительно "не один язык, а несколько".

А подход плюсов хорош тем, что твой код редко ломается при переходе на новый компилятор, но всегда можно улучшить код, используя новый стандарт.
Не ссорьтесь, вы оба погрумисты и нормальные люди вас обоих не понимают.
MDED MDED 25.12.202009:55 ответить ссылка 38.3
это брачные игры, не мешай.
inoy inoy 25.12.202010:54 ответить ссылка 22.1
Кто из них самец а кто самка? Я не силен в анатомии программистов...
С питоном совсем необязательно что мальчик, скорее наоборот
iNji iNji 25.12.202011:39 ответить ссылка 1.5
Но и с плюсами знает толк в анальных утехах. В общем все сложно и вариативно
iNji iNji 25.12.202011:41 ответить ссылка 1.6
Посмотрите на этих двух программистов, вот они пытаются править свои коды без комментариев и трясут друг перед другом компиляторами, чтобы определить кто из них папка и родить уже рабочий проект.
Alnaka Alnaka 25.12.202011:49 ответить ссылка 20.3
Все равно говно высрут
упарываться обратной совместимостью в ущерб консистентности - плохо. результат будет вот такой, какой в плюсах. это тот же самый технический долг, только в языке.
villy villy 25.12.202010:08 ответить ссылка 6.0
Гораздо лучше все сломать к херам. Что мы и видим в программах при обновлении.
про тесты, ci/di в мире плюсов еще не слышали?
villy villy 25.12.202010:16 ответить ссылка 2.3
Я имел ввиду когда сознательно плюют на совместимость. Пусть пользователи разгребают.
ну так в плюсах пользователи и разгребают (пользователи языка - программисты)
villy villy 25.12.202010:20 ответить ссылка -1.0
В плюсах никто ничего не разгребает, программа 20 летней давности просто продолжает работать.
зато огребают новички, которые вынуждены в этом аду разбираться.
ну и вообще, можно проги 20-летней давности распространять в бинарях, а не в сорцах. синтаксис улучшать, а бинарную совместимость не трогать. но ее и так никто не трогал бы, она ж еще от сишки досталась.
а еще можно собирать проги 20-летней давности компиляторами 20-летней давности
villy villy 25.12.202010:40 ответить ссылка 2.2
Почитайте интервью со Страуструпом. Это очень грамотный дядька и говорит много интересного. В частности, что когда у твоего языка аудитория в миллионы программистов, а используется он практически вообще везде нахуй, это накладывает определенную долю ответственности.
они выбрали неправильную стратегию развития языка.
совершенно не обязательно упарываться полной обратной совместимостью, чтоб народ понимал правила игры и мог прогнозировать развитие своего кода.
если тебе нужен какой-то код - инвестируй в него время на допиливание его под новые стандарты языка.
villy villy 25.12.202010:52 ответить ссылка 1.4
А что конкретно в С++ старое говно, мешающее развивать язык и понимать его новичкам? Есть какие-то идиомы программирования, которые могли устареть (напр. SFINAE при наличие концептов). Но они в головах и книжках, а не в языке. Ну... Разве что с инициализацией хуйня.

Что делает с++ сложным (по крайней мере, для меня) - это стопицот крайних случаев. Его делают какие-то слишком умные люди, которые делают слишком обобщенные подходы, и пихают иди zero-cost abstraction и "и не плати за то, что не используешь" везде. Да, это сильная сторона С++, из-за которой их и выбирают. Но блять. Если посмотреть на концепты (самое свежее, что там есть) - это какой-то инфернальный ад из нескольких вариантов синтаксиса и кучи правил, что можно, что нельзя. Сложно? Да. Из-за легаси? Нет.
из-за легаси эти концепции в плюсах приобретают инфернальные формы. в исходных языках, откуда их утянули, такого не было.
о чем я и писал выше. консистентность проёбана в угоду совместимости
villy villy 25.12.202011:19 ответить ссылка 1.1
Прошу примеры. Где в плюсах именно из-за совместимости какая-то хуйня.
Ну например из-за попыток сделать обратно совместимое решение уже лет 20 тянется тягомотина с модулями. Всё вот-вот, и всё никак.
Psilon Psilon 25.12.202021:40 ответить ссылка 0.0
Да всё, начиная с UB на все подряд и заканчивая знаменитым правилом спирального чтения типчиков
Psilon Psilon 25.12.202021:39 ответить ссылка 0.0
Куча UB не из-за обратной совместимости, а в угоду производительности, "не платить за то, что не используешь" и возможности компиляторам оптимизировать всякое дерьмо.
Нет, вопрос не в оптимизациях, точнее зачастую не только в них. Алиасинг char* тоже показателен.
Psilon Psilon 26.12.202014:21 ответить ссылка 0.0
Не надо разбираться в аду древних стандартов. Стоит начинать с новых стандартов, постепенно погружаясь в язык.

Тебе не обязательно изучать Си (malloc, free, и т.п.), чтобы писать на плюсах. (Полезно, не спорю, но не обязательно)
а на хер мне тогда вообще плюсы? если можно взять более новый, более консистентный язык. плюсы учатся для поддержки легаси, а там уж насколько легаси твоё легаси - как повезёт
villy villy 25.12.202010:49 ответить ссылка 0.1
На плюсах в мире пишут новый код. Начинают новые проекты. Да и на си тоже. Кончено, меньше, чем говно-формо-шлепства на жс (не весь жс - формошлепство, но многий). Замены С и С++ в их нишах пока нет. Живите с этим.
и это хуёвое явление в нашей индустрии
замен полно, но ригидность мышления плюсовиков не способствует их повсеместному внедрению
villy villy 25.12.202011:02 ответить ссылка -2.1
Замен нет? А как же все эти жавы, шарпы, питоны итп итд, которые вытеснили с++ в ниши аысокопроизводительного, низкоуровнего и встраиваемого кода?

А если мы говорим о заменах в этих нишах, что там у нас? Rust и D? Ну D популярности не снискал, а Rust набирает ее (самый фап-язык по статистике стаковерфлоу два года подряд). Но он пока сырой. И особенности разработки не позволяет ему (пока) заменить си в области safety-critical.

Ну ещё nim, хуим и прочая экзотика.
"популярности не снискал"
плюсовики кичатся своей илитарностью, а ведутся на хайп, как хомяки, лабающие на жабоскрипте. мы вроде как инженеры, должны руководствоваться логикой всё-таки, не?
по моему опыту, кто пробует новые языки - они им находят применение. и радуются потом этому.
но большинство просто вообще ничего не пробует.
villy villy 25.12.202011:25 ответить ссылка -0.3
Ещё раз.
В индустрии применяются стопицот языков, от кобола до хаскеля, далеко не одни плюсы. Они занимают на такую большую нишу, посмотрите по вакансиям.

Выбор языка зачастую не рядовым программистом выбирается. Вот нарваться мне раст, ну я сижу, дрочу немного из любви к искусству. Но он редко применяется в продакшне, нет вакансий почти, даже меньше, чем на си. Потому что новый, потому что мало программистов, потому что хуй пойми, что будет. И менеджмент/лиды решают не рисковать. А где-то применяют. Это бизнес, деньги, а не самомнение плюсовиков.
а лиды у вас кто?
villy villy 25.12.202012:38 ответить ссылка 0.0
Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.

Бьерн Страуструп.
передайте Бьярне (хотя уже не ему, а комитету), что в других языках недовольство приводит к изменениям
villy villy 25.12.202011:27 ответить ссылка -0.1
Замена есть и имя ей раст. Слава кровавым богам, он все больше вытесняет адский си и кресты.
Адепты раста в треде)
Я тоже адепт. Мне очень понравился раст, куда больше, чем плюсы. Увы, пока он вытесняет в более высокоуровневых задачах, где были плюсы, а не си, зря создавался именно как язык системного программирования. На территорию си он пока мало зашёл. Хотя сам Линус сказал, что не против не-сишных, возможно, растовых, модулей ядра.

В чем проблема. Раст очень крут в плане безопасности. Во всяком случае, декларируемой. Не знаю, насколько там компилятор не имеет ошибок и насколько ему можно верить. Но тем, где нужна это конечнная упоротая безопасность - в safety critical, раст к пустят долго, потому что не сертифицировано. Продолжут на C/C++ с MISRA код стайлом писать и IAR'ом компилировать...
> В чем проблема. Раст очень крут в плане безопасности. Во всяком случае, декларируемой. Не знаю, насколько там компилятор не имеет ошибок и насколько ему можно верить.

Для сейф кода доказано что он sound - то есть невозможно написать программу, нарушающую гаратии раста. Понемногу верифицируют стандартную библиотеку - вот атомики не так давно проверили: https://people.mpi-sws.org/~dreyer/papers/rbrlx/paper.pdf

То есть не просто "протестировали", а математически доказали, что ошибок там нет и быть не может. Что до мисра и остального - вопрос времени. Раст уже 5 лет как живой с момента релиза 1.0 (и ещё был сколько-то времени в версиях 0.х), в той же фуксии гугл его юзает как один из основных языков, при этом их любимый го запрещен. Майкрософт для Azure IoT сделал целый фреймворк actix. В общем, живы будем не помрём, развиваемся потихоньку. Даст бог сбросим оковы неудобства и будем писать на чем-то более-менее адекватном.
Psilon Psilon 25.12.202021:49 ответить ссылка 1.3
О, тема верификации - это очень интересно, это дерьмо я люблю, спасибо.

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

Было бы приколньо строить инфраструктуру языка (начиная с компилятора) с какого-нибудь минимального верифицируемого языка, теорем прувера или типо того, поверх которого все строится. (Вот в раст втащили, вроде, некую вариацию пролога для вывода типов, но это другое). Наверняка, где-то сидят бошковитые задроты по type theory, которые таким упарываются.
Я думаю в Idris как-то примерно так и сделано. Но в верификации всегда краеугольным вопросом является ОЧЕВИДНО, потому что доказывать что 1+1=2 не всегда удобно. Я несколько дней потратил на доказательство, что если из множества s удалить элемент x, то в результирующем множестве {s \ x} не будет этого нашего x. Причем перебрал несколько возможных способов определения множества, пока нашел такое, для которого достаточно простое чтобы я смог его осилить.
Psilon Psilon 26.12.202014:25 ответить ссылка 1.2
Начинать изучение современных плюсов со старых стандартов, это как изучать английский язык с рунического письма.
У C++ есть большой косяк - там бинарной совместимости просто нет. Нет, он не совместим бинарно с си, там есть и классы, и перегрузка, и многое другое. Гуглите манглинг имён, а дальше, как пойдет. Это реально проблема, что плюсы с плюсами бинарно не совместимы. Думаете, зачем на винде каждая вторая прога тащит C++ Redistributible? Это вам не libc.

Ладно, она существует, но де-факто, не де-юре, да и то не везде и ограничено. Ещё был в истории пример, когда с переходом на C++11, подобие на бинарную совместимость таки сломали, и от этого некоторые ортодокс-конторы не переходили на с++11 и новее лет десять. Бедные.

> ну и вообще, можно проги 20-летней давности распространять в бинарях
Угу, и ошибки не исправлять. А дневник компиляторы - ещё больше зло.
Я не слишком опытный юзер, но для меня одна из главных проблем С++ это необходимость дублировать информацию в h и cpp файлах. Когда меняется список аргументов функции в cpp, надо делать то же самое в h. Понятно, что это наследство от С, но по-хорошему никакое изменение кода не должно обязательно тянуть за собой другие изменения.
По-моему если хочешь современный язык - бери тот же питон, его стараются поддерживать на самом современном уровне, и даже пренебрегают совместимостью. Если нужна совместимость - тут уже С++ без альтернатив.
> Когда меняется список аргументов функции в cpp, надо делать то же самое в h

pimpl.
Kotoed Kotoed 25.12.202012:05 ответить ссылка 0.2
Там модули уже завезли, возрадуйтесь. Теперь не надо.

Кстати, нас самом деле хедеры в си, на в с++ - это топ просто. Вы можете положить в них публичный интерфейс, а все потроха споятать. Такого больше нет ни в одном языке. Вы можете писать public, private, но я открываю ваш файл и вижу как публичный интерфейс, так и приватную реализацию. Глаза разбегаются. А в сишечке хедер открыл, и видно только нужное. Конечно, можно именно интерфейс вынести, как отдельную сущность, но интерфейс - это лишняя косвенность. Да и интерфейс ради одного наследника - возможно, вы что-то делаете не так.
*Минутка дроча на раст и трейты*
"Такого больше нет ни в одном языке"
фейспальм.жпг
такое везде. в любом языке с модулями. только менее черезжопно: метаинфа собирается при сборке, не надо ее дублировать руками
villy villy 25.12.202012:35 ответить ссылка 0.0
Видимо, мы не так поняли. Если я открываю сурс файл на шарпе, то я вижу как публичный интерфейс, так и всякую private хуйню и реализацию, которая мне неинтересна. Можно в явном виде вынести интерфейс, чтоб все скрыть, но будет то же самое.
"А в сишечке хедер открыл, и видно только нужное"
А если это темплейт класса? Тогда ведь по-любому реализация тоже в h файле?Получается что хедер - это не всегда только интерфейсы.
До модулей я пока не дошёл, спасибо за совет.
когда программист даже запомнить не может, какие вариации синтаксиса что делают - это приводит к тому, что в каждой конторе возникает своё подмножество плюсов, за которое стараются не вылезать. а потом либы этих контор хера состыкуются в одном проекте
вон чувак косяки только в 1 фиче час разбирает:
villy villy 25.12.202010:15 ответить ссылка 2.7
Это не только к плюсам справедливо
niklik niklik 26.12.202001:36 ответить ссылка 0.1
Плюсы совершили ошибку LISP'а. Как LISP нечитаемый из-за того, что представляет собой AST-дерево самого языка, так и плюсы стали нечитаемой хренью из-за попыток объединить в одном синтаксисе высокоуровневый и низкоуровневый подходы, и вдобавок начали запихивать функциональнщину, которая идеологически не ложится на современную аппаратуру. И поэтому мы имеем теперь в наличии фразу Мейерса, что у нас теперь три языка и смешивать их не надо.
nostr nostr 25.12.202010:19 ответить ссылка 6.1
Не совсем правда. Новые std::ranges выглядят хорошо, лямбды тоже. Мало языков позволяют писать высокоуровневый код, не отбирая гибкость и производительность низкоуровневого подхода.

Безусловно есть Rust, который хорош, но ему было проще, потому что в нем не было огромного легаси и груза обратной совместимости, как у плюсов.
достаточно языков совмещают высокоуровневый код с низкоуровневым. плюсы в этом, кстати, сосут, тк нет разграничения safe/unsafe кода
villy villy 25.12.202011:00 ответить ссылка -0.8
Ничего себе. В язык наконец завезли анонимные вложенные функции (c++11) и работу со списками (c++14). Жалко только, что это было гораздо важнее, чем сделать нормальную инициализацию статических членов класса (c++17).
nostr nostr 25.12.202011:02 ответить ссылка 0.0
Так про то речь и идет, что груз обратной совместимости не позволяет сделать нормальное решение, делают костыльное, и год за годом костыли обрастают и через какое-то время это становится невозможно поддерживать.

Да что там говорить: вот идет доклад по С++, в зале есть члены комитета С++, то есть люди которые днями только и делают, что изучают язык и его нюансы. И их спрашивают "как думаете, какая семантическая модель этого кода", и *у них разные ответы*. Что уж говорить про простых смертных, а не комитетчиков. Не уверен, что на планете найдется хотя бы один человек, который для любого небольшого сниппета на плюсах сможет правильно ответить, что компилятор с ним сделает.
Psilon Psilon 25.12.202014:04 ответить ссылка 0.8
Часть кода всё-таки магически конвертится из 2 в 3. Это если аод без изёбов.
Да, только техдолг копить вечно не получится, и в итоге плюсы умирают. Медленно, конечно, и умирать лет 10-20 такими темпами будут, и в итоге превратятся в какой-нибудь нишевый кобол, но тем не менее.

Питон тоже хреново поступил со сломом третей версии. Зато показал всем, как делать не надо.

В общем, можно долго спорить о том, лучше ломать ли не ломать совместимость, но то что плюсы неподъемные - это факт. Что говорить, это наверное единственный компилируемый язык с *неразрешимой грамматикой*.
Psilon Psilon 25.12.202014:00 ответить ссылка 1.0
Да кстати. Воодушевившись проблемами питона 2 скалисты в своей скала 3 делают поддержку нескольких рантаймов разом :)
faiwer faiwer 25.12.202014:26 ответить ссылка 0.9
Плюсовики говорят, что не надо при изучении современных плюсов изучать какие-то подходы, паттерны, хаки итп, которые использовались стопицот лет назад, в частности, до с++11. Есть C++ Core Guidelines, где пишет, втч, сам Страуструп. Этакий расово верный способ учить современные плюсы и best practices.
современные плюсы - это вообще оксюморон. ни одной фичи своей там не появлялось несколько десятилетий. фичи тянутся из других языков, да и то медленно. догоняющее развитие.
как-будто другие языки не делают всего того, что и плюсы. делают, но почему-то спеки в разы короче, поведение интуитивное, компиляется быстрее, сборка параллелится, инкрементально делается и тд.
villy villy 25.12.202010:26 ответить ссылка 0.5
Потому-что от таких языков не требуется производительность на уровне ассемблера. И возможности управлять памятью напрямую.
от каких от таких?
мсье изволит спиздануть, что нет современных языков с указателями и встроенным асмом?
мсье может пойти на хуй, их полно.
при этом особым образом будут помечены все те загончики, где извращения разрешены
villy villy 25.12.202012:09 ответить ссылка -0.5
Да иди плач в подушку лоу-скилл. тебе до С++ как до китая раком чилда. путь твой в жопу.
твою аргументацию можно умножить на ноль лишь одним фактом что 90% софта которые ты юзаешь в том числе и твой браузер написанны на С++.
Вы говорите "как-будто другие языки не делают всего того". И мы хз какие языки вы имеете ввиду, поэтому DoroViska на интуицию говорит, что нет, от "таких" языков не требуется производительность. Так что прежде чем наезжать с претензиями, предъявите их себе и выложите список языков которые ВЫ имели ввиду.
Klinok Klinok 25.12.202012:27 ответить ссылка -1.3
просто почитай, что этот даун ниже пишет
villy villy 25.12.202012:31 ответить ссылка 0.5
повыкидывать бы всё то, что не входит в гайдлайны. но это уже наверн получится D, или какой-нибудь nim, zig или типа того
villy villy 25.12.202010:28 ответить ссылка -0.3
Языки вечно друг у друга заимствуют фичи. А так, большинство фич, которые пришли в мейнстрим языки за последние лет десять (и не связанные с устранением недостатков данного конкретного языка) были в ML, Haskell или где-то ещё лет 30 назад.

> как-будто другие языки не делают всего того, что и плюсы
Нет. Иначе бы никто не писал на С++, потому что это медленнее и дороже. Думаете, бизнес выбирает С++ из любви тратить деньги на программисто-часы? Есть области, где с и с++ живее все живых. Производительность выше: математика, рендеры, игры, моделирование, высокопроизводительный финтех итп итд. Нет рантайма, меньше код, меньше/нет накладных расходов, прямая работа с памятью (читай: с железом), нет GC - микроконтроллеры, встраиваемые системы, системы реального времени, ядра ос итп итд.

Там, где можно писать не на плюсах, уже пишут не на плюсах. C#, Java, Python, JS - тысячи их. Из замены плюсов и си разве что Rust, но он сырой. Ещё D, но не во всех приложениях применим. Ну и остаются тысячи программ на си и с++ в основе всей инфраструктуры, которые не выкинуть
производительность выше - это байка. прост у плюсовиков нет времени оторвать голову от проекта и глянуть, а кто что может из современных технологий.

а вообще вот нафига писать и микроконтроллеры и бизнес логику какого-нибудь финтеха на одном языке? по-моему это тупо. разные задачи требуют разных инструментов.

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

нам нужны более человеческие оси, и я надеюсь, в ближайшем будущем появится что-нибудь с wasm-овским апи
villy villy 25.12.202011:15 ответить ссылка -0.9
#производительность выше - это байка
Полный бред.
и твой взгляд говно. изучай тему лучше.
no u
jit может выдать более производительный код, чем aot, за счёт предварительного профилирования
villy villy 25.12.202012:02 ответить ссылка 0.0
А может и не выдать. Ещё jit-у нужна информация о типах, которой нет во всяких мейнстримных JS-ах, поэтому тот же V8 занимается очень нетривиальными приседаниями.

А вот ещё есть MLTon, компилятор языка Standart ML, за счёт функциональщины оптимизирует лучше Си. И язык куда богаче, чем си, с++ и даже шарпы с жсами. Но все это не мейнстрим и не везде применимо.

Ещё, если у вас time-critical (управление ебеным роботом, производством, высокочастотный трейдинг, стриминговая передача данных) ваш jit (и gc) заодно идёт нахуй из-за недерменированных задержек.
вот не надо ля-ля. высокочастотный трэйдинг на жабе существует, и оч даже неплохо. распределенных вычислений больше на яве, базы данных на яве существуют.
кстати говоря, jit вполне себе детерминированный. сколько-то раз мы зашли в метод - и он джитится.
про realtime gc ты тоже не слышал

а потом такие вот эрудиты дохуя и говорят: "да хули там, давайте новый проект на плюсах лабать" и вся хуйня идет на второй круг
villy villy 25.12.202012:18 ответить ссылка -0.2
Если у нас реалтайм, особенно, жесткий реалтайм, джит нельзя. Вот работает система, тут произошла редкая ситуация, которой ещё не было в этой сессии. Вызывается обработчик, он начинает джитится. Латентность подскакивает на плрядки. Рука робота сносит голову китайскому рабочему.

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

Я как раз реалтаймом занимаюсь. И мы тут дрочим кэш мисы, очереди пакетов в сетевухе и QoS PCIe шины, чтоб уменьшить латенси на ... микросекунды.
а что мешает подёргать все обработчики на старте чтоб всё заджитилось?

реалтайм обычно далеко не быстрый. он просто гарантированно реагирует за какое-то время. ну так есть реализации gc, которые дольше заданного времени не тормозят. у ibm есть такая, у azul. эт для явы.
villy villy 25.12.202012:46 ответить ссылка -0.2
потому что твой Jit для генерации нормального кода должен очень долгое время профилировать то-что он высрал. jit не способен сразу из-под пинка генерировать быстрый код, для этого ему нужно долгое время составлять callratings, weak мапы функций и другие высероты чтобы хоть как-то апнуть perfomance. Куда смешней не то что jit это longtime задача, куда смешней то что в тех задачах в которых требуется большая производительность jit всё ломает, мапинги near символов быстро захлёбываются и в результате код начинает компоноватся абсолютно не эффективно. В итоге получается игра по типу space engineers которая всем своим видом доказывает мой аргумент. Да и сам глава keen говорил что главная проблема производительности их игры это jit и в особенности gc.
одна из: разница между С++ и условным С# в том что в С++ код полностью оптимизируется со стороны кодогенерации что не может себе позволить "строгие, без UB" языки на подобии java/js/C#/питон-гандон. в этих языках нету никакого контроля над памятью а там где его нет - нет высокой производительности.
И чем это лучше, чем AOT? AOT же это не си с плюсами. Джава может компилироваться AOT (см. Android), сишарп, вроде, тоже.

К тому же, как я понимаю, jit приводит к дополнительной косвенности (вставляет trampoline на скомпилированнную функцию), а это кэш (и что хуже, page) мисы, есть задачи, где это критично. Но я могу быть не прав.
а я и не наезжаю на все подряд аот-языки. тока на пропитанные легаси заполонившие всё небезопасные
villy villy 25.12.202013:32 ответить ссылка 0.0
ну дак не пользуйся софтом который написан на легаси языках.
да и в игры не грай которые на легаси языках написаны.
байкот поможет и все сразу будут писать на питоняшах-говняшах как в твоей кануре
Иди нахуй. соси хуй у своего AOT. АХХАХАХАХА. немощный уродец который не смог выучить С++. мозги с орех. ахахахха урод урод урод.
слишком толсто
villy villy 25.12.202012:22 ответить ссылка 0.0
А как ещё реагировать на совершенное не понимание вопроса?
аргументы приводить в вашей дурке не принято?
villy villy 25.12.202012:26 ответить ссылка 0.1
принятно. но приводить можно только нормальные аргументы с ссылками на доказательства и на источники. а на всякую придуманную херню по типу твоей принято отвечать примерно подобной аргументацией, только без маски интеллигента.
Я выступаю адвокатом дья... С++ в этой теме, но это даже для меня слишком жирно.
Этим людям бесполезно что-то доказывать. единственное что они заслуживают это прямое оскорбление, и даже без жиру, и это будет эквивалентно их аргументам.
тебе самому не смешно когда тебе на с серьёзной миной пишут вот это?
производительность выше - это байка, прост у плюсовиков нет времени оторвать голову от проекта и глянуть, а кто что может из современных технологий.
erase("на")
Чем какие-то байки про плюсовиков рассказывать, посмотрели бы на реальные проекты. Я не хотел хамить, но каждый одно и то же транслирует. Си и с++ и так отлично заменяются другими языками. Сложные проекты пишут на разных языках. Никто не будет писать на дорогом языке, если в этом нет необходимости. Ну, кроме Яндекса, наверное. Хотя, может, и у них есть причины.

> а вообще вот нафига писать и микроконтроллеры и бизнес логику какого-нибудь финтеха на одном языке?

Потому что он позволяет удовлетворить требованиям заказчика, на рынке есть программисты?

> оси писались давно и их апи сишное. что в самих осях тоже вызывает кучи косяков
Какие косяки из-за сишного апи, а не сишных внутренностей? Сишное апи позволяет прикрутить что угодно куда угодно.

> появится что-нибудь с wasm-овским апи
WASM - это же LLVM-подобный байткод для виртуальной машины, если я не путаю? Ещё там вроде апи для обмена с JS. Как это соотноситься с ОС? Я Я что-то слышал, что думают над WASM в десктопе (круг эволюционных технологий замкнулся, бля), и там POSIX-подобное API. Лол, посикс - это то самое сишное апи.
по сути, васм - примерно та же ява, тока с линейной памятью
но эта хуйня стандартная.
уже есть вм для запуска его на сервере.
далее ожидается дистрибуция кода в этом формате
а там рукой подать до осей, в которых это будет единственным форматом распространения кода, ибо нафига какие-то другие?

ну а апи там наверн будут в виде чего-то типа IDL. мета инфа для линковки в каком-то виде по-любому нужна, но в каком именно - не суть важно.
villy villy 25.12.202012:30 ответить ссылка 1.2
Записывает. Интересно, покурим. Но насколько я последний раз смотрел, производительность васм в браузере до нативной не дотягивала.
Получился раст
Psilon Psilon 25.12.202014:06 ответить ссылка 0.9
Проблема с++11 в том, что он должен называться с++2000. И половина гайдлайна должна быть не сборником советов, а интегрирована на уровне синтаксиса в язык. Но тогда, па-па-пам, мы получим что-то типа джавы.
nostr nostr 25.12.202010:32 ответить ссылка 2.2
gwarlock gwarlock 25.12.202010:44 ответить ссылка -1.2
Только вот кодовая база на С++ до С++11 никуда не делась, и когда такой "современный плюсовик" придет на работу он не сможет прочитать/поправить и строчки. Что говорить, большнинство моих знакомых только в этом году затащили С++11, некоторые С++14. А уж про то, что не все фичи C++17 поддерживаются в принципе в гцц\мсвц\кланге\... это уже добивающий.
Psilon Psilon 25.12.202014:06 ответить ссылка 0.8
Питон легкий, удобный и приятный. После него тяжело во что-то более низкоуровневое
Semecky Semecky 25.12.202009:40 ответить ссылка -0.6
Поэтому обычно люди делают наоборот. Сначала всякие ассемблеры, потом прикладные языки, а уже потом всякие байткодные/интерпретируемые.
Ты наверное про институтских программистов. В веб разработке у всех знакомство начинается с пайтона, js и php
Semecky Semecky 25.12.202009:54 ответить ссылка -1.9
Будто у нас кроме веб разработки других не существует =_=
Ну строго говоря нет. А рынок "не-вебразработчиков" обычные нативщики делят со всякими жаваскриптерами-электроноёбами
Psilon Psilon 25.12.202014:07 ответить ссылка -0.5
смею тебя огорчить, у разработчиков все начинается с академических знаний классических паскаля/С/джавы, а потом уже в зависимости от выбраной профы: веб/приклад/бек и т.д. подбирается язык/фреймворк + модные свистоперделки.

"знакомство начинается с пайтона, js и php", это только у 300к/сек после 2 недельных курсов.

P.S. Все хейтят JS, но из тройки "пайтона, js и php" JS наиболее похож с C/Java так как базовый синтаксис и операторы почти идентичны, свичнуться JS -> C / C -> JS достаточно легко (да, второй вариант сложнее)
P.S.S Пайтон вообже фу, куча глобальных функций вместо методов и гребанный отступы со "списками". ИМХО
Если человек освоил один язык, в котором есть хоть что-то похожее на обычное процедурное и около-ооп программирование, т.е. основные концепции, то он освоит любой похожий язык легко на базовом уровне. А отличие профи от базового уровня - это втч дроч деталей, нюансов и особенностей, которых полно на любом стеке.

куча глобальных функций вместо методов
Оп, ооп головного мозга детектед. И их не куча: https://docs.python.org/3/library/functions.html. Python - довольно элегантный язык, позволяющий многие вещи писать очень легко и компактно. Другое дело, что я очень считаю что питон, что js непригодными к разработке больших проектов из-за отсутствия компиляции и строгой статической типизации. Напоминает ходьбу по минному полю.
>Напоминает ходьбу по минному полю.
И дроч с сериализованными данными, да. Как впрочем у любых языков с нестрогой типизацией.
еще более С/Java
IdlUOSldAl
Тайпскртпт - хороший язык, я на спорю. На самом деле, это не джава. Там более интересная система типов, которая включает в себя такие удобные и модные ныне вещи, как типы-суммы, not-nullable (вроде) и прочее.


К сожалению, тут есть ряд проблем.
1. ТС идеалогически остаётся надмножеством жс и сохраняет его недостатки. Например, там нет перегрузки операторов, что делает очень больно при написании, к примеру, математики (мне было больно)
2. ТС позволяет напихать Any (или что там вместо него) вообще везде и превратиться в жс. Если какой-то говнокод прошел проверку компилятора почему-то, то в рантайме он все равно может заработать на так, как надо. Проблем с труЪ компиляторами меньше. Я видел, как GCC генерируют невалидный код, но редко.
3. Главная проблема тс - программисты на тс. У них жс головного мозга. Вставлять Any как заглушки, если что-то идёт не так? Пожалуйста. Игнорировать крутые фичи языка? Пожалуйста. Там система типов лучше, чем во многих языках, зачем низводите до сишарпа?
Да, храни тебя наш местный Иисус.
как божэнька смолвил
> там нет перегрузки операторов

Я молюсь чтобы его не добавляли. Свят-свят. Не надо нам этого говна. У нас уже и без того есть Proxy, getter, setter, и это при том, что всё является hashmap. С перегрузкой операторов мы просто сгинем в пучине хаоса. Пускай скалисты с этим ебуться.

> ТС позволяет напихать Any

Это меньшее из зол. Банишь any на уровне линтеров и проблема ушла. Однако - хуй там плавал. Проблема в том что у TS unsound система типов. Ты без всяких any можешь в 3 строки её обмануть и типы не сойдутся. И это без приведения типов, без any, без guards. Сам язык устроен так, что он не может проверить типы наверняка. Если интересно накидаю пример. Но суть такая - ты никогда в большом проекте не можешь быть до конца уверенным, что типы в коде и в runtime -е одни и те же.

> Там система типов лучше, чем во многих языках, зачем низводите до сишарпа?

Я ниже писал уже - система типов сложная и если на проекте нет вменяемого архитектора, то народ просто не может её осилить. А так как привычка писать супер высокоуровневый код с JS осталась, то они просто не могут взять удобные концепты из JS и типизировать её на TS. Это бывает очень не тривиальным.
faiwer faiwer 25.12.202014:11 ответить ссылка 1.2
> У нас уже и без того есть Proxy, getter, setter, и это при том, что всё является hashmap

Имхо, это наследие жс, которое делает боль. Операторы очень удобны, например, всякие векторы/матрицы дрочить через a.mult(b) не особо удобно (или mult(a, b)?).

> Сам язык устроен так, что он не может проверить типы наверняка

Во, это то, что я пытался сказать, но я плохо знаю ТС, поэтому чувствовал жопрй, что там нет статических гарантий. Было бы очень интересно посмотреть на примеры.
> дрочить через a.mult(b) не особо удобно (или mult(a, b)?

Ой да ладно, не вижу принципиальной разницы между a * b и a.mult(b) (а лучше mult(a, b)). Зато невооружённым взглядом видно, что под капотом что-то хитрое. Я очень ценю очевидность.

> Было бы очень интересно посмотреть на примеры.

https://bit.ly/3rttkkA
держи. Тут в m1 попадает arg1.b неправильного типа. Без всяких приведений типов и any. И без guards. Почему? Потому что структурная система типов. Она даёт шикарную алгебру типов и вот такие вот уязвимости в одном флаконе
faiwer faiwer 25.12.202014:31 ответить ссылка 0.9
Это когда что-то простое. А когда mult(add(dot(omg(...)))) уже не так хорошо.

Спасибо за пример
А так? x |> omg |> dot |> add |> mult(#, b)?
имхо для этого нужен именно pipe-оператор а не перегрузка
D> omg > dot D> add
b)
faiwer faiwer 25.12.202014:48 ответить ссылка 0.0
Это TS или что-то более экзотическое? Просто перегрузка хороша тем, что позволяет записывать математику так, как она выглядит.
Это JS, proposal на 2-й стадии. В TS обычно не внедряют ничего что не дошло до 4-й.
faiwer faiwer 25.12.202015:14 ответить ссылка 0.0
Напоминает оператор композиции . из хаскеля:

f(g(x)) == f . g x
В какой-то степени это он и есть. Только слева направо, а не справа налево. https://github.com/tc39/proposal-pipeline-operator вот пропозал. Там они до сих пор (уже который год) не могут договориться какой синтаксис взять, один из который даже называется "F#"
faiwer faiwer 25.12.202016:30 ответить ссылка -0.3
Это оператор & из него же
Psilon Psilon 25.12.202021:53 ответить ссылка 1.2
И знание фреймворков и библиотек на этом языке.
DrXak DrXak 25.12.202011:20 ответить ссылка 0.0
> что js непригодными к разработке больших проектов из-за отсутствия компиляции и строгой статической типизации

Второе решается за счёт Typescript. Только сразу скажу, что система типом там зверски сложная. Это не Java/C#. А первое... 1-е никто пока и не пробовал решать :) Компиляция JS в WASM ничего не даст.
faiwer faiwer 25.12.202014:06 ответить ссылка 0.0
Не очень понимаю хейт в сторону отступов, т.к. всё равно все адекваты делают отступы в своем коде и на других языках что бы его реально вообще было читать.
Mumrik Mumrik 25.12.202010:56 ответить ссылка 1.9
> что бы его реально вообще было читать
для этого в других языках кроме отступов еще используют { } (begin/end привет паскаль/делфи), которые и позволяют не ломать себе глаза при просмотре кода и писать все хоть в одну строку.
Ну мне отступы всё равно удобнее читать чем однострочный код с {}, мб это субъективное
Mumrik Mumrik 25.12.202011:17 ответить ссылка 0.0
Мне отступы сильно не понравились тем, что нельзя быстро взять какой-то кусок постороннего кода вставить и тут же запустить. Приходится сидеть и раздрючивать все эти отступы. И так во множестве других ситуациях редактирования.

Какие-то повторяющиеся простые вещи бывает проще писать в одну строку, но в питоне хрен, будь добёр растягивай эту гирлянду на на три экрана.
iNji iNji 25.12.202011:54 ответить ссылка 1.8
А в чём сложность несколько раз нажать shift+tab или просто tab? Какая-то надуманная проблема.
faiwer faiwer 25.12.202014:13 ответить ссылка 0.0
Ты знаешь, мне тоже удобнее читать код на табуляциях... пока не случается одно из:

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

Эти две вещи ломают картинку. Пока там 2+2 оно выглядит опрятно и прикольно. А чуть какой мудрёж и уже хочешь фигурных скобок\begin\end
faiwer faiwer 25.12.202014:16 ответить ссылка 0.0
Ну наверное, я не особо прогер, прогаю только небольшие скрипты для научной работы, так что вполне возможно что я не прав. Хотя может просто для этого питон и нужен, разобраться просто и в не громоздком коде всё очень красиво и удобно. По поводу первого могу только сказать что пользуюсь пайчармом для своих задач и он рисует небольшую линию которая помогает визуально легко отличать между собой блоки даже с большим количеством отступов. Так что это тоже не беда
Mumrik Mumrik 25.12.202014:37 ответить ссылка 0.0
Это дело исключительно привычки. Меня тоже сперва бесило отсутствие скобочек, но потом привык и уже со скобочки кажутся излишней деталью.
DrXak DrXak 25.12.202011:22 ответить ссылка -0.4
IMHO PHP куда больше похож на Java. Они прямо в эту сторону последние годы и движутся. Даже type hinting завели. Да и вообще Java ассоциируется с ООП, где классы классами погоняют. Где абстрактные фабрики абстрактных фабрик и fizzbazz пишется в 70 файлов. И... туда же идёт PHP.

А JS скорее двигается в сторону FP языков. Особенно учитывая концепт иммутабельных структур данных (один из самых ожидаемых proposal).
faiwer faiwer 25.12.202014:04 ответить ссылка -1.6
В первую очередь стоит учиться решать алгоритмические задачи, а для этого прекрасно подойдёт и питон. А уж низкоуровневые особенности при желании можно изучать потом.
DrXak DrXak 25.12.202011:18 ответить ссылка 1.2
представь, что посидев на удобном диване ты решаешь попробовать посидеть на стуле с хуями.
Holo Holo 25.12.202010:17 ответить ссылка 0.7
Неа, если осили объектно-ориентированное в питоне, то ваще изи всё.
Если нет, то будет тяжко. Как тот кто не осилил говорю.
Да и питон мне для мелкого ускорения того, что можно вручную через оптимизацию автоматическую.
Потом люди не понимают, что скрыто за абстракциями, абстракции текут, и получается медленное говно.
DarkCoder DarkCoder 25.12.202010:11 ответить ссылка -0.7
ЛОВИТЕ АСМЩИКА!!
Ну вообще-то знание особенностей работы железа может быть полезным, чтоб иметь представление, что да как, и что ваши программы исполняет не магический джин. Ну, хрестоматийный пример - это работа кжшей, когда правильное расположение данных в памяти (соблюдение локальности, array of struct vs struct of aarays итп) дают нихуевый буст производительности. Иногда приходится дрочить даже большую экзотику. Сейчас не нашел, но смотрел выступление Яндекса, где они делали какое-то кэширование для своего веба, и им пришлось оптимизировать с учётом работы TLB.

Что касается именно ASM, то современные оптимизирующие компиляторы сделают код на C++ не хуже, чем если бы его писали на ASM руками. Иногда даже лучше. Во всяком случае, если он и будет хуже, то настолько незначительно, что на фоне разницы трудозатрат ее не видно.
Это важные, но не обязательные знания для рядового программиста. Чаще всего код тормозит не из-за неоптимальных вычислений, а обращениям по сети и к диску.
DrXak DrXak 25.12.202011:26 ответить ссылка 0.4
Я там ниже привел более приближенный к жизни пример. Но вообше, текущие абстракции - это не только про железо, течет (и куда чаще) просто более низкий уровень софта. О котором стоит знать.

Ну, к примеру. Есть ORM entity framework. И есть там такая штука, как lazy loading. Какая красота, не надо писать SQL, не надо джойнты писать, просто работай как с обычным объектами! Ой, почему у меня при итерировании N товаров на странице произошло N+1 запросов в БД и все легло?
ЗЫ. Я привел далеко хадкорные случаи. Вот пример https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html, где чувак джаваскрипт оптимизировал, что он почти сравнялся с Rust + Web Assembly, потому что он задрот и знает особенности виртуальной машины JS. Вот это прям уважуха.
Веревка слишком длинная. Тимми вне опасности.
Нет языка программирования кроме ASSEMBLER и MASM64 пророк его.
Jx+Jy=Jp Jx+Jy=Jp 25.12.202010:49 ответить ссылка -0.5
♂ass♂embler
villy villy 25.12.202014:41 ответить ссылка 0.3
Хоспаде, как приятно смотреть на то как у ненавистников С++, которые не смогли его выучить, горит пердак. Приятно наблюдать, как они приводят в аргументы, слова которые написали таки-же идиоты как они. И тем самым они помечают себя флажками любителей пожевать калл. жаль на реакторе не сидят люди которые являются искренними фанатами своего дела и фанатами производительности, и никто меня не поддержит.
С++ язык на века, и на этом точка, всё остальное либо медленное как черепаха либо не имеет столько возможностей сколько даёт С++, удовлетворяя даже самую жирную самку бигимота.
DoroViska DoroViska 25.12.202012:50 ответить ссылка -6.7
ух минусят и минусят питонисты, джайвисты.
Мне кажется тебя в этой теме минусят как плюсовики, так и все остальные. По сути просто минусят все за дебильность. Т.е. проблема не в твоей позиции (она как раз более менее вменяемая - плюсы и правда быстры и имеют свою нишу). Тебя минусят за дебилизм. И вот тут плюсы тебе уже не помогут.
faiwer faiwer 25.12.202014:19 ответить ссылка 6.7
Как плюсовик с почти двадцатилетним стажем накинул тебе свои -0.3 за глупость, фанатичность и желание говорить за всех.
nostr nostr 25.12.202015:32 ответить ссылка 1.3
Как эксперт по выявлению кретинов которые любят попиздеть про 20 лет стажа на плюсах, посылаю тебя нахер со своими минусами.
а я только начал читать книгу и писать всякие конверторы величин в консоли.
Акстись. Оно тебе надо? Профдеформация, выгорание, еще и станешь таким же токсичным, как мы)))
nostr nostr 26.12.202002:15 ответить ссылка 0.0
ну блэт. я как бы с 4х лет за компом(33 в ноябре было), да и iq не обделен. а токсичный я и так - так хоть за компом буду реально хоть что-то зарабатывать.
Окей. Мне надо заставить робота ехать куда надо. На производительность моего кода мне похуй, потому что робот точно едет медленнее кода. Вопрос: мне платят за то чтобы считалось быстрее или чтобы робот приехал куда надо? Готов ли заказчик терпеть месяц, пока я ебусь с плюсами пару месяцев ради мифической скорости или я возьму скриптовый язык типа питона и сделаю все за неделю, если даже питоновской производительности за глаза и уши?
nostr nostr 25.12.202013:26 ответить ссылка 1.4
Робот? Их есть у меня. Писал планировщик пути для робота. Планировщик накидывает кандидаты, интерполируеи, матан туда-сюда, коллижн детекшн. Написал на питоне, ибо изи. Но очень медленно. Питон важнее медленный, шо пиздец, куда хуже жс. Попытался поебстись с альтернативами CPython'у, типо pypy с jit, пытался в numba... Потом плюнул, переписал в лоб на с++, получил +9000 перфоманса, даже забил на дальнейшую оптимизацию, хватило с запасом.

Ну вообще никто, кроме фанатиков, не спорит, что для разных задач разные языки.
Ты матан сам пытался на питоне писать?
nostr nostr 25.12.202013:51 ответить ссылка 0.0
С нумпаем, ясен хуй
Тогда странно. У нас считай вся логика на пихтонском и все норм. Только работу с видео в дробильню OpenCV скидываем.
nostr nostr 25.12.202014:02 ответить ссылка 0.0
Да там на питонячьем "клее" были накладные расходы. Да и проц не особо быстрый - ARM.
Что-то типа "малинки"?
nostr nostr 25.12.202014:15 ответить ссылка 0.0
NVidia Jetson
Лично меня в питоне GIL вымораживает. Но для стандартных питонячьих задач наверное норм.
Psilon Psilon 25.12.202014:53 ответить ссылка 0.0
"Потом люди не понимают, что скрыто за абстракциями, абстракции текут, и получается медленное говно" ©DarkCoder

"и эти люди запрещают мне ковыряться в носу"

конечно, питон виноват, кто ж еще
villy villy 25.12.202014:46 ответить ссылка 0.1
Питон - один из самых медленных мейнстрим языков. Это у него не отнять. Он куда медленнее, чем тот же JS (который весьма быстрый). Существуют различные ускорялки питона, такие как pypy, numba. Не всегда применимы.

О каких текущих абстракциях питона вы мне пытаетесь намекать? На кучу оверхеда даже на инт, на кучу аллокаций/деаллокаций, на кучу косвенности? Ну я в курсе. Смысл вашей три мне не ясен.
иллюстрация всего нашего разговора.
люди не шарят в применимости технологий, не шарят, как делать быстро.
и винят технологии, а не своё невежество.
еще и окружающих пытаются убеждать.
и плодят вокруг себя всякие мифы.
villy villy 25.12.202015:09 ответить ссылка 0.1
Я где-то винил питон или его применимость? Я пишу на питоне в последнее время даже больше, чем на си. И использую его для определенного круга задач. Где питон мне использовать не удобно, использую другие языки. Problems?

Можно делать быструю java, c#, js, haskell и ещё ряд всяких извращений. В определенных условиях или для определенных задач они могут почти не уступать или вовсе не уступать нативному коду. Но не грёбанный питон, который интерпретатор, не JIT даже. Есть несколько реализаций JIT разной степени кривизны. Есть namba - JIT для маленького подмножества питона, чтоб ускорять математику. Там векторизация, параллелизм и прочее. Иногда можно ускорить просто охуенно, иногда не подходит.

Давайте, расскажите, как ускорять питон.
если ты шаришь в питоне, зачем брал его для робота, как написал выше?
если я шарю в технологии, то не беру ее туда, куда не надо. ну и не рассказываю, как оно медленно и хуже богомерзкого жс
villy villy 25.12.202016:17 ответить ссылка 0.0
Для того, чтоб накидать прототип, сделать алгоритм, покрутить туда-сюда и смоделировать. Легкость написанная кода, куча библиотек математики, включая нумпай, быстрая разработка - поэтому и взял питон. Потом переписал на плюсы. Брат может, может было и питон оптимизировать, но мне так проще. Я не сказал, что питон говно или что он не подходит для задачи. Он подходил именно для задачи прототипирования, поэтому я на нем и прототипировал.
У быстрого питона просто есть секретный рецепт
Psilon Psilon 25.12.202021:57 ответить ссылка 0.5
Ну и прекрасно. Питон - отличный "клей", чтобы легко склеить кучу разного дерьма. Всякие опенсв, нумпаи и прочее дерьмо.

А есть еще ультимативный способ получить овер9000 производительность - оффлайн описание вычислительного графа и отдать его на откуп среде исполнения, которая его векторизует, распараллелит, еще на гпу запустит, а, может, даже на кластере через MPI. А сам код на питоне простой и элегантный. Да, я говорю про всякие TensorFlow и прочие.
Проблема скриптовых языков в том что без типчиков что-то сколько-нибудь сложное трудно написать, а когда пишешь оказывается говно. Можно посмотреть на пример стандартной библиотеки JS, когда майкрософт сделал TypeScript и типизировал всё что динамисты за пару десятилетий навертели и всё говно всплыло наружу. Моё любимой - HeadersInit, можно посмотреть как из трех равнозначных вариантов вместо того чтобы выбрать что-то одно жсеры решили использовать все 3 варианта сразу.

Но и плюсцы тоже для такого робота ни к чему.

Если писать что-то больше 500 строк (а роботу наверное нужно больше) то я бы взял любой высокоуровневый язык с гц, который и проще плюсов, и компилятор помогает с типовыми ошибками
Psilon Psilon 25.12.202014:10 ответить ссылка 0.4
Тут от ситуации зависит. За что платят, то и делать. Можно плюсы из-за одних только либ, коих миллион, брать, чтобы не велосипедить. Или если критичное или аппаратное, то больше контроля над кодом, но тогда от модных фич немного останется. Лично я придерживаюсь мнения, что у каждого языка свои плюсы и минусы и своя область, и забивать гвозди микроскопом это плохо)))
nostr nostr 25.12.202014:39 ответить ссылка 1.5
Если вопрос либ то тогда вопроса выбора языка не стоит - на чем либа есть, на том и пишешь. В редких случаях пишешь на любом другом япе и обмзываешься клеем FFI

Но если брать плюсы, то С++ "эксклюзивов" не так уж и много, а общая база библиотек у питона/жабы будет побольше.
Psilon Psilon 25.12.202014:48 ответить ссылка 0.3
Я начинал с Бейсика, потом Паскаль, потом уже в университете Asm, С, С++. Все с преподавателями. Питон освоил самостоятельно и могу точно сказать, что это хороший язык, как пролог к C# ил иC++.

"Пролог", кстати, тоже учил.
gybson gybson 25.12.202019:16 ответить ссылка 0.0
Не знаю что там у плюсов, но я сейчас изучаю си что бы использовать openmp в питоне через ctypes, и вроде нет так все и сложно.
ДАВАЙТЕ ВСЕ В ИТ
ТУТ НЕ СЛОЖНО
FEAR2k FEAR2k 26.12.202000:19 ответить ссылка 2.4
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Когда сказал секретарше купить на кухню вкусненького, потому что в отдел айти выходит пара Питон-
разработчиков
подробнее»

приколы для даунов гик Питон программисты айти

Когда сказал секретарше купить на кухню вкусненького, потому что в отдел айти выходит пара Питон- разработчиков
ГРЕСТИ
БАБЛО


★
КРУЖОК ЛЕГКОВЕРНЫХ ГУМАНИТАРИЕВ
★
эгожа\^
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор курсы

ГРЕСТИ БАБЛО ★ КРУЖОК ЛЕГКОВЕРНЫХ ГУМАНИТАРИЕВ ★ эгожа\^
осле полугодовых к
шашшят Because it's above C-level