다양한 접근 방식과 개념을 이해하는 데 도움이되는 중요한 언어는 무엇입니까? [닫은]


172

볼트 커터 한 쌍과 보드카 한 병만 있으면 Wolf Blitzer의 보트 하우스 문에 자물쇠처럼 보입니다. (xkcd를 읽지 않으면 망치와 못으로 교체하십시오)

현재 Clojure, Python, Java 및 PHP를 프로그래밍하고 있으므로 공백 및 C 및 LISP 구문에 익숙합니다. 나는 명령형, 기능성, 불변성, OOP 및 커플 타입 시스템 및 기타 것들을 알고 있습니다. 이제 더 원해!

다른 접근법을 사용하고 실제 도구 선택이나 이론적 이해에 유용한 언어는 무엇입니까?

다른 기능 언어 (Haskell) 나 다른 명령형 OOP 언어 (Ruby)를 배우고 싶지도 않고 Brainfuck과 같은 비현실적인 재미있는 언어를 연습하고 싶지도 않습니다.

내가 찾은 매우 흥미로운 것 중 하나는 Factor와 같은 모노 닉 스택 기반 언어입니다.

내가 대부분의 개념을 이해하고 모든 질문에 대한 답을 가지고 있다고 느낄 때만, 나는 개인적 선호를 모두 담을 수있는 장난감 언어에 대해 생각하기 시작합니다.


3
xkcd 참조만으로는 +1하지만 질문도 흥미 롭습니다.

63
성공적인 프로그래머 인 것 같습니다. 나머지는 점진적입니다. 성가신 것이 아니라 ... ... 당신의 인생은 재정적, 관계 적, 건강, 재미, 취미에 어떻습니까? 아마도 지금은 그러한 것들 중 일부를 추구 할 때입니다. 한 번에 12 개 이상의 언어를 알아야한다고 생각하지 않습니다. 하나를 사용하여 돈을받는다면 배우십시오. 하나에 관한 책을 쓰고 싶다면 배우십시오. 그 외에는 좋은 프로그래밍 기반이 있습니다. 왜 (J-내 subj 의견 :)와 같이 무언가를 심각하게 사용하지 않을 것입니까? 묘지에서 가장 멋진 해커가되지 마십시오.
Hamish Grubijan

6
예, 저는 제 표준에 따라 성공적인 프로그래머입니다. 나는 현재 많은 돈을 벌지 않지만, 나는 19 살이다. 나는 그 시점 이상에 시간을 투자하지만, 취미는 재미 있고 프로그래밍에있다. 또한 언어 이해와 숙달에 차이가 있다고 말하고 싶습니다. Python과 Clojure를 마스터하는 것으로 충분합니다. 코드가 향상되고 컴퓨터를 이해하고 자신의 프로그래밍 언어를 정의하는 데 도움이되므로 다른 옵션을 이해하고 싶습니다.
Pepijn

5
Programmers.SE를 보셨습니까 ? 이것은 더 나은 질문 유형에 속합니다.

답변:


287

실용성 문제는 매우 주관적이므로 다른 언어 패러다임을 배우면 더 나은 프로그래머가 될 수 있습니다. 그보다 더 실용적인 것은 무엇입니까?

기능적, Haskell- 나는 당신이 원하지 않는다고 말했지만 실제로는 재고해야합니다. Clojure와 심지어 Python으로 기능적 노출을 얻었지만 Haskell 없이는 완전히 경험하지 못했습니다. 실제로 Haskell에 반대하는 경우 ML 또는 OCaml이 좋은 타협입니다.

선언적, 데이터 로그 -많은 사람들이이 슬롯에서 프롤로그를 추천하지만, 데이터 로그는 선언적 언어의 명확한 예라고 생각합니다.

Array, J- 방금 J를 발견했지만 멋진 언어라는 것을 알았습니다. 그것은 당신의 마음을 프레첼로 비틀 것입니다. J에게 감사합니다.

Stack, Factor / Forth -Factor는 매우 강력하며 최대한 빨리 파고들 것입니다. Forth는 Stack 언어의 대부이며 추가 보너스로 쉽게 구현할 수 있습니다. 구현을 통한 학습에 대해 할 말이 있습니다.

Dataflow, Oz - Oz 의 영향은 상승세에 있으며 앞으로도 계속 증가 할 것입니다.

