×Закрыть

Будущее для C UNIX разработчиков?

Сейчас много новостей про самые различные направления и технологии, но ничего не слышно про C UNIX тему.

Как вы считаете, что ждет C UNIX разработчиков и это направление в целом в обозримом будущем?

LinkedIn

Лучшие комментарии пропустить

Как вы считаете, что ждет C UNIX разработчиков и это направление в целом в обозримом будущем?

Стабильная работа и процветание. Возможны небольшие флуктуации в январе 2038 из-за кольцевого солнечного затмения и 19 января 2038 около 03:14:08 из-за переполнения 32 битового time_t, которого никто не заметит.

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Читая этот трэд сложилось впечатление, что тысячи cobol разработчиков умерли с голоду или остались доживать в нищите. На самом деле они двинулись дальше на C/C++, некоторые потом на перл, а затем на жабы/шарпы, или на что то, на чем корпоративный булшит писать удобнее. Так уж устроено это вайти, новые тренды создаются и впариваются менеджерам/корпорациям постоянно. И тут не так важно попасть в трэнд, а важно какой у тебя бэкграунд. Go/Scala/Rust разработчики не выводятся в пробирках, а как правило это ребята с большим опытом, которые посчитали что новые технологии решат их задачи, ну или эти технологии кто-то удачно впарил их менеджерам. В моем понимании С/C++/Unix/Linux это хороший бэкграунд. 1С, PHP, Visual Basic — это примеры «так себе бэкграунда».
Ну а про то что ждет "

это направление в целом в обозримом будущем

" — я думаю в ближайшие 5-10 лет проблем с вакансиями не будет.

" — я думаю в ближайшие 5-10 лет проблем с вакансиями не будет.

Походу они уже есть и это уже мейнстрим «плюсы» полностью ушли из мейнстрима.

меинстрим — IoT/embedded с ограниченными ресурсами

Типа «малинки» с 2 ГБ оперативы на борту? А ну ок ))

где малина с 2ГБ?
малина для детских поделок, реально иот делают на железках послабее

На боярышнике?

я не знаю, что они пьют в процессе. лично я перешел с кофе на белый чай

И я! Но красный! И вино!

тоже красный. пу-эр. вино по тяпницам :)

Пу-эр хорошо только раз в неделю ...

Что-бы не возникло привыкания. Пу-эр всетаки довольно тяжело переносится организмом.

А какой именно, если знаете.

Мне этот не понравился. Серебрянные Иглы вкуснее. А если с точки зрения ощущения — то лучше всего мне понравился какойто малоизвестный, некитайский.

Возможно... Свой вывод я сделал по статьям типа dou.ua/...​articles/recruiting-2017

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

Я вангую наоборот. Вот смотрите:

были меинфреймы и терминалы ---> стали персоналки ---> появились браузеры и веб сервера

Следующий этап должен быть редецентрализацией, тот самый IoT но нормальный, когда каждый девайс является полноценным сервером

когда каждый девайс является полноценным сервером

Хто знає, скіки зараз необхідно (мікро-?)калорій для передачі 1 байта з 99.99% гарантією на 1 метр?

Возможно. Но и не на С. Я не буду наставивать на Го, но что-то идеологически близкое.

Запилить свой хипстерских стартап на этом все труднее и труднее. Но все работы там много и меньше не будет. Как железячникам сейчас путь либо в гиганты типа интела/самсунга и т.д., или в азию. Так и системным программерам — в разные клауд провайдеры в основном, разные nvidia писать драйвера и т.п. Или сетевое оборудование — тот же Juniper с удовольствием выгреб кучу фрибсд-шников.

Golovne ne zvilniatyss. A to ne znajdete robotu :). A tak vse stabillno.

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

Ну ещё могут называть «системный программист».

Молодежи валит во всякую хипстоту поэтому перспективы вполне радужные.

Это, кстати, ещё одна проблема с/"плюсов" — в них не идут мозги. Кто из мозговитых занимается софтом — идёт в жабы/шарпы/хипстерщину. Остаются мозговитые, идущие в электронику — они пользуют с/"плюсы«, но на уровне «хэлло ворлд».

В итоге, деньги в проекты на с/"плюсах" не идут тоже — собственно, такиx проектов уже особо и нет.

дёт в жабы/шарпы/хипстерщину. Остаются мозговитые, идущие в электронику — они пользуют с/"плюсы«, но на уровне «хэлло ворлд».

Все кремниевые долины ржут с тебя в голос.

1. Заходим на „монстер.ком”
2. Выбираем Штаты
3. Выбираем „c++” и „San Francisco, CA”
4. Тыцаем кнопку „серч”.

Получаем „654 Jobs Found”, из которых 3/4 шлак, типа:
— „Full-Stack Developer -Remote — Java, C++, Node.js from CyberCoders”
— „VICE PRESIDENT, BLACKROCK PLATFORM INNOVATION”
— „Software Engineering Manager”
— „Web Developer at Mastech Digital”
— „Entry level Java Developer (0-2 y exp) at SynergisticIT”
итп...

3. Выбираем „Java” и „San Francisco, CA”
4. Тыцаем кнопку „серч”.

