Google Dart 프로그래밍 언어의 현재 상태는 무엇입니까? [닫은]


15

다트 는 인터넷 시대에 오래 전부터 사용되었지만 Google 트렌드로 판단 하면 과대 평가를받지 못했으며 Chrome에서만 작동한다는 사실도 도움이되지 않습니다. 그럼에도 불구하고 Chrome은 매일 시장 점유율을 확보하고 있으며 이는 Dart를 더 잘 볼 수있게합니다.

지금 큰 그림은 무엇입니까? 언어는 어떤 주에 있습니까? 사람들은 그것을 높이 평가합니까? 시장 점유율? 웹앱 쇼케이스? 당신은 "나는 갈 수 있도록 일부 기능 구현 그것을 사용하는"?


2
이 질문은 시간이 너무 현지화되어 있다고 판단 될 수 있으며, 언어 자체에 대한 의견을 묻지 않고 현지화가 덜 이루어지는 방법을 잘 모릅니다.
Matthieu

1
@ Matthieu : 너무 현지화? 진심이야?
Jim G.

1
@JimG. : 0.06 버전 이고 매월 업데이트되는 언어의 경우이 언어가 향후 6 개월 동안 동일하지 않을 수 있으며 오늘 통과 한 판결은 쓸모가 없다고 말하는 것이 공정하다고 생각합니다.
Matthieu

1
Dart는 최신 브라우저에서 JavaScript로 컴파일하여 작동합니다.
세스 래드

2
이것이 닫힌 이유를 정말로 이해하지 못합니다. 사실 (시장 점유율 / 사용), 참조 (온라인 예제 등), 언어 상태 (답변에 표시된 기술적 미리보기), 기능 구현 (사실 / 참조 / 특정 전문 지식)이 필요합니다. 게시물은 예상 한 정보와 유사한 일부 정보를 제공합니다. 명확하고 간결합니다.
Mihalis Bagos

답변:


27

"다트의 상태는 어떻습니까?"에 대한 짧은 대답 is : 기술 미리보기에 있습니다. "우리는 모든 것을 공개하고 공개적으로 일할 수 있도록 일찍 시작했습니다."라고 말하는 특별한 방법입니다. "기술 미리보기"는 또한 "알파에 있지는 않지만 아직해야 할 일이 많지만 여러분이 가지고 놀면서 피드백을 줄 수있는 충분한 공간이 있습니다."

인터넷 시간은 뉴스 기사 나 소비자 제품 반복에는 효과가있을 수 있지만 다트 노력만큼 야심적이고 광범위하지는 않습니다. 다트는 단순한 언어 그 이상입니다. 또한 라이브러리 세트, 더 나은 DOM 인터페이스, 가상 머신, 편집기 및 Chrome과의 통합입니다. 팀은 많은 병렬 스레드에서 매우 열심히 일하고 있지만 개인적으로 6 개월이 걸릴 것으로 예상합니다.

Dart가 Chrome에서만 작동한다는 것은 사실이 아닙니다. Dart는 JavaScript로 컴파일하고 최신 브라우저를 대상으로합니다. 물론, 기본 Dart 지원을 통해 Chrome이 처음으로 출시되지만 Dart가 성능 있고 효과적인 JavaScript로 컴파일되도록하는 것이 프로젝트의 핵심 제약 조건입니다.

큰 그림은 Dart가 최신 웹 앱을위한 "배터리 포함"개발 환경이 될 것입니다. Dart의 추진 목표는 웹이 앱 개발 및 배포를위한 생산적이고 즐거운 플랫폼으로 유지되도록하는 것입니다. 즉, 언어, 라이브러리, 편집기, 가상 머신 및 브라우저 통합과 같은 많은 부분이 필요합니다. 우리는 다트가 최신 웹 앱 개발자에게 매력적인 옵션이 될 것이라고 믿습니다.

