«language-design» 태그된 질문

프로그래밍 언어의 디자인과 구조에 관한 질문.

9
자체 호스팅 컴파일러가 새로운 언어에 대한 통과 의례로 간주되는 이유는 무엇입니까?
사람들이 언어를 존중할 가치가있는 자체 호스팅 컴파일러를 사용하거나 최소한 가지고 있어야한다고 생각하는 곳이 여러 곳에서 들었습니다. 왜 이런지 궁금합니다. 컴파일러는 작성해야 할 매우 중요한 소프트웨어처럼 보이며 모든 언어가 해당 언어를 만드는 데 적합하지는 않다고 생각합니다. 더 나은 결과를 얻을 수있는 작업을하면서 노력하는 것이 더 합리적이지 않습니까?

5
lisp에서 lisp 통역사를 공부하는 것이 왜 그렇게 중요한가요?
나는 야심 찬 프로그래머가 lisp로 특별히 작성된 lisp 인터프리터를 공부하도록 요구하는 새로운 프로그래머를위한 많은 CS 커리큘럼과 학습 제안을 보았습니다. 이 모든 사이트는 "지적인 계시", "모든 심각한 프로그래머가 가져야 할 깨달음 경험"또는 "하드웨어 / 소프트웨어 관계를 보여줍니다"및 이와 유사한 모호한 진술, 특히이 기사 에서 발췌 한 유사한 내용을 말합니다. 이 유명한 …

3
Kotlin에 정적 ​​키워드가없는 이유는 무엇입니까?
Kotlin은 주로 Java의 드롭 인 대체품으로 알려져 있지만 잘 알려진 Java 구문 인 static키워드를 제거 합니다. 대신 클래스 수준의 기능은 주로 컴패니언 개체에서 제공합니다. 컴패니언 객체가 더 나은 대안을 제공하는 정적 메소드 및 필드의 문제점은 무엇입니까? 나는 이론적 근거에 대해 혼란스러워서 문서에서 설명을 찾을 수 없었습니다.


