Optional정적 형식 언어에서는 분명한 방식으로 유용하지만 동적 언어에서도 유용한 지 궁금합니다. 일반적으로 "이봐, 이것을 " Optional<String>으로 사용했다 "고 말하는 컴파일러는 없으므로 String런타임에 실수를 찾아야합니다. 나는 정적 타이핑 배경을 가지고 있으며 내 관점 Optional에서 동적 언어로 된 유형 의 이점을 볼 수 없습니다 .
내가 아는 동적 유형 언어는 개발자가 변수 유형을 지정하지 못하게하거나 최소한 매우 제한적으로 지원합니다. 예를 들어, JavaScript는 편리한 경우 변수 유형을 적용하는 메커니즘을 제공하지 않습니다. PHP는 메소드 인자의 일부 유형을 지정할 수 있지만, 기본 유형 (사용할 수있는 방법이 없습니다 int, string인수 등) 및 인수 이외의 아무것도 유형을 적용 할 수있는 …
저는 Python, Ruby 또는 Javascript를 작성하는 데 보일러 플레이트가 거의 필요하지 않습니다. 나는 간단한 기능적 구성을 좋아합니다. 나는 깨끗하고 간단한 구문을 좋아합니다. 그러나 동적 언어로 큰 소프트웨어를 개발할 때 내가 정말 나쁜 세 가지가 있습니다. 코드 탐색 내가 사용하는 객체의 인터페이스 식별 효율적으로 리팩토링 IDE (Eclipse + PyDev)뿐만 아니라 간단한 …
폐쇄되었습니다 . 이 질문은 의견 기반 입니다. 현재 답변을받지 않습니다. 이 질문을 개선하고 싶습니까? 이 게시물 을 편집 하여 사실과 인용으로 답변 할 수 있도록 질문을 업데이트하십시오 . 휴일 오년 전에 . 이 문장은 정적으로 입력 된 언어가 웹 사이트에 이상적이지 않다는 것을 나타냅니다. 웹 사이트 구축과는 대조적입니다. 웹 페이지를 …
내가 애자일 개발에서 읽은 내용에는 종종 리팩토링 또는 엔지니어링 코드를 다이어그램으로 뒤집는 것이 포함됩니다. 물론 그 이상의 것이 있지만,이 두 가지 방법에 의존하는 관행을 고려한다면 동적으로 유형이 지정된 언어가 불리한가? 정적 유형의 언어는 리팩토링 및 리버스 엔지니어링을 훨씬 쉽게 만듭니다. 동적으로 입력되는 언어에서는 불가능하지 않은 경우 리팩토링 또는 (자동화 된) …
매우 간단한 언어를 위해 여러 가지 손으로 쓴 컴파일러를 만들었지 만 이제는 단순화 된 Python 또는 Ruby와 유사한 동적 언어를 개발하려고합니다. 그러나 컴파일러가 작동하는 방식을 머릿속으로 감싸기 쉬웠습니다. 원시 컴파일러는 번역 만합니다. 그러나 언어가 역동적이라면 이것을 할 수 없습니다. 런타임에 정보를 추적하고 더 많은 작업을 수행하는 인터프리터 또는 VM을 작성해야합니다. …
현재 존재하는 .NET 플랫폼에서 아마도 Scheme 인터프리터 인 동적 언어 컴파일러 / 인터프리터를 만들고 싶다고 가정 해 봅시다. DLR ( Dynamic Language Runtime ) 또는 C # 4.0을 사용하여 언어의 동적 기능을 구현 하는 것이 더 나을까요? 아니면 둘 다 필요합니까? 이 영역에서 특히 IronScheme 및 IronPython 과 관련 하여 …
이 라인들에 이미 상당히 유용한 질문 ( " 비 OOP 디자인 패턴? ")이 있지만, 역동적이고 약한 유형의 언어로 시작하는 사람에 대한 과도기적 인 관점에 대해 더 궁금합니다. 즉, 몇 년 동안 C ++, C # 또는 Java로 프로그래밍을 해왔으며 GoF 디자인 패턴, Fowler 's Enterprise Application Architecture 의 패턴 , …
스크립팅 프로그래밍 언어 사이트의 메인 페이지에서 호기심을 느끼면서 다음과 같은 구절이 발생했습니다. 시스템이 너무 커서 머리에 들어 가지 않으면 정적 유형을 추가 할 수 있습니다. 이것은 많은 종교에서 정적, 컴파일 된 언어 (Java와 같은)와 동적이고 해석 된 언어 (주로 파이썬은 더 많이 사용되지만 대부분의 스크립팅 언어간에 공유되는 "문제") 사이의 전쟁에서 …
그렇습니다. 비슷한 질문이 있지만 항상 '어느 쪽이 더 낫다'는 것을 목표로합니다. 나는 주로 JavaScript에서 개발자로 올라 와서 정적으로 유형이 지정된 언어로 글을 쓴 경험이 없기 때문에 묻습니다. 그럼에도 불구하고 필자는 낮은 수준의 코드에서 까다로운 작업을 처리하는 데 C를 배우는 데 가치가 있음을 분명히 알 수 있습니다 (컴파일러 수준에서 정적 대 …
내 목표는 클래스 간 계약을 정의하는 것입니다. 오리 타이핑과 모든 것을 좋아하지만 외부에서 호출 할 메소드와 다른 레이어에서 사용해서는 안되는 액세서리 메소드를 명확하게 정의하기 위해 응용 프로그램의 다른 레이어간에 인터페이스를 정의하고 싶습니다 . 예를 들어 Java에서는 get () 및 save ()와 같은 메소드로 Persistor 인터페이스를 정의한 다음 데이터베이스에서 유지해야하는 모든 …