Получаем „1000+ Jobs Found”...

Вуаля!

Ты совершенно прав об чём я и говорю сфера применения совершенно не массова но прямо это не говорит что «без мозгов» хотя такой тоже есть «даже миддлов для нашей работы и то много».

Интересно, сколько там было 5 лет назад? К сожалению, не узнаем. Я почти уверен, что там было меньше, чем сейчас.

Налицо полное непонимание подобных вакансий и поиска по ним. Никто никогда не пишет C/C++ UNIX Developer. Ищут специалистов по прикладным технологиям, C и UNIX в таких случаях настолько очевидны, что подразумевается неявно.

Вот пример:
www.monster.com/...​6b-4165-b3f5-d1f2a24d9400

Вижу, вы понимаете. «Veterinary Technician at Apple Valley Animal Hospital» (одна из вакансий в вашем «поиске») — отличная работа для «плюcнутого» кодерка. :)

Это говорит лишь о качестве помойки под названием monster.com. Мой «поиск» — это просто слово «apple» по компаниям.

//Ссылку я кидал на конкретную вакансию «Bluetooth Performance Engineer at Apple», а не на поисковый запрос. Может, у Вас не так отобразился результат?

Кто из мозговитых занимается софтом — идёт в жабы/шарпы/хипстерщину.

Вообще-то Майк прав «жабы/шарпы» это уже сегодня «хайп» не говоря уже об «хипстерщине» а суть хайпа «по быстрому войти и тут же ж начать выступать с тем чтобы рассказать как по быстрому войти» вон даже на доу соседняя темя есть ну и в остальных вопросах «мозговитые занимаются софтом» и например долго и напряжённо рассуждают на тему асинхронности на уровне школьника старших классов.

К.м.к. в отношении «жабы/шарпы» эпоха «головастиков» точно прошла и пришла эпоха «формошлёпов» то что раньше люди с глазами горящими разбирались во внутренностях CLR и JVM сегодня максимум «могу ли я запустить xamarin на iphone?» и «как следать базу на джава без сиквела» ну и суровые корпоративные будни конечно же ж имя им легион.

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

деньги в проекты на с/"плюсах" не идут тоже — собственно, такиx проектов уже особо и нет.

Вопрос сложный всё сильно нишево и нет массовости теоретически туда заходит сегодня хайп IoT практически за счёт «интернета в этом слове» хайп там скорее чтобы разместить ламбду на амазоне которая с айфона будет рулить лампочкой а на самой лампочке ничего особенного нет «малинка» + MQTT которых самодельно писать не надо а что целую «малинку» ставить управлять целой лампочкой это... ну времена такие что ЦА нет.

Другой хайп сегодня заход «виртуальных приборов» в области автомобильных instrument cluster но тут лично для меня хайп не вполне понятен технология в общем уже пройденный этап поскольку она давно «зашла» на приборные панели самолётов там уже вся авионика на дисплеях и никого это не удивляет «аналоговые приборы» совсем архаика но опять же ж массовому потребителю и его программисту это не надо а порог входа «стать участником» крайне высок из-за сертификации.

Опять же ж «простому потребителю а малинкой ардуинкой и лампочкой» это всё вряд ли надо с экранами он играться не будет ниши же ж промышленного применения есть но они обратно ниши медицинские приборы что-то может из управления что требует локальных экранов (но опять же ж scada + iot уже не об том) может ещё пару областей напрямую друг с другом не связанных и всё.

Ещё остаются всякие «сверхвысокочастотные трейдинги» но справедливости ради лично я не сильно понимаю что они до сих пор делают в си++ потому как см. п.п. «вебпрокси нетфликса».

С другой стороны всё это вот это всё изнутре писано на всё тех же ж си/си++ )) включая сам линукс и винду. Потеснить в этом месте пока нечем и некуда.

ЗЫ: вон кстати в теме «нового против старого» интересно как сложилось с аппловским свифтом против старой ламповой обжектив сишечки вот непонятно что будет вроде как свифт и не бросят ну с другой стороны и такого чтобы бросать всё и становился только свифт даже намёка нет технология «основанная на чистых сях в привложенным вовне ооп и рефлексией» (к) (тм) живее всех живых и даже развивается и даже имеет свои хайповые течения вроде той же ж «реактивной что-то там».

в них не идут мозги.

Какие-то мозги всё это же ж продолжают дописывать поддерживать вот это всё? А мозгов там точно в среднем больше и круче чем в среднем копроративном формошлёпстве. Ту же ж джаву саму по себе кто-то же ж пишет не?

С другой стороны всё это вот это всё изнутре писано на всё тех же ж си/си++ )) включая сам линукс и винду.
Ту же ж джаву саму по себе кто-то же ж пишет не?

Об том и речь, что сейчас ещё остались написанный на «плюсах» легаси, который поддерживается. Но там задействовано минимальное количество людей.

Но, к примеру, куча производителей уже пихнули на таблетки/телефоны андроид — т.е. грузят виртуальную машину, а дальше начинается сплошная жаба. И это не декстоп, с его безразмерными ресурсами!
Так что, появится очередная версия винды, где clr будет грузиться прямо со старта — и на «плюсах» писать станет вообще невозможно, т.к. для них в операционке не будет даже АПИ.

