2009-06-02 2 views

답변

7

고/저 레벨 구분은 패러다임보다 추상화에 관한 것입니다. 일반적으로, "낮다"면, 실행중인 시스템, 즉 메모리, 파일 시스템 및 프로세서 명령어 세트에 대해 더 많이 알아야합니다.

고급 언어는 사용자와 기계 사이에 추상화 계층을 둡니다. 그것은 피투성이의 세부 사항을 처리합니다. 이것은 좋고 나쁘다. 추상화는 약간의 걱정을 없애고 또한 통제를 제거합니다.

높은 수준의 언어

이 절차 일 수있다, 객체는 객체 지향이 추상화이기 때문에 등등 ...

낮은 수준의 언어, 객체 지향 같은 개념을 제공하지 않을 수, 기능, 지향.

0

이 두 축 ("패러다임"및 "레벨")을 통한 인과 관계는 반드시 존재하지 않지만 논리와 기능 언어가 객체 지향 언어에 의해 뒤 따르는 최고 수준 인 경향이 있다고 생각합니다. 절차 적 언어는 일반적으로 하위 수준입니다.

질문의 일부가 아니지만 상호 연관성이있는 동적 유형 언어는 정적 형식 언어보다 더 높은 경향이 있다고 생각합니다.

패러다임 (논리/기능/oo/절차) 입력 (정적/동적)과 수준 (세 가지 축을 통해 프로그래밍 언어의 3 차원 분산 형 플롯을 수행하는 것이 흥미로운 시각화라고 생각합니다. 측정 레벨에 대한 다양한 측정 항목에 대한 '코드 완료').

1

상위 레벨/하위 레벨은 어셈블러 및 기계 코드에 대한 인식 된 '친밀도'를 의미합니다 (어셈블러는 하위 레벨, C는 C++ 또는 Java보다 낮은 레벨로 표시됨).

OO 및 절차 적 프로그래밍은 프로그램을 설계하는 특정 방법을 지원하기 위해 제공되는 언어 기능입니다 (프로그래밍 패러다임이라고 함). 어셈블러가 객체와 클래스에 대해 알지 못하기 때문에 OO 언어가 낮은 레벨이되지 않는 경향이 있다는 사실을 넘어서는 언어가 높거나 낮은 경우에는 아무 관련이 없습니다. 기능 프로그래밍과 같은 많은 다른 패러다임이 있습니다.

0

"높은 수준"과 "낮은 수준"은 사람들이 동의 할 수없는 다소 모호한 용어입니다. 특정 작업을 수행하기 위해 작성해야하는 코드의 양에 따라 프로그래밍 언어에서 제공하는 추상화 양을 살펴보고 코드가 더 적은 수준이 필요한 언어를 호출 할 수 있습니다. 물론 코드 크기를 측정 할 방법이 필요합니다.

-1

저는 이것을 말하고 싶습니다. 모든 것이 기계 명령어 세트에 달려 있습니다. 그래서, 무엇인가 높은 수준의 표현 방법에 관계없이, 그것은 여전히 ​​기계 명령으로 끓어 갈 것입니다. 따라서 고급 언어는 아이디어를 추상화하는 반면 저급 언어는 하드웨어에 더 가깝습니다.

유추는 모두 유사합니다. 기계 코드가 하나만 있습니다.

1

아니요.

C++는 객체 지향이며 상당히 낮은 수준입니다.

+0

르네가 만들고있는 연결이 유효하다고 생각합니다. C++은 원시 C보다 높은 수준의 언어입니다. 일반적인 규칙은 객체 지향 언어가 일반적으로 순수 함수 언어보다 유효한 수준이라는 것입니다. – HumbleWebDev

0

나는 여기에 좋은 비유가 있다고 생각합니다.

객체 지향 언어는 순수한 기능 언어보다 더 높은 경향이 있습니다. C++ 및 c를보십시오. C++은 docesam에서 언급했듯이 꽤 낮은 수준이지만 C++은 순전히 기능적인 형보다 더 높은 수준입니다. c.

아니요, 그다지 간단하지는 않습니다. 객체 지향이 언어를 고수준으로 만드는 유일한 것이 아니라 객체 지향이라는 명확한 지표는 실제 원시 기계 명령어에 대한 추상화를 의미합니다.

그러나 개체 방향으로 어느 언어가 최고 수준인지 판단하기에 충분하지 않습니다.

나는 다음과 같은 사물을보고 싶은데 :

  • 언어가 정적 또는 동적 타이핑이 있습니까? (자바 스크립트 & 파이썬 대 자바와 C++)
  • 객체 지향적인가요? (c vs C++)
  • 순수 텍스트 매크로 또는 템플릿? (C++ C 대)
  • 동적 (자바 & C++ 대 다시 자바 스크립트 & 파이썬) 정적 바인딩 대 바인딩
  • 은 언어 지원 기능을 이름 않거나 라인 점프 사용해야합니까?
  • 언어가 댓글과 같은 것을 허용합니까?
  • 많은
관련 문제