Які мови сьогодні використовуються для програмування низького рівня? [зачинено]


13

Коли я чую програмування низького рівня, наприклад, для драйверів, вбудованих систем, операційних систем тощо, я одразу замислююся про C та, можливо, C ++. Але в основному С.

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

Відповіді:


14

Зазвичай програмування низького рівня, такі як програмування драйверів, є сумішшю мови складання та С.

Мова складання використовується для розмови з обладнанням, а C використовується для спілкування з ядром.


Я мав на увазі мови на більш високому рівні, ніж збірка, але ваша думка все-таки справедлива. =)
— габлін

8
Залежить від операційної системи, в Windows або Linux немає необхідності в мові збірки при написанні драйверів. Ви можете отримати доступ до обладнання лише за допомогою C.
— Jim A

6
Єдиний час, коли ви дійсно працюєте зі складанням, це коли ви маєте справу з певними вигаданими питаннями архітектури, як правило, коли працюєте над чимось на зразок менеджера віртуальної пам'яті. Однак програміст, який записує драйвер пристрою, цьому дуже рідко піддається. Вони використовують засоби, які існують.
— Тім Пост

8

Ada все ще використовується в критичних системах безпеки / місії, оскільки вона все ще пропонує відносно неперевершені функції безпеки.

Це було обов'язково використовувати Ada до кінця дев'яностих років у межах DoD та деяких інших областей, але вже не є, тому не використовується так активно, як раніше. Але його все ще можна знайти в дуже критичних цілях використання, авіоніці, ядерній енергетиці тощо.

Сучасні версії мають об'єктову орієнтацію та хорошу підтримку паралельної обробки, тому все ще корисні.


1
Я думаю, ми будемо використовувати Ада на одному з курсів із вбудованими системами, які я веду навесні.
— габлін

1
@gablin: Так, це зазвичай використовується у вбудованих системах, цілком вдалий вибір для цього.
— Включення

6

Нещодавно я провів дослідження 8-бітного програмування (пов'язане з хобі; хотілося спробувати побудувати базову електроніку). Окрім C та Асамблеї, єдиними мовами, які я вважав сприятливими для цих завдань, були Scheme та Forth.


+1 О так, будівництво базової електроніки скоро стане моїм захопленням, і я не можу дочекатися, коли почати використовувати Make: Electronics book для цього хобі
— Ентоні

3

Цитон - один із прикладів. Не для вбудованих систем, але для драйверів та інших програмувань низького рівня його все більше використовують у світі Python як заміну C. Ви отримуєте як компільований Python, а також низький рівень доступу та підказки щодо типових скорочень.

Як фанатик Python саме цим я користуюся, хоча, мабуть, дуже рідко і поки що не в жодному серйозному контексті.


1
Ніколи про це не чув, але дякую за насолоду. =)
— габлін

("more a more" -> "все більше")
— Peter Mortensen

1
Я не думаю, що Cython насправді є таким поширеним для програмування низького рівня. Я відчуваю, що його зазвичай використовують для створення обгортки навколо C і C ++, щоб надати нижчий рівень доступу та доступ до типових ліній C або C ++.
— tsturzl

Отже, програмування низького рівня, значить. :-)
— Леннарт Регебро

2

Ну, я кілька років працював над вбудованими системами, використовуючи C та Lua .

Ознайомтеся і з eLua .

- EDIT: Тут у Бразилії у нас є "нова технологія" для цифрового телебачення, яка називається Ginga . Це дійсно стандарт, але в цьому стандарті мова Lua використовується як одне джерело вбудованої мови. Інший - Java.

Я думаю, що ми можемо також цитувати Java для деяких спеціальних систем, таких як JavaCards . Якщо це не вбудовані системи, то я не знаю, що означає вбудований ... :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.