Остaнутся, конечно, всякие линуксы (точнее, поддержат «плюсы» несколько дольше винды) — но там денег не было, нет и не будет.

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

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

Так что, появится очередная версия винды, где clr будет грузиться прямо со старта — и на «плюсах» писать станет вообще невозможно, т.к. для них в операционке не будет даже АПИ.

Где-то тут рядом была цитата анекдота «простите товарищ лектор как вы сказали земля погибнет через 5 миллиардов лет!? Да а что такое? Да мне просто послышалось 5 миллинов лет и я уже испугался.» (к) (тм)

ЗЫ: походу она уже есть Microsoft Azure называется ))

Остaнутся, конечно, всякие линуксы (точнее, поддержат «плюсы» несколько дольше винды)

С чего ты взял? Андроид уже на джаве главные вопрос современного простого «любителя с малинкой и лампочкой» это «как мне из питона включить GPIO?» ты пойми для «простого любителя с лампочкой» что питон что clr что линукс ядро чисто физически неразличимы ну уровне любительского сознания.

Вот смотри «следи за рукой» (к) (тм) Докер написан на Го и что это останавливает его реальных потребителей для которых реальные внутренности все эти cgroups чистая магия? Не будут никого никуда «переносить на плюсах» всё прекрасно будет работать на том уровне на каком ему удобнее уже сегодня чисто технически средний потребитель не знает и даже не задумывается что там внутре скажи ему что докер просто обёртка с командной строкой не поверит же ж с другой стороны сегодня «плюсы» и сами уверенно двигаются в направлении «всеобщей популяризации и хайпизации» и становятся больше похожими на тот же ж clr с джавой все эти лямбды к ним async/await и какие-то внутренности то ли пулы потоков то ли чёрт и что на самом деле там внутре никто с «чистым системным апишечкой» уже не работает у всех уже std:: и вот это всё приехали.

Другое дело что они «плюсы» при этом «типа заходят» на территорию которая уже занята... )) ну будем посмотреть.

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

Java на чиповых картах это был такой зверь, где даже new ты не мог сделать — всё должно было быть выделено заранее.
Ну и ещё 100500 ограничений.
А сейчас подходим к тому, что она уже полноценная — с GC и поэтессами.

Довели страну!!! (((

Так что, появится очередная версия винды, где clr будет грузиться прямо со старта — и на «плюсах» писать станет вообще невозможно, т.к. для них в операционке не будет даже АПИ.

Показалось, что на дворе 2005 года и я читаю очередной маркетинговый булшит от Microsoft... Посмотрел на календарь, не, таки 2018 год, и я читаю на ДОУ кодерка. Странно.

Наказание за незнание граблей истории — пожизненное на них наступание ;)

В технике бывают вещи, опережающие своё время. Технологии/железо дорастают — и ранее бывшее граблями, оказывается мэйнстримом.

А потом, об чём тут спорить? То, что выпускники технических заведений прут в жабу, шарп и хипстерщину, но не прут в плюсы — это факт. Точно так же, как в своё время пёрли в плюсы, но перестали переть в ассемблер.

А где есть ресурсы, туда идут и деньги.

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

о всех серьезных проектах толстый слой натива.

Никакого натива нет. И ансэйф кода тоже нет.

Весь натив вызывается через какую-нибудь C++/CLI приблуду, которой заведует 1 чел (из сотни тушек на проекте). Соответственно, от кодерков знания «плюсов» тоже не требуется — да многие его и не знают.

Большинству. Натив пишут немногие.

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

Нет. Просто задач с нативом сильно меньше, чем со всем высокоуровневым. Высокоуровневое уже дергает оптимизированное на нативе или либы на с++ с биндингами под высокоуровневые языки.
Кросплатформ на С и С++ писать легче и биндинги делать.

А потом, об чём тут спорить? То, что выпускники технических заведений прут в жабу, шарп и хипстерщину, но не прут в плюсы — это факт. Точно так же, как в своё время пёрли в плюсы, но перестали переть в ассемблер.

И это отлично. До тех пор пока школота и хипстерки массово зубрят C# и руби, C/C++ бояре будут жить в шоколаде с маслом.

C/C++ бояре будут жить в шоколаде с маслом.

Примерно, как коболисты и ассемблеристы. С одной вкансией, на толпу безработных недо-пенсов.

Среднестатистический коболо-пенс проводит пятницу на своей яхте в открытом море, а не в поиске свободных вакансий и тыканье на кнопочки 12 часов в сутки. Так что вполне хороший исход.

Среднестатистический коболо-пенс проводит пятницу на своей яхте в открытом море,

Ага. Бездомный недопенс-коболист на парусной яхте. Т.к. на аренду квартиры его 60к/год не хватает. :)

Остaнутся, конечно, всякие линуксы (точнее, поддержат «плюсы» несколько дольше винды) — но там денег не было, нет и не будет.

Хм... *замислився, як же я заробляю на життя*

Об том и речь, что сейчас ещё остались написанный на «плюсах» легаси, который поддерживается. Но там задействовано минимальное количество людей.

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

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

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

А денег в эбмеддед очень много, особенно в автопроме, а вот людей не хватает, ибо порог очень высок

Мало денег, мало. В Германии (а автопрома в ней немало), в авто-эмбеде (он действительно, ещё пишется на «плюсах» или даже на сях) — рейтов выше 60-65/час не бывает.

Может, оттого и людей не хватает...

В Германии (а автопрома в ней немало), в авто-эмбеде (он действительно, ещё пишется на «плюсах» или даже на сях) — рейтов выше 60-65/час не бывает.

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

В Германии автопром в основном только железячный, толком ничего не пишется

Все пишется, что машинке надо — от программирования контролеров, до навигационок с картами, терисом и обнажёнкой. И рейты в 1,5-2 раза ниже, чем в медицине, индастри (высокоуровневом) и прочих банках.

Собственно, если взять ту же индастри — всё, что встраиваемое пишется за еду (на сях/плюсах). Если софт высокого уровня (типа под винду), уже за что-то более-менее вменяемое (но на жабе/шарпе).

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

Нет. Европой практически полностью владеет Harman International Industries, всё пишут они и не там.

Уж не знаю, что там в Европе — но я про Германию пишу. В ней разрабатывается всё, включая автопилоты.

ну эээ, как бы не только харманом единым

Інженери E-Solutions, Elektrobit, Bosch, німецьких офісів Here і Tom-Tom читають ваш пост з подивом

То, что остаётся в Германии — это слёзы по сравнению с тем, что там не остаётся.

Не только в автопроме.
В Германии вообще любят платить по тарифу, а не по Leistung’ам (заслугам)

В Германии вообще любят платить по тарифу, а не по Leistung’ам (заслугам)

Я о контрактниках написал — им по тарифу не особо заплатишь.

Но рейты в автомотиве (где ещё пользуют «плюсы») — едва ли не самые низкие в индустрии. Ниже, пожалуй, лишь у всяких веб-хипстеров. Kоторые работают не за деньги, а за интересность. :)

