TypeScript part1at TECH
TypeScript part1 - 暇つぶし2ch2:デフォルトの名無しさん
12/10/03 00:08:43.70
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

3:デフォルトの名無しさん
12/10/03 00:19:25.17
これは期待
VSだけじゃなく他のIDE用のプラグインも用意してもらいたい

4:デフォルトの名無しさん
12/10/03 00:30:34.96
言語そのものは、普通だと思っているけど、
Microsoftって、開発環境の品質はいいんだよ。

Visual Studioに自然な感じで統合されると思うな。

5:デフォルトの名無しさん
12/10/03 00:44:06.13
>>3
なんでMSがEclipseとかXcodeみたいなクソのためにそんなもんを用意せにゃならんのだ?

6:デフォルトの名無しさん
12/10/03 01:25:26.25
なんかさ・・・全然騒がれていないけどさ・・・これって・・これって・・・
と て つ も な く 凄 く ね ?
歴史が動く瞬間に立ち会っちゃったかも・・・

7:デフォルトの名無しさん
12/10/03 02:00:32.70
何が凄いのか全く分からん。

8:デフォルトの名無しさん
12/10/03 02:03:29.49
パッと見、相当凄いが

9:デフォルトの名無しさん
12/10/03 02:06:29.02
標準JavaScriptをベースにしているって所が
凄いじゃないかな。

10:ー
12/10/03 02:08:33.86
すごさが全然わかりません
Coofee Scripterにもよくわかるように教えてください

11:デフォルトの名無しさん
12/10/03 02:11:39.87
コーヒースクリプトは
何もえるものがないからなぁ。
少し書き方が変わっただけ。

12:デフォルトの名無しさん
12/10/03 02:18:55.50
何も分かってない奴がとりあえず凄い凄いと言ってて笑える

13:ー
12/10/03 02:20:23.29
>>11
URLリンク(twitter.com)

14:デフォルトの名無しさん
12/10/03 03:11:01.47
そもそも、coffee scriptやpythonにメリットなんてあっただろうか
とレスしようとして>>13で思い直した。
けれど、pythonみたいに空白インデントが構文な言語をhtmlに埋め込みたいか?

15:デフォルトの名無しさん
12/10/03 03:27:46.21
URLリンク(github.com)
URLリンク(katanalang.org)

またまたnodeのつくりかけコンパイラ.
とおもったら…恩大の制作じゃないか!

s/恩大/御大/
URLリンク(detail.chiebukuro.yahoo.co.jp)
おんたいだったし

16:デフォルトの名無しさん
12/10/03 03:51:38.10
URLリンク(npmjs.org)
URLリンク(blogs.msdn.com)

$ node -v
v0.6.19
$ npm install -g typescript

translates as follows:
URLリンク(developers.slashdot.org)
URLリンク(typescript.codeplex.com)

だんだん

17:デフォルトの名無しさん
12/10/03 03:58:14.06
「だんだんありがとう」が全国に伝播し、
日本海側、中国、四国、九州において方言として定着した。
定着する際に、西日本各地では「ありがとう」が省略されて「だんだん」のみで感謝

2000/12/07 南海日日新聞

18:デフォルトの名無しさん
12/10/03 08:42:10.28
これってC#で書いたコードをJavaScriptに変換できるようなもんなの?

19:デフォルトの名無しさん
12/10/03 08:43:40.40
JavaScript++で書いたものをJavaScriptに変換出来る
だからJavaScriptの糞な点がちゃんと改善されてるのか疑問

20:デフォルトの名無しさん
12/10/03 09:33:38.34
URLリンク(typescript.codeplex.com)

出川哲郎曰く「やばいよやばいよ private の意味がほとんど成してないよこれ」

21:デフォルトの名無しさん
12/10/03 10:39:00.49
ワロッシュwww

22:デフォルトの名無しさん
12/10/03 16:17:33.97
URLリンク(www.stevetrefethen.com)
>In fact, there's an interesting parallel between TypeScript and Delphi where
>both require proprietary interface files to call functions in external modules
>with the same issues of getting these files generated/updated.

うーん外部モジュール呼び出すにしてコードの補完するにしても
つまるところ手書きのバインダが必要なのかな?

URLリンク(typescript.codeplex.com)
>Would it be possible to make the ".d.ts" files reference-able from normal ".js" files,
>such that we could get Intellisense and static type analysis even in existing JS codebases?

URLリンク(github.com)

いやー既存の、jsコードベースあるとしたら面倒そうだ
逆は簡単そうだけども。(typescriptのライブラリをjsから呼び出す)

23:デフォルトの名無しさん
12/10/03 16:34:29.94
>>22
何が言いたいのかさっぱりわからない

24:ー
12/10/03 16:37:02.84
コミュ障なんだろそっとしといてやれ

25:デフォルトの名無しさん
12/10/03 19:39:01.67
node x typescript = answer

26:デフォルトの名無しさん
12/10/03 19:50:57.24
better java の C#に
better javascript の typescript か

java と名のつくものに怨みでもあるのかな
もう SUN は存在しないのに

27:デフォルトの名無しさん
12/10/03 20:40:56.09
そもそもJavaScriptが使いにくいのは型付けが弱いからであって
動的か静的かということはあまり関係ないような気がする。

28:デフォルトの名無しさん
12/10/03 21:05:54.90
JavaScriptは人類の負の遺産

29:ー
12/10/03 21:09:27.40
JavaScriptに乗り遅れた人はJavaScriptをけなす

30:デフォルトの名無しさん
12/10/03 21:12:00.15
乗る前から潰れてるンだけど。

31:デフォルトの名無しさん
12/10/03 21:22:32.17
Javascriptおもしろいじゃん?

32:ー
12/10/03 21:25:55.27
面白いと思うけど一度見下し癖ついてる人には難しそうだねー

33:片山博文MZボット ◆0lBZNi.Q7evd
12/10/03 21:26:56.23
Webアプリじゃないアプリは作れるのか?

34:デフォルトの名無しさん
12/10/03 21:27:33.82
>>33
sine

35:デフォルトの名無しさん
12/10/03 21:30:50.59
>>34 cosine tangent

36:デフォルトの名無しさん
12/10/03 21:31:57.46
JSのどこを見下すんだろう?
関数はファーストオブジェクトだし、Lなんとなかみに自由。
マクロは無いが。


37:デフォルトの名無しさん
12/10/03 21:36:05.90
JavaScriptってブラウザがいるんでしょ。おそいでしょ

38:片山博文MZボット ◆0lBZNi.Q7evd
12/10/03 21:48:18.73
三角関数も知らないガキか?
100年早いんだよ

39:デフォルトの名無しさん
12/10/03 21:50:13.89
三角関数が煽りになると思ってるセンスがよく分からん

40:デフォルトの名無しさん
12/10/03 22:24:08.07
ブラウザにたよってると、ちゃんとよめないページになってしまうおそれがある

41:デフォルトの名無しさん
12/10/03 22:29:40.68
>>33
組込みの話ならお門違い
大体、世の中の需要のほとんどはwebアプリで事足りるでしょ

42:デフォルトの名無しさん
12/10/03 22:38:28.33
2chブラウザもwebアプリで十分だよな
エディタも音楽プレイヤーも

43:片山博文MZボット ◆0lBZNi.Q7evd
12/10/03 22:42:01.28
>>41 WSHとAPI呼び出しのサポートあればウィンドウアプリも作れるかもと期待してた。無理っすか?どうも有り難う

44:デフォルトの名無しさん
12/10/03 22:45:31.58
できるでしょ。これってトランスレータだろうから、winjsつかえば

45:デフォルトの名無しさん
12/10/03 23:20:54.85
C#作った人が作ってるのか
URLリンク(channel9.msdn.com)
ヘルスバーグ神格化されてるなw

46:デフォルトの名無しさん
12/10/04 00:55:14.10
そりゃTurbo Pascal作ってDelphi作ってC#作れば神格化されるさw

47:デフォルトの名無しさん
12/10/04 01:23:13.24
googleも最近似た感じの言語作ってたけど、どっちがいいの?

48:デフォルトの名無しさん
12/10/04 01:24:47.19
素のJSじゃやってらんねーからいろんなところが代替を出してるんでしょうが。
Javaも似たような状態だな。

49:デフォルトの名無しさん
12/10/04 02:28:29.51
>>47
dartやgwtより、こっちの方が魅力的。jsのスーパーセットになってる。

50:デフォルトの名無しさん
12/10/04 02:45:03.69
口をそろえて言ってるが、噴飯モノだよなあ
そもそも使ってから褒めろよと

51:デフォルトの名無しさん
12/10/04 03:30:45.23
jsのスーパーセットで既存のライブラリも使えるから試そうと思うけれど、
dartなんて試そうなんて気すらおこらなかったよ

52:デフォルトの名無しさん
12/10/04 03:36:16.27
jsよりはdartの方が遥かに優れてるよ
だからjsのスーパーセットとか言われたら不安しかない

53:デフォルトの名無しさん
12/10/04 03:42:04.81
なわけない。dartなんてjava系統で動的言語の柔軟性なんて欠けている

54:デフォルトの名無しさん
12/10/04 03:44:43.62
URLリンク(typescript.codeplex.com)

sample の node の機能を利用した例をみれば
haxeよりは 元の js のコードに近くはなる綺麗だけど
.d.ts ファイル必須。

URLリンク(www.typescriptlang.org)
playground だと
Unable to load reference
"$model1"
でエラーになるけどコンパイルには成功してるのかな?
コード生成されてる

コンソールからだとTypeError: Object #<Object> has no method 'existsSync'
でコンパイルできない。

URLリンク(github.com)

各種ライブラリの port 待ち。さすがvapor.js

55:デフォルトの名無しさん
12/10/04 05:40:16.87
>>53
typescriptこそJava並なみのヘビー言語だから心配すんな

56:デフォルトの名無しさん
12/10/04 06:28:30.70
とうとう勝負を決する時が来たようだ、LL War

57:デフォルトの名無しさん
12/10/04 06:59:38.96
スクリプトなのにヘビーとはこれいかに

58:デフォルトの名無しさん
12/10/04 09:57:42.40
>>56>>57
いちいちコンパイルしないと使えないしLLじゃねーよ。糞言語

59:デフォルトの名無しさん
12/10/04 10:09:56.42
.net や jvm ではバイトコードを生成して環境差をそこで吸収してるけど
javascriptだと souce map というのがそれに当たるかな

直接ES3.1, ES4, ES5, ES6 向きの
生成コードを出力するというコンセプトはないと思う。まずは souce map に落としてそこで吸収する流れかと。

URLリンク(github.com)
source map generatorの使い方
URLリンク(d.hatena.ne.jp)

