s namespace 1 9 - std;
6 using V = int;
7 using $ = void;
8 using # - time_t;
9 using 4 ■ bool;
10 ♦define f auto
11 ♦define °° enum
12 #define T false
13 #define M true
14 ♦define ft "evil"
15 ♦define U • : :make_shared
16 ♦define Z virtual
17 ♦define -r #::cout
18 ♦define # : :endl
Вот страница загрузки: https://www.microsoft.com/net/download/core
P.S.
Уже больше года пишу разные штуки на macOS и деплою на linux
А-то проект висит и я хз, учить джаву или юзать то что знаю неплохо с риском нарваться на кучу багов.
Есть EF Core для баз данных (postgress), клиенты mongodb, elasticsearch, клиент rabbitmq
На hub.docker.com есть официальные образы контейнеров для core crl.
Чего не хватает, так акторов (akka.net/orleasn) - они еще в процессе переписывания под кор.
https://docs.microsoft.com/en-us/dotnet/core/
Программист должен совершенствоваться всегда - с этим вопросов нет, я например более или менее умею кодить на любом си-подобном языке, но знание си не ограничивается одним знанием синтаксиса - знание архитектуры входит в комплект обязательного багажа.
Го ориентирован на безопасный код, поэтому банальные задачи в виде управления ножкой микроконтроллера там невозможны.
И ещё большой список проблем. Это так, основное. Но самое главное - стандартизация. Мы, инженеры, любим ебучие стандарты, и привыкли по ним работать. На сегодняшний день в огромную прослойку авиа-машино-роботостроений внедрен стандарт МисраСи. По нему и работаем.
Си - стар, замшел и все прочие эпитеты, но для встраиваемых систем и тем более систем которые отвечают за жизнь человека - лучше него нет.
системы отвечают за жизнь человека, но нам жалко запихнуть в них не 8кб, а хотя бы 640, которых хватит всем, чтоб поиметь кучу и что еще захотим, чтоб достичь требуемой безопасности, надёжности. жизни людей же на кону! или всё-таки нет? нам важнее бабосы сэкономить или просто в лом освоить что-то более надёжное, без ебли с указателями, с более мощной системой типов, заточенным под статический анализ и тп. типа д или руста или юльки или хуй знает чего еще
над задачей безопасности за 45 лет существования сишки думало много умного народу, но переплюнуть сишку так и не смогли, так получается?
или просто у кого-то команда колхозников, которые застряли на одной технологии и любая задача у них или решается по-старинке или никак?
а мисра си вообще анекдот. давайте добавим стайлгайд, как не стрелять себе в ногу на самой подходящей для решения задач, от которых зависят жизни людей, технологии. а то она такая замечательная, что аж пиздец что на ней наворотить можно. почему эти рекомендации не впилили в сам язык? уж за 45 лет можно было
ну вообще-то сделали, только не в рамках сишки, а в рамках других языков. в д safe/unsafe придумали, в русте куча приседаний с борровингами, в каком-нибудь цейлоне систему типов, где можно метаинфу не терять и так далее. но это всё хуйня, лучше си ничего нет :)
Нет есть микроконтроллеры (те же STM) количеством памяти в 1024 кб, в таких случаях мы все равно упираемся в динамическое выделение, так что до пизды. Мы работаем с тем что есть, те же микрочипы имеют самую понятную и доступную документацию и её реально дохуя, при этом имеют на борту 512 флэша 32 на кристале.
По-поводу мисры - ты говоришь явную хуйню, это, блять, международный СТАНДАРТ, который позволяет инженерам понимать других инженеров, в котором также прописаны правила и ошибки которые допустили другие. То что на си можно наворотить, это следствие его низкоуровневости и низкой абстракции от железа, что и позволяет ему, на сегодняшний день лидировать в списки языков для эмбедед, а также огромное комьюнити, безусловная поддержка всех МК, и огромное количество нормальных IDE+невьебенно большое количество готовых решений под разные архитектуры и задачи, а то я видал одного чувака - мы сейчас сгенерируем проект в Кубе, собирем МКшке кишки в си, поебемся с переносом проекта на Руст и дальше там будем работать, при этом добавляя рантайм и усложняя отладку в ебеня.
Полудохлый D уже как-то попытались юзать на МК, но с таким рантаймом идет он нахуй.
Нет, я реально поддерживаю комьюнити которое пробует поднять руст на МК, молодцы, но пока это все игрушки и голый энтузиазм, ни одна, уважающая себя компания, не будет разрабатывать железо с такой большой абстракцией от оного.
Ты видимо никогда не писал на МК, и у тебя не было такой хуйни, когда все правильно, код прозрачный, а МК на двенадцатом по счету прерывании начинает контроллер творить невьебанную хуйню, и как это хуйню на Русте вылавливать?
легаси, неповоротливость индустрии, бабки и долбоебизм - вот что является причинами, почему им до сих пор пользуются
есть для эмбеда охуенные стандарты - ассемблеры, прям настолько стандартные, что аж в камне высечены.
зачем стандарт на высокоуровневые языки?
именно стандарт на язык что тебе даёт
АХАХААХА. То есть мяу.
стандарт на язык обсуждаем, не abi. на abi "стандартов" больше одного
Стандарт на язык нужен для того, чтобы авторы компиляторов и прочих инструментов для языка могли написать эти компиляторы и прочие инструменты. И стандартную (!) библиотеку для этого языка.
А пользователи языка (на самом деле пользователи компиляторов и прочих инструментов) могли быть уверены, что фича X в их пользовательском коде реализована данным конкретным (и/или другими) компилятором.
> позволяющего делать
Позволяет не язык, а его инструментарий. Инструментарий без стандарта -- вендор лок и непереносимость. В общем случае возможности нестандартизированного языка автоматически равняются возможностям используемого инструментария. Спасибо, не надо.
ты сверяешься с бумажкой там, где в более человеческих языках то же самое делает компилятор
описать словами поведение компилятора недвусмысленно в каждом пункте - нереально. а если и было бы реально, то было бы сложнее, чем выкатить референсную реализацию.
чуваки из k-framework прочекали плюсы, тоже дохуя стандартные, и понаходили там кучу хероты
в реальности возникает один компилятор, под него пилятся программы. и ты потом, делая второй, еще нихуя не популярный, сырой компилятор не можешь всем сказать "вот тот был говно, а мой по стандарту запилен", ты начинаешь эмулировать косяки старого, лишь бы код вообще компилялся, и хоть кто-то начал им пользоваться. а стандарт идет на хуй
ну и собственно поэтому никто не заморачивается на стандарт языка после плюсов - это не работает. но мешает развивать язык. ни борланд, ни сан с ораклом, ни мелкософты - никто не заморачивался
и да, стандартная либа к стандарту на язык отношения не имеет :) хоть и называется похоже
abi, о чем ты рассуждаешь, как об "инструментарии", - тоже нихуя не стандартен, каждый пилит как хочет, а компиляторы потом делают с параметрами выбора, благо это не самая большая проблема разрабов компилятора
так что нехуй пытаться выставить единственную особенность языка как дохуя достижение
единственное, что в сишке было полезного и что стоило перенять - удачный синтаксис с фигурными скобками для блоков, круглыми для функций, и типами перед переменной. и это переняли все, кому не лень. остальное закопайте обратно
Стандарту языка не нужно поведение компилятора описывать. Стандарту нужно описывать поведение языка, которое совместимый компилятор обязан поддерживать.
> в реальности ... ты начинаешь эмулировать косяки старого, лишь бы код вообще компилялся
А теперь, пожалуйста, примеры в студию, и, пожалуйста, столько много, чтобы я сказал: "Да, это больше похоже на норму, чем на исключение из правила".
> стандартная либа к стандарту на язык отношения не имеет
Открой что ли стандарт на плюсы и посмотри сколько там места описание стандартной библиотеки занимает (да-да, прямо в стандарте). И да, я считаю, что стандартная библиотека языка, если она есть, должна быть описана в стандарте на этот язык (либо в отдельном на худой конец). Но это лично моё мнение, просто потому, что я не считаю стандарты говном, ибо "сложна и нивазможна!"
> abi, о чем ты рассуждаешь, как об "инструментарии"
Запарил со своим abi. Под инструментарием я обобщённо понимал компиляторы для компилируемых языков, интерпретаторы для интерпретируемых, виртуальные машины для байткода и т.д., а стандарт -- это то, что помогло бы эти вещи создавать, добиваться совместимости, переносимости и прочих плюшек, повышающих эффективность один раз написанного кода.
А на несовместимость abi я традиционно буду класть большой болт, если только мне не придётся (упаси б-же) вязаться на твою библиотеку, которую ты распространяешь только в бинарниках. Т.е. вендор лок. Спасибо, не надо.
А что надо? Лицензии типа LGPL, которые позволяют мне либу собрать своим компилятором и не иметь проблем с abi. Комитеты по стандартизации, которые стандартизируют даже ABI. Стандарты.
еще блять скажи что современные компы дерьмо потому что работают на транзисторах придуманных в 60х
и вообще, разберись с разницей между плюсами и си