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


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.