S
S
Sasha Popov2020-07-05 23:05:53
Information Security
Sasha Popov, 2020-07-05 23:05:53

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

7 answer(s)
Иван Шумов, 2020-07-05
@inoise

никакой. надежность и безопасность языком не обеспечивается

U
uvelichitel, 2020-07-05
@uvelichitel

А́да (Ada) — язык программирования, созданный в 1979—1980 годах в ходе проекта Министерством обороны США с целью разработать единый язык программирования для встроенных систем.
https://ru.wikipedia.org/wiki/%D0%90%D0%B4%D0%B0_(...

Владимир Коротенко, 2020-07-05
@firedragon

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

D
Developer, 2020-07-05
@samodum

Языки программирования не решают проблем безопасности

G
Griboks, 2020-07-05
@Griboks

Надёжность и безопасность - это абстрактные понятия. Например, ваша программа может слишком сильно нагреть процессор и превысить рабочую температуру. Или возможна утечка памяти, которая проявится через год непрерывной работы. Или ваша программа сломается в южном полушарии (так падали американские самолёты). А однажды ПВО в Африке не сработало из-за однопоточности программы.
Иными словами, вам надо определиться с конкретными показателями и их значениями, затем методами их обеспечения, затем уже подобрать язык.

M
mayton2019, 2020-07-06
@mayton2019

По надежности рантайма - хорошо идёт Erlang. Он способен накатывать патчи без ребута приложения. Его даже не рекомендуют запускать в докере т.к. его преимущества теряются из-за контейнера.
По надежности языка разработки - согласен с предыдущими ораторами насчет Ады. Но насчет перспектив - я ХЗ. Не знаю как там для современной разработки.
Современная восходящая звезда надёжности фазы компилляции - это Rust. Его изначально создавали с целью фиксить дефекты С++. Просто на основании опыта накопленного в Mozilla. И на основании анализа уязвимостей из тех которые уже были внедрены в код Мозиллы из за фундаментальных дефектов языка С++.

J
jcmvbkbc, 2020-07-06
@jcmvbkbc

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

Максимально выразительный, который подходит для встраиваемого решения по остальным параметрам (доступность для данной платформы/быстродействие/размер программы/...).
Почему? Потому что (Steve McConnell, "Code Complete"):
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.

It's amazing how amicably Ivan Shumov Vladimir Korotenko and Developer answer some other question. People, huh? Do you seriously not see the difference between "which language is better" and "which language solves problems"?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question