Причём их ещё и активно выносят во всякие Болгарии Румынии правда у них в Cluj-Napoca всегда были сишники юниксоиды популярные.

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

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

вынужденная мера наподобие Слака

да, достал настолько, что сели переписывать

Найс бизнес идея: сделать вебморду за три миски риса, запаковать это в электрон и заставить кодерков делать нормальный клиент забесплатно

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

И в результате ты делаешь их работу, забесплатно.

Лучше уж наклепать свой клон

свой клон

вот из зис?

Ну сделать свой клон хипчата/слака/ирки. Впрочем, главное — пиар, а кодерство вторично

накой нужен еще один клон irc?
ну да, я пиарюсь. мое пиар агенство пашет не покладая клавиатуры

Все новое = давно забытое старое плюс маркетинг

clr будет грузиться прямо со старта — и на «плюсах» писать станет вообще
невозможно,

Ну-ну. Были уже «фичафоны», где жаба грузилась со старта и машинный код был недоступен. Проиграли смартфонам в эволюционной борьбе. Да что там фичафоны — изначальная концепция айфона была «никаких нативных SDK, только WebView». Время показало, насколько это был наивно-идеалистический бред.

Ты же предлагаешь повернуться назад и сделать из десктопа какой-то featuretop ))

и сделать из десктопа какой-то featuretop ))

хромбук не? ))

«Всё уже украдено до нас!» (к) (тм)

Дада, и хромбук туда же) И кому он сейчас нужен, кроме как купить дешевую тушку и поставить нормальную ось? Много людей видите с хромбуками?

Б.м.п. я людей вообще мало вижу но я был в универмаге там этих хромбуков просто тыщи.

Очень удобная штука — копеешный ноут, который не жалко разгоцать/утопить. В личных поездках — незаменимая для меня штука.
Когда купил, думал так же как и вы — сразу поставил полный линукс в дуал бут, по факту 90% случаев пользуюсь дефолтной хромосью

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

Долго смеялся :)

Так что, появится очередная версия винды, где clr будет грузиться прямо со старта — и на «плюсах» писать станет вообще невозможно, т.к. для них в операционке не будет даже АПИ.

Если когда-то такое (снова) произойдет, то моя жизнь временно упростится. Реверсить байткод гораздо приятнее, чем натив. Временно — потому что если и произойдет, то потом как обычно будет отскок назад.

Ну назвал он жаба-машину так.

Временно — потому что если и произойдет, то потом как обычно будет отскок назад.

О да. Сколько раз «отскакивали назад» с плюсов на ассемблер?

Переход с ассемблера на C (и затем плюсы) не имеет ничего общего с переходом с натива на VM. Кроме слова «переход». Отскок назад второго рода я уже устал считать сколько раз наблюдал.

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

Ну а еще avr-gcc рожает мрак при компиляции

Мне кажется что вы путаете AVR с i51

i51

Это 8051 и другие с ядром на его базе? Всё там ок с сишечкой свои «особенности» но небольшие из разряда «недокументированных граблей» в остальном сишечка аж бегом. Я в самом начале 2000-х писал пока платформа окончательно не устарела.

