Agile Cat — in the cloud

新世代 JavaScript の調査:静的言語に関する議論と、テック・ジャイアントたちの綱引き

Posted in On Monday, Standard by agilecat.cloud on March 16, 2015
Javascript Evolves: Tech Heavyweights Battle Over Statically Typed Javascript
March 13, 2015 – Dick Weisinger
http://formtek.com/blog/javascript-evolves-tech-heavyweights-battle-over-statically-typed-javascript/
formtek.png
Javascript was ranked as the programming language of 2014 based on the frequency of searches made on public search engines like Google, Bing, Yahoo! and Wikipedia.  While Javascript has long had detractors, the fact that it’s the standard language of the browser has enabled it to remain popular.
 
JavaScript が 2014年のプログラミング言語として最上位を占めたのは、Google/Bing/Yahoo/Wikipedia などのパブリックな検索エンジンで、用いられる頻度に応じた結果である。Javascript は、長年にわたり批判に晒されているが、ブラウザ上の標準言語だという事実により、その人気が保たれている。
 
Rather than try to introduce totally new alternative languages to Javascript that would no doubt be difficult to get universally accepted, increasingly groups are attempting to introduce improvements to the Javascript language or to introduce new languages that ultimately compile to standard Javascript.
 
JavaScript を完全に置き換える言語を導入しても、普遍的に受け入れられる可能性については、間違えなく否定されるだろう。したがって、JavaScript 言語を改善しようとするグループや、スタンダードな JavaScript へ向けてにコンパイルする、新しい言語を導入しようとするグループが増えてきている。
 
The next generation of Javascript standard, ECMAScript 6, or ES6 is in the final rounds of being finalized, now targeted for June 2015.  (ECMA stands for the European Computer Manufacturers Association).  ES6 will include enhancements like promises, the ‘let’ keyword, and iterators.  It’s taken some time to get this far and there have been a number of delays before finalizing the specification.
 
次世代 Javascript スタンダードというか、ECMAScript 6(ES6)というか、その将来を決めるための最終ラウンドが、2015年6月に迫ってきているECMA はEuropean Computer Manufacturers Association の略)。ES6 は、Promises や、キーワードの ‘Let’、そして Iterators といった拡張を取り込んでいる。それらは、いくつかの成功を成し得てきたが、最終的な仕様を決めるまでに、多大な遅延も生じている。
 
Dali_11A quicker alternative to waiting for the ECMA committee to move forward with changes to the Javascript language is to create an ‘improved’ Javascript-based language that ultimately compiles in to Javascript code and will run in today’s browsers.
 
ECMA コミッティの結論を待ちながら、迅速な代替を進めようとしているグループは、JavaScript ベースの言語を作成するために、JavaScript 言語自身の変化を促進したがっている。それは、Javascript コードへとコンパイルされ、今日のブラウザで実行されるものである。
 
One area in particular that people find lacking with standard Javascript is the fact that it isn’t a statically typed language.  Some benefits of static typing include:
 
一般的な人々が、JavaScript スタンダードで見落としがちな領域として、静的言語ではないという現実がある。静的な型付けには、以下のようなメリットがある。
 
  • Detecting program errors early on before even running the program
  • Type declarations adds a minimal amount of auto-documentation that improves the understanding of the program
  • May improve runtime efficiency of the program
  • プログラムを実行する前であっても、エラーを容易に見つけられる。
  • 型宣言は、最小限の自動ドキュメントとしても機能するための、プログラムの理解を促進する。
  • ランタイム化されたプログラムの効率がが高まると思われる。
 
While many people agree that that the benefits of statically typed languages are large, especially for projects of scale, on the flip side, some issues that people have with statically typed languages include:
 
とりわけ、大規模プロジェクトにおいて、静的言語にメリットが生じると、数多くの人々が納得している。 その反対に、静的言語には以下のような問題が含まれると、それらの人々は認識している。
 
  • Verbose
  • Hard to use for prototyping
  • Time spent compiling
  • 冗長である
  • プロトタイプへの適用が困難
  • コンパイルで時間が消費される
 
Recently, three different approaches to creating new languages that support static typing and that ultimately compile into standard Javascript include Microsoft’s TypeScript, Facebook’s Flow, and Google’s AtScript and Closure.  It appears that a new browser battle may be brewing between heavyweight tech companies.
 