9
대부분의 "잘 알려진"명령형 / OO 언어가 '아무것도없는'값을 나타낼 수있는 유형에 대한 확인되지 않은 액세스를 허용하는 이유는 무엇입니까?
나는 null(예를 들어) 대신에 ( 비) 편의에 대해 읽었습니다 Maybe. 읽은 후 이 글을 , 나는 그것을 사용하는 것이 훨씬 더 좋을 것이라고 확신하고있다Maybe (또는 무언가 유사). 그러나 모든 "잘 알려진"명령형 또는 객체 지향 프로그래밍 언어가 여전히 사용하고 있으며 null( '아무것도없는'값을 나타낼 수있는 유형에 대한 확인되지 않은 액세스를 허용 함 …

16
언어 구문에 대해 쓰고 있습니다. 메소드 이름 내에 매개 변수가 배치되는 언어가 있습니까?
자바 스크립트에서 : function getTopCustomersOfTheYear(howManyCustomers, whichYear) { // Some code here. } getTopCustomersOfTheYear(50, 2010); C #에서 : public List<Customer> GetTopCustomersOfTheYear(int howManyCustomers, int whichYear) { // Some code here } List<Customer> customers = GetTopCustomersOfTheYear(50, 2010); PHP에서 : public function getTopCustomersOfTheYear($howManyCustomers, $whichYear) { // Some code here } $customers = getTopCustomersOfTheYear(50, 2010); …

30
프로그래밍 언어에서 가장 큰 디자인 결함은 무엇입니까? [닫은]
모든 프로그래밍 언어는 다른 언어와 마찬가지로 단일 언어만으로는 완벽하지 않기 때문에 설계상의 결함이 있습니다. 프로그래밍 언어에서 어떤 디자인 결함이 프로그래머로서의 역사를 통해 가장 귀찮게 했습니까? 특정 언어를 위해 설계된 것이 아니기 때문에 언어가 "나쁜"경우에는 디자인 결함이 아니라 디자인 의 특징 이므로 언어의 성가심을 나열하지 마십시오. 언어가 설계된 언어에 적합하지 않은 …

4
프로그래밍 언어는 함수를 어떻게 정의합니까?
프로그래밍 언어는 어떻게 함수 / 방법을 정의하고 저장합니까? Ruby로 해석 된 프로그래밍 언어를 만들고 함수 선언을 구현하는 방법을 알아 내려고 노력 중입니다. 첫 번째 아이디어는 선언의 내용을지도에 저장하는 것입니다. 예를 들어 def a() { callSomething(); x += 5; } 그런 다음 맵에 항목을 추가합니다. { 'a' => 'callSomething(); x += …

3
F #에 rec 키워드가 필요한 이유는 무엇입니까?
F #에서는 rec키워드 를 사용해야합니다 . Haskell에서는 주어진 함수가 재귀인지 아닌지를 명시 적으로 말할 필요가 없습니다. 함수형 프로그래밍에서 재귀의 역할을 감안할 때 F # 디자인은 다소 이상하게 보입니다. 좋은 언어 디자인 결정입니까, 아니면 역사적 이유로 또는 구현 제한 때문에 존재합니까?

16
부동 소수점 함정을 피하기 위해 프로그래밍 언어로 무엇을 할 수 있습니까?
부동 소수점 산술과 그 단점에 대한 오해는 프로그래밍에서 놀라움과 혼란의 주요 원인입니다 ( "정확하게 추가되지 않는 숫자"와 관련된 스택 오버플로에 대한 질문 수를 고려하십시오). 많은 프로그래머가 아직 그 의미를 이해하지 못하고 있다는 점을 고려하면 미묘한 버그 (특히 금융 소프트웨어)를 도입 할 가능성이 있습니다. 정확도 것과 중요하지 않은 경우 여전히 속도를 …

6
int와 같은 기본 유형을 클래스로 구현할 때의주의 사항은 무엇입니까?
객체 지향 프로그래밍 언어를 디자인하고 함축 할 때, 어떤 시점에서 기본 유형 (예 int: float, double또는 등가물)을 클래스 또는 다른 것으로 구현하는 방법을 선택해야합니다 . 분명히 C 패밀리의 언어는 클래스로 정의 하지 않는 경향이 있습니다 (자바에는 특수한 기본 유형이 있고 C #은이를 불변의 구조체로 구현합니다). 기본 유형이 클래스로 구현 될 …

10
모든 함수 호출 / 차단이 별도의 스레드에서 수행되는 프로그래밍 언어? [닫은]
폐쇄되었습니다 . 이 질문은 더 집중되어야 합니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중할 수 있도록 질문을 업데이트하십시오 . 휴일 2 년 전 . 나는 현재 모든 함수 호출 / 새로운 블록 (if 절, 루프 등)이 별도의 스레드에서 작동한다는 아이디어가 재미있는 …


9
미니멀리스트 개발 방식을 따르는 프로그래밍 언어가 있습니까?
언어가 상용 소프트웨어와 동일한 것으로 간주 될 때 새로운 릴리스를 정당화하기 위해 항상 새로운 기능을 추가해야 할 필요성이 있습니다. 버전 1.0이 최종 버전 인 언어가 있습니까? 물론 버그 수정은 이것에서 제외되지만 기능 세트는 항상 동일하게 유지됩니까? 이런 식으로 언어의 모든 기능이 잘 어울리 며 이전 버전과의 호환성으로 인해 더 이상 …

5
C ++ 헤더 파일을 싫어하면 어떻게해야합니까?
나는 항상 헤더 파일에 대해 혼란 스러웠다. 그들은 너무 이상합니다 : .cpp를 포함하지 않지만 .cpp도 어떻게 든 컴파일 된 .h 파일을 포함시킵니다. 최근에 팀 프로젝트에 참여했으며 물론 .h와 .cpp가 모두 사용됩니다. 나는 이것이 매우 중요하다는 것을 이해하지만, 우리가 가진 여러 클래스 각각에서 모든 함수 선언을 복사하여 붙여 넣을 수는 없습니다. …

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