프로토 타입 기반의 JavaScript / Io / Self -Self는 모든 프로토 타입 기반 언어에 큰 영향을 미칩니다. 이것은 클래스 기반 OOP와 같지 않으므로 그렇게 취급해서는 안됩니다. 많은 사람들이 프로토 타입 언어를 사용하여 특별 수업 시스템을 만들지 만, 목표가 마음을 넓히는 것이 실수라고 생각합니다. 언어를 최대한 활용하십시오. 수업없는 프로그램 정리를 읽고 아이디어를 얻으십시오.

전문가 시스템, CLIPS- 항상 권장합니다. Prolog를 알고 있다면 속도를 높이는 데 도움이 될 것 같지만 언어는 매우 다릅니다.

Frink -Frink는 범용 언어이지만 단위 변환 시스템으로 유명합니다. 나는이 언어가 최선을 다하기 위해 끊임없는 노력으로 매우 고무적인 것을 발견했다. 게다가 ... 정말 재미 있어요!

Functional + Optional Types, Qi- 일부 유형 시스템에 대한 경험이 있지만 "스킨 가능 * 유형 시스템에 대한 경험이 있습니까? 아무도 없습니다 ... Qi는 여러면에서 Lisp와 유사하지만 타입 시스템은 당신의 마음을 날려 버릴 것입니다.

Actors + Fault-tolerance, Erlang -Erlang의 프로세스 모델은 많은 화제가되지만 결함 허용 및 핫 코드 스왑 메커니즘은 게임 변경입니다. Clojure로 배우지 않을 FP에 대해서는 많이 배우지 않지만 FT 기능을 사용하면 더 많은 언어가 이것을 제대로 이해하지 못하는 이유가 궁금해집니다.

즐겨!


8
+1-좋은 답변입니다.
duffymo

2
배울 수있는 많은 언어를 알려 주셔서 감사합니다.

2
액터 기반 프로그래밍에는 Erlang을, 병렬 프로그래밍에는 Fortress를 추가하겠습니다.
nickik

2
Erlang의 핫 스왑 및 내결함성 인식 +1
Mic

14
어셈블리가 없습니까? 프로세서가 어떤 종류의 코드를 좋아하는지 배우는 방법을 이해하는 것이 좋습니다.
Nick T

33

프롤로그 (통합 / 역 추적 등), 스몰 토크 ( "모든 것이 메시지"인 경우), Forth (역 폴란드 인, 스레드 통역사 등), 스킴 (계속)은 어떻습니까?

언어는 아니지만 Metaobject Protocol의 기술 은 마음을 사로 잡는 것입니다.


내가 틀렸다면 나를 수정하지만 Python sortof가 이미 계속되고 있다고 생각합니다. 그리고 내가 읽은 것보다 Forth and Smalltalk보다 Factor and Objective-C를 배우고 싶지만 거기에서 모서리를 깎을 수 있습니다.
Pepijn

1
@pepijn, python은 퍼스트 클래스 연속을 가지고 있지 않습니다 (비록 바이트 코드 핵으로 작업하고 있지만)
aaronasterling

1
Objective-C는 스몰 토크에서 가져 오지만 ST의 실질적인 탈취는 환경 자체의 역 동성이라고 생각합니다.
John Cromartie

33

두 번째 Haskell입니다. "Lisp을 알고 있으므로 함수형 프로그래밍을 알고 있습니다"라고 생각하지 마십시오. 유형 수업에 대해 들어 본 적이 있습니까? 대수 데이터 타입? 모나드? "현대"(최소 50 세 이상은 아닙니다.) 기능 언어, 특히 Haskell은 매우 강력하고 유용한 새로운 개념을 많이 탐색했습니다. 타입 클래스는 임시 다형성을 추가하지만 타입 추론 (아직 아는 언어는없는 것)은 매력처럼 작동합니다. 대수 데이터 형식은 특히 트리와 같은 데이터 구조를 모델링 할 때 매우 훌륭하지만 열거 형이나 간단한 레코드에도 적합합니다. 그리고 모나드 ... 음, 사람들이 그것들을 사용하여 예외, I / O, 파서, 목록 이해 등을 순전히 기능적인 방식으로 사용한다고 가정 해 봅시다!

또한 전체 주제는 몇 년 동안 바쁘게 유지할 정도로 깊습니다.)


"또한, 전체 주제는 몇 년 동안 바쁘게 지낼만큼 깊습니다.")-왜 이것이 좋은 것일까 요? 결국, 우리의 삶은 유한합니다.
vegai

