역사적으로 HLL은 C, Fortran 또는 Pascal과 같고 VHLL은 Ruby 나 Python과 같습니다. 나는 4GL, 5GL, DSL 및 LOP라는 용어와 익숙하지 않은 사람들은 Wikipedia를 읽어야합니다. UHLL을 찾고 있습니다.
내 질문은 : 더 생산적인 컴퓨터 언어가 있고 거기에서 작업하는 사람이 있습니까?
생산성이 높을수록 코드 작성 횟수가 줄어들고 프로그래머 시간이 단축되어 버그가 적고 디버깅 횟수가 줄어들며 코드와 요구 사항 간의 밀접한 개념적 연결, 수정 및 유지 관리 노력이 줄어 듭니다.
관심있는 주요 도메인은 GUI 또는 브라우저 프론트 엔드, 데이터 지속성 및 인쇄 및 전자 메일과 같은 다른 시스템과의 연결을 갖춘 범용 비즈니스 및 소비자 응용 프로그램입니다. 다른 사람들은 다른 곳에 집중할 수 있습니다.
이러한 언어 중 일부는 도메인에 따라 다를 수 있으며, 대규모 응용 프로그램의 구성 기능 이상일 수 있습니다. Excel 스프레드 시트가이 범주에 속합니다.
이러한 언어 중 일부는 일반적으로 보일 수 있지만 범위가 좁고 많은 문제에 부적합 할 수 있습니다. 예를 들어 Matlab은 주로 사용자 상호 작용 및 텍스트 데이터를 다루는 프로그램에 적합하지 않을 수 있습니다.
VHLL과 유사하게 UHLL에있을 수있는 기능 중 일부를 알고 있습니다. 다음 중 하나 이상을 찾을 것으로 예상합니다 (목록에 자유롭게 추가하십시오).
- GUI 양식의 그림은 GUI 양식을위한 프로그램입니다.
- 행, 열 및 헤더를 포함하는 테이블은 데이터베이스의 테이블에 대한 프로그램입니다.
- 선언적 논리에 따라 IF 문없이 수행해야 할 작업과시기
- FOR 루프없이 데이터 집합에 대한 작업
- 비 연속 실행 (예 : 데이터 구동, 패턴 일치, 나무 보행)
문제의 동기는 상대적으로 간단한 비즈니스 요구 사항을 대량의 코드로 변환하여 컴퓨터가 원하거나 필요로하는 것을 충족시키는 데 많은 노력을 기울이고 있다는 것입니다. 문제는 실제로 내 고통을 공유하고 언어 수준을 높이고 컴퓨터가 더 많은 노력을 기울 이도록 노력하는 다른 사람들을 찾는 것입니다. 이것은 1970 년대에서 80 년대에 주요 초점 이었지만 여전히 일어나고 있습니까?
이것들은 내가 알고있는 언어를 요약하거나 열거하기 위해 여기에 제공된 내 질문에 대한 제안 된 답변이며, 내 견해로는 부족합니다.
HLL 또는 VHLL이며 더 높은 수준에 속하는 개별 기능을 포함하는 많은 언어가 있습니다. 나는 그들 중 대부분을 사용했습니다 (종종 나쁘게). 그들은 포함
- 매크로와 자체 수정 기능이있는 리스프
- 데이터 의존성과 패턴 매칭을 가진 Haskell
- 행과 테이블을 다루는 SQL
- 영리 해 보이지만 실제로는 얻지 못하는 Rebol
- 다차원 배열 및 초소형 연산자가 포함 된 APL (및 J)
- LINQ를 사용한 C #
- 멋진 컬렉션과 정규식이 내장 된 AWK / Perl / Python / Ruby
이 언어에는 하위 수준 기능이 너무 많아 UHLL이 아닙니다. 프로그래머는 여전히 유용한 프로그램을 위해 많은 저수준 구조를 작성해야합니다.
RAD / 4GL 패키지가 있습니다. 나는 몇 가지를 사용했다 :
- dBase / Foxpro
- Dataflex / Powerflex (내 제품)
- 접속하다
- 파워 빌더
그리고 나는 더 많이 사용하지 않았습니다. 언어는 대부분 HLL이지만 패키지에는 언어와 패키지 간의 특권 연결이 포함되어있어 애플리케이션을 빠르게 구축 할 수 있습니다. 왜이 접근법에 증기가 부족했는지는 확실하지 않지만 어쨌든 UHLL은 아닙니다.
원시 프레임 워크 / 라이브러리가 있습니다. 나는 몇 가지를 사용했다 :
- 울타리
- 자바 awt 및 스윙
- .NET Windows Forms, WPF 및 ASP.NET.
이들은 현재 최첨단 기술입니다. 그들은 프로그래머가 구현 언어에 얽매이지 않고 매번 복잡성을 처리합니다. 이것은 UHLL이 아니지만 UHLL은 이들 중 하나 위에 구축 될 수 있습니다.
UML 및 Rational의 툴셋과 같은 디자인 툴이 있습니다. 내가 알 수있는 한, 비즈니스 요구 사항을 명확하게 설명하지만 프로그래밍 단계를 결코 대체 할 수는 없습니다. 프로그래머를 없애고 싶지 않고 단위와 시간당 더 많은 작업을 수행하십시오.
따라서 내가 생각할 수있는 모든 경쟁자를 제거하고 다른 사람이 더 나은 후보를 제공 할 수 있기를 바랍니다.
늦은 편집 : 나는 대답 : Wolfram Language라고 생각합니다. http://www.wolfram.com/wolfram-language/