JavaScript가 브라우저에 구현 된 유일한 클라이언트 측 스크립팅 언어 인 이유는 무엇입니까?
브라우저가 자바 스크립트 대신 Python 스크립팅에 대한 지원을 추가하지 않는 이유는 무엇입니까? 아니면 더 일반적인 목적의 스크립팅 언어? Javascript가 브라우저에서 구현되는 유일한 이유가 있습니까? 결국, 스크립트 태그는 사용되는 스크립팅 언어를 지정하는 것을 지원합니다.
(IE에서 VBScript 지원이 있다는 것을 알고 있지만 모든 의도와 목적에 대해 쓸모없는 것 같습니다.)
글쎄, Google은 Dart로 이러한 추세를 극복하려고 노력하고 있습니다. 커뮤니티는 아이디어를 완전히 수용하지 않았습니다. 어느 한 쪽.
Google 은 Webkit에 대해 여러 VM 지원을 추가 할 것을 제안 했지만 잘 다운되지 않았습니다.
한 특정 의견은 왜 그것에 대해 약간의 저항이 있었는지에 대해 멋지게 요약했습니다.
이 경우이 기능은 웹에 추가 프로그래밍 언어를 노출하는 것입니다. 현재 "가장 멋진"언어의 팬이 아닌 다른 누구에게도 실질적인 이점이없는 것입니다 (바둑이었던 지 얼마되지 않았을 수도 있고, 1 년 정도 전). 루비 였다고, 파이썬보다 전에, 나는 얼마 전까지도 하스켈 인기가 잠시 급증한 것을 기억합니다. 루아는 오랫동안 절정에있었습니다. 6 개월 만에 완전히 다른 언어가 유행 했나요?),하지만 비용으로 웹을 조각화하고 상당한 추가 유지 관리 부담을 추가합니다. v8 및 jsc 바인딩을 유지하는 것은 사소한 일이 아니며 동일한 언어를위한 것입니다.
여기서 문제는 "웹킷에 여러 vms를 라이브로 만들 수 있습니까?"가 아니라 "웹에 여러 언어를 노출 할 수 있습니까?"입니다. 전자에 대해서는 이미했던 것처럼 분명히 말하고 후자는 원하지 않는다고 말합니다. 에.
웹킷을 90 년대 후반의 특정 브라우저 인 개방형 웹을 깨는 고유 한 "기능"때문에 모두가 싫어하는 엔진으로 웹킷을 바꾸고 싶지 않다면 말입니다.
CoffeeScript는 새로운 클라이언트 측 스크립팅 언어의 또 다른 예입니다. 그러나 브라우저에서 다른 가상 머신을 지원하는 대신 (구글이 Dart로 시도하는 것처럼) JavaScript로 컴파일됩니다. 이 작업을 수행하는 다른 여러 "X를 JavaScript로 컴파일"하는 방법도 있습니다. emscripten 은 LLVM 을 JavaScript 로 컴파일하는 좋은 예입니다 .
따라서 다른 많은 클라이언트 언어가 있습니다. 그들은 모두 자바 스크립트를 중간체로 사용합니다. 개선의 여지가 있지만 Dart도 그렇게해야한다고 생각합니다 .
Internet Explorer는 모든 Windows 스크립트 엔진 을 지원하므로 하나로 구현 된 모든 언어를 지원하도록 만들거나 직접 작성할 수 있습니다.
JavaScript는 다른 모든 브라우저가 지원하고 브라우저 공급 업체는 두 가지 주요 우선 순위를 가지고 있기 때문입니다.
- 기존 웹 페이지가 작동하는지 확인 (JavaScript 필요)
- 작성자가 다른 브라우저에서는 할 수없는 작업을 브라우저에서 사용자가 볼 수 있도록 허용합니다 (프로그래밍 언어 변경은 사용자에게 완전히 숨겨집니다.
'program story' 카테고리의 다른 글
.NET 응용 프로그램의 비정상적인 잘못된 Viewstate 문제 (0) | 2020.12.02 |
---|---|
자바에서 코 루틴 구현 (0) | 2020.12.02 |
Visual Studio 2012 및 Entity Framework 5에서 단위 테스트를 위해 LocalDb를 설정하는 방법 (0) | 2020.12.02 |
rdtscp, rdtsc : 메모리와 CPUID / rdtsc의 차이점은 무엇입니까? (0) | 2020.12.02 |
파이썬-모든 내장 데코레이터는 무엇입니까? (0) | 2020.12.02 |