큰 큰 그림은 앱 개발자를 웹에 데려오고 웹 개발자가 더 복잡한 웹 앱을 작성하기를 원한다는 것입니다. 그들이 다트를 사용한다면 좋습니다. 그러나 하루가 끝나면 언어는 중요하지 않습니다. 중요한 것은 복잡하고 클라이언트 쪽이며 충실도가 높고 대기 시간이 짧으며 아름다운 최신 웹 앱이 구축되고 있다는 것입니다.

언어는 개발 상태에 있습니다. 약 한 달에 한 번 사양에 대한 새로운 릴리스가 있습니다. 반사와 같은 주요 기능이 누락되었지만 계속 반복됩니다. 예를 들어 map에 map () 지원을 추가했습니다. 언어를 아는 사람인 Gilad Bracha (NewSpeak를 작성하고 Java Lang Spec에서 일한 사람)와 그의 라이브러리를 아는 사람인 Josh Bloch (유효한 Java로 작성되었으며 Java Collection 라이브러리에서 일한 사람)는 언어 및 더 큰 팀과 함께 도서관.

사람들이 다트를 높이 평가하는 것은 일반화하기 어려우며, 그렇게 중요하지 않을 것입니다. 다트와 함께 플레이 한 후에 자신 만의 결론을 내려야합니다. 내 경험은 Java, C # 또는 Flex와 같은 다른 플랫폼의 앱 개발자가 다트를 매력적이고 친숙하게 생각한다는 것입니다. JavaScript 개발자에 대한 나의 경험은 분리되어 있습니다. 해당 JavaScript 개발자가 다른 플랫폼에서 앱을 빌드 한 경우 Dart (또는 적어도 제공하려는 솔루션)에 대해 신중하게 낙관적입니다. 해당 JavaScript 개발자가 JavaScript에서 자라서 JavaScript로만 프로그래밍 한 경우 더 많은 주저가 있습니다. 이것은 언어에 대한 몇 가지 근본적인 우려 또는 안락함을 떠나는 주저 또는 단순히 JavaScript를 사용하여 가장자리에 빠지지 않는 것일 수 있습니다. 이것은 단지 일반화이지만, 나는

시장 점유율은 게임 초기 단계입니다. 다트는 선적조차하지 않기 때문에 물어 보는 것이 옳지 않은 질문 일 것입니다. 더 흥미로운 질문은 "웹에서 앱의 시장 점유율은 얼마입니까?"입니다. 그런 다음 어떻게 해결할 수 있는지 알아보십시오.

웹 앱 쇼케이스의 경우 다트 팀은 매끄러운 뉴스 리더 인 Swarm을 구축했습니다. 불행히도 현재 소스 코드로만 제공됩니다 : http://www.dartlang.org/samples/index.html

"킬러"기능에 대해서는 몇 가지 흥미로운 기능이 있습니다.

  • 옵션 유형은 매끄럽고 사람과 기계에 대한 주석과 문서를 추가합니다.
  • 격리는 안전한 방식으로 동시성을 달성하는 좋은 방법입니다.
  • 웹 스택에는 라이브러리 (모듈)가 절실히 필요하며 Dart에는 라이브러리와 클래스가 있습니다.
  • 스냅 샷은 매우 빠른 시작을 허용합니다
  • 번들 라이브러리 (예 : 컬렉션, 스톱워치 등)는 코드 기반을 통합하고 선적 가능한 코드를 축소합니다
  • 새로운 DOM 인터페이스로 DOM 작업이 훨씬 즐거워집니다. 네이티브 다트 코드처럼 느껴집니다.

귀하의 질문에 답변을 드리겠습니다. 중요한 것은 "내 언어가 복잡하고 충실도가 높고 대기 시간이 짧으며 모듈 식의 최신 웹 앱을 구축하는 데 도움이됩니까?"라고 생각합니다. 이 모든 것의 최종 상태는 더 많은 앱 개발자가 최신 웹에 더 성공적인 앱을 제공하도록 돕는 것입니다.


비디오를 보면서이 스레드에왔다 Introduction to Dart. 다트 실습 준비 :)
SachinGutte

8

"인터넷 연도"에서 프로그래밍 언어 연령을 측정 할 수 없습니다. 실제로 인터넷 시대에는 실제 기술을 측정 할 수 없습니다. 인터넷에서 실제로 측정 할 수있는 것은 과대 광고이지만 과대 광고는 현실을 반영하지 않습니다.

다트는 3 개월 이후로 공개됩니다. CoffeeScript 나 Node.js와 같이 현장에서 "신선한"기술과 "핫"기술과 비교하면 각각 2 년과 3 년 후에 공개됩니다. 또한 둘 다 다트에 비해 상대적으로 작은 단계라는 점에 주목할 가치가 있습니다. 기본적으로 CoffeeScript는 JavaScript 생성기를 Ruby 기반 파서에 연결하는 것을 의미했고 Node.js는 비 차단 I / O를 Google V8에 바인딩하는 것을 의미했습니다.

Dart는 구문, 언어 기능, 런타임 환경, API 등 모든 수준에서 프론트 엔드 웹 프로그래밍을 재 설계하려는 시도입니다. 예를 들어 Dart를 CoffeeScript와 비교하는 것은 태양 에너지로 구동되는 자동 조종 된 개인용 항공기의 프로토 타입을 1968 Shelby GT와 비교하는 것과 같습니다. 물론, 전자는 훨씬 더 많은 잠재력을 가지고 있지만, 탑승하는 것은 물론 많은 대담이 필요합니다. 후자는 알려진 결함이 많지만 알려진 것으로 모든 것이 예측 가능하고 신뢰할 수 있습니다.

물론 이것은 단지 추측에 불과하지만, Dart는 막 다른 골목이라고 생각합니다. 이는 JavaScript를 앞으로 나아 가기 위해 또는 다른 솔루션으로 결국 구원받을 것입니다. 다이나믹 한 언어를 원한다면 CoffeeScript와 Parenscript는 이미 다트가 약속 한 것을 수행합니다. 정적으로 유형이 지정된 언어를 선호하는 경우 haXe와 Opa가 트릭을 수행합니다. 4 명 모두 다트에서 출발을 시작했습니다. 그리고 모두 폴 백이 아닌 기본값으로 JavaScript로 컴파일되도록 설계되었습니다.


3
나는 다트가 언어로서 새로운 것이지만 , 특히 혁신적인 것을 보지 못했다고 생각합니다. 내가 알 수있는 한, 그것은 대부분 오래된 언어의 기능으로 구성됩니다. 따라서 그것은 실제로 "태양 에너지로 구동되는 자동 조종 된 개인용 항공기의 프로토 타입"과 크게 다르지 않습니다.
Tikhon Jelvis

@ back2dos +1 "인터넷 시대"의 프로그래밍 언어 연령을 측정 할 수 없습니다. 실제로 인터넷 시대의 실제 기술을 측정 할 수는 없습니다. " 이것은 내가 생각할 수있는 새로운 통찰력을 열었습니다. 인터넷 시대 전후의 기술을 측정 할 수없는 이유와 방법은 무엇입니까?
Ubermensch

@TikhonJelvis : 비교는 성숙도에 대한 것입니다. 여전히 태양력, 자동 조종 및 항공이 모두 존재하므로, 제가 설명했던 차량은 기존 아이디어의 "단지"재조합 인 Dart와 유사합니다. 공학의 과제는 재결합하는 것이 아니라 날아가는 것입니다.)
back2dos

다트를 다른 언어와 비교하는 것은이 토론에서 벗어 났으며, 어쨌든 다른 점이 있기 때문에 어떤 토론에서도 상상할 수 있습니다. 다트는 전 처리기 이상의 의미를 지니고 있으며 서버 측 지향적 인 것은 아닙니다. 나는 다트의 미래에 대한 추측에 동의한다. 그리고 그것은 내가 기대되는 것들 중 하나이다
Mihalis Bagos