1
@vegai : 왜 안 좋은가요? 배우는 것보다 평생을 보내는 방법이 더 나쁩니다. 그리고 아무도 언어를 올바르게 사용하기 위해 몇 년 동안 공부해야한다고 말한 사람은 없습니다. 짧은 시간 후에 주제가 소진되지 않는다는 것입니다. (또한 스마일리를 주목하십시오-그 부분은 심각하지 않습니다.)

32

저는 현재 Clojure, Python, Java 및 PHP를 프로그래밍하고 있습니다. [...] 다른 접근 방식을 취하는 언어는 무엇이며 실용적인 도구 선택이나 이론적 이해에 유용합니까?

있어 많은 주위에 거짓말을 C 코드는 확실히 실용적 ---. 당신이 너무 ++ C를 배울 경우에, 거기에 큰 많은 더 많은 코드의 주위에 (당신은 C와 자바를 알고 한 번 도약은 짧다).

또한 몇 가지 이론적 문제에 대한 이해를 돕습니다. 예를 들어, 실행중인 각 프로그램은 어떤 의미에서 4GB 바이트 배열에 있습니다. C의 포인터는 실제로이 배열에 대한 지표 일 뿐이며 다른 종류의 정수일뿐입니다. 표면 레이어 아래에 숨겨진 것을 제외하고는 Java, Python, PHP에서 차이가 없습니다.

또한 C로 객체 지향 코드를 작성할 수 있습니다. vtables 등에 대해서는 약간의 매뉴얼이어야합니다. Simon Tatham의 Portable Puzzle Collection은 접근성이 뛰어난 객체 지향 C 코드의 훌륭한 예입니다. 또한 초급 / 중급 C 프로그래머가 읽을 수 있도록 상당히 잘 설계되어 있습니다. 이것은 Haskell에서도 발생합니다. 타입 클래스는 어떤 의미에서는 "단지 다른 vtable"입니다.

C에 관한 또 다른 큰 장점 : 숙련 된 C 프로그래머와 Q & A에 참여하면 C에 대해 하위 수준의 구조로 설명하는 많은 답변을 얻을 수 있습니다.

OP의 요점을 잃어 버렸을 수도 있습니다. 다른 답변으로 판단 할 수 있습니다.하지만 비슷한 질문이 있고이 글을 읽는 다른 사람들에게 유용한 답변이 될 수 있습니다.


1
더 많은 투표가 필요합니다. C는 베어 메탈을 필요로하거나 기계의 작동 (또는 고급 프로그래밍 언어)을 처음부터 이해해야 할 때 또는 사용하는 최고의 언어입니다. 또한 매우 보편적이며 C 컴파일러는 거의 모든 CPU 아키텍처에 대해 존재합니다.
dietr

27

Peter Norvig 사이트에서 :

"최소 십여 개의 프로그래밍 언어를 배우십시오. 클래스 추상화 (Java 또는 C ++와 같은)를 지원하는 언어 하나, Lisp 나 ML과 같은 기능적 추상화를 지원하는 언어, 선언적을 지원하는 구문 추상화 (Lisp와 같은) "Prolog 또는 C ++ 템플릿과 같은 사양, Coroutine (아이콘 또는 구성표 등)을 지원하는 사양 및 병렬 처리 (Sisal 등)를 지원하는 사양"

http://norvig.com/21-days.html


13

나는 6 개월 수백 표를 한 후에 아무도 SQL에 대해 언급하지 않은 것에 놀랐습니다 ...


10

이론 / 고급 유형 시스템으로 유형 : Coq (Agda 도이 범주에 있다고 생각합니다).

Coq는 기능적 프로그래밍 언어에 포함 된 증거 ​​보조자입니다.

수학적 증거를 작성할 수 있으며 Coq는 솔루션 구축을 돕습니다. 함수를 작성하고 그에 대한 특성을 증명할 수 있습니다.

그것은 의존적 인 유형을 가지고 있으며, 혼자서 내 마음을 날려 버렸습니다. 간단한 예 :

concatenate: forall (A:Set)(n m:nat), (array A m)->(array A n)->(array A (n+m))

는 크기 n과 m의 요소의 두 배열을 연결하고 크기 배열 (n + m)을 반환하는 함수의 시그니처입니다. 함수가 그것을 반환하지 않으면 컴파일되지 않습니다!

귀납적 구조의 미적분학을 기반으로하며 그 뒤에 확실한 이론이 있습니다. 나는 모든 것을 이해할만큼 똑똑하지는 않지만, 특히 유형 이론으로 경향이 있다면 살펴볼 가치가 있다고 생각합니다.

편집 : 언급해야합니다 : Coq에서 함수를 작성한 다음 모든 입력에 대해 올바른지 증명할 수 있습니다.


나는 두 번째 coq. 대부분의 언어를 배울 때 여전히 기존 기술을 사용할 수 있지만, coq는 항상 작동하는 전체 프로그램을 작성하도록합니다.
Bruno Martinez

나는 지난 여름 COQ 내용을 시도했지만 내가 배우고 좋은 문서를 찾을 수 TI는 어려운 찾을 수 있기 때문에 포기 하여 그것을. 어떤 제안?

나는 유니의 코스에서 배운 다음 "코크 아트 : 유도 건축의 미적분학"을 읽습니다. 실제로 마스터하기에는 충분하지 않지만 그것을 이해하기에는 충분합니다.
Bruno Martinez

6

내가 (언어 요소를 정의하는 새로운 어휘와 급진적 인 DIFF 구문 포함)보기의 매우 다른 지점이에 대한 관심이 언어 중 하나는 J . Haskell은 기능적인 언어이지만 유형 시스템 및 기타 고유 한 기능으로 인해 마음이 열리고 (기능적) 프로그래밍에 대한 이전 지식을 다시 생각하게 만듭니다.


5

fogus가 자신의 목록에서 제안한 것처럼 OzML / Mozart 많은 패러다임 (동시 / 다중 에이전트 프로그래밍을 대상으로 함) 을 살펴 보는 것도 좋습니다 .

동시성 및 분산 미적분과 관련하여 Lambda 미적분학 (기능 프로그래밍의 배후)을 Pi 미적분학이라고합니다.

나는 Pi 미적분의 일부 구현을보기 시작했습니다. 그러나 그들은 이미 컴퓨팅 개념을 확대했습니다.


5

흐름 기반 프로그래밍 (일명 흐름 기반 프로그래밍)은 진행상 좋은 단계입니다. 몇 가지 유행어 : 병렬 처리, 빠른 프로토 타이핑, 시각적 프로그래밍 (사운드보다 나쁘지 않음).

Wikipedia의 기사는 훌륭합니다.

컴퓨터 과학에서 FBP (flow-based programming)는 응용 프로그램을 "블랙 박스"프로세스의 네트워크로 정의하는 프로그래밍 패러다임이며, 메시지 전달을 통해 미리 정의 된 연결에서 데이터를 교환하는 연결을 프로세스 외부에 지정합니다. 이러한 블랙 박스 프로세스는 끝없이 다시 연결되어 내부적으로 변경하지 않고도 다른 애플리케이션을 형성 할 수 있습니다. 따라서 FBP는 본질적으로 구성 요소 지향적입니다.

JPM 책 읽기 : http://jpaulmorrison.com/fbp/

(우리는 홈 자동화 목적으로 C ++로 간단한 구현을 작성했으며 매우 기쁘다. 문서는 현재 구축 중이다.)


+1, 데이터 흐름 및 흐름 기반 프로그래밍 (기능적 반응성 프로그래밍)이 멀티 코어 미래의 중요한 부분이 될 것으로 생각합니다.

5

많은 언어를 배웠습니다. 이제는 하나의 언어에 집중하고 마스터 할 때입니다.


3

아마도 공학용이지만 시각적 프로그래밍을 위해 LabView를 사용해 볼 수도 있습니다.

그럼에도 불구하고, 당신은 거기에있는 모든 것에 꽤 관심이있는 것 같습니다.

또한 시각적으로 물건을 만들기 위해 안드로이드 appinventor를 사용해 볼 수 있습니다.


LabView에는 재미있는 '구문'이 있지만 모든 코드를 클릭하고 드래그하는 것은 정말 고통스러운 일입니다. 프로그래머에게 권장하지 않습니다.
Ishtar

그것이 레고 NXT와 함께 제공되는 것입니다. 완전히 나를 위해 일하지 않았다. 그래도 제안 해 주셔서 감사합니다.
Pepijn

내쇼날 인스트루먼트의 제품입니다. LabVIEW는 과학자와 엔지니어의 생산성을 만드는 그래픽 개발 환경입니다
Belun

2