コンパイラの機能をリフレクションで利用したい
とか .net の ironpython やら ironruby で一時可能だったけど(windows環境以外で

さいきんはこんなかんじが流行なんかな
車輪の再発明という気も多少するが

Does TypeScript provide an explicit Public API for NodeJS Module Access?
URLリンク(stackoverflow.com)
URLリンク(gkz.github.com)

Livescript は coffeeの改良系の実装らしい…コンパイラ技法屋さん楽しそうやw

60:デフォルトの名無しさん
12/10/04 10:31:17.48
>>58
これを用いてJavascriptが勝利すると言う事だよ
馬鹿か?お前

61:デフォルトの名無しさん
12/10/04 10:52:40.34
Javascriptが糞すぎてどうしようもない

62:デフォルトの名無しさん
12/10/04 13:40:18.04
コンパイラまだーチンチン

63:デフォルトの名無しさん
12/10/04 13:58:41.35
>>62
最新のブラウザにはJITコンパイラが入ってるから、単体のコンパイラなんか、もういらないと思う。

64:デフォルトの名無しさん
12/10/04 14:37:22.53
>>62
URLリンク(blog.markrendle.net)
zeh says:
October 2, 2012 at 1:18 pm
Re: classes ? one of the problems is that ES6 doesn’t seem to have a single
‘class’ standard. I haven’t gone that deep into the proposal, but TypeScript
seems to use the “Minimal classes” proposal
(URLリンク(wiki.ecmascript.org)) not the main class one.

How final is Harmony’s proposal? It seems to be difficult to find information
on that. I hope Microsoft is not creating a new JScript.

Reply
zeh says:
October 2, 2012 at 1:20 pm
Actually, on second thought, TypeScript seems to use the “Maximally Minimal”
proposal instead
(URLリンク(wiki.ecmascript.org)).

Ariya Hidayat ?@ariyahidayat
Need class and module? Use #Harmony and compile it
(same trick like in #TypeScript), see
URLリンク(ariya.ofilabs.com) and
URLリンク(ariya.ofilabs.com)

コンパイラの前にまずはES6言語仕様の策定作業。
まだクラスの定義も定まってない。あくまでproposalの段階なのだ

65:デフォルトの名無しさん
12/10/04 14:47:31.27
Cは規格なんか決まる前にコンパイラ出たけど?

66:デフォルトの名無しさん
12/10/04 16:06:03.64
コンパイラってもう出てるよな?
こいつら何の話してんだ?

67:デフォルトの名無しさん
12/10/04 19:22:51.64
とりあえずCoffeeScriptとDartが一瞬でオワコン化したという解釈でおk?

68:デフォルトの名無しさん
12/10/04 19:23:29.40
あとはJavaScriptが「お前はクソだ。使い物にならん」と
四方八方からタコ殴りにされているという認識

69:デフォルトの名無しさん
12/10/04 19:25:56.71
長所:JavaScriptがそのまま通る
短所:JavaScriptがそのまま通る

70:デフォルトの名無しさん
12/10/04 21:43:16.74
Standard ECMA-262 5.1 Edition / June 2011
URLリンク(ecma-international.org)

C++/CLI 言語仕様書 西暦2005年12月 初版
URLリンク(vene.wankuma.com)

typescript はプリプロセッサに近いものだから C というか C++に近い立ち居地。
ただこの web版 の C++ は現時点ではどれが正解とも云い難い。

URLリンク(github.com)

結局デファクトとったとこ&さまざまな試みによる知見に元づく合意
その記法が標準になる

71:デフォルトの名無しさん
12/10/04 21:56:54.68
結局のところJavaScriptはそのままで普及しているので
それに準拠したやり方が最良なんだろうな。

72:デフォルトの名無しさん
12/10/04 22:45:48.78
JSしか書けないウンコプログラマだけが
JSで問題無いと思ってる

73:デフォルトの名無しさん
12/10/04 23:18:41.73
いろんな言語で幅広く仕事をしたが
結局のところ、言語の良し悪しは
大した問題ではない。

74:デフォルトの名無しさん
12/10/04 23:25:12.10
じゃあアセンブラで業務アプリ書いて

75:デフォルトの名無しさん
12/10/05 00:00:20.72
>>73が使った言語: Java, VB, Perl, PHP, JS

76:デフォルトの名無しさん
12/10/05 00:50:23.87
>>73
>>73が使った言語:��lisp,��c++,��c,��haskel,��c#

77:デフォルトの名無しさん
12/10/05 01:28:13.01
でもjavascriptで開発するとソース丸見えじゃね?

78:デフォルトの名無しさん
12/10/05 01:36:09.64
サーバーありきだからどうでもいい

79:デフォルトの名無しさん
12/10/05 03:33:53.11
クライアントアプリケーションでJavaScriptを組み込んで使えると便利そう
scheme 系とか組み込みで地味に利用されてる

でもエンジンのAPIが組み込めるように公開されてる訳ではないので
IE9以降がメインターゲットなんだろうかな

Qtscipt は ES3.1
URLリンク(qt-project.org)
ECMA-262 (5th|Harmony|next) で宣言された プロトタイプ の拡張はアリ?ナシ?
URLリンク(qiita.com)
JScript でサポートされる機能
URLリンク(msdn.microsoft.com)(v=vs.80).aspx

How to call the compiler from .NET?
URLリンク(typescript.codeplex.com)

結局 MS Script Control でやれとなる。(当然エンジンはES3.1相当のJSctiptの構文のみが使える
エンジンは非公開だからなぁ…ブラウザ対応次第かと(特にモバイル

80:デフォルトの名無しさん
12/10/05 04:16:11.04
>>73
アセンブリャーからObjective-Cまでいろんな言語で幅広く仕事をしたが
言語の良し悪しは大した問題ではない(APIや周辺コミュニティのほうが重要)という通念を覆すほど
JavaScriptはクソ

以前からずっとバッドノウハウを量産して喜んでた界隈の連中を横目で眺めつつ
おかしいと思ってたんだよ。

81:デフォルトの名無しさん
12/10/05 04:27:02.48
LL言語マンセーだの動的言語マンセーだの喧しいからそういうものかと思ってたが
HTML5HTML5うるせーから仕方なく1ヶ月程度でキャッチアップしてみたら
お前らこんなどうしようもない言語と環境で仕事してたの、としか言いようがなくて

要はろくに大規模開発したことのない、レベルの低いJavaScripterどもが
駄サイクルを作ってたんだなという認識ですね。

82:デフォルトの名無しさん
12/10/05 04:32:08.45
機能もTypeScript登場で「JSの時代!」という無邪気なツイートを見かけたが、
CoffeeScript、Dart、JSX、Haxe、TypeScript、その他無数の変換言語↓
URLリンク(github.com)
これら全部現行のJavaScriptを否定しに来てるというのがまだ理解できないようでは終わっとる

JSが基幹言語?その逆で、ただの土管扱いされてるんだよ。
使いもんにならん言われてるんだよ。わざわざ新言語を量産してまで。

今回、あのHejlsbergにまでノーと言われたんだよ。

83:デフォルトの名無しさん
12/10/05 06:54:50.23
cにclassとinterfaceとgcとarrayとhash付ければ
それでよかったんだよ、IDEも豪華に対応できたんだよ
言語開発者はみんな余計な物付けすぎ

84:デフォルトの名無しさん
12/10/05 08:23:06.55
>>81
典型的な一ヶ月程度勉強しただけの
やつの感想ですねw

85:デフォルトの名無しさん
12/10/05 08:59:31.24
Javascriptはこんなクソコードが通るからゴミ


function f(x, y) {
    return x + y;
}
alert(f(1, "23")); # 123




なお、Typescriptで型を付けても通る(暗黙の型変換)

function f(x: number, y: string) {
return x + y;
}
alert(f(1, "23"));

86:デフォルトの名無しさん
12/10/05 09:23:17.34
C#でもJavaでも通るよ

87:デフォルトの名無しさん
12/10/05 09:35:19.35
URLリンク(developer.mozilla.org)
URLリンク(kangax.github.com)

javascript 1.8.5とかガンガン攻める姿勢は買ったげる
でも ie8 軒並みアウトなんや

88:デフォルトの名無しさん
12/10/05 09:42:02.14
MSと違って規格がポシャったら互換性切っても怒られないからな

89:デフォルトの名無しさん
12/10/06 00:03:37.41
>>86
C#もJavaも糞言語じゃん

90:デフォルトの名無しさん
12/10/06 00:18:37.03
>>89
じゃあお前の好きなクソ言語の名前言ってみな。
それがクソかどうか判断してやるからさw

91:デフォルトの名無しさん
12/10/06 01:06:52.73
ドカタの判断 = 俺に使いこなせない言語はクソ

92:デフォルトの名無しさん
12/10/06 02:22:41.18
使いこなせないんじゃない。
ドカタ言語をあえて選ばないだけだ。

93:デフォルトの名無しさん
12/10/06 06:11:05.60
JSを使うくらいならTypeScriptを使ったほうがマシというだけで、JS以外の言語より良いという話ではないよ
それにまだ未完成品だし

94:デフォルトの名無しさん
12/10/06 10:59:35.49
言語の良し悪しは、言語仕様よりも、言語環境できまる。

実行環境の多さ、ライブラリの多さ、ノウハウの多さ、
書籍の多さ、提供会社の多さ、使用ユーザーの多さ、などなど。

それがわからない奴は、どうして良い言語が普及しないんだ!と
悩むことになる。


95:デフォルトの名無しさん
12/10/06 11:07:30.37
JSはバッドノウハウの塊だから決して良いとは言えない
ただデファクトスタンダードを取ったというだけ
これは市場が選んだわけではない。勝手に決められて嫌々ながらも従わざるを得なくなった
従いたくない人たちが魔改造を繰り返してる

96:デフォルトの名無しさん
12/10/06 11:25:54.39
バッドノウハウってなんのこと?

Perlでクラスを作るにはいろんな方法があります。
これがバッドノウハウです。みたいな話?w

97:デフォルトの名無しさん
12/10/06 13:28:03.37
URLリンク(stackoverflow.com)

lambda式内で this 参照はできないんかな…

98:デフォルトの名無しさん
12/10/06 13:41:26.38
>>94
言語が普及するか否かは、言語の良し悪しでは決まらない


普及する = 最底辺の馬鹿でも使える、が大前提だからね

99:デフォルトの名無しさん
12/10/06 14:03:38.71
>>98
言語を馬鹿にしているのか、
それを使ってる人を馬鹿にしているのか。
はっきりさせていい?

お前が馬鹿にしているのは、使ってる人であって言語じゃないよね。

普及した優れた言語。
それは馬鹿でも使えるが当然天才でも使えるんだよ。

お前が馬鹿にしているのは、天才が使っている優れた言語、ではない、

単に馬鹿でも使えることが、悔しいんだ。
なぜだろうねw

100:デフォルトの名無しさん
12/10/06 14:28:40.06
で、Javascriptは糞、ということに関してはコンセンサスとれてますよね。
まさかWeb2.0だAjaxだHTML5とかいうバズワードでノセられた奴が強弁してないよね。

101:デフォルトの名無しさん
12/10/06 14:29:38.54
>>100
お前がJavaScriptとライブラリをごっちゃにしてるってことはよくわかったよ。

馬鹿が言った言葉は、やっぱり馬鹿だってわかるなw

102:デフォルトの名無しさん
12/10/06 15:18:00.94
バズワードをガン無視してる俺かっけーw

103:デフォルトの名無しさん
12/10/06 17:55:07.32
無能すぎて食って行くだけで必死の奴は
仕事にありつけそうな言語使えば良いよ

104:デフォルトの名無しさん
12/10/06 18:03:58.51
デブでもおばはんでも乗れるママチャリが普及してるからって
ロードレーサーにママチャリ乗れっていう馬鹿はいない

105:デフォルトの名無しさん
12/10/06 18:07:43.57
近所のコンビニにライダーブーツ履いてNS400に乗って行くんだ

106:デフォルトの名無しさん
12/10/06 18:15:57.46
ところが原付になんでもやらせようとしだすから

107:デフォルトの名無しさん
12/10/06 18:29:01.76
Typescriptは原付を改造パーツでチューンナップしようって発想
改造しても所詮原付は原付

108:デフォルトの名無しさん
12/10/06 20:41:39.23
はっきりいって、c++とhtml5,jsだけで良いよね
実装が増える毎にVMの中のヒトたちが対応しきれない悪寒

109:デフォルトの名無しさん
12/10/06 20:49:42.85
お前よりもVMの中の人達は優秀。
対応しきれないのはお前だけ。

110:デフォルトの名無しさん
12/10/06 20:50:16.95
>>108
>>103

111:デフォルトの名無しさん
12/10/06 21:01:43.24
>>85
型付けても通るとかダメダメじゃん

112:デフォルトの名無しさん
12/10/06 21:21:09.30
組み込みの文字列連結がある言語なら一番普通の動作だろ

113:デフォルトの名無しさん
12/10/06 21:30:01.28
型付けてるんなら x + y; の挙動は
コーディング時に明確に予測できるはずだから何の問題もないだろ
その程度の言語仕様も知らずに使える言語が欲しいってことか?

114:デフォルトの名無しさん
12/10/06 21:40:08.37
>>111
なんで通らないと思ったの?

115:デフォルトの名無しさん
12/10/06 21:41:49.61
>>112
え?

116:デフォルトの名無しさん
12/10/06 21:45:19.13
動的言語で普通この手の話で問題視されるのは「結果が予測できないこと」なわけで
yの内容によって文字列連結になったり数値加算になったりするなら問題だが
そうでなくて挙動が完全に予測できるんなら全く問題ない

117:デフォルトの名無しさん
12/10/06 21:46:17.70
暗黙の型変換の話であって
動的言語とか全く関係ないんだが

118:デフォルトの名無しさん
12/10/06 21:49:23.06
文字列とその他の+ではその他の方を
文字列に変換してから連結する仕様になっている言語はかなり多いからごく自然なことだが
暗黙の変換だろうが言語仕様知ってりゃ予測できるだろ

119:デフォルトの名無しさん
12/10/06 21:55:11.18
つーか、ただの演算子オーバーロードでは?

文字列.add(文字列)
文字列.add(数値)

addメソッドがオーバーロードされてるのと同じ事だろう。

型の問題っていうのは、互換性がない型、オーバーロードも定義さていないもの、
無関係のものを代入したら動かないのに、それが実行されるまで
わからないってのが問題なのに。

120:デフォルトの名無しさん
12/10/06 21:58:45.78
言語仕様の範囲ならどんな振舞いだって原理的に予測可能だわな

121:デフォルトの名無しさん
12/10/06 22:00:55.75
>>119
むしろ動いちゃうのが問題
>>85で引数に型指定しない場合だと、x, yの内容によって+の挙動が全く異なってしまう
さすがに+使うときは、文字列連結か数値加算かどちらか一方しか期待してないだろうから、
予期しない動作によるバグの原因になる。
型を指定するなら何の問題もない。

122:デフォルトの名無しさん
12/10/06 22:26:37.51
URLリンク(www.typescriptlang.org)

上で遊んでみたんだけど、まだ型推論は全然だね
こんなコードが通るし

function foo() : number { return 1; }
function bar() : string { return "23"; }
function baz(f, g) { return f() + g(); }
function hoge() : number { return baz(foo, bar); }

でもMSはF#を作れるところだし、今後に期待ってところか

123:デフォルトの名無しさん
12/10/06 22:37:34.93
それってC#で言えば
private var func(){...}
で型推論してくれよって話じゃないか。

124:デフォルトの名無しさん
12/10/06 22:47:46.52
>>122
型推論はAIじゃねぇよ。
どちらでも取れる問題の
正解を出せなんて不可能な話。

125:デフォルトの名無しさん
12/10/06 23:10:28.55
どちらでも取れる?
hoge()の戻り値はstring以外ありえんだろ

126:デフォルトの名無しさん
12/10/06 23:12:02.77
>>125
どこかでオーバーライドするかもしれんだろ。
windows.hoge = function () {return 123}

127:デフォルトの名無しさん
12/10/06 23:14:24.55
>>126
>>122でstring返す関数にnumberって型書いてエラーにならないのと
何の関係があるのそれ

128:デフォルトの名無しさん
12/10/06 23:16:05.29
>>126
それは無いものと考えないと静的解析の意味無い
ジェネリックには対応する予定らしいからもうちょっと型推論も強力にはなるんじゃないの

129:デフォルトの名無しさん
12/10/06 23:21:13.60
上はエラーになって下がエラーにならないんだから、もうね...

function f() : number { return 1 + "2"; }
function g() : number { return ((x,y) => x + y)(1, "2"); }

130:デフォルトの名無しさん
12/10/06 23:25:25.05
だんだんイチャモンになってきたな。

131:デフォルトの名無しさん
12/10/06 23:26:58.75
いやいや、間違った型を書いてもエラーにならないのは
型を全然書かないより邪悪ですから

132:デフォルトの名無しさん
12/10/06 23:32:40.25
さすがに型まで書いてるのに
数値の加算が文字列連結になったらびっくりするだろ

でも>>129のgの戻り値を使ったら、そういうことが起こる

133:デフォルトの名無しさん
12/10/07 00:07:25.88
>>132
お前、数値オブジェクトと演算子オーバーロードって
発想が頭にないんじゃないのか?

A + B というのは演算子 = メソッド と考えると
A.+(B) という形に置き換えられる。
お前が理解しやすい形にするとA.add(B)

つまりはこういうことだよ。
String ret = num.add(str);



134:デフォルトの名無しさん
12/10/07 00:08:54.88
たんに、数値オブジェクトのaddメソッドは
取りうる引数に、数値オブジェクト以外に
文字列オブジェクトに対応している。


135:デフォルトの名無しさん
12/10/07 00:11:41.68
どうでもいいけどアンダース的には演算子はインスタンスメンバじゃなくて静的メンバだよ

136:デフォルトの名無しさん
12/10/07 00:16:00.15
>>133>>134
で?それが

function f(x : number, y : number) { return x + y; }

においてfが文字列連結を実行しても良い理由になるの?

137:デフォルトの名無しさん
12/10/07 00:18:33.48
>>136
両方が数値の場合は、数値計算ですよ?
片方が文字列の場合は、文字列結合バージョンの加算が呼ばれます。

138:デフォルトの名無しさん
12/10/07 00:20:10.83
>>137
>>136のfの引数に>>129のgの戻り値を入れてみ?

139:デフォルトの名無しさん
12/10/07 00:21:52.90
>>97
Local "_this" silently conflicts in arrow function
URLリンク(typescript.codeplex.com)

いちおう Issue Tracker に挙がってるけど

Capturing instance methods breaks 'this'
URLリンク(typescript.codeplex.com)

this 周りは仕様に注意を要する部分ではあるとは思う

140:デフォルトの名無しさん
12/10/07 00:21:57.68
普通に数値計算されましたが?

141:デフォルトの名無しさん
12/10/07 00:22:09.72
C#で(int)(object)"1"とかやっても通るのと一緒だろ
動いちゃうのは問題だが

142:デフォルトの名無しさん
12/10/07 00:24:17.11
>>140
あほか。すぐバレる嘘付くなよ
g()は文字列"12"なんだからfに入れたら文字列加算になるよ
gの型注釈がnumberだから型エラーにはならないけど

143:デフォルトの名無しさん
12/10/07 00:26:02.74
>>142
バージョン古いんじゃないですか?w

144:デフォルトの名無しさん
12/10/07 00:26:12.93
コンパイルオプションで実行時に型チェックするモードがあったほうがいいな
型推論をいくら完璧にしようが>>141みたいなのはどうしようもないし

145:デフォルトの名無しさん
12/10/07 00:26:46.89
>>143
バージョンwwwお前ばかすぎ

146:デフォルトの名無しさん
12/10/07 00:31:14.49
>>144
明示的なキャストは自己責任だと思うけど、実行時の型チェックは欲しいね

147:デフォルトの名無しさん
12/10/07 00:32:20.49
互換性のために仕方ないことでしょ。

そのうち、strictモードみたいなのでて
レガシーコードと呼ばれるようになるさ。

148:デフォルトの名無しさん
12/10/07 00:35:32.63
ようするにみんなの結論は
ベストではないが、ベターな言語なんだろ?

149:デフォルトの名無しさん
12/10/07 00:36:39.20
Javascriptよりはマシ

150:デフォルトの名無しさん
12/10/07 00:38:15.16
標準準拠で互換性があってベターなら使わない理由はないな。

151:デフォルトの名無しさん
12/10/07 00:38:50.82
別に普及しなくてもいいけどGoogleのDartみたいなバカだけでも潰してくれ

152:デフォルトの名無しさん
12/10/07 00:40:12.05
まだ様子見の段階

153:デフォルトの名無しさん
12/10/07 00:40:48.57
Dartよりはマシ

154:デフォルトの名無しさん
12/10/07 00:52:18.16
MSだからいつものようにボロカスに叩かれるかと思ったら
微妙な反応が多くて面白いなw
CofeeScriptやDartがいかにクソだったかがわかる

155:デフォルトの名無しさん
12/10/07 00:58:25.61
MSはプログラミング言語と開発環境には定評と実績がある

156:デフォルトの名無しさん
12/10/07 01:08:31.94
案外海外のほうがアンチMS的な反応が多かった。
どうせすぐハシゴ外すんだろ、みたいな。

157:デフォルトの名無しさん
12/10/07 01:11:13.27
それが一番当てはまるのはGoogleだろ
MSがIEに独自言語の処理系載せたりしたら永遠に外せなくなるぞ

158:デフォルトの名無しさん
12/10/07 02:03:33.96
ぶっちゃけDart発表時のほうが盛り上がってたよね
オプションで型チェック出来て素晴らしいって感じで

もっともダウンキャストに警告すら出さないと判明してから
そっぽ向かれたけど

159:デフォルトの名無しさん
12/10/07 02:27:42.80
Dartがそっぽを向かれたのはダウンキャストの警告とかが原因ではなくて、
良い言語だけど、乗り換えないといけない。つまり文法的に互換性がないということだろう。

TypeScriptにはそれは当てはまらなくて、将来のECMAScriptを
先取りしているから、JavaScriptの正統な進化版として考えることが出来る。

160:デフォルトの名無しさん
12/10/07 02:51:35.93
>>154
ヘルスバーグの名前が出てるからとりあえずみんな様子見てるんじゃないの?

161:デフォルトの名無しさん
12/10/07 06:40:43.56
(function (a, b?) => { console.log(a, b); })("a"); // OK
((a, b?) => { console.log(a, b); })("a"); // Errors
((a?, b) => { console.log(a, b); })("b"); // Errors
((a, b) => { console.log(a, b); })("a", "b"); // OK

悪くないんだけど、微妙に C# 独自の nullable とか this とか
アロー演算子合わせるとエラーに塗れる傾向はあるな
その辺なんか謎だわ

Nullable 型
URLリンク(ufcpp.net)

162:デフォルトの名無しさん
12/10/07 07:32:08.05
URLリンク(code.msdn.microsoft.com)

nullable導入のおおまかな経緯はこんなかんじ。

何でNullがオブジェクトなの?
URLリンク(gist.github.com)
Type(null) は Null 型だから Object ではないってことですか。typeof とは違うんですね。
URLリンク(togetter.com)
URLリンク(wiki.ecmascript.org)
URLリンク(gist.github.com)

しかして typeof が理解に苦しむ
ほんとは null はオブジェクトとして扱いたくないんだけど

実際のとこ至るところでYou、typeofでObjectt判定しちゃいなよ
してるから null はオブジェクトみたいに扱われてるんだなと…

163:デフォルトの名無しさん
12/10/07 08:31:48.05
>>159
Dartを良い言語と言ってる時点で
Java, JS, Perl, PHP程度しか使った事が無い
ドカタまるだしなのが分かる。
もうちょっとマトモな言語も使ったら良いよ。

164:デフォルトの名無しさん
12/10/08 11:12:46.64
マトモな言語教えてください

165:デフォルトの名無しさん
12/10/08 14:20:32.38
VB

166:デフォルトの名無しさん
12/10/08 15:45:07.25
>>72
jsだけで飯が喰えるのに、いくつも言語おぼえる必要があるなんて
2次請け、3次請け以下の大した技術力のない奴隷商に飼われているとしか思えない。

167:デフォルトの名無しさん
12/10/08 15:54:21.68
むしろjsの仕事なんてドカタ仕事しかない

168:デフォルトの名無しさん
12/10/08 16:13:57.29
また苦しくなったらドカタかw
よっぽど都合がわるいんだろうなw

169:デフォルトの名無しさん
12/10/08 16:15:40.20
他人が薄給ドカタ仕事を引き受けてくれるのに
何の都合が悪いというの?

170:デフォルトの名無しさん
12/10/08 16:22:08.31
>>166
底辺の奴らだけが、奴隷市場の流行に合わせて
Java, VB, PHP, JavaScript 等を覚える必要がある

171:デフォルトの名無しさん
12/10/08 16:27:02.20
>>169
いや、単純にじゃあドカタじゃないやつは
なんて呼ぶの?って話だよw

172:デフォルトの名無しさん
12/10/08 16:31:15.67
週40時間労働、年収800万以上でプログラマを名乗れます
それ以下はドカタ

173:デフォルトの名無しさん
12/10/08 16:39:55.06
>>172
ダウト。それだと学生プログラマは存在せず
学生ドカタということになってしまう。

174:デフォルトの名無しさん
12/10/08 16:42:47.73
え?文脈的に働いてる人の話だって分からない?
ドカタに文脈なんて無理かー

175:デフォルトの名無しさん
12/10/08 16:44:18.74
>>173
え?お前が書いた>>166って学生も対象にしてたの?

176:デフォルトの名無しさん
12/10/08 17:10:33.74
プログラマとドカタなんて俺からみたら違いはない。
喧嘩せずに仲良くやりなよ。
そんなことよりtypescriptでひとつなんか作って公開してみて
作った感想でも披露してみないか?

177:デフォルトの名無しさん
12/10/08 17:12:19.96
>>175
常識でわかるだろw

178:デフォルトの名無しさん
12/10/08 17:40:18.99
常識で分かります。>>173が馬鹿だってことが。

179:デフォルトの名無しさん
12/10/08 23:12:20.09
なんで2ch掲示板ってこうなるんだろ
匿名だからでは説明できない。redditと比べても明かに低レベル
日本人の資質か

180:デフォルトの名無しさん
12/10/09 02:50:38.07
日本人の資質だからでは説明できない

181:デフォルトの名無しさん
12/10/09 05:20:26.98
反応の速さにこだわるから
即答できなければレベル高くても失格という風潮

182:デフォルトの名無しさん
12/10/09 06:54:35.45
推すのは得意というか
でも肝心要で引き際を誤る

そしてデスマへ。責任論を巡って議論。
このパターンはとても多いと思う

183:デフォルトの名無しさん
12/10/09 07:16:52.33
ここは全部自演も余裕だからサンプルにはならんけどね

184:デフォルトの名無しさん
12/10/10 01:16:38.55
>>179
それ、比較対象がおかしくね?4chが妥当

185:デフォルトの名無しさん
12/10/10 04:50:34.46
>>184
4chはふたばだろアホ

186:デフォルトの名無しさん
12/10/10 04:51:47.08
       //
     /  /   バカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ 馬鹿には無理
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

187:デフォルトの名無しさん
12/10/10 06:42:09.15
まあIT関連のニュース記事やブログ記事も日本語のやつは平均的に劣ってるからな

188:デフォルトの名無しさん
12/10/10 08:04:29.22
平均が優秀ではないのは当然です
まず基本的なことから始めないと最先端のニュースも扱えません

189:デフォルトの名無しさん
12/10/10 08:11:29.44
基本的な部分がダメだから言ってんだろw

190:デフォルトの名無しさん
12/10/10 08:12:45.01
別に内容の難易度で優劣付けてないわ。質だよ質

191:デフォルトの名無しさん
12/10/10 08:27:59.51
量ではなく質なら優秀なやつが数人いるだけでいい

192:デフォルトの名無しさん
12/10/10 15:00:15.97
よくそんなズレた頓珍漢なレスできるな

193:デフォルトの名無しさん
12/10/10 15:19:50.41
言語に優劣がある
のではなく
ただの馴れと慣習による部分が大きいだけだ。流儀は場所によって変わるのは当然

194:デフォルトの名無しさん
12/10/10 15:31:56.93
現実に言語には優劣がある
ただしそれは一方の角度から見た場合の優劣であって
別の角度から見ればまた違う優劣が現れる
すなわちVBは馬鹿用なのでRubyより劣るとしても
速度ではRubyの方が劣っていたりする訳だ

195:デフォルトの名無しさん
12/10/10 16:09:59.15
rubyとかすかしたかっこつけたい奴が使ってるだけでしょ
VBAでいいじゃん

196:デフォルトの名無しさん
12/10/10 18:37:26.47

29 デフォルトの名無しさん [sage] 2012/10/10(水) 18:11:39.35 ID: Be:
    URLリンク(www.infoq.com)

    LinkedIn は先日,パフォーマンスとスケーラビリティを理由として,
    同社のモバイル用バックエンドインフラを Ruby on Rails から Node.js にリプレースした。
    これに対して元 LinkedIn のチームメンバが,何が問題であったのか,自身の意見を表明している。

30 デフォルトの名無しさん [sage] 2012/10/10(水) 18:15:24.99 ID: Be:
    ・優れたパフォーマンス – いくつかのシナリオにおいて,Node.js は Rails の20倍以上高速だった。
    ・サーバ30台の処理をわずか3台で実行できるため,10倍以上のトラフィックを処理する余地が生まれる。
    ・フロントエンドの JavaScript 技術者をバックエンドコード開発に従事させることが可能になる。
     この結果,2つあった開発チームが1つに統合された。

197:デフォルトの名無しさん
12/10/10 19:53:12.74
じゃあ、初めからNode.jsでやっときゃ良かったのに、
って話でも無いんだろうな。
サービスを色々試行錯誤する分にはRubyの方が楽だったのかも。

198:デフォルトの名無しさん
12/10/10 20:37:48.80
railsとnode.jsって用途ちがくね?

199:デフォルトの名無しさん
12/10/10 21:47:44.64
>>154
> MSだからいつものようにボロカスに叩かれるかと思ったら

もはやそんな時代じゃないしな。
Mozillaあたりの連中はMSガーMSガー喚いててて笑ったけど。

200:デフォルトの名無しさん
12/10/10 21:54:30.31
ボカロスに叩かれる

201:デフォルトの名無しさん
12/10/10 21:54:41.59
あとは、今はECMAScriptのスーパーセットだとしても
どっかで互換壊れてまうだろとJavaScript原理主義者の指摘
俺の答えは、それがどうした、ですかね。ゴミ言語JavaScriptなどぶち壊せ。捨てろ。

202:デフォルトの名無しさん
12/10/10 22:24:38.31
むしろECMAScriptがTypeScriptに合わせろ
っていうかもし互換壊れて大きな問題になるほど普及すれば必然的にそうなるだろうし

203:デフォルトの名無しさん
12/10/10 22:41:41.40
これでスマホアプリ作ってみようかな
JavaScript互換だから手軽に始められるのはいいね

204:デフォルトの名無しさん
12/10/10 23:44:49.43
NodeからJavaScriptちゃんと見たけど良い言語じゃん、大規模開発に向かないだけで。それをTypeScriptが補完してくれるんだから最強だね。

205:デフォルトの名無しさん
12/10/11 00:27:01.14
完全に型注釈付けるのを強制するか、ちゃんと型推論してくれるなら
JSの型付けの弱さを克服できるんだがなぁ > TypeScript

206:デフォルトの名無しさん
12/10/11 00:56:40.33
javascript で template programing とか誰得

207:デフォルトの名無しさん
12/10/11 01:41:29.91
>>205
コード書く側が意識してりゃ済む話だろ

208:デフォルトの名無しさん
12/10/11 07:19:44.42
意識してりゃ済む話なら型チェックなんて要りません

209:デフォルトの名無しさん
12/10/11 08:49:00.94
間違いを一個だけ探すなら意識するだけで済む
百個ぐらい溜まってからまとめて探すなら型チェックが必要

210:デフォルトの名無しさん
12/10/11 09:40:33.99
インテリセンスを自力で実装した事のある俺に言わせて貰うと
型の省略は開発ツール開発者に恨みでもあるのかというくらい酷い
分析ツールを走らせるための情報が圧倒的に足りてない
型推論なんて言語開発者のオナニーだからやめてくれ

211:デフォルトの名無しさん
12/10/11 09:45:01.91
開発ツールの開発者がヘボいとJavaみたいに同じ所に二回も三回も型名を書かないといけないわけか。

212:デフォルトの名無しさん
12/10/11 09:47:21.69
>分析ツールを走らせるための情報

その辺はおいおい言語の成熟と共に出揃ってくるもんなんじゃ
日本語と広辞苑の編纂作業みたいな一度解体する作業は不可欠や

213:デフォルトの名無しさん
12/10/11 10:07:58.75
そりゃ「補完」の情報を渡すべき所に「型」の情報を渡せば間違いも起きるわ

214:デフォルトの名無しさん
12/10/11 10:29:32.70
インテリセンスが型推論すれば良いだけの話だ罠

215:デフォルトの名無しさん
12/10/11 11:38:40.26
>>214
型推論じゃないよ補完は名前を推定するんだよ

216:デフォルトの名無しさん
12/10/11 11:48:36.98
補完よりキータイプ速い漏れは勝ち組
っつーか補完機能なんて邪魔だろ?

217:デフォルトの名無しさん
12/10/11 12:11:05.22
ドカタの発想だな

218:デフォルトの名無しさん
12/10/11 15:33:49.24
>>216 同意
つうかタイピング遅いやつ多すぎ

219:デフォルトの名無しさん
12/10/11 19:20:47.79
>>215
アホか。コンパイラが型推論できるんだから
インテリセンスだって型推論で型情報を得られるだろ

型が省略されてるから名前の補完ができませーん < アホ

220:デフォルトの名無しさん
12/10/11 20:49:00.15
型推論は完璧じゃないよ。

たとえば変数Aがあったとき、
この型を推論できる言語はない。

221:デフォルトの名無しさん
12/10/11 21:09:22.41
お前は何を言ってるんだ

222:デフォルトの名無しさん
12/10/11 21:20:06.73
場合によっては型推論があっても
型注釈を必要とするケースはあるが、
低能さが文面から滲み出てる>>220が考えつく程度のコードなら
型推論できると思うぞ

223:デフォルトの名無しさん
12/10/11 22:03:10.22
function(x,y,z){return x===y ? y : z;}
x,y,zの型は同じ
同じならnumberでもstringでもなんでもいい

224:デフォルトの名無しさん
12/10/11 23:20:15.99
VB、C#、F#、C++/CLI、F#、Powershell、TypeScript
MSの言語設計センスは神懸ってるよな
玩具のSmallBasicですら非常にバランスのいいちゃんとした言語だし
どっかのGoogleとはえらい違いだ

225:デフォルトの名無しさん
12/10/11 23:29:06.34
型を二回書くだけでツールがいろんなことをやってくれる
クラスやメソッドや引数の細かい情報までを
キー一押しまたは何もせずに表示してくれる
これほどすばらしい機能は他にないよ
君らは天才だから膨大な量のリファレンスを丸暗記して
書いたクラスのメンバの引数までも完全把握してるんだろうけど
俺みたいな凡人は記憶力弱いから無理なんだよ
言語開発者も天才ばかりだから俺みたいな凡人の苦労はわからない
凡人向け開発ツールを天才たちは作ってくれないから自分で作るしかない
だからこそ型情報を全力で守らなければならないのだよ
型を軽視する言語は天才にしか扱えないんだよ

226:デフォルトの名無しさん
12/10/11 23:34:15.63
<T>を軽視する言語は今すぐ<T>を追加しろー

227:デフォルトの名無しさん
12/10/11 23:36:59.53
Playgroundって開発環境として提供されないのかな
デモ用にしておくにはもったいない出来

228:デフォルトの名無しさん
12/10/11 23:42:34.36
googleの言語、開発ツールは2流だよね

229:デフォルトの名無しさん
12/10/12 05:50:01.30
>>223
URLリンク(www.typescriptlang.org)
function fn (x: number, y: number, z:number) : number {
return x===y ? y : z;
}

alert(""+fn(0,0,7));

呼び出す側での型キャストもどきが必要になるから
あんま使い勝手良くならないんだと感じる…
型はあるんだけど、それを演じて示す prinf にあたるものが欠けてるような

230:デフォルトの名無しさん
12/10/12 06:09:05.61
>>223
多相型も知らんの?馬鹿ですねー
それくらい楽勝で型推論できる

231:デフォルトの名無しさん
12/10/12 11:27:47.74
function<T>(x: T, y: T, z: T){return x===y ? y : z;} だな
ジェネリックは早期に導入予定

232:デフォルトの名無しさん
12/10/13 12:34:14.40
interface console {
time(obj:string);
}

visual studio 上で(playgroundだと再現できない)
console オブジェクトの足りてないメソッドをコード中で追加

そして補完を試してみると
なかなか壮絶な候補が現れた…


いうほどジェネリックとかは簡単じゃない

233:デフォルトの名無しさん
12/10/13 12:56:14.51
使い方が間違ってるだけ。consoleはフィールドなのにinterfaceとして
宣言するのはおかしいと思わないのか?
フィールドに型を付けるにはdeclare varを使うけど、TypeScript組み込みのと重複するから
追加したかったらTypeScriptのlib.d.tsを編集する必要があると思う。


234:デフォルトの名無しさん
12/10/13 16:27:05.19
そんなには、間違ってないよ。
ArrayとかConsoleとかFunctionとか、組み込みオブジェクトは
interfaceで定義されていて(lib.d.ts)、同名のinterfaceを定義することで
拡張することが可能になってる。
たとえばjQueryプラグインはinterface JQueryを別途作れば足せる、というようにね。

ただ、組み込みクラスに対する拡張は挙動が変(Consoleに限らずArrayとかも)で
これはただたんなるバグなので次版では直してくるでしょう。

235:デフォルトの名無しさん
12/10/13 18:23:55.40
ちょっと触ってみたけど
構造的部分型を採用してるとこはポイント高いね

236:デフォルトの名無しさん
12/10/13 18:36:56.77
VSのプラグインって動作が怪しいねえ。
インストールするとVSが起動時に例外をスローして落ちるようになった…

237:デフォルトの名無しさん
12/10/14 16:33:16.37
URLリンク(stackoverflow.com)

ある意味 interface を多用する傾向があるのか
書いてるとたしかに定義したくなるのはわからんでもない

入れ子になってるかんじの interface とかこれは
w3c の draft からしてそんなかんじなのか…

URLリンク(www.w3.org)

238:デフォルトの名無しさん
12/10/15 22:18:36.69
URLリンク(github.com)

どうせ裏で node.js 使うんなら
transcript の変換ステップを間に挟まない
こういうのも結構ありか

URLリンク(dist.springsource.org)

フォントを変えるところで .scripted ファイルいじるあたり
おもわずワロタw

URLリンク(sourceforge.jp)

239:デフォルトの名無しさん
12/10/18 19:19:00.00
そんな事よりDartしようぜ!

240:デフォルトの名無しさん
12/10/18 21:23:36.92
TypeScriptの変換後のJavaScriptコードの美しさを見たら
Dartなんかクソほどの価値もないことがわかる

241:デフォルトの名無しさん
12/10/18 21:37:20.58
TypeScriptは、JavaScriptは中間言語とか抜かしてる馬鹿へのアンチテーゼ

242:デフォルトの名無しさん
12/10/19 00:35:48.55
JSはネットのbytecodeか?
URLリンク(brendaneich.github.com)

243:デフォルトの名無しさん
12/10/19 03:50:20.03
>>242
JSがとんでもない言語になりそうな予感・・・
読んでてちょっと笑ってしまったw

244:デフォルトの名無しさん
12/10/19 17:14:46.55
お花畑すぎて吹いた

245:デフォルトの名無しさん
12/10/20 15:42:08.05
TypeScript 基本的には好きなんだが、もう少し、記述方法に制限を掛けて欲しかったね。
この言語仕様だと、いろいろな表記が可能だから、プログラムが読みにくくなりそう。

246:デフォルトの名無しさん
12/10/20 22:52:25.76
JavaScriptが通らないといけないという大前提があるから仕方ない

247:デフォルトの名無しさん
12/10/20 23:24:57.14
Web以外で使いたいから、int64_tに相当するのも欲しいけど、
Javascriptにコンパイルできなくなるしな。

248:デフォルトの名無しさん
12/10/21 19:07:30.03
Dartみたいに糞JavaScriptを吐いていいならエミュレーションで実装できるよ

249:デフォルトの名無しさん
12/10/21 22:28:37.40
プログラムファイルに、#lang r6rsみたいに書き込んで
文法チェック切り替える言語もあるね。


250:デフォルトの名無しさん
12/10/23 18:49:47.35
PowerShellをTypescriptで置き換えよう(回帰)

251:デフォルトの名無しさん
12/10/29 15:04:42.13
モジュールの下に宣言したインターフェイスを
モジュールの外のクラスで実装するにはどうしたらいいんだろう

252:デフォルトの名無しさん
12/11/10 18:01:12.67
高度に発達したプリプロは言語と見分けがつかない

253:デフォルトの名無しさん
12/11/10 18:03:26.18
>>242-244
一応言っておくが、ブレンダン・アイクは
オリジナルのJavaScript(当時livescript)の開発者だぞ

254:デフォルトの名無しさん
12/11/10 21:30:45.70
JavaScriptがこれほど使われてるのはJavaScriptが言語として優れているからでは決してないし
むしろクソ言語を生み出した元凶じゃないか

255:デフォルトの名無しさん
12/11/10 22:20:26.75
クロージャがなければ即死だった

256:デフォルトの名無しさん
12/11/10 22:43:49.37
組込み言語だけど表現力もあるし地雷原もある素晴らしい言語。
JavaScript 「再」入門
URLリンク(developer.mozilla.org)
JavaScript Garden
URLリンク(bonsaiden.github.com)
Googleスタイルガイド
URLリンク(cou929.nu)
構文は簡潔ではあるよね。

257:デフォルトの名無しさん
12/11/10 23:29:28.38
こんだけ普及するとこれを思い出さずにはいられない
URLリンク(monobook.org)

258:デフォルトの名無しさん
12/11/11 18:39:09.11
>>254
言語としてはそれほど悪くないよ。
Perl, PHP, VBと比べたら天使が舞い降りてきたみたいなもん。

まあブラウザ上は非互換や過去の遺物で悲惨みたいだけど。

259:デフォルトの名無しさん
12/11/11 18:39:56.66
>>255
もともとSchemeを導入する予定だったから、
クロージャ無しで設計されるのはありなかったな。

260:デフォルトの名無しさん
12/11/11 20:26:06.73
>>258
天使とか言い過ぎだろ。
どちらかというと、馬鹿と鋏は使いようって感じだ。

261:デフォルトの名無しさん
12/11/11 20:35:06.57
普通のスクリプト言語としては悪くないと思うが、
>>242で妄想してるように中間言語として使うなら明らかに失敗でしょ
数値型がdoubleだけとかありえん

262:デフォルトの名無しさん
12/11/11 21:05:09.61
普通のスクリプト言語としてもウンコ > 数値型がdoubleだけ

263:デフォルトの名無しさん
12/11/11 21:12:25.10
>>262
数値がdoubleだけってまじかよ。ありえんだろ。

264:デフォルトの名無しさん
12/11/11 21:15:12.40
luaとかもそうだよ
32ビットに収まるうちは整数の誤差は出ないから大して問題ない
中間言語としては終わってるけど

265:デフォルトの名無しさん
12/11/11 22:21:54.78
だよな
いまどきfloatとの使い分けくらい出来ないとな
ほんと腐ってるよ

266:デフォルトの名無しさん
12/11/11 22:47:53.61
CのプログラムもJavascriptに変換してブラウザで実行出来る時代だぜ。
Emscripten + Chromeより速い言語処理系作れる奴なんてほとんどいないぜ?

267:デフォルトの名無しさん
12/11/11 22:52:37.33
それで速いなら組み込みのshortとかlongとかfloatとか使えたらもっと遥かに速いぜ?

268:デフォルトの名無しさん
12/11/11 22:55:12.22
GoogleのDartだってそういうのいちいちエミュレーションするのアホらしいから
独自のVMを搭載してるのに

269:デフォルトの名無しさん
12/11/11 22:55:53.05
既にJITに全て任せる時代。

270:デフォルトの名無しさん
12/11/11 22:57:19.87
NaClですね

271:デフォルトの名無しさん
12/11/11 22:59:18.05
>>269
JITに任せたらJSでエミュレーションしてる64ビット整数の演算がハードウェア命令になるのか?w

272:デフォルトの名無しさん
12/11/11 23:07:12.60
JavaScriptを中間コードとして使うときのコードの出力の仕方を標準化してしまって
それに基づいて処理すれば完璧な最適化が可能だろうけど
それやるとJavaScriptの意味が皆無だからな
JavaScript無関係に新しくWebVMみたいなのを策定して載せるのと何も変わらない

273:デフォルトの名無しさん
12/11/11 23:07:36.29
一度Emscriptenのコードを読んでみると良い

274:デフォルトの名無しさん
12/11/11 23:09:32.73
NaClですね

275:デフォルトの名無しさん
12/11/11 23:09:59.11
>>273
思いっきりエミュレーションしてるがな
add一つに何行コード書いてるんだよw

276:デフォルトの名無しさん
12/11/11 23:52:44.79
floatやshortはまだ我慢できるがbyte/int32/int64が無いのはだいぶ辛い

277:デフォルトの名無しさん
12/11/12 01:11:39.10
unsignedも無いの?

278:デフォルトの名無しさん
12/11/12 01:16:13.46
unsignedはいらんよ
実質同じなんだから

279:デフォルトの名無しさん
12/11/12 04:04:19.31
>>276
ランタイムの実装依存だけど、TypedArray あるじゃん

280:デフォルトの名無しさん
12/11/12 05:56:17.30
int32はあると思っていい

281:デフォルトの名無しさん
12/11/12 10:47:29.84
実用上はint32はあると思っていいけど
オーバーフローしたら勝手にdoubleに化けたりするから
中間言語として使うのであれば結局単純に+をJavaScriptの+に変換するわけにはいかない罠

282:デフォルトの名無しさん
12/11/12 11:22:02.82
>>281
元の言語でのオーバフローしたときの挙動と同じでなければいけないってこと?
それなら、たとえJavaScriptにint32が存在してたとしても、
そのint32のオーバーフロー時の挙動が元の言語の挙動と違う可能性があるんだから、
そのまま+をJavaScriptの+に変換できない可能性があるってことになるよね?

283:デフォルトの名無しさん
12/11/12 20:24:35.99
>>281
中間言語とかなぜ出てきたかわからんが、厳密に規約でビット長他決められてるやん

284:デフォルトの名無しさん
12/11/13 12:41:04.95
このスレでなぜ出てきたかわからんというのがわからん

285:デフォルトの名無しさん
12/11/13 18:54:04.52
使ってみたいからExpressにプラグイン入れたんだけど
新規ファイルでtsはでてきたんだけどソースの色とか変わらないのは仕様なのかな?
Expressだと駄目?

286:デフォルトの名無しさん
12/11/13 22:52:53.79
Express for Webで使えてるけど

287:デフォルトの名無しさん
12/11/13 22:55:31.35
あれ?じゃインストールに失敗してるのかもやり直してきます
ども

288:デフォルトの名無しさん
12/11/14 02:12:21.09
別の人だけど、VS Express 2012 for WebにTypeScript for VS 2012入れたら
新しいプロジェクト➡テンプレート➡VisualC#➡HTML Application with TypeScript
というのが出てきた。

289:デフォルトの名無しさん
12/11/14 10:09:34.19
JavaScriptのようなクソレガシーに今後10年しばらく好き放題されると思うと
うんざりするから、.NETあたりにでも頑張ってほしい(´・ω・`)
速度特性のまったく読めない動的言語を基盤にしようなどと言い出した連中を死刑にしたいマジで

>>266
> Emscripten + Chromeより速い言語処理系作れる奴なんてほとんどいないぜ?

Emscriptenが速いなんて勘違いがどっから出てくるんだよ。
つかChromeではさらに遅いぞ。作ってるのMozillaの中の人だから全然Chromeに最適化されてねえ。

290:デフォルトの名無しさん
12/11/14 10:15:24.69
だいたいLLVM→JavaScript変換なんぞまわりくどい真似やってる暇があったら最初からネイティブで出すわw
特にMozillaがドヤ顔でデモってるような3Dゲームとかさ。
(あれオリジナルの10倍フレームレート低いらしいな)

C++や他の言語でもマルチ開発ができる、
実際多数のアプリケーションがやってるということが最近忘れられがちっつーか
ウェブ界隈の連中は最初から知らないんじゃねえかとすら疑ってる(´・ω・`)

291:デフォルトの名無しさん
12/11/14 10:18:25.07
PC以外もターゲットにするならネイティブ(Monoみたいなのも含めて)の方が
ずっとクロスプラットフォームだしな

292:デフォルトの名無しさん
12/11/15 16:44:21.21
まあ今後はJavascript優勢になるのは間違いないよ。

293:デフォルトの名無しさん
12/11/15 16:52:42.86
Googleさんが全力で阻止してくれます

294:デフォルトの名無しさん
12/11/15 17:06:46.63
>>289
黙れクズw
悔しかったらブラウザウィンドウ上で動くJSより素晴らしい言語とやらを作れよw

295:デフォルトの名無しさん
12/11/15 17:17:58.33
CIL

296:デフォルトの名無しさん
12/11/15 17:31:29.29
lljs.orgですねわかります

297:デフォルトの名無しさん
12/11/16 16:31:48.18
今時何にそんな速度が必要なんだ?お前ら

298:デフォルトの名無しさん
12/11/16 17:11:53.17
ChromeOSですよ、お前さん。

299:デフォルトの名無しさん
12/11/17 11:15:57.72
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が
死ねゴミ共が

300:デフォルトの名無しさん
12/11/25 17:30:36.83
a

301:デフォルトの名無しさん
12/12/06 17:23:30.55
すっかり勢いなくなったな。
使ってる奴いないのかな

302:デフォルトの名無しさん
12/12/06 21:11:42.70
goのときと同じ流れ

303:デフォルトの名無しさん
12/12/06 21:36:17.41
書いてるが良くも悪くも普通
ある程度の規模になりそうなコードに使って素のJSよりいくらか楽になるくらい

304:デフォルトの名無しさん
12/12/12 19:24:34.39
個人的には好きだけど
Javaっぽい文法なんで、C#、ActionScript、Java、Haxe辺りは変換できそう
そういえば、ABAさんがそんなことを書いていたような

305:デフォルトの名無しさん
12/12/19 04:39:42.12
>>290
>だいたいLLVM→JavaScript変換なんぞまわりくどい真似やってる暇があったら最初からネイティブで出すわw
既成コードの使いまわす為だろうし、
まともなクロスプラットフォームなツールなんて実際のところjavaしかない

306:デフォルトの名無しさん
12/12/31 17:51:30.87
(゚∀゚)アヒャ
URLリンク(www.sellsbrothers.com)

307:デフォルトの名無しさん
12/12/31 19:54:44.96
Win8ストアアプリでTypeScriptはないだろう。C#でいいわ。
Node.jsベースでTypeScript用のMVCフレームワークとかの方が受けると思う。

308:デフォルトの名無しさん
13/01/11 08:19:27.67
>>297
> 今時何にそんな速度が必要なんだ?お前ら

お前それサバンナでも同じ事言えんの?
たとえばこういう仕事をしている開発者たちの前で↓

スクエニ、「スクウェア・エニックス オープンカンファレンス 2012」。「Agni's Philosophy」の舞台裏を明らかにする“技術編” - GAME Watch
URLリンク(game.watch.impress.co.jp)
4Gamer.net ― 次世代ゲーム機のグラフィックスはどうなる? CEDEC 2012 ゲーム開発マニアックス~グラフィックス編
URLリンク(www.4gamer.net)

他にも科学技術計算だのビッグデータ()だの
いくらプロセッサをフルにぶん回しても全然足りんような分野がまだあるだろ。

正直、コンピュータの速度はもう十分だの、HTML5がnative置き換えるだの言う奴らは
その程度の仕事しかしていない、とまでは言わないにせよ
まだまだ解決するべき大きな問題が存在すること す ら も 知らないのがバレバレなんだよなーと
憐憫の目で見てる(´・ω・`) 視野せめぇ。

>>307
C#は興味深い流れになっとるよね。

309:デフォルトの名無しさん
13/01/11 08:29:49.69
nativeの世界には、CPU全コアフルロードになるコード書いて
タスクマネージャ眺めて喜んでるような変態がいるんだぜ(´・ω・`)

310:デフォルトの名無しさん
13/01/11 09:20:58.30
暇人乙

311:デフォルトの名無しさん
13/01/11 16:24:50.41
>>308
> HTML5がnative置き換えるだの言う奴らは
> その程度の仕事しかしていない

それも視野狭窄だわな。

312:デフォルトの名無しさん
13/01/13 11:42:45.55
科学技術計算なんてループぶん回して配列にアクセスしまくるだけなんだから
スクリプト言語くらい楽に書けて普通のネイティブコードが吐けてFortranと同じくらい速い言語があってもいいのに
Fortranに対するTypeScriptみたいなの作れないかな

313:デフォルトの名無しさん
13/01/13 12:34:31.97
Fortressとかx10とかあるじゃん

314:デフォルトの名無しさん
13/01/15 12:20:49.20
TypeScriptで分数クラスを作ってみた。
楽しい。

315:デフォルトの名無しさん
13/01/15 12:27:55.49
gist.github.com/4520496
書いたソース。
忍法帳ってなんだこれめんどくさい。

316:デフォルトの名無しさん
13/01/15 12:32:50.69
TypeScriptで演算子のオーバーライドって実装されるんだろうか?

317:デフォルトの名無しさん
13/01/15 13:20:12.64
Andersは演算子は対称であるべきだからstaticにしろ派だから難しいんじゃないかな。
現に、インスタンスメンバにするのが自然な()や[]には対応してる。
手っ取り早く実装するなら+などもインスタンスメンバにするのが楽だけど、それは気に入らないんだろ。
でもC#みたいにクラスメンバにすると静的解析に依存することになるから、
オペランドの型がコンパイル時に分かってる場合と分かってない場合で
演算子の動作が変わってもいいのかとかいろいろ問題がありそう。

318:デフォルトの名無しさん
13/01/15 13:50:04.10
仮にインスタンスメンバでも、
hoge + 1 (TS) を hoge.opAdd(1) (JS) に変換するのはhogeの型がプリミティブ型でないことが
静的解析で分かってるならいいけど、分からない場合は hoge + 1 (JS)にするしかないから
結局静的解析の可否で挙動が変わってしまう
無理だな

319: 忍法帖【Lv=2,xxxP】(1+0:5)
13/01/15 19:03:58.21
即時関数の書き方教えて

320:デフォルトの名無しさん
13/01/15 20:59:16.21
その辺の非tsな外部jsを読み込むこととかできるの?

321:デフォルトの名無しさん
13/01/15 22:33:04.63
>>319
(()=>{alert("a");})();
>>320
普通にできるというかtsから変換したjsと普通のjsを普通にHTMLのscriptタグに並べるだけ
型チェックを活かしたいならインターフェイスを定義する

322: 忍法帖【Lv=2,xxxP】(1+0:5)
13/01/16 11:23:36.38
>>321
さんくす!後でやってみる!

323:デフォルトの名無しさん
13/01/16 13:25:03.90
typescriptを使うことでどのくらいコード量が減るかサンプル見たいのかける天才いる?

324:デフォルトの名無しさん
13/01/16 14:42:50.94
>>323
コード量はそんなに変わらんだろ?
CoffeeScriptなんかとは違うんだぞ。

325:デフォルトの名無しさん
13/01/16 15:02:00.76
公式ページのPlaygroundのサンプルコードで十分だろ。
TypeScriptが吐くコードは人間が書いたのと見分け付かん。
コード量はそう変わらんがJavaScriptでクラス作るときの
変なバッドノウハウによるノイズが無くなる。

326:デフォルトの名無しさん
13/01/16 18:34:00.59
ヘルスバーグもここまでか、、、

327:デフォルトの名無しさん
13/01/17 07:05:00.82
仕様策定はまだ続いてるが、既にMSのJavascript開発で
工数削減に役立ってるってのがすげーよな

328:デフォルトの名無しさん
13/01/18 21:26:48.39
こんなのがでてたのか・・・
javascriptは毛嫌いでやらなかったが、これならおぼえたいと思ってしまった。

329: 忍法帖【Lv=3,xxxP】(1+0:5)
13/01/20 16:38:16.14
>>321
Supplied parameter do not muchなんちゃらってなったよ……

330:デフォルトの名無しさん
13/01/21 15:29:22.68
WebGL.d.ts
Three.d.ts
既にあるな
考えることはみんな同じなんだ

331:デフォルトの名無しさん
13/01/21 17:02:59.97
アンダース氏が設計した新言語による次世代JavaScript開発とは?
URLリンク(www.atmarkit.co.jp)

332:デフォルトの名無しさん
13/01/21 17:33:01.79
Visual Studio 2012 入れなくても使えるようになったら使う

333:デフォルトの名無しさん
13/01/21 17:34:53.08
Node.jsで動くコンパイラとemacsプラグインが提供されてる

334:デフォルトの名無しさん
13/01/21 20:26:22.63
そもそもTypeScriptはNodejsで動かすものであってVisual Studio 2012対応はついで。

335:デフォルトの名無しさん
13/01/22 01:44:49.47
>>308
本当に簡単なレベルのことで金儲けできた方がいいじゃない
そんなにプロセッサをブンブン振り回したりしたら、地球環境に優しくないよ
その昔、ファミコンレベルの演算能力で月まで行けたんだから、
もっと低次元なレベルで解決できる問題なんて沢山あるじゃない

336:デフォルトの名無しさん
13/01/22 01:46:31.89
ていうか、5年ぐらい前ってM$のIEがweb屋たちに叩かれまくってよね

337:デフォルトの名無しさん
13/01/22 12:41:06.54
>>333
ありがとう
それなら手を出してみる

338:デフォルトの名無しさん
13/01/22 16:29:00.89
typescriptのサイトのget itページ行けば、node.jsの方が先に書いてあるんだけどな。

339:デフォルトの名無しさん
13/01/22 16:34:27.49
UTF-8 で書いたソースで
console.log('漢字');
を Windows の cmd.exe で実行すると
cp932 で出力されてるっぽいんだけど
どこで何が行われているの?
日本語の扱いは良きに計らってくれるの?

340:デフォルトの名無しさん
13/01/22 16:37:14.99
誤爆?

341:デフォルトの名無しさん
13/01/22 21:21:29.29
URLリンク(d.hatena.ne.jp)

342:デフォルトの名無しさん
13/01/23 00:42:59.48
モジュール化って可能なん?
AMDみたいのはいやづら

343:デフォルトの名無しさん
13/01/23 21:16:11.05
>>342
モジュールの定義には対応しているが、Javascript自体に存在しないので
Javascript上でよく見られるモジュール定義もどきとして書き出される。
node.js互換の形で。

344:デフォルトの名無しさん
13/01/24 18:34:42.38
TypeScriptは結局JavaScriptの問題を解決してないから萎えた。
ECMAScriptもだが、特にmodule、あれで大規模開発が可能だと本当に思ってるのか。

> 3. 次に挙げる ES4 の提案の一部はウェブでの利用において不適切と判断されたので、
> 今後二度と議題として取り扱わない。パッケージ、名前空間、早期束縛。この決定が
> Harmony の肝である。

つくづくバカな決定したなこいつら。

正直、断言するけどActionScript=ECMAScript 4ルーツのHaxeを使ったほうがいい。

345:デフォルトの名無しさん
13/01/24 18:35:48.71
TypeScript クイックガイド - phyzkit.net
URLリンク(phyzkit.net)

> この b2Vec2 クラスを使うときは、
>
> var v : Box2D.Dynamics.b2Vec2 = new Box2D.Dynamics.b2Vec2();
> のようにかけます。ただこのままではすべての場所で完全名でクラスを参照しなければならず、面倒です。
> そこでクラスのエイリアスが欲しくなるわけですが、JavaScript のように単なる変数としてエイリアスを
> 定義してもうまくいきません。
>
> // b2Vec2 のエイリアスのつもり……
> var b2Vec2 = Box2D.Dynamics.b2Vec2;
>
> // コンパイルエラー。b2Vec2 というコンストラクタはあっても b2Vec2 という型はない
> var v : b2Vec2 = new b2Vec2();
> コンストラクタの呼び出しだけならできるのですが、b2Vec2 は単なる変数で型の名前空間にあるわけではなく、
> 型注釈の位置では使うことができません。かと言って直接クラス名のエイリアスを定義する機能はないようです。
> このような場合、import キーワードでモジュールのエイリアスを定義することはできるので、これを使うと
> 少しは楽なのではないかと思います。
>
> import B2D = Box2D.Dynamics;
> var v : B2D.b2Vec2 = new B2D.b2Vec2();

これを読んでTypeScriptは却下した。アホだろ実際。癖のなくなったCoffeeScriptでしかない。
なおHaxeは普通にimportすればnew b2Vec2()でおk

あとはこれも萎え要因

URLリンク(sites.google.com)
> 「/// <reference path="" />の参照指定はあくまでもコンパイル時のもので、
> 実行時の依存関係の解決は君自身の責務だよ」

346:デフォルトの名無しさん
13/01/24 18:40:53.35
>>344
大規模開発支援より既に広まってる処理系群との互換性が大切
というのがECMAScript、というかアイクの公式見解。
ただ将来的にECMAScript 4の方向が否定されたわけではない。

347:デフォルトの名無しさん
13/01/24 20:44:56.21
>>343
それがAMDだ

348:デフォルトの名無しさん
13/01/24 20:53:13.10
>>345
こんなふうには書ける。
module M
{
 export interface P { x: number; y: number; }
 export var a = 1;
}
var p: M.P; // Used as ModuleName
var m: M = M; // Used as TypeName and PrimaryExpression
var x1 = M.a; // Used as PrimaryExpression
var x2 = m.a; // Same as M.a var q: m.P; // Error

そもそもnode.jsは自前でmodule機構を持ってるから大して困らないよ。

349:デフォルトの名無しさん
13/01/25 17:30:54.47
CofeeScript のスレはありますか?

350:デフォルトの名無しさん
13/01/25 17:34:49.08
聞く前に検索ぐらいしろ

351:デフォルトの名無しさん
13/01/25 17:44:22.96
>>348
TypeScriptのこと何にも知らないけど、一つだけ言える。

そのコロン、キモイ。

352:デフォルトの名無しさん
13/01/25 17:54:45.58
>>351
プログラミング言語を能力でなく感情でしか語れないのは悲しいね。
少なくともJScript.NETよりは遥かにスマートだと思うよ。

353:デフォルトの名無しさん
13/01/25 18:07:47.42
>>352
> var m: M = M;

俺には無理だわ。

354:デフォルトの名無しさん
13/01/25 19:49:38.54
きもっ

355:デフォルトの名無しさん
13/01/27 01:34:33.18
>>353
お前の個人的な感情とかどうでもいいんで。帰って。どうぞ。

356:デフォルトの名無しさん
13/01/28 14:54:47.56
個人的な感想ということにしたいんですね

357:デフォルトの名無しさん
13/01/28 17:37:07.24
>>348
pascalみたいや

358:デフォルトの名無しさん
13/01/28 17:42:07.96
俺もTypeScriptは知らんけど、「変数名 : 型」「変数名 : 型 = 値/interface closure」あたりまでは想像できるが、
var m: M = M;の意味がわからんな。

359:デフォルトの名無しさん
13/01/28 18:07:19.98
書いてて楽しくない言語は駄目だ
Matz

360:デフォルトの名無しさん
13/01/28 22:03:06.92
Rubyは書いていて楽しくない。
単純な誤字脱字がその場で検出できない。

実行してエラーになって初めて認識できる。
その頃には違うコードを見てるから
くだらない誤字脱字の場所を探さなければならない。

361:デフォルトの名無しさん
13/01/28 22:04:04.86
Rubyは楽しくない。
簡単なリファクタリングでさえ神経を使う。

範囲を選択し、場所を移動する。
頭ですぐに思いついたことを
すぐに実行できない。

362:デフォルトの名無しさん
13/01/28 22:59:06.84
プログラミングの大部分が
コードを右から左へ動かすことに終始する
ダメプログラマにとっては死活問題だね。
そういうウンコプログラマ用の言語じゃないんだRubyは。

363:デフォルトの名無しさん
13/01/28 23:25:07.33
var m:M = M;の後ろのMはMのsingleton moduleになるらしい。
そう定義されたmも同じ。だからm.aはmoduleローカル変数のように振る舞う。

364:デフォルトの名無しさん
13/01/29 10:50:56.61
>>362
ダメプログラマ御用達のRailsがなかったら消滅してる言語のくせにw

365:デフォルトの名無しさん
13/01/29 10:54:20.21
node.js + coffeescript + express で Ruby も Rails も要らなくなりそうな悪寒

366:デフォルトの名無しさん
13/01/30 01:00:10.97
node.jsはウェブサーバーとしてはまだサーバー全体が
死ぬリスクが高いから商用としては微妙だけど、
C4K問題が発生しない設計だから
汎用じゃなくて専用のサーバーとしては十分ありだよね。

大規模なソフトウェアこそTypeScriptが生きる。

367:デフォルトの名無しさん
13/01/30 02:28:35.12
> node.jsはウェブサーバーとしてはまだサーバー全体が
> 死ぬリスクが高いから商用としては微妙だけど、

それそうとう技術力低いだろw
例外の使い方の基礎さえ知ってれば
落ちることはない。

368:デフォルトの名無しさん
13/01/30 02:29:57.39
あ、例外の基礎を知ってるっていうのは、
try-catchは必要最小限で十分ということを
知ってるって話な。

俺、try-catch使えるぜ!って感じで
やたらめったら入れる奴は
基礎がわかってない。

369:デフォルトの名無しさん
13/01/30 05:06:00.81
ONERRORGOTOですねわかります

370:デフォルトの名無しさん
13/01/30 10:35:04.25
nodes.jsが単一プロセス、単一スレッドで動いてるから
プログラムのミスや例外などで処理が止まるとサーバー自体も止まるという話なだけ。

nodejs側の問題なのでTypeScriptとは直接関係ない。

371:デフォルトの名無しさん
13/01/30 10:41:07.50
例外処理ちゃんとやってても落ちるもんは落ちる
ましてC++で拡張できたりするんだし

372:デフォルトの名無しさん
13/02/28 22:14:41.16
Windows8 64bit、VS2012 Express for Webでプラグイン導入できた人いる?
インストールしてもテンプレートに出てこない。。0.8.1.1、0.8.2で試した。
ちなみにWindows7(32bit)ではうまくいった。

373:デフォルトの名無しさん
13/02/28 22:23:26.87
ごめん解決した。
昨日0.8.3がリリースされてたみたいで、それ入れたら出てきた。

374:デフォルトの名無しさん
13/03/03 16:07:40.23
以前の奴でもインストールされたとこにあるプラグインを自分でクリックすれば
インストール出来た

375: 忍法帖【Lv=2,xxxP】(1+0:5)
13/03/10 00:04:31.42
Eclipseで使える?

376:デフォルトの名無しさん
13/03/16 17:59:38.77
Rubyが楽しいってデマ誰が広げたんだろうね

377:デフォルトの名無しさん
13/03/16 18:48:50.43
オレ

378:デフォルトの名無しさん
13/03/16 20:33:33.31
クラスを定義するときに同名のクラスが宣言されてるのはNGなの?例えるとこんな感じなんだけど
declare class Test { constructor(); }
class Test { constructor() {} }
下のコンストラクタで次のエラーが出る
Malformed function body (is this a class named the same as an existing interface?)

宣言ソースに必要なもの全部まとめようかと思ったんだけど、これがひっかかる

379:デフォルトの名無しさん
13/03/17 17:17:30.94
エラーメッセージが不親切だけど、基本的には単にクラス名の衝突だと思う。
class Test { constructor() {} } をコンパイル単位に含めるなら、
declare class Test { constructor(); } は必要ないよ。
それかもしかして C/C++ プロトタイプ宣言みたいな使いかたしてない?

380:デフォルトの名無しさん
13/03/17 17:32:44.12
>> 376
彼らは typo したり runtime error 出したり、半年前に自分が書いたコードが読めなくなって全部書き直したり、
クソ遅い処理系にほとんど意味のない最適化を施すのが、楽しくて仕方がないんだよ。
我々には理解できない性癖だけど。

381:デフォルトの名無しさん
13/03/17 17:41:44.97
>>379
.d.tsファイルの仕様的に、C++っぽく使えてもいいのになぁっていう感じでした
別にエラーにしてくれなくてもいいのに。C++だってリンクするまでは衝突するかどうかわからないんだし

382:デフォルトの名無しさん
13/03/17 18:21:46.95
>>381
TypeScript の declareは、C/C++ のプロトタイプ宣言というより extern に近いものだからね。C/C++ でも

extern void hoge(void){}
void hoge(void){}

が衝突するのと似たような理由だと思う。

383:デフォルトの名無しさん
13/03/17 18:30:21.10
あっ違うわ 
extern void hoge(void);
void hoge(void){}
は別に衝突しないや
最近 C/C++ 使ってないから忘れた

384:デフォルトの名無しさん
13/03/17 20:50:40.00
>>378
TypeScriptにおけるdeclareというのは
コンパイルするソースコード中にその定義が含まれない(既に外部で定義されている)ことを意味するから、
そのソースコード中にその実体を定義するのは言語仕様上矛盾している。

385:デフォルトの名無しさん
13/03/21 09:52:33.83
HTML5デモ「日本全国花粉飛散マップ」を作って分かった
CreateJSとTypeScriptでの効率的な開発手法
ICS LAB
URLリンク(htn.to)

386:デフォルトの名無しさん
13/03/28 17:27:02.10
javascript全く知らないんだけどtypescriptから始めても大丈夫?

387:デフォルトの名無しさん
13/03/28 17:44:57.14
大丈夫

388:デフォルトの名無しさん
13/03/28 20:27:05.61
情報が少なくて大変なだけだろ。JavaScriptからやれ。
TypeScriptはJavaScriptのスーパーセットだからJavaScriptは使えなければならない。

389:デフォルトの名無しさん
13/03/28 20:33:10.64
どっちやねん

390:デフォルトの名無しさん
13/03/28 20:35:45.88
大丈夫だが特にメリットがない、でFA
・JavaScriptの方が環境的な意味で遥かに学習しやすい
・JavaScriptから始めてTypeScriptに乗り換えても学んだことは厳密に100%活かせる

391:デフォルトの名無しさん
13/03/28 21:06:08.00
>>390
なるほ、資料少ないのは辛いな。じゃばすく覚えてからにするよサンクス

392:デフォルトの名無しさん
13/03/28 22:01:28.17
クラスやモジュールのような覚えなくても済むノウハウは結構あるから
さらっとJavaScript入門を流したらあとはTypeScriptでいいと思う

393:デフォルトの名無しさん
13/03/28 22:06:31.40
これ自体をやる必要があまりない。
東京人が地方の方言を真似するようなもの。内容は違わない。

394:デフォルトの名無しさん
13/03/28 22:14:55.65
ES6もあるし、やる必要ないなんてことは無いでしょ
コレ一本で行くってんなら別だろうけど

395:デフォルトの名無しさん
13/03/29 11:31:32.02
同じ事考えてたんだけど
やっぱりやるんならjavascriptからなのか・・・

396:デフォルトの名無しさん
13/03/29 14:38:18.50
やっと分かったJSのthis、みたいなブログの記事よく見るけど、もう頑張ってJSやらんでもTypeScriptでいいだろ。

397:デフォルトの名無しさん
13/03/29 14:54:17.77
いいだろうとかじゃなく
Javascriptなら基本から学ぶ教材がその辺にあるけど
TypeScriptの奴ってどこもJavascriptがわかってる事が前提の奴だよね
知らない人が学ぶのは不可能

398:デフォルトの名無しさん
13/03/29 15:34:07.31
JSがどうにもバッドノウハウだらけの言語だから、それを隠蔽すべくTypeScriptはじめ多数のベターJSがある。
バッドノウハウでも覚えた方がいいって考えもあるだろうけど、そんな暇あるなら別の勉強した方が良いと思う。

399:デフォルトの名無しさん
13/03/29 18:45:51.55
JavaScriptを最初の言語にするのには賛成しかねる
ほんとに最初ならJavaかC#あたりなんじゃない

400:デフォルトの名無しさん
13/03/29 23:41:45.72
JQueryとかで数行書いてるだけだったら別に要らないんだよ。

Javascriptでライブラリを書き始めたらありがたみもわかる。

401:デフォルトの名無しさん
13/03/30 09:47:55.91
Javascriptでライブラリを書く土方なんて居らんだろ
使い切りのクレクレ厨ならTypeScriptなんて不要

402:デフォルトの名無しさん
13/04/04 17:53:37.15
今日の釣堀
URLリンク(itpro.nikkeibp.co.jp)

403:デフォルトの名無しさん
13/04/04 22:37:31.68
知らない事を知らないと言えるのは大事だな

404:デフォルトの名無しさん
13/04/28 09:36:52.71
<reference path=" で探しに行くディレクトリを追加する方法はありますか?
../../lib/hogeとかあんまりやりたくないので

405:デフォルトの名無しさん
13/04/29 09:27:46.21
>>404
インポート用のファイルを用意してそれを参照するか、コンパイルオプションで対応するしかないね
当然後者ではIntelliSenseが効かない

まだまだ駆け出しだから足りないものは多いよ

406:デフォルトの名無しさん
13/04/29 11:25:33.76
0.9.0アルファ版を少し触った感想

BOM付きUTF-8では日本語が使えない。BOMなしUTF-8はOK、SJISはNG
Type[]はまだ使える。Arrayを拡張したい場合はinterface Array<T> { ...じゃないと駄目
構文チェックが厳格になった

407:デフォルトの名無しさん
13/04/30 11:07:25.77
関数のシグニチャ、レシーバー(コンテキスト?)の型を規定することはできんのね
あとScalaのtraitみたいのがほしいなー。多重継承でもいいからお願いしますMS様

408:デフォルトの名無しさん
13/04/30 12:17:01.31
目標はES6

409:デフォルトの名無しさん
13/04/30 15:19:48.08
boolでいいじゃん
booleanとかいちいち打つのだるいわ

410:デフォルトの名無しさん
13/05/05 11:25:44.32
ないなら作れよ

411:デフォルトの名無しさん
13/05/24 07:01:20.91
0.9.0のソース上がってるな

412:デフォルトの名無しさん
13/06/19 17:45:31.95
Announcing TypeScript 0.9
URLリンク(blogs.msdn.com)

413:デフォルトの名無しさん
13/06/19 20:33:35.85
TypeScript 0.9について語るAnders Hejlsbergらの動画
URLリンク(channel9.msdn.com)

414:デフォルトの名無しさん
13/06/20 08:01:00.31
ジェネリクスは大きいな

415:デフォルトの名無しさん
13/06/21 07:03:43.29
有名どころのライブラリ*.d.tsを大量配布してるサイトとかない?

416:デフォルトの名無しさん
13/06/21 09:12:19.28
URLリンク(github.com)
URLリンク(github.com)

こんなのあるよ

417:デフォルトの名無しさん
13/06/22 02:14:14.01
まじか。これはGJというほかないわ

418:デフォルトの名無しさん
13/06/22 10:46:36.28
テストはcoffeeでやろうかなあ
あんまり言語混ぜ混ぜもどうかと思うがtsでテスト書くのはちょっとだるい

419:デフォルトの名無しさん
13/06/22 11:54:03.62
>>416
ありがと、助かるわー

420:デフォルトの名無しさん
13/06/26 12:44:30.00
URLリンク(www.infoq.com)
URLリンク(funscript.info)

js を typescript の type providers で wrap して
その上に構築されたF#風言語らしいが…関数型言語好きやね

421:デフォルトの名無しさん
13/06/28 01:07:46.83 BE:50245643-PLT(18001)
Collection<Collection<...>> みたいな型表現をしようとすると
A generic type may not reference itself with a wrapped form of its own type parameters.
というエラーがでる・・・何でこんな制限あるんですかね・・・実装の都合?

422:デフォルトの名無しさん
13/06/28 08:32:18.10
前戯前に挿入するなってことじゃね?

423:デフォルトの名無しさん
13/08/09 NY:AN:NY.AN
Announcing 0.9.1
URLリンク(blogs.msdn.com)

超高速レビュー: TypeScript 0.9.1
URLリンク(teppeis.hatenablog.com)

424:421
13/08/10 NY:AN:NY.AN
入れ子型もいけるようになってたお

425:デフォルトの名無しさん
13/08/29 NY:AN:NY.AN
遅報だが

Announcing TypeScript 0.9.1.1
URLリンク(blogs.msdn.com)

TypeScript 0.9.1.1 リリース ~ v.0.9 からは待望の Generics がサポートに
URLリンク(blogs.msdn.com)

TypeScript 1.0 リリース間近 !? ~ Web Essentials 3.0 における TypeScript サポート削除について
URLリンク(blogs.msdn.com)

426:デフォルトの名無しさん
13/09/30 23:51:20.52
TypeScriptを始めたんで、スレを頭から見てるけど
>>129の下の関数は、
function g() : number { return ((x: number, y: any): number => x + y)(1, "2"); }
って書いてるのと同じ事だから、エラーにならずに12(number)っていう戻り値になるのは
問題無いよね。
教訓としては、型指定はどんな場所でも省略するなって事だね。
alias tsc='tsc --noImplicitAny'
ってすべきだ。

427:デフォルトの名無しさん
13/10/01 00:58:37.16
型チェックできないのはその理屈でいいけど動いてしまうのが問題だって話でしょ
いくら型指定するようにしていても、どうしても型なしで扱わざるを得ない部分は完全に無くなりはしない
結論としては、実行時に型チェックをするオプションが欲しい、でFA

428:デフォルトの名無しさん
13/10/01 01:48:24.89
assert(typeof a == "number");
とかを自分で書けばいいんじゃないかね。

429:デフォルトの名無しさん
13/10/01 22:31:49.92
Haskellあたりを見習って
もっと真面目に型推論をすれば解決

430:デフォルトの名無しさん
13/10/01 23:02:22.72
JavaScriptのコードが通らなくなるからムリ

431:デフォルトの名無しさん
13/10/01 23:32:22.09
>>426
> エラーにならずに12(number)っていう戻り値になるのは

でも実際は "12"(string) になるけどね

432:デフォルトの名無しさん
13/10/01 23:45:41.39
え、なにそれウンコじゃん
やっぱCoffeeScriptにしとくわ

433:デフォルトの名無しさん
13/10/02 00:09:46.78
まさに本末転倒w

434:デフォルトの名無しさん
13/10/02 00:35:41.01
>>431
function g() : number
なのに"12"(string)になるわけねーだろ!
コード書いて試してみれば一目瞭然。

435:デフォルトの名無しさん
13/10/02 06:56:10.44
JSは文字列と数を足した結果は文字列だし
TypeScriptは勝手にキャストしたりしないから
当然gの戻り値は文字列だよ
typeofで調べてみれば?

436:デフォルトの名無しさん
13/10/02 07:11:48.03
function g() : number { return ((x,y) => x + y)(1, "Hello World"); }
の戻り値は "1Hello World"

437:デフォルトの名無しさん
13/10/02 08:23:16.90
問題解決するためのイディオムでも考えたほうが建設的

438:デフォルトの名無しさん
13/10/02 09:03:59.82
解決策:あてにならない形注釈は捨てて
簡潔なコードを書くためにCoffeeScriptを使う

439:デフォルトの名無しさん
13/10/02 17:39:39.35
ただでさえJSerの無能率は高いのに
ドカタが好むエッセンスを振りかけたTypeScriptに
純度の高いバカが集まるのは必然だな

440:デフォルトの名無しさん
13/10/02 18:27:41.90
Coffee読みづらいわ
RubyやScalaを意識してるんだろうけど、あの手の省略大好き言語の中でも
ずば抜けてセンス悪い

441:デフォルトの名無しさん
13/10/02 18:37:36.83
ただでさえ意味不明になりがちなRuby/Scala系のスタイルに
さらにインデント記法を混ぜたのが大失敗
TypeScriptくらいかっちりしたのをそのままインデント記法にするか、
Ruby/Scalaみたいに他省略しまくりでもbegin/endだけは省略しないのが省略の限度だよ

442:デフォルトの名無しさん
13/10/02 21:27:06.14
具体的なコードで欠点を指摘できないと
単なる決めつけで終わってしまうね

443:デフォルトの名無しさん
13/10/02 22:47:27.75
変数の型と違う型の値が
簡単に入ってしまうのは地雷すぎる

これに比べれば大抵のことは許せる

444:434
13/10/03 00:48:08.20
うぐ…stringだた。
function g() : number { return ((x: number, y: any): number => x + y)(1, "2"); }
document.body.innerHTML = g();
で、
greeter.ts(13,1): error TS2011: Cannot convert 'number' to 'string'.
ていうエラーが出るからnumberだと思っとった。(document.body.innerHTML = String(g());はOK)

実際にtsc --noImplicitAnyで静的型チェックが通っても、anyが紛れてると信用ならなくなるって事だな。
こわいこわい。

tsc --noImplicitAnyしたあとanyでgrep(検索)までしないと駄目なのか…

445:デフォルトの名無しさん
13/10/03 00:50:52.12
>>435へのアンカーを忘れた

446:デフォルトの名無しさん
13/10/03 00:57:57.89
んなこと言い出したら既存JSライブラリに対する型宣言なんか全部当てにならんぞ
型が後付けである以上仕方のないことだし、それ故のメリットもある

447:デフォルトの名無しさん
13/10/03 02:33:05.42
ECMAScriptも7になれば静的型チェックは入るんだよな。
ただ、7がリリースされるのは2017とかだろうから、それまでにTypeScriptが駆逐する
可能性はある。IEがネイティブサポートしたら、その可能性は高まる。

448:デフォルトの名無しさん
13/10/03 16:10:49.88
静的型チェックで地雷とか、JavaScriptに何を求めてるんだろ

449:デフォルトの名無しさん
13/10/03 16:23:23.19
太いうんこ出た
きもちECMA

450:デフォルトの名無しさん
13/10/03 21:44:39.23
emscriptenやgwtやjs_of_ocamlのようなのだろ。

451:デフォルトの名無しさん
13/10/03 21:49:10.52
いや全然違うだろ
基本的にJavaScriptを中間コードとして扱わず、ほとんど型チェックを行うだけ
どっちかというとjshintの類だ

452:デフォルトの名無しさん
13/10/10 18:11:36.05
最新Windows用になったIEのネイティブサポートとかもう大局に影響しないだろ

453:デフォルトの名無しさん
13/10/11 00:30:48.83
TypeScriptはザックリ言うと、ES6に静的型チェックと(それ故に必要な)Genericsを追加したものだな。
良い言語だと思うけどね。

454:デフォルトの名無しさん
13/10/11 01:10:35.99
TypeScript、Haxe、Dartの三択だったらどれ?
CoffeeScriptはもうやってるんだけど、新しいのを覚えたい。

455:デフォルトの名無しさん
13/10/11 01:58:34.53
方向性がそれぞれ違うから用途と目的によるとしか。
ざっとググってみてもピンと来ないならTypeScriptでいいんじゃね

456:デフォルトの名無しさん
13/10/11 07:56:33.81
JavaScriptが大嫌いで無茶苦茶に汚してやりたいって人にはDart
監禁されて二人だけの世界で言いなりにされたいって人にはHaxe
どちらにも当てはまらない人にはTypeScript

457:デフォルトの名無しさん
13/10/11 09:53:28.96
JavaScriptは一斉排除だ!って環境ならなんでもいいよね
親和性を取るならTypeScriptは書きやすい

458:デフォルトの名無しさん
13/10/12 09:06:04.50
TypeScriptはVisualStudioで開発したら世界が変わるで。

記述ミスをビルド前に指摘してくれるのはうれしい。

459:デフォルトの名無しさん
13/10/12 09:44:08.17
VisualStudioでプロジェクト作らずに直接TSファイル開くと
依存関係から仮想プロジェクト機能が働くんだけど、これが便利すぎる

460:デフォルトの名無しさん
13/10/15 05:56:27.51
ざけんなよMac無視かよ

461:デフォルトの名無しさん
13/10/15 13:34:25.50
>460
WebStormがあるじゃないか!

462: ◆9Zst2CqO/Y
13/11/15 12:39:15.52
盛り上がってるね。

463:デフォルトの名無しさん
13/11/20 08:12:25.15
JavaScriptが超好き!覇権言語! → JavaScript

なんだかんだでJavaScriptの未来を信じてる。でも型チェックは欲しいお……
Visual Studio大好き! → TypeScript

「JavaScriptで大規模アプリを作るのはジョークだ」(言語設計者談)
つかブラウザ自体単なるコンパイルターゲットのひとつとしか見なしてない
なぜECMAScript4を捨てた。バカじゃねーの
関数型言語大好き! → Haxe

「JavaScriptは問題を抱えている」
JavaScriptなどいずれ滅ぼしてやる → Dart

C++サイコー!実用的な言語! → Emscripten

こんな感じ

TypeScriptかHaxeかというのがよく話題になるが、
ぶっちゃけJavaScriptが好きか嫌いかで選べば間違いないw

あとは我が道を行く闇のC++軍団。
なんだかんだで最終的にガチC++erはウェブでも一定勢力を占めそうだ。

464:デフォルトの名無しさん
13/11/20 08:21:22.89
JSXのことを完全に忘れていたのだがどうなったのだろう

465:デフォルトの名無しさん
13/11/20 21:42:03.04
クラスを定義するために宣言ファイルと定義ファイルを用意するとして
この定義ファイルから同宣言ファイルを参照すると面倒が起きやすい点がなんとかなればな
(一応大体の事は対応できるけども)

466:デフォルトの名無しさん
13/11/20 22:23:09.98
JSXはコンパイル後の出力が汚いだろ

467:デフォルトの名無しさん
13/11/21 01:51:19.26
Emscriptenでどの程度まで出来るのか今一分からんな。
DOMをいじれるのかとか

468:デフォルトの名無しさん
13/11/21 03:16:11.46
TypeScriptの => を使っても、結局イベントハンドラとかのthisのややこしさは
カバーしきれない感じなんだけど、Haxeはもっと上手くごまかしてるの?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch