일반적인 프로그래밍 지원을 가진 첫 번째 언어


15

제네릭 프로그래밍을 지원하는 첫 번째 언어였으며 제네릭을 지원하는 첫 번째 정적 유형 언어 (일반적으로 사용되는 언어)는 무엇입니까?

제네릭은 매개 변수화 된 형식의 개념을 구현하여 여러 형식을 허용합니다. 일반이라는 용어는 "대규모 그룹에 속하거나 적합합니다"를 의미합니다.

나는 "첫 번째"에 대한 다음 언급을 보았다.

1 차 파라 메트릭 다형성은 이제 정적으로 유형이 지정된 프로그래밍 언어의 표준 요소입니다. System F [20,42]와 함수형 프로그래밍 언어로 시작하여이 구문은 Java 및 C #과 같은 주류 언어로 사용되었습니다. 이러한 언어에서 1 차 파라 메트릭 다형성은 일반적으로 제네릭이라고합니다.

" 더 높은 종류의 제네릭" , Adriaan Moors, Frank Piessens 및 Martin Odersky에서

일반 프로그래밍은 알고리즘이 지정 될 최신 유형으로 작성된 다음 컴퓨터 매개 변수로 제공되는 특정 유형에 대해 필요할 때 인스턴스화되는 컴퓨터 프로그래밍 스타일입니다. 1983 년 Ada가 개척 한이 접근법

위키 백과 일반 프로그래밍에서

답변:



4

아마 Lisp. 그것은 1960 년대에 거의 그랬습니다. 실제로 질문이 거의 모든 것을 할 수있는 첫 번째 언어 였으면 아마 당신은 아마 lisp라는 것을 알게 될 것입니다. 언어 X의 멋진 새로운 기능이 사실 1960 년의 멋진 lisp의 새로운 기능이라는 것을 깨달았습니다.


7
Lisp는 정적으로 입력되지 않았기 때문에 "일반"은 해당 맥락에서 의미가 없습니다.
Rufflewind

"Generics"는 어떤 종류의 정적 타이핑에만 의미가 있습니다. 속성이 다른 많은 종류의 유형 시스템이 있습니다.
Zachary K

@ZacharyK "generics"가 의미하는 특정 형식 시스템 기능은 매개 변수 다형성 이며 형식화되지 않은 언어에서는 의미가 없습니다.
Jack

3

제네릭 이전에는 템플릿이 있었고 해당 매크로 대체 전에있었습니다.


템플릿은 파라 메트릭 다형성이 아니며, 대부분의 사람들은 유형의 맥락에서 "일반"이라고 말할 때 의미합니다. 템플릿과 매크로는 타입 시스템과도 관련이 없으며 직교 기능입니다.
Jack

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