Не-не, именно avr. Там сравнительно простой код генерировал тонну mov’ов туда-сюда, особенно для 32х/64х битных переменных

Ну а вишенкой на торте было double===float и внезапная потеря точности

Разве что на самые младшие ATiny по-моему. На регулярку, а уж тем более на ATMega все прекрасно работало.

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

Отлично можно, только конечно не мрачным gcc, а профессионально заточенным IAR или Keil. Даже ходят слухи, что и на плюсах пишут (естественно, без stl).

естественно, без stl

От это зря

Качественная реализация STL сильно не проста.

Стандартная библиотека есть часть поставки компилятора (если речь идет о соотв. стандартам компиляторе, да)

для этого есть причины. например можно выкинуть поддержку эксепшенов

например можно выкинуть поддержку эксепшенов

Ересь

В любом приложении должна быть обработка ошибок. Либо эрроркодами, либо эксепшенами. Эксепшены значительно лучше эрроркодов

Эксепшены значительно лучше эрроркодов

Эррор-коды лучше.

Эррор-коды лучше.

Кто-то нанюхался Го?

Табы лучше пробелов, может с этого начнем, оное попроще.

ударим табами по пробелам

Зависит от конкретной ситуации, иногда исключения лучше, иногда коды ошибок.

да, лучше с точки зрения читаемости и легкости обработки, но катастроф с точки зрения перформанса. поэтому на ембеддед ексепшены не юзают

Юзают, зависит от железа и задачи. 1 исключение на 10000 часов работы — это ничего.

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

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

да я не срусь. просто безаппеляционные пуки в лужу типа «ересь» вызывают..гм..хм..недоумение

и еще как. аж кюшать не могу

Да. Но не переписывают и не выкидывают, а юзают там, где имеет смысл.

STL сильно фрагментирует память, например, если в QNX для ускорения работы приложения отключить возврат неиспользуемой памяти хипа в систему, то на работу среднесферического браузера на С++ это ни как не влияет, он и так и из-за гигантской фрагментации не возвращает память системе.

Среднесферический браузер в данном случае построен на гуглевском Blink движке (С++).

Касательно применения в автомобильной среде британскими учёными было доказано, что пользователь авто так или иначе выключит питание автомобиля через 4-8 часов, т.к. его банально надо заправить или он приедет, куда хотел. Это и есть лекарство от фрагментации памяти.

STL сильно фрагментирует память

Смени аллокатор.

Смени аллокатор.

На такой же? Та же жопа, вид спереди.

На свой, который не будет фрагментировать память. В чем разница с malloc в этом случае?

На свой, который не будет фрагментировать память.

Такого не бывает, дело в использовании STL.

В чем разница с malloc в этом случае?

В том что редкий говнокодер вызывает reserve/resize у векторов. В случае с malloc()/realloc() в коде сразу видна тупость.

А так ты про говнокодеров, они и с помощью С тебе отсрелят причиндалы с таким же успехом.

Я о том, что в С можно легко грепнуть на типичные говнокодерские высеры, в С++ нужно анализировать код.

На свой, который не будет фрагментировать память.
=>
Такого не бывает, дело в использовании STL.

Ну как сказать когда-то я занимался писанием системы корпоративных репортов у меня память 64 гига заканчивалась одним только моим процессом )) там была «обычная работа куча мелких строк куча мелких классов» правда всё в едином дереве документа отчёта и вот чтобы деаллоцировать всё это времени при (достаточно) полной загрузке процессора уходило больше чем на саму работу уже тогда я подумал и придумал память и все объекты не удалять а прото выбрасывать целиком конечно изобрёл велосипед но с другой стороны приятно что умные люди думают в одном направлении и я вместе с ними ))

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

По факту авто выключается только когда снять клему с аккумулятора.

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

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

Вспомнился невероятно бородатый анекдот, который как никогда близок к правде на сегодняшний день %)

Едут в машине трое — техник, бизнесмен и программист.
Вдруг машина заглохла.
Техник вылез, открыл капот, стал там копаться.
Бизнесмен достал свой мобильный телефон и стал вызывать
техпомощь.
Программист удивленно посмотрел на них и спросил:
— Ребята, а вы не пробовали просто выйти и снова войти?

для гпу фризов есть вотчдоги

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

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

эксепшены ресурсоемче возвратов. на это есть возражения?

У вас есть бенчмарки?

Проще монашке доказать отсутствие бога, чем С++ программеру объяснить, что не так с эксепшенами %)

Слив защитан

Вот и я о том же, это хуже, чем религия.

зачем вам перформанс, когда исключение уже есть?

нуда, кому этот перформанс вообще нафиг нужен? «пусть весь мир подождет» ©

Очень умно, ага. Не бросайтесь эксцепшенами в happy path и не будет никаких проблем

Часто код устроен так. что у него есть ещё 1-2 фолбека на случай неудачи вызова и неудача прогнозируемая. Вот только время обработки в данном случае недетерминировано, поэтому с реалтаймом эксепшены не дружат.

нет эксепшнов — нет проблемы