브루스 A. 테이트에서 페이지를 복용 실용주의 프로그래머 : 정확히에 책을 썼다 학습 프로그래밍 언어의 실용적 가이드 : 세븐의 주에서 7 개 언어

이 책에서 그는 Clojure, Haskell, Io, Prolog, Scala, Erlang 및 Ruby를 다룹니다.


2
이 책은 분명히 미국 대중 문화의 일부가 된 영화에 대한 언급으로 가득 차 있습니다. 영화를 보지 못했다면 테이트가 무엇인지 궁금해 할 것입니다. 영화를 보더라도 프로그래밍 언어의 지속적인 의인화로 인해 또는 문제가되는 문자를 좋아하지 않아서 여전히 연기 될 수 있습니다 (나는 Mary Poppins를 좋아하지 않습니다. 우연히도 Ruby를 좋아하지 않습니다) 무언가에있을 수 있습니다).
Alan Plum

2

수은 : http://www.mercury.csse.unimelb.edu.au/

유일성 유형 및 모드를 갖는 유형이 지정된 프롤로그입니다 (즉, append(X,Y,Z)Y에 X가 추가 되는 술어를 지정 하면 X와 Y가 주어지면 하나의 Z를 생성하지만 주어진 Z에 대해 여러 개의 X / Y를 산출 할 수 있음). 또한 잘라 내기 또는 기타 외부 논리 술어도 없습니다.

당신이 원한다면, Haskell이 Lisp에있는 것처럼 그것은 Prolog입니다.


1
  1. 프로그래밍은 프로그래머의 임무를 다루지 않습니다.
  2. 새로운 것은 항상 흥미롭지 만 아주 멋진 오래된 것들이 있습니다.

첫 번째 데이터베이스 시스템은 나를 위해 dBaseIII이었고, 작은 예제를 작성하는 데 약 한 달을 소비했습니다 (dBase / FoxPro / Clipper는 인덱스가있는 테이블 기반 db입니다). 그런 다음 첫 직장에서 MUMPS를 만났고 두통이 생겼습니다. 나는 젊고 신선했지만 MUMPS 데이터베이스 모델을 이해하는 데 2 ​​주가 걸렸습니다. 만화와 같은 순간이있었습니다 .2 주 후에 버튼이 켜지고 전구가 마음에 밝아졌습니다. MUMPS는 자연스럽고 저수준이며 매우 빠릅니다. (유형이없는 불균형, 비 형식화 btree입니다.) 오늘날의 추세는 NoSQL, 키-값 db, 다차원 db 등으로 되돌아가는 방법을 보여줍니다.

다음은 MUMPS의 장점에 대한 프레젠테이션입니다. http://www.slideshare.net/george.james/mumps-the-internet-scale-database-presentation

계층 적 DB에 대한 간단한 문서 : http://www.cs.pitt.edu/~chang/156/14hier.html

MUMPS 전역에 대한 소개 (MUMPS에서는 지역 변수, short : 지역 변수는 메모리 변수이고 전역 변수, short : 전역 변수는 "db 변수"이며 전역 변수는 즉시 디스크로 이동) : http : // gradvs1.mgateway.com/download/extreme1.pdf (PDF)


1

사랑의시를 쓰고 싶다고 해보자 ...

이미 당신의 손에 망치가 있기 때문에 망치를 사용하는 대신, 작업을위한 적절한 도구를 배우십시오 : 프랑스어를 배우십시오.

거의 모국어 수준에 도달하면,시를 시작할 준비가되었습니다.


4
물론,시를 쓰려면 평범한 원어민 수준보다 잘 말해야하기 때문에 쓰레기 시가 될 것입니다. 그리고 당신의 여자 친구는 그것을 읽으려면 불어를 배워야합니다. 그녀가 이미 프랑스어가 아니라면 아마 창피 할 것입니다.
John Lawrence Aspden

맛있는 아이러니, 존, 나는 그것을 좋아한다 (나는 프랑스 인, btw)
Vinzz

1

학문적 수준에서 새로운 언어를 배우는 것은 재미있는 취미이지만 IMHO는 실제 문제에 적용하기 전에는 실제로 언어를 사용하는 법을 배울 수 없습니다. 따라서 배울 새로운 언어를 찾는 대신, 먼저 여러분이 구축 할 새로운 것들을 찾은 다음, 그 하나의 특정 프로젝트에 적합한 언어를 찾아야합니다. 먼저 문제를 선택한 다음 도구를 선택하십시오.