このところの動向として、最終的に JavaScript スタンダードへとコンパイルする、新たな静的言語の作成において、3種類のアプローチが錯綜している。 つまり、Microsoft の TypeScript と、Facebook の Flow、そして Google の AtScript と Closure である。その結果として、ブラウザをめぐる新たな戦いが、巨大ハイテク企業の間で激化しているのである。
 
<参考>
ECMAScript – Wiki Pedia
静的型付き言語プログラマから見た動的型付き言語
動的言語vs静的言語に関する議論と深い洞察
 
ーーーー
On Monday訳してみて、この世界も大変なんだなぁと、つくづく思いました。 そして、Microsoft と Facebook と Google がしのぎを削っているようですが、クロス・プラットフォームを標榜している三社なので、当然といえば、当然の成りゆきなのでしょう。 いずれにせよ、EES 6  が妥当なかたちに収まって、デベロッパーたちによるエコシステムが活性化するとよいですね。_AC Stamp
ーーーーー
<関連>
Cloud の調査:経営者たちが考える、クラウドの3つの長所と、検討すべき3つの基準
Blockchain の調査: IoT に適用することで、とても魅惑的な未来が見えてくる
IoT の調査:英政府のレポートが、 第二のディジタル革命 と位置づけている!
SaaS の調査:B2B 形式 から B2C 形式 へと、セールス・モデルが変化している
IoT の調査: ディジタル製造業という革命は成立するのか?

Comments Off on 新世代 JavaScript の調査:静的言語に関する議論と、テック・ジャイアントたちの綱引き

Web Programming の調査:Google の Dart は Javascript をリプレースできるのか?

Posted in Google, HTML5, On Monday by Agile Cat on March 10, 2014

Google Dart: A High Performance Replacement for Javascript
http://wp.me/pwo1E-7iu
By Dick Weisinger – March 4th, 2014
http://formtek.com/blog/google-dart-a-high-performance-replacement-for-javascript/

_ formtek

Dart is an open-source Web programming language that is being developed by Google.  The goal of the Dart language is provide better performance with a more modern and cleaner design than standard Javascript.  Google’s goal for the language is “to ultimately replace JavaScript as the lingua franca of web development on the open web platform”.  Although, Google will have a hard time convincing Microsoft, Apple and Mozilla to include the language anytime soon in their browsers.

Dart とは、Google が開発した、オープンソースの Web プログラミング言語のことである。この Dart という言語の目的は、標準とされている JavaScript と比較して、よりモダンでクリーンなデザインと、優れたパフォーマンスを提供することにある。この言語における Google の目標は、「オープンな Web プラットフォーム上の共通開発語に、最終的に Dart を仕立てあげることで、JavaScript をリプレースする」ところにある。しかし、Google は、Microsoft や、Apple、そして Mozilla などを説得するのに苦労するだろう。なぜなら、彼らのブラウザに、この言語が、素早く取り込まれる必要があるからだ。

 Markus “Notch” Persson, author of the popular and complex and compute-intensive Minecraft video game, tweeted in November 2013 after the 1.0 version of the language was first released that ”I love it.  Even if it doesn’t catch on, it produces pretty fast JS”.

複雑で計算集約的だが、人気のビデオ・ゲームでもある、Minecraft の作者として有名な Markus “Notch” Persson は、この言語の Version 1.0 がリリースされた直後の 2013年11月のツイートで、「 これは良い。 たとえ、広く受け入れられないにしても、きわめて高速な JS を生成する」と述べている。

‘Dart Flight School’, Google’s PR and training arm that sponsors events to promote the Dart language,  says on their web page that “Dart helps you build modern web apps with a new language, core libraries, and tools such as a package manager, editor, and a compiler to JavaScript. Use Angular with Dart for extra jet fuel.”

‘Dart Flight School’ とは、この Dart 言語の促進を目的としたイベントを主催する、Google の PR and Training 組織であるが、その Web ページには「 Dart が支援するのは、新しい言語とコア・ライブラリを用いたモダンな Web アプリの構築であり、さらには、パッケージ・マネージャや、エディタ、JavaScript コンパイラといった、いくつかのツールも利用できる。 そして、Angular with Dart を利用すれば、さらなる加速が可能となる」と記されている。

Dart 1.1, the recent release of the language was made available in January.  This version of Dart is 25 percent faster than the first release.  But it improves performance not only on the client side, but also on the server side.  On the server side, Dart now supports the handling of very large files, file copying, process signal handlers, accessing terminal information, and the  UDP networking protocol.