средний ембеддед кодерок — куда большая проблема

как предсказуемо: когда нечем аргументировать, переходить на личности

следую вашему примеру

нет эксепшнов — нет проблемы

и где здесь переход на личности?

С++ — это личное %)

А мне плюсы больше С нравятся.

Мне тоже нравятся, только я вырезал из себя фанатизмъ.

И я тоже. Юзаю только те части С++, что мне облегчают жизнь и не более. Там где важны накладные, там или С или свои лесапеды, где не важны, то STL, BOOST и исключения.
Многие элементы С++ не добавляют накладных, а читаемость и написание года сильно улучшают и облегчают.

Многие элементы С++ не добавляют накладных, а читаемость и написание года сильно улучшают и облегчают.

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

Что 100500 функций, что уродливые классы — один хрен.
Когда-то работал на Рейтер, так мы оборачивали их С код в классы, ибо они уже не могли разобраться в той куче. Хотя их С код был очень и очень приличен. Понятно, у нас был написан уже свой аналог COM, по заветам Майерса (при его участии). И делали это в полуавтоматическом варианте своим генератором С++ кода.

и какой же subset C++ являетца правильным? кроме исключений, про них уже писали в этой теме

Правильным где и когда? Если ты про правильным вообще — то правильно вообще не программировать.

Та ну, видел я мега-шаблонный С++ код,
так там без ящика водки не разобраться.

шаблонизированием всего и вся занимаются свежепрочитавшие александреску...через пару лет попускает

а где там? Лично в вашу сторону я ничего не сказал

средний С++ кодерок — это дизазстер %)

не давайте ему плюсы)

Вот, использовать эксепшены — это привилегия, а не право!

Вот, использовать эксепшены — это привилегия, а не право!

В С++20 бросать эксепшены смоггут только те процессы, что выполняется под sudo, так что проблема будет полностью решена.

В С++20 бросать эксепшены смоггут только те процессы, что выполняется под sudo,

...остальные будут тихонько валиться по сигфолту.

Тихо в сторону «нет С++ — нет проблем» %)

катастроф с точки зрения перформанса

Это ты щаз про еггог-коды, которые нужно всегда проверять и тратить на это процессорное время?

вот вот. там неплохо описана цена исключений. и это на современных компиляторах. и это не считая расходов на память

Какие расходы на память? Один объект эксепшена?

Ну как обычно: если вырезать все проверки на ошибки, то код почему-то выполняется быстрее. Чудеса да и только!

и тут сразу стата где джунов в 2017 году наняли в два раза больше чем в 2016

Это я не шутил ниже, про коболистов...

Вспомним, что такое ассемблер. Многие на нём сейчас пишут? А ведь когда-то тоже был мэйнстримом.

Так вот, с ростом производительности «железа» — C/C++ уже превращаются в «ассемблер». Осталось им лет 10. А затем, останутся лишь на каком-то очень экзотическом железе — куда не пихнут в загрузчик «виртуальную машину».

Это я не шутил ниже, про коболистов...

Зря

Вспомним, что такое ассемблер. Многие на нём сейчас пишут? А ведь когда-то тоже был мэйнстримом.

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

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

А виртуалка будет интерпретировать бейсик, как в C64? Каково там в 80х? BBS свою уже настроил?

Ассемблера чуть более чем достаточно в графических либа и прочих высокопроизводительных системах.

Достаточно. Только занимается этим «достаточным» — менее 0.01% всех разработчиков, да за мизерную оплату.

Удел «плюсовиков» через 10 лет, а сишников уже сейчас.

да за мизерную оплату

Поржал, спасибо!

Меня постоянно заваливают всякими предложениями... «плюсов» сради них процентов 10, «C» вообще крайне редки. Зарплаты там, порядка 40-50к/год (притом, что всякие жабы-шарпы уже до 100к).
В общем, работа за еду...

Летела ракета
Упала в болото
Какая зарплата —
Такая работа

Меня тоже заваливают предложениями, плюсов среди них процентов 100%. Чини свои ключевые слова

Занимается этим такое же количество разработчиков, как и 10 и 20 лет назад. Может даже чуть большее. В абсолютных цифрах.

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

Нет. Во первых С и С++ ушли от несвойственных для них ниш.
Во-вторых, потребность в формошлепстве сильно возросла и туда основной приток народа.

Вот, это потоньше.

Осталось им лет 10

Если бы. Кремний уже дополз до своего потолка и опять многим приходиться возвращаться к асму, чтобы их алгоритмы не днями и неделями работали. Вот мне пришлось, например. Даже в сравнении с С++ (простой понятный код) заюзав интринсики и покрутив с циклами я получил ускорение в 10 раз, а вот даже с правильными циклами и выравнивание и юзанием специфической функции __builtin_abs, а получаю 130 mks против 80 mks с интринсиками.
Глянул на кодогенерацию, что-тo интересное только gcc 8 уметь начинает. Но пока основная масса живет на GCC 5.

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

В ширпотребе, всё уже работает асинхронно (либо переписывается так — и не на «плюсах»). Благо, мелкомягкие и прочие ораклы постарались, чтобы асинхронная разработка перестала быть, чем-то типа магии.

