현재 저수준 프로그래밍에 어떤 언어가 사용됩니까? [닫은]


13

드라이버, 임베디드 시스템, 운영 체제 등과 같은 저수준 프로그래밍을 들으면 즉시 C와 C ++에 대해 생각합니다. 그러나 주로 C.

그러나 이런 종류의 작업에 어떤 다른 언어가 사용됩니까? 오늘 사용 된 것이 아닙니다 .

답변:


14

일반적으로 드라이버 프로그래밍과 같은 저수준 프로그래밍은 어셈블리 언어 와 C 의 혼합입니다 .

어셈블리 언어는 하드웨어와 통신하는 데 사용되고 C는 커널과 통신하는 데 사용됩니다.


나는 어셈블리보다 높은 수준의 언어를 의미했지만, 요점은 여전히 ​​유효합니다. =)
gablin

8
운영 체제에 따라 Windows 또는 Linux에서 드라이버를 작성할 때 어셈블리 언어가 필요하지 않습니다. C로 하드웨어에 액세스 할 수 있습니다.
Jim A

6
실제로 어셈블리 관련 작업을하는 유일한 시간은 일반적으로 가상 메모리 관리자와 같은 작업을 수행 할 때 아키텍처 관련 문제를 처리 할 때입니다. 그러나 장치 드라이버를 작성하는 프로그래머는 거의 노출되지 않습니다. 그들은 존재하는 시설을 사용합니다.
Tim Post

8

Ada 는 여전히 비교할 수없는 안전 기능을 제공하기 때문에 안전 / 미션 크리티컬 시스템에서 여전히 사용됩니다.

90 년대 후반까지 DoD와 다른 지역 내에서 Ada를 사용해야하는 의무는 있었지만 더 이상 사용되지는 않았으므로 예전처럼 많이 사용되지는 않습니다. 그러나 여전히 매우 중요한 용도, 항공 전자 공학, 원자력 등에서 발견 될 수 있습니다.

최신 버전은 객체 방향과 병렬 처리를 잘 지원하므로 여전히 유용합니다.


1
저는 봄에 수강하는 임베디드 시스템 코스 중 하나에서 Ada를 사용할 것이라고 생각합니다.
gablin

1
@gablin : Aye, 임베디드 시스템에서 일반적으로 사용됩니다.
Orbling

6

나는 조금 전에 8 비트 프로그래밍에 대한 연구를했습니다 (취미 관련; 기본 전자 장치를 만들려고했습니다). C와 Assembly를 제외하고 제가이 작업에 유리하게 언급 한 유일한 언어는 Scheme과 Forth였습니다.


+1 예, 기본 전자 제품을 만드는 것이 곧 취미가 될 것 입니다.이 취미를위한 Make : Electronics 서적을 사용하기를 기다릴 수 없습니다
Anthony

3

Cython 이 한 예입니다. 임베디드 시스템이 아니라 드라이버 및 기타 저수준 프로그래밍의 경우 파이썬 세계에서 C를 대체하는 것으로 점점 더 많이 사용됩니다. 컴파일 된 파이썬뿐만 아니라 속도 향상을위한 저수준 액세스 및 유형 힌트도 얻습니다.

파이썬 광신자로서 그것은 내가 사용하는 것이지만, 심각한 상황에서는 거의 드물게 지금까지는 아닙니다.


1
전에는 들어 본 적이 없지만 깨달음에 감사드립니다. =)
gablin

( "더 많은 것"-> "더 많은 것")
Peter Mortensen

1
Cython이 실제로 저수준 프로그래밍에 공통적이라고 생각하지 않습니다. 필자는 일반적으로 C 및 C ++ 주위에 래퍼를 만들어 일반적인 C 또는 C ++ 라이브러리에 대한 액세스 수준을 낮추는 데 사용되는 것처럼 느낍니다.
tsturzl 2016 년

그렇다면 저수준 프로그래밍입니다. :-)
Lennart Regebro 2016 년

2

글쎄, 나는 지난 몇 년 동안 C와 Lua를 사용하여 임베디드 시스템에서 일했다 .

eLua 도 확인하십시오 .

-편집 : 브라질에는 Ginga 라는 디지털 TV를위한 "신기술"이 있습니다. 실제로는 표준이지만이 표준에서 Lua 언어는 내장 언어의 소스로 사용됩니다. 다른 하나는 Java입니다.

JavaCards 와 같은 일부 특수 시스템의 경우 Java도 인용 할 수 있습니다 . 그것들이 임베디드 시스템이 아닌 경우 임베디드 의미가 무엇인지 모르는 것보다 ... :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.