You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
気に入らない所を直して pull request 投げたら、取り入れられたので、8 日前に書いたエントリが過去のものとなっちゃいました。 関数型 以前の JSX では、関数型は function(: int): string のように書く必要がありました。 これはこれでそのまま使えるのですが、新たに (int) -> string という形式にも対応しました。 ちなみに、複数引数はカンマ区切りで (int, boolean) -> string のようになります。 カリー化された関数は、 function(: int): function(: number): string の代わりに (int) -> (number) -> string と書けます。 引数を囲むカッコは、(今のところ) 省略不可能です。 これには 2 つの理由があります。 この機能を追加したとき、JSX のパーサの能力
恒例の言語 dis 記事。無知をさらけだしているのでぜひともつっこみをください。 2日間ぐらい JSX でちょっとしたプログラム(真理値表をいじったり、QM法をおこなったりするもの)を書いてみて、JSX が残念なことがよくわかったのでまとめた。今回やったのはわりとロジックっぽい部分で、表示したりライブラリつかったり外部と連携したりといったことはなかった。 JavaScript / JSX の用途としてはかなり特異なものだとおもうので、そういうのに適当じゃなかった、というのはあるかもしれない。 しかし JSX の場合はべつにウェブ系に強い印象もないので(ライブラリとか)、今回指摘する問題点の一部は、やはり看過できないと思っている。 環境編 エラーが出たときに、どこで出ているのかわかりにくい 変換したスクリプトを node.js で実行しているため、通常の実行時エラーは変換後の js フ
注意!このエントリは既に古いので、JSX の進化速度が半端ない - ぐるぐる〜もあわせて読んでください。最新のコードを参照するのが手っ取り早いです。 JSX なる言語がリリースされました。 この言語が謳っているのが、 高速 安全 簡単(生産性が高い、とも) という 3 点です。 高速と安全はまぁいいでしょう*1。 問題は、はたしてこの言語は簡単なのか?という点です。 簡単かどうかは人によるのでアレなのですが、まぁ一部の人にとっては簡単とは言えない (というか書く気がしない) 書き方を強制されるのです。 関数型 数値を受け取って文字列を返す関数を表す型は、JSX では以下のように書きます。 function(:number):string これ単体で見ると分かりやすそうな気配はします。 では、これ読めますか? function f(g: function(:number):number):
私は2001年からJavaScriptを専門にして実装をしており、かなり長い間JavaScriptを使い続けてきました。ExGameをはじめとして、異常なほどにJavaScriptを使い倒したプロジェクトを何個か完遂させています。前の会社「ブロードテイル」がDeNAに買収されたのは、JavaScriptのプロダクトだけでなく、私たちのJavaScriptのスキルを生かしたいという側面も大きくあったと感じています。 そんな私ですが、正直に言うとJSXの開発にはほとんど関わっていません。JSXは基本的に一穂さんが主導し、gfxがフォローし、a_bickyがドッグフードを食べる(自分たちのプロダクトをまず自分たちで率先して使う)という形で進んできました。私が強くかかわったのは、主に3月の言語仕様を決めるときの議論程度です。なのでJSXについてそこまで詳しい訳ではないのですが、そばで開発を見てきた
なぜ「速い」のか、について JSX 開発者の立場から。 たとえば、シューティングゲームで一番重たい処理は何か。言うまでもなく衝突判定。多数の弾や敵機の衝突判定を毎フレームごとに行う必要があり、この演算が重たい。 JSX に同梱されている web/example/shooting.jsx には衝突判定のコードが複数あるが、一番重たいのは Bullet#update 関数で、その処理は以下のようになっている*1。 for (var rockKey in st.rocks) { var rock = st.rocks[rockKey]; if (this.detectCollision(rock)) { if (rock.hp == 0) return false; inDisplay = false; if (--rock.hp == 0) { st.score = Math.min(st.s
DeNAは5月31日、Webアプリケーション向けの言語「JSX」を公開した。静的型付けやオブジェクト指向といった特徴を持つWebアプリケーション向け言語で、JavaScriptコードへの変換を行うコンパイラが用意されている。ライセンスはMITライセンス。 JSXは「生産性が低い」、「低速」、「メモリ消費が多い」といったJavaScriptの問題点を解決するために開発されたプログラミング言語。厳密な型付け機構を持つオブジェクト指向言語で、JSXコードはJavaScriptコードへと変換して実行できる。JSXコードから変換されたJavaScriptコードは最適化が施されており、「現代的な」Webブラウザ上で高速に動作するという。 JSXにはJavaのようなクラス機構やガベージコレクションが用意されており、高い生産性、高い品質のコードを記述できるという。JavaScriptへのコード変換機構を持
これ行ってきました。 Web先端技術味見部#4 (仮テーマはJSX!) : ATND JSXなにそれ JavaScriptっぽい新言語。本日DeNAが発表。 JavaScript風の記述 って言ってたけどそうでもないと思った。ActionScriptに近い? 静的型付け →高速 クラスベース →高速 JavaScriptに変換しても →高速 玄人が書いたJavaScript並 クライアントサイドでもサーバーサイドでも動く というかJavaScriptが動く環境なら動く JavaScriptを置き換えるのが目標 リンク DeNA開発、高速なJavascriptコードを生成できる新言語「jsx」への反応まとめ – Togetter JSX – a faster, safer, easier alternative to JavaScript 公式サイト JSX – Statically-typ
Kazuho Oku @kazuho 公開ed! ウェブブラウザ上で JavaScript より速く動作するプログラミング言語です。よろしくお願いします m(__)m / “JSX - a faster, safer, easier alternative to Java…” http://t.co/UdsmdvI3 2012-05-31 07:52:09 Takuto Wada @t_wada DeNA が開発したオブジェクト指向、静的型付け、(ほとんど)型安全なプログラミング言語。コンパイルすると JavaScript が生成される。ライセンスは MIT. / “JSX - a faster, safer, easier …” http://t.co/eONyUpS8 2012-05-31 08:15:41
JSX is a statically-typed, object-oriented programming language designed to run on modern web browsers. Being developed at DeNA as a research project, the language has following characteristics. faster JSX performs optimization while compiling the source code to JavaScript. The generated code runs faster than an equivalent code written directly in JavaScript. The gain may vary, but even the optimi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く