А с пиханием всё новых ядер, пока особых проблем на намечается.

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

en.wikipedia.org/wiki/Amdahl’s_law — паралелизация большиства алгоритмов не линейна, потому выхлоп начинает сильно падать

ты не тому оное ответил. А «без потерь» я утрировал немного.

А с пиханием всё новых ядер, пока особых проблем на намечается.

С этим есть как минимум 2 не пробиваемые проблемы:

1. Физическая: охлаждение, рекомендую почитать вот этот годнейший пейпер:
tinyurl.com/y84jl5mk

2. Алгоритмическая: Amdahl’s Law:
en.wikipedia.org/wiki/Amdahl’s_law

1. Физическая: охлаждение, рекомендую почитать вот этот годнейший пейпер:
research.cs.wisc.edu/...​11/isca11-darksilicon.pdf

Можно tl;dr; версию?

Если кратко то уже сейчас в процессорах, GPU и прочих аэйсиках больше половины чипа не запитано из соображений охлаждения. Если запитать весь силикон, то это все быстро расплавится.

en.wikipedia.org/wiki/Dark_silicon

Эм.... Я имел в виду не tldr версию линка, а tldr версию статьи, а то там многабукаф

С этим есть как минимум 2 не пробиваемые проблемы:

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

Было бы не плохо еще прочитать что проблема не в законе мура, а в законе масштабирования деннарда.

Сделать транзисторы очень маленькими все еще можно, только вот запитать их все нельзя

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

Это до жути дорого и сложно. 15 лет назад предлагались углеродные подложки из так называемого «черного алмаза». Но больше о них не слышно. У них теплопроводность сильно выше, чем у кремневых. Предполагалось, что они могут позволить поднять частоту до 10 ГГц.
А еще в 2000 Интел обещала 80-ти ядерные процы на массовом рынке в 2010 году, пока же на массовом только 4 ядра и 8 от АМД.

А еще в 2000 Интел обещала 80-ти ядерные процы на массовом рынке в 2010 году, пока же на массовом только 4 ядра и 8 от АМД.

GTX 1080 TI — 3.5 тысяч ядер.

Только ядра сильно специфические. Можно и миллион на чип зафигачить ядер, что будут делать 1 операцию сложения, например. Только нахера они нужны массовому рынку?

И более того процы на современной архитектуре нафиг не нужны с 80-ю ядрами. ты просто не распараллелишь (точнее барьеры сделают твой код еще медленнее, чем на одном ядре он бы выполнялся) подавляющее большинство алгоритмов на них на современной архитектуре. Только единичные алгоритмы сможешь.

Можно и миллион на чип зафигачить ядер, что будут делать 1 операцию сложения, например.

Ну например, для deep learning ничего другого и не нужно. Просто перемножать матрицы.

А так спросите у чуваков, которые последние несколько лет все видеокарты на рынке скупали.

Ну например, для deep learning ничего другого и не нужно. Просто перемножать матрицы.

Нуконечно. А мужыки-то и не знают.

А так спросите у чуваков, которые последние несколько лет все видеокарты на рынке скупали.

Это ты про биткоманов?

Это неполноценные ядры, часть из них синхронизированы, это как сказать, что при выполнении SIMD команды одним ядром процессора магическим образом появилось 8 субядер в одном ядре.

Можно ли из 3500 неполноценных ядер собрать хотя бы 100 полноценных?

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

А еще в 2000 Интел обещала 80-ти ядерные процы на массовом рынке в 2010 году, пока же на массовом только 4 ядра и 8 от АМД.

Вот, пожалуйста, только рынок сервеный en.wikipedia.org/wiki/Xeon_Phi

Даже не знал, что такие есть. В наших Зажопинсках таким и не пахло. Видно до жути они дорогие, да и частоты не впечатляют.

1. Частота != производительность
2. энергопотребление и собственно теплоотдача это примерно квадрат от частоты, потому частота там и не высокая.

Разве? А не пропорционально частоте и квадрат от напряжения?

1. Частота != производительность

Но с коэффициентов корреляции близким к 1.

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

Из наглядных иллюстраций: Двухядерный IBM PowerPC G5 с частотой 500 МГц был в разы быстрее современных ему Интелов с частотой порядка 3 ГГц.

А была бы его частота не 500, а 1000, еще в 2 раза быстрее бы был.

Нет, не была бы. Впринципе частота и производительность изредка соотносятся 1:1, например на сигнальных процессорах или аналогичных. Те процессоры специально так спроектированы.

На процессорах общего назначения подобная корреляция наблюдается весьма нечасто.

Может, да, а может, нет. В этот период Intel только-только переходил от Pentium 4 (который мог по 40 раз прокручивать одну микрокоманду в надежде, что звёзды станут как надо и ей никто не помешает) к Core линии, в которой уже не было такого бреда с кольцевыми путями, но конвейер всё равно тормозился на каждом чихе. Только начиная с SandyBridge стало возможно устойчиво уметь более одной instruction per cycle на оптимизированном коде. Это «за».
В то же время память жила своими путями и ускорялась совсем не так же — переход от 50-70 нс десятилетней давности к современным 30-40 нс на переоткрытие строки это офигеннейший прогресс. Это «против».
Но поднять частоту у такого зверя, скорее всего, было невозможно — просто разорвало бы. Большая частота у Intel тогда была прочно связана с «рыхлостью» дизайна.