この 1月からだが、最新のリリースである Dart 1.1 が利用できるようになった。この、Dart のバージョンは、以前のリリースと比べて 25% も高速化されている。そして、クライアント側だけではなく、サーバー側でも、そのパフォーマンスは向上している。そのサーバー・サイドにおいて、最新の Dart は、大容量ファイル/ファイル・コピー/プロセス・シグナル・ハンドラ/端末アクセス情報/UDP ネットワーク・プロトコルなどをサポートしている。

A new technical committee within ECMA, has been formed, TC52, to create a standard specification for the Dart language.  Anders Sandholm, Product Manager at Google, blogged that ”Dart apps can be fast when compiled to JavaScript, but an embedded Dart VM enables even better performance.  We’re thrilled to have a dedicated technical committee working on Dart. We also feel confident that Ecma—the home of standards such as JavaScript, Eiffel, and C#—is the right place to help guide the evolution of the Dart language.”

ECMA 内に構成された、新しい Technical Committee である TC52 により、Dart 言語の標準仕様が作成されていく。Google の Product Manager である Anders Sandholm は、「 JavaScript にコンパイルされた Dart アプリも高速だが、エンベッドされた Dart VM は、さらに優れたパフォーマンスを実現している。私たちは、Dart に特化した Technical Committee が立ち上がったことを、とても喜んでいる。 そして、JavaScript/Eiffel/C# といった標準を育ててきた ECMA が、Dart を進化へと導くための適切な組織であると、自信をもって言える」と、自身のブログで述べている

Dart provides two paths for running in client browsers.  The first approach is to convert Dart code into standard Javascript before deploying to the browser.  That’s an approach similar to what’s done by other languages like CoffeeScript, Red Hat’s Ceylon and Microsoft TypeScript.  The second approach is to design and build a Dart-specific virtual machine (VM) that will run in a browser that can directly execute Dart commands without first pre-compiling the code to standard Javascript.

Dart が提供する 2つのパスが、クライアントのブラウザで実行される。最初のアプローチは、ブラウザにディプロイされる前に、Dart のコードを、標準である JavaScript に変換するものである。つまり、CoffeeScriptRed Hat の CeylonMicrosoft TypeScript といった、他の言語により行われてきたアプローチに似ている。第二のアプローチは、Dart 固有の VM を設計/構築するものである。つまり、標準の JavaScript にコードをプリ・コンパイルすることなく、Dart のコマンドをダイレクトに、ブラウザ内で実行するものになる。

Lars Bak, the leader of Google’s Dart project, said that ”the next step for us is to get the Dart virtual machine into Chrome… If everything pans out the way it’s predicted, with a factor of two performance boost and a factor of ten in startup-time boost, I’m pretty sure the other browsers will be enticed with what we’re doing.”

Google の Dart Project Leader である Lars Bak は、「 私たちにの次のステップは、Chrome に Dart VM を実装することだ。もし、すべてが予想どおりに進むなら、パフォーマンスは 2倍に向上し、起動時間も 10倍ほど高速化される。他のブラウザの持ち主たちも、Chrome で実現されることに誘惑されるはずだと、私は確信している」と発言している。

ーーーーー

この Dart ですが、日本語でいうとダーツのことであり、矢のことを指す言葉になります。そして、Ver 1.0 のことだと思いますが、Gihyo.jp に「2012年のJavaScript~PCからモバイルの時代へ」という記事が、2年ほど前にポストされています。 そして、ーーー DartはJavaScriptに変換するツールも備えていますが,あくまで最終目標はJavaScriptをDartで置き換えることです。Dartは大規模開発での利用に特化した設計になっており,JavaのようにIDE上で静的に解析できるようにデザインされています。また,当然ながらJavaScriptの良い点,悪い点から学んで,シンプルかつ強力な言語となっています。 ーーー と説明されています。おそらく、HTML5 の普及に合わせて、さらに Web Programming 言語が重要になってくるのだと思われます。 この先の、動向についても、注目していきたいですね。image

ーーーーー

<関連>

だいじょうぶ マイ HTML5 : その勝利に 94% のデベロッパーが賭けている
Web と jQuery のラブラブな関係を、いくつかのデータで証明する
JavaScript が 年間 48% のペースで肥大化している
Facebook が買収した、Mobile BaaS の Parse とは?
HTML5 は Web 3.0 になるのか?

Comments Off on Web Programming の調査:Google の Dart は Javascript をリプレースできるのか?

%d bloggers like this: