«language-design» 태그된 질문

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

4
JavaScript에서 정확히 정의되지 않은 의미는 무엇입니까? 왜 거기에 있습니까? 어떤 사용법이 있습니까? 어떻게 유용 할 수 있습니까?
JavaScript에는 undefined 라는 것이 있습니다 . 나는 그것이 기본 클래스인지, 내장 변수인지, 키워드인지 또는 다른 것이 있는지 정말로 알지 못하기 때문에 무언가를 말했습니다. 나는 그것이 있다는 것을 알고 있습니다. 실제로 사용하려면 다음과 같이 작성하면됩니다. undefined; typeof undefined; 왜이 것이 JavaScript에 삽입 되었는지 설명해 주 시겠습니까? 우리는 null이 언어로 가치를 지니고있어서 …

2
언어 개발 프레임 워크를 얼마나 쉽게 사용해야합니까?
이것은 언어 설계에 사용되는 개념을 프레임 워크 형태로 추상화하는 것을 목표로하는 추상화 프로젝트라는 프로젝트에 중점을 둔 일련의 질문 중 일부입니다. 구조적 타이핑과 관련된 다른 페이지는 여기에서 볼 수 있습니다 . 프레임 워크에 대한 문의 및 적절한 게시 장소와 관련된 메타 주제는 여기 에서 찾을 수 있습니다 . 언어 개발 프레임 …

5
퍼스트 클래스 기능
나는 이번 주말에 Lisp를 진지하게 살펴보기 시작했습니다. (이것은 Lisp를 배우고 C #에서 프로젝트로 되돌아 가지 않는 것을 의미합니다) 그것을 좋아한다고 말해야합니다. 나는 다른 기능적 언어들 (F #, Haskell, Erlang)과 관련이 있지만 Lisp이 내게 준 그림을 느끼지 못했습니다. 이제 Lisp을 계속 배우면서 비 기능 언어가 일급 기능을 지원하지 않는 이유가 궁금해졌습니다. …

1
C ++의 정적 전역 및 익명 네임 스페이스
C ++에서 정적 전역 (내부 연결)과 명명되지 않은 네임 스페이스의 기호 (외부 연결이지만 외부에서 그것을 참조 할 방법이 없음)를 구별하는 이유는 무엇입니까? 그 이유 중 하나라도 여전히 유효합니까, 아니면 새로운 이유가 있습니까? 그들이 여전히 다른 곳에 남아있는 곳이 있지만 익명의 전역 (또는 네임 스페이스 범위) 연합이 해야하는static 임의의 규칙은 무엇입니까? …


1
Swift에 증인 테이블이 필요한 이유는 무엇입니까?
Swift의 구현 세부 사항을 읽으려고 노력 중이며, "증거 테이블"이라고 적어 둘 수 없습니다. 그것들은 구조체에 사용되는 별도의 vtable 포인터 인 것 같습니다. 그러나 왜 그렇게해야합니까? Structs는 값별로 복사되므로 컴파일 타임에 어떤 유형인지 이미 알고 있습니다. 따라서 어떤 메소드를 호출하고 수행해야하는지 하드 코딩하지 않습니까? 이러한 방법으로 가상 디스패치를 ​​수행하는 이유는 무엇입니까?

1
일류 연속체가 현대 객체 지향 프로그래밍 언어에 유용합니까?
연속은 함수형 프로그래밍 언어 (예 : ContHaskell 의 모나드)에서 매우 유용 합니다. 명령형 코드에 대해 단순하고 규칙적인 표기법을 허용하기 때문입니다. 또한 누락 된 언어 기능 (예 : 예외, 코 루틴, 녹색 스레드)을 구현하는 데 사용할 수 있기 때문에 일부 오래된 명령형 언어에서도 유용합니다. 그러나 이러한 기능을 내장 지원하는 현대적인 객체 …

12
왜 더 많은 언어가 한 개 이상의 다른 값과 값을 비교할 수있는 능력이 없습니까? [닫은]
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 육년 전 . 다음을 고려하세요: if(a == b or c) 대부분의 언어에서 다음과 같이 작성해야합니다. if(a == b or a == …

3
if ()의 지연 평가를 구현하는 방법
현재 다음을 기반으로 식 평가 기 (수식과 같은 단일 줄 식)를 구현하고 있습니다. 입력 된 표현식은 리터럴 부울, 정수, 소수, 문자열, 함수, 식별자 (변수)를 구분하기 위해 토큰 화됩니다. 나는 괄호를 없애고 접미사 순서로 적절한 우선 순위를 가진 연산자를 정렬하기 위해 Shunting-yard 알고리즘 (가변 수의 인수로 함수를 처리하도록 약간 수정 됨)을 …

4
문학 프로그래밍, 좋은 / 나쁜 디자인 방법론
나는 최근 문맹 프로그래밍 의 개념을 발견했다 . 그리고 나는 오히려 흥미로운 것을 발견했습니다. 그러나 나는 그것이 프로그램을 구성하는 나쁜 방법이라는 주장에 직면하지 않았습니다. 많은 곳에서 다루지 않은 것 같습니다. 여기조차도 이것에 관한 질문을 찾을 수 없었습니다. 내 질문은 그 결함이나 문서 처리 방법에 관한 것이 아닙니다 . 나는 문서가 …

6
프로그래밍 언어의 직교성을 확인 / 증명하는 방법은 무엇입니까?
직교성 개념을 알고 있지만 프로그래밍 언어의 관점에서이를 검증 / 증명할 수있는 방법이 있습니까? 예를 들어 C #에서는 public또는 static메소드 서명을 사용할 수 있습니다 . 둘 중 하나 또는 둘 다 사용할 수 있고 서로 간섭하지 않으므로 서로 직교합니까? 내 질문은 나머지 기능, 특히 서로 관련되지 않은 기능에 대해 어떻게 생각합니까? …

5
DSL 구축 : 범용 언어 또는 독립형 언어로 스크립트를 작성 했습니까?
주어진 모호한 프로그래밍 모델을 단순화하기 위해 도메인 특정 언어를 디자인하는 것에 대해 토론하고 있습니다. 토론의 일부는 기존 언어 / 런타임 (예 : Java) 위에 빌드 (스크립트로)하거나 독립형 (자체 컴파일러 & c)으로 만드는 것입니다. DSL 설계 경험이있는 사용자라면 적절한 접근 방식에 대한 찬반 양론 또는 확실한 답변이 있습니까?


1
형식 매개 변수의 형식 인수를 유추하는 기술 이름입니까?
설정 :Iterator 유형 매개 변수가있는 유형이 있다고 가정합니다 Element. interface Iterator<Element> {} 그런 다음을 Iterable반환하는 하나의 메소드 가있는 인터페이스 가 있습니다 Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Iterator일반적인 문제 는 형식 인수를 제공해야한다는 것입니다. 이를 해결하기위한 한 가지 아이디어는 반복자의 …

4
'수율'과 같은 생성기 언어 기능이 좋은 생각입니까?
PHP, C #, Python 및 다른 일부 언어에는 yield생성기 함수를 만드는 데 사용되는 키워드가 있습니다. PHP에서 : http://php.net/manual/en/language.generators.syntax.php 파이썬에서 : https://www.pythoncentral.io/python-generators-and-yield-keyword/ C #에서 : https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/yield 언어 기능 / 시설로 인해 yield일부 규칙이 위반 될 수 있습니다. 그중 하나는 "확실성"입니다. 호출 할 때마다 다른 결과를 반환하는 메서드입니다. 일반 비 생성기 함수를 …

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