Может, да, а может, нет.

Да нет, конечно же. G5 был числодробилкой, правда не с таким отрывом, как описано вверху, но G5 @ 2.5GHz уделывал первый (первый!) P4 @ 3.4GHz в два раза в ряде синтетических тестов. Но как только синтетические тесты, типа кодирования-декодирования видео и софтварный 3D рендеринг откидывали в сторону, ибо они нафиг никому не сдались кроме разве что моделлеров — он сдувался по самое не хочу, в разы проигрывая первому пеньку. Аппаратное переключение контекста в G5 было только на бумаге, т.к. его уши росли ещё со времён первых Power процессоров, которые применялись в серверах, где процессор выделялся под задачу, а не ОС назначала процессор для выполнения задачи. Второй гвоздь в гроб — это медленная скорость работы с памятью. Третий гвоздь — к тому времени эра целочисленных процессоров начала подходить к концу, а G5 при работе с FP звёзд с неба не хватал, и проигрывал Интелу, а ещё больше AMD. Четвёртый гвоздь — термовыделение, он проигрывал всем на рынке. В этом плане решение Эппла совать их в PC/ноуты было просто недалёкими, что они и исправили вскоре.

он был бы в 2 раза быстрее до первого кондишенал джампа.

кремнивую

кремниевую

Процветание и много смузи

Уйдут в места большой охоты аки коболисты.

Еще тоньше надо. И это толсто, а мне лень придумывать.

У любителей C Unix всё будет хорошо, надо немного потерпеть. Вместе с коболистами.

Mac OS X — это юникс, а точнее — тюнингованная фрибсд

Ядро там не BSD. Графическая среда — не BSD.

Ядро там не BSD

Ядро в макоси на половину фрибсд

Чего спорить — там даже папочки специально названы %) opensource.apple.com/...​ource/xnu/xnu-3248.60.10

Было правдой в начале 2000-х.

От BSD там на самом деле уже мало что осталось. Да, XNU снаружи неплохо умеет притворяться BSD, но внутреннее устройство кардинально другое. Да и родные либы/фреймворки все больше опираются не на классические POSIX—ные syscall’ы (с положительным индексом), а напрямую на mach—трэпы («отрицательные» вызовы).

Но UNIX — таки да. Причем не какой-то там UNIX—like, как линь, а сертифицированный UNIX, практически последний из могикан .

Как расшифровывается XNU ? %)

Так же, как и GNU, только на букву Х :) Но игра в слова не помешала ему получить SUSv3—сертификацию в далеком 2007-м.

Сейчас всё больше и больше народу на Linux сваливают. А там столько багов в системе и дровах, что програмеров много нужно будет их фиксить и фичи добавлять.
А еще море железяк сейчас с линухом внутрях — им тоже програмеры нужны (от чайников до автомобилей).
Но, требования ко входу посложнее будут чем в жаба скрипты и клепание страничек.

С наукой тоже. Если еще 5 лет назад большинство таких проектов под виндой были, то сейчас про винду и не заикаются. В линухе удобнее стало. Хотя ведущие универы и так в инихах всегда сидели. Но прикладной наукоемкий софи для конечных пользователей под винду делали.

Так что с С и юнихов всё отлично на ближайшие лет 10-20. А там может уже и какие новые оси появятся.

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

Да, не пойму, зачем все штампуют свою среду рабочего стола

Потому что могут ©

А может потому, что не могут ничего кроме? :)

Еще такой момент. Красить будку легче, чем дрова писать.

Сейчас всё больше и больше народу на Linux сваливают. А там столько багов в системе и дровах, что програмеров много нужно будет их фиксить и фичи добавлять.

Так я об этом ещё лет 15 назад на форумах читал. Там ещё пейсали, что Linux — самая надёжная система, самая безбажная и неглючная, в отличии от мастдая. Что же это такое выходит, что за это время в самой безбажной системе появилась куча багов? Как же так?

Элементарно — поналезло формошлепов на всяких жабаскриптах и прочем говне. Яркий пример говна — создание systemd, задроты пихают все что только в голову придет, а думать забывают.... На счет надежности и безбаженности и неглючности — «элементарно Ватсон» — работал с виндой на ноуте лет ХХХХ назад, периодами перетсавлял себе и жене — ноут у нее тупил, разбираться почему влом. Перешел на линь на десктопе — у жены стоит уже года 4 безсменно и она не жалуется на тупизну, софт в работе у нее один и тот же....

Как вы считаете, что ждет C UNIX разработчиков и это направление в целом в обозримом будущем?

Стабильная работа и процветание. Возможны небольшие флуктуации в январе 2038 из-за кольцевого солнечного затмения и 19 января 2038 около 03:14:08 из-за переполнения 32 битового time_t, которого никто не заметит.

Подписаться на комментарии