@MihalisBagos : Dart가 JS로 컴파일 할 수 있기 때문에 Node.js에서 이미 실행할 있으므로 서버 측에서 사용할 있습니다. 또한 시간을 의미있게 측정하기가 어렵 기 때문에 Dart가 어느 시간에 얼마나 멀리 갈 수 있는지 이해하려면 이해하기 쉬운 수의 기능을 갖춘 다음 단계에서 특정 언어와의 비교가 얻을 수있는 최고의 참조 프레임입니다.
back2dos

5

Dart는 여전히 기술 미리보기 상태입니다. 현재 언어 사양의 버전은 0.0.6이며, 이번 주 어딘가에 0.0.7이 예상됩니다. "완료"와는 거리가 멀다. 저장소에는 몇 가지 예가 있습니다. http://www.dartlang.org/samples/index.html

다음은 JavaScript보다 구문 용어가 더 나은 것에 대한 한 가지 견해입니다. http://www.grobmeier.de/10-reasons-why-dart-is-cooler-than-javascript-03012012.html 면책 조항 : 그것은 내 게시물입니다 . 나는 여기에 JavaScript를 좋아한다고 말해야하지만, 어느 시점에서는 별다른 점이 없어서별로 좋아하지 않습니다.

또한 주변에 커뮤니티가 커지고 있습니다 : http://www.dartosphere.org

일부 사람들은 Box2D를 Dart로 포팅하고 다른 사람은 CouchDB에 연결했습니다. 어쨌든 프로덕션에는 사용해야 할 것이 없습니다.

얼마 전에 Josh Blochua는 API 리팩토링 작업을 위해 팀에 합류했습니다. Core API에서도 약간의 변경이있을 수 있습니다.

브라우저 지원 : Dart를 JavaScript로 트랜스 컴파일 할 수 있으며, Frog를 사용하는 것이 좋습니다 (DartC가 아니라 거대한 자바 스크립트 파일로 컴파일). Dartium은 네이티브 Dart를 지원하는 브라우저 중 하나이며, 웹킷 브랜치에 대해서도 논란의 여지가 있습니다.

내 개인적인 기대는 내년 중반에 더 구체적인 것을 얻는 것입니다. 내 경험에 따르면 Google 개발자는 Java뿐만 아니라 Erlang 및 JavaScript에서도 빌려주는 언어를 적절하고 훌륭하게 만들기 위해 많은 노력을 기울이고 있습니다.

다음은 JavaScript에서 포팅 한 게임의 예입니다. http://blog.sethladd.com/2011/12/10-lessons-from-porting-javascript-to.html

다트가 아마도 "주 언어"로 안드로이드에 도착할 것으로 예상 할 수 있습니다. 사람들은 그것이 AppEngine에 올 것이라고 말하고 있습니다.

개인적으로 나는 다트가 매우 우아하고 이미 꽤 좋다고 생각합니다. 또한 일단 완료되면 시장 점유율을 가질 것이라고 생각합니다.

다음 FAQ에서 많은 질문에 대한 답변을 찾을 수 있습니다. http://www.dartlang.org/support/faq.html#compare-to-coffeescript


실습 지향 답변, 매우 흥미로운 링크에 감사드립니다!
Mihalis Bagos

0

다트는 몇 년 동안 인터넷에 나갔습니다.

광범위하게 사용되지 않고 미숙합니다. 프로덕션 준비 기술은 10-15 년 이상 존재 해 왔습니다. 다트의 경우 사전 알파라고 말할 수 없습니다. 새로운 기술은 아무도 사용하지 않을 때 항상 종이에 잘 보입니다.

그것은 과대 광고를 얻지 못했습니다

나는 그 반대라고 생각합니다. 그렇게 나쁜, 후진 언어가 너무 긍정적 인 리뷰를 받았다는 것은 부끄러운 일입니다. 기발한 상속, 클로저 및 콜백 기능을 갖춘 아름다운 Ecma / Java Script OOP에서 Java가 가져 오는 모든 끔찍한 프로그래밍 방식으로 Java에서 가져온 10 년 된 목조 OOP로 되돌아갑니다.

