Answer the question
In order to leave comments, you need to log in
Which programming language is best suited for embedded solutions with increased reliability and security requirements?
Hello, I would like to know what programming language is best suited for embedded solutions, but with a requirement for increased reliability and security?
Answer the question
In order to leave comments, you need to log in
А́да (Ada) — язык программирования, созданный в 1979—1980 годах в ходе проекта Министерством обороны США с целью разработать единый язык программирования для встроенных систем.https://ru.wikipedia.org/wiki/%D0%90%D0%B4%D0%B0_(...
Да ни какой. Есть стандарты и процедуры которые позволяют добиться надёжности. Все это описано в том числе и в руководствах по программированию, есть инструменты которые анализируют ваш код и выдают рекомендации , для медицины, пром автоматики и автомотива это практически неизбежно.
Надёжность и безопасность - это абстрактные понятия. Например, ваша программа может слишком сильно нагреть процессор и превысить рабочую температуру. Или возможна утечка памяти, которая проявится через год непрерывной работы. Или ваша программа сломается в южном полушарии (так падали американские самолёты). А однажды ПВО в Африке не сработало из-за однопоточности программы.
Иными словами, вам надо определиться с конкретными показателями и их значениями, затем методами их обеспечения, затем уже подобрать язык.
По надежности рантайма - хорошо идёт Erlang. Он способен накатывать патчи без ребута приложения. Его даже не рекомендуют запускать в докере т.к. его преимущества теряются из-за контейнера.
По надежности языка разработки - согласен с предыдущими ораторами насчет Ады. Но насчет перспектив - я ХЗ. Не знаю как там для современной разработки.
Современная восходящая звезда надёжности фазы компилляции - это Rust. Его изначально создавали с целью фиксить дефекты С++. Просто на основании опыта накопленного в Mozilla. И на основании анализа уязвимостей из тех которые уже были внедрены в код Мозиллы из за фундаментальных дефектов языка С++.
Какой язык программирования лучше подходит для встраиваемых решений с требованием к повышенной надёжности и безопасности?
Industry average experience is about 1–25 errors per 1000 lines of code
for delivered software. The software has usually been developed using a hodge-podge
of techniques (Boehm 1981, Gremillion 1984, Yourdon 1989a, Jones 1998, Jones 2000,
Weber 2003). Cases that have one-tenth as many errors as this are rare; cases that have
10 times more tend not to be reported.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question