1

80 년대 중반 이후로 주변에 없었던 사람이라면 8 비트 베이직을 배우는 것이 좋습니다. 매우 저수준이고 매우 원시적이며 구멍 주위를 프로그래밍하는 흥미로운 운동입니다.

같은 줄에 HP-41C 시리즈 계산기 (또는 실제 하드웨어를 능가하는 것은 아니지만 에뮬레이터)를 선택했습니다. 뇌를 감싸는 것은 어렵지만 그만한 가치가 있습니다. TI-57은 그렇게 할 것이지만 완전히 다른 경험이 될 것입니다. TI-55에서 2 차 방정식을 풀면 마스터로 간주됩니다 (조건부와 RST 이외의 분기가 없으며 프로그램을 0 단계로 다시 이동).

마지막으로 FORTH를 선택했습니다 (이전에 언급했습니다). 멋진 "언어를 구축하십시오"Lisp-ish 일이지만 훨씬 더 베어 메탈입니다. Rails가 흥미로운 이유와 DSL이 의미가있는 시점을 알려주며 입력하는 동안 비 RPN 계산기가 생각하는 것에 대해 알 수 있습니다.


1

추신. 스택 기반이기 때문에 다소 흥미로운 언어이며, 종이에 물건을 넣고 싶거나 끝내지 않는 문제를 해결하고 싶을 때 매우 실용적입니다.

얼랭. 본질적인 병렬 처리는 다소 특이한 느낌을 주므로 다시 유용한 것을 배울 수 있습니다. 실용성은 확실하지 않지만 빠른 프로토 타이핑 작업과 중복 시스템이 많은 경우 유용합니다.

CUDA 또는 OpenCL과 같은 GPU 프로그래밍을 시도하십시오. 그것은 단지 C / C ++ 확장 일 뿐이지 만 아키텍처의 멘탈 모델은 고전적인 접근 방식과 완전히 다르며, 실제 숫자 크 런칭을 완료해야 할 때 확실히 실용적입니다.


1

Erlang, Forth 및 일부 임베디드 언어와 함께 작동합니다. 정말; Arduino 키트 또는 이와 유사한 제품을 구입하고 어셈블리에서 다 성음 신호음을 만드십시오. 당신은 정말로 무언가를 배울 것입니다.


1

도 있습니다 anic는 :

https://code.google.com/p/anic/

해당 사이트에서 :

C보다 빠름, Java보다 안전하고 * sh보다 간단

anic은 실험적, 고성능, 암시 적으로 병렬, 교착 상태가없는 범용 데이터 흐름 프로그래밍 언어 ANI를위한 참조 구현 컴파일러입니다.

더 이상 적극적으로 개발되지는 않지만 흥미로운 개념을 가지고있는 것 같습니다 (그리고 결국 당신이 겪고있는 것입니다).


1

"다른"에 대한 귀하의 요구 사항을 충족시키지 못하는 동안 -Fantom 은 전문 프로그래머가 봐야 할 언어입니다. fantom의 저자는 자신의 입장으로 그것을 지루한 언어라고 부릅니다. 루비 및 유사한 새로운 언어에서 빌린 클로저 구문을 사용하여 Java 및 C #의 가장 일반적인 사용 사례를 보여줍니다.

그러나 자체 부트 스트랩 컴파일러를 보유하고 외부 종속성없이 설치가 중단되고 패키지를 올바르게 가져 오는 플랫폼을 제공하며 Java, C # 및 웹 (js를 통해)에서 작동합니다.

새로운 프로그래밍 방식으로 시야를 넓힐 수는 없지만 더 나은 프로그래밍 방식을 보여줄 것입니다.


1

다른 답변에서 누락 된 것으로 보이는 것은 용어 재 작성에 기반한 언어입니다.

Pure- http : //code.google.com/p/pure-lang/을 살펴볼 수 있습니다 .

Mathematica는 또한 재 작성을 기반으로하고 있지만 닫히는 상황을 파악하는 것은 쉽지 않습니다.


0

APL, 포스 및 어셈블리.

재미있게 보내세요. 레고 마인드 스톰 로봇 키트와 CMU의 RobotC를 들고 로봇 코드를 작성하십시오. "더러워지고"다른 방법으로는 배울 수없는 실제 세계와 상호 작용해야하는 코드를 작성할 때 상황이 발생합니다. 예, 같은 언어이지만 매우 다른 관점입니다.

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