"사용해야합니다"라는 기능 구현이 있습니까?

없음 Java를 알고 있고 Ecma / JavaScript를 올바르게 배우는 데 지식이 부족한 경우 Dart가 도움이 될 것입니다.

Google의 작동 방식을 알고 있습니다. 그들은 자바를 많이 사용하기 때문에 아마도 그런 끔찍한 언어를 만들어 냈을 것입니다.

게다가 웹을 더 세분화하고 있으며 모질라와 오페라가 이것을 구현하지 않기를 바랄 수 있습니다 (MS는 언어와 같은 일부 구글 자바에 대한 지원을 추가하지 않기 때문에). 전체 개념이 DATED라는 점 외에도 UI를 코딩 할 때는 최소한 C ++ 또는 Java와 같은 언어를 제거해야합니다. 50 대 후반의 코더들은 새로운 것을 배우기를 거부하기 때문에 C ++을 어셈블러로 대체하는 것과 같습니다.


2
언어 바이어스를 약간 낮추고 싶을 수도 있습니다. 첫 번째 단락은 좋은 요약을 만들어 내고 좋은 관찰로 끝나지 만 모든 "끔찍한"에서 길을 잃습니다.
Patrick Hughes

토닝 다운 +1, c ++는 특정 응용 프로그램에 대해 여전히 살아 있습니다 (어셈블러 그대로). 모든 작업에 가장 적합한 도구는 아니지만 많은 상황에서 굉장합니다. 어셈블러는 예를 들어 내가 믿는 게임 엔진에 사용됩니다.
Paul Hiemstra

Java 또는 C ++이 나쁘다고 말하지 않았습니다 ... 둘 다 JS가 프로그래밍하는 데 주로 사용되는 사용자 인터페이스에는 좋지 않습니다. 둘 다 다른 영역에서 좋습니다. Dart는 Java로만 프로그래밍하는 사람들이 순진한 접근 방식이므로 Java가 모든 것에 적합하다고 생각합니다. 내가 사용자 인터페이스에 MFC와 자바와 함께 일 옆에 내가 메신저 그렇게 말 할 자격이 생각 있도록 : 그것은 어셈블러가 ASM은 : 당신이 알고있는 모든 것을이기 때문에 C보다 더 진보 된 말처럼
Slawek

Java 및 JavaScript로 작업했으며 게시물이 끔찍하고 순진하다고 말할 수 있습니다. 프로그래밍 언어는 종교가 아니며 Dart는 꽤 좋은 접근 방식을 가지고 있습니다. Java와 같은 언어를 제거 할 수 있거나 제거해야한다고 생각하지 않습니다. 이것은 아무런 이유없이 해커 음성입니다.
Christian

추리? JS에서 Java와 동일한 작업을 수행 할 수 있습니다 ... 2 시간 만 더 빨라 + UI에 대해 말하면 코드를 관리하고 변경하기가 훨씬 쉽습니다. 시간 = 돈. 브라우저에서 VBScript와 ECma를 함께 사용했을 때 충분히 나빴습니다 ... 90 년대로 돌아가는 이유는 무엇입니까? JS는 매우 특정한 경우에 대한 특정 언어이며 왜 일반적이고 혹독한 것으로 대체합니까?
Slawek

0

Dart는 Javascript의 발자취를 따르는 결함이있는 개념입니다. 구글은 웹 브라우저 (HTML 6과 같은)를위한 표준 런타임을 만들기 위해 협력해야한다. Java 바이트 코드 또는 Microsoft의 IL과 유사합니다.

특정 언어가 아니라 런타임에 표준화해야합니다. "브라우저는 운영 체제입니다". 권리? WTF 구글? 자신의 비전을 따르십시오!


2
Java 바이트 코드 특정 언어입니다. CIL도 마찬가지입니다.
Jörg W Mittag
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.