2014年8月20日水曜日

JavaScriptは消滅すべきだったよな

1 :デフォルトの名無しさん:2011/11/08(火) 23:14:49.42
あの盛り下がってた時期に。

Ajaxとかいう技術のせいで再評価されちゃって、
結局使いにくいままjQueryとかcoffee scriptなるものを生み出してしまう。

39 :デフォルトの名無しさん:2011/11/12(土) 14:45:11.73
2000年ぐらいに学生時代にXHTMLの無料セミナーみたいになのに言ったことがあるけど
段上でなんか、有名かよくわからん人が色々言っていたな。
XHTMLで作っていればデータの再利用がどうとか。

その時の俺の意見は、XHTMLはユーザーが見るために存在するもの
データにデータとしては不要なもの(だが人間にとっては重要なもの)が混在したもの。
この混在したものからデータを取り出すのは、小石の混ざった米から小石を取り除くようなもの。
面倒なだけ。

機械的な処理の結果、XHTMLとして最終出力されるのならともかく
人間がXHTMLを書くものじゃない。データとして使うなら最初からXMLなどのデータで作る。
XHTMLは再利用を考えるものじゃない。人間のための出力結果だ。

と考えていたが、まさにそのとおりになったな。

65 :デフォルトの名無しさん:2011/11/17(木) 15:04:48.84
スクリプトエンジンの速度競争のおかげもある。
IE5.0辺りは、本当に使えなかった。

125 :デフォルトの名無しさん:2012/08/03(金) 04:21:26.42
JavaScript好きだけどなあ。

嫌いな人は何が気に入らないんだろ。
ブラウザ間の互換性の問題とか、プロトタイプとかか?

148 :デフォルトの名無しさん:2012/08/09(木) 17:08:34.26
言語はトレンドに併せて乗り換えろ
違う言語、環境でも残る物が本質だ

151 :デフォルトの名無しさん:2012/08/09(木) 21:13:54.27
>>148
マジレスすると
そういうPGは30前後で死ぬ

214 :デフォルトの名無しさん:2012/08/16(木) 01:29:25.19
やっぱり、洋書の方にしとこっかな。
値段が安いってのもあるけど、英語に対する抵抗を今のうちに失くしておかないと
後々苦労することになる。
圧倒的に英語の情報の方が多いからな。

245 :デフォルトの名無しさん:2012/08/19(日) 22:10:32.43
キーワードを略しすぎたり、記号に置き換えたりすれば
見た目が気持ち悪くなるよ。
Perlみたいに

345 :デフォルトの名無しさん:2012/09/10(月) 17:37:19.45
流行らないわけだよwwwwwwwwwwwwwww


これからはnode.jsだー

で、本は?

本はないから公式リファレンス読めwwwwwwwwwwwwwww


流行らないわけだ

346 :デフォルトの名無しさん:2012/09/10(月) 17:42:28.10
>>345
意固地になっても、もう他の人は理解してるよ。

本がないから流行らない
→ 本があれば流行る
→ Amazonで調べる
Programming-Node-js-Travis-Swicegood
Node.js in Action
Node-Up-Running-Tom-Hughes-croucher
Smashing-Node-js-JavaScript-Everywhere-Magazine
他15冊以上

→ 本があるので流行っている。
→ ただし英語圏の話。
→ どういうこと?
→ 日本はアメリカから数年遅れて流行る
→ なるほどね!


357 :デフォルトの名無しさん:2012/09/10(月) 19:32:53.86
よく知らんのだけど
これからはクラウドで処理は全部サーバーでやって
クライアントでやるのは映像受け取るのとキーボード入力送信だけになるんでしょ?
心配するまでもなく自然消滅確定じゃん。

437 :デフォルトの名無しさん:2012/10/14(日) 20:35:14.03
通信上でデフレートしてるのはともかく、
HTMLもJSも、「最悪でも人間が読める」ために冗長にソースをそのまま転送してるからな。

JSを圧縮・難読化して転送とか、CoffeeScriptみたいなJS変換なんてナンセンスすぎるわ。
さっさとクライアントサイドスクリプトの戦国時代に入って、3年くらいで決着付けてくれ。Java以外でな。

455 :デフォルトの名無しさん:2012/12/22(土) 09:04:16.35
>>437
スクリプト戦国時代なんて、4,5年前に始まって、昨年ぐらいには終わった

445 :デフォルトの名無しさん:2012/10/31(水) 10:48:44.75
今なんか同じハードでもブラウザごとに最適化しなくちゃいけないとか馬鹿なことやってるよ

447 :デフォルトの名無しさん:2012/10/31(水) 12:49:15.67
>>445-446
最近はそのあたりライブラリ作ってる側が考えてくれてるけどね
個々のアプリ作者がブラウザ最適化うんぬんって言ってる奴は十中八九ライブラリの存在も知らずに全部手書きしてるバカ

463 :デフォルトの名無しさん:2013/01/08(火) 09:51:21.74
まあ、たいていのスクリプト言語の処理系は、Cで書かれてるだろうから…。
JS処理系はJSにカウントでいいでしょ。Javaで書かれたJS処理系とかもあるし。

471 :デフォルトの名無しさん:2013/01/27(日) 00:40:03.72
Webブラウザで解釈するスクリプトのデファクトがJavaScriptになったのが運の尽き
おかげでこのクソスクリプトをいかに高速に実行させるかというJavaScriptエンジン競争が始まり
Webブラウザはどんなにメモリ・CPUリソースを消費してもいいんだという
イカれた風潮ができあがってしまった

473 :デフォルトの名無しさん:2013/01/31(木) 21:23:06.80
>>471
>どんなにメモリ・CPUリソースを消費してもいいんだという
>イカれた風潮ができあがってしまった

これはもう死語だと早く気づかなくちゃいけない
そして景気と同じで大量生産大量消費している時分が一番言語も伸びるんだよ
その証拠にjsでなくともメモリに五月蝿い書き方はしなくなったしな

メモリ消費が増える→マシンパワー必要→新技術が必要
はいいが、
メモリ消費固定と仮定→マシンパワーの必要性が薄まる→??
これは情報がもつエントロピー的にまずい。

「節約」すれば世のため人のためになってるって勘違いしてる日本の経済と似ていると思う
関数言語()なんていってる人は言語の進化をわかっていないな
ま、嫌でも感じずには入られないからこんな不等式を書きたくなるんだろうけどね

474 :デフォルトの名無しさん:2013/02/01(金) 02:48:13.83
言語とコンテンツをごっちゃにしてねえか?

JSは言語としては面白い。
配列すら存在しない、辞書と関数だけで全てを表現するストイックさにはシビれるものがある。

この愉快で面白くて異常に尖った言語を、
誰もが使うウェブブラウザで動かすのがナンセンスだって言ってる。

そのせいで、開発者じゃない一般の利用者ですら、JSの存在を意識せざるを得ない。
結果、利用者に「IE バージョンxx以上でご覧ください」って要求する現状はおかしいだろ。

477 :デフォルトの名無しさん:2013/02/01(金) 06:28:47.54
var無しは外側の関数スコープの宣言を探しに行くだけで、即グローバルになるわけじゃないぞ
クロージャとかを考えるとこの仕様のほうが素直だと思うけどね

483 :デフォルトの名無しさん:2013/02/01(金) 13:50:13.30
>>477
varって「ローカル変数を定義する」って説明されるし、現実にはその通り使うけど、
実際は「自分より上位のスコープにある、同名の変数を隠蔽する」機能なのよね。

「変数は暗黙に定義される」って軽量言語らしい所と、
クロージャが使えることを両立させようとすると、
素直っちゃあ素直な作りなんだよな。


純粋に言語として見れば、JSは面白いんだがなぁ……

480 :デフォルトの名無しさん:2013/02/01(金) 08:46:35.54
varみたいな修飾子をつけると影響範囲が広くなる、ならまだ解るのだけれども「つけ忘れると意図せず
影響範囲が広くなる」と言うのは関心の分離という意味では筋の悪いデザインだと思う。
つけ忘れる可能性があるものは何時か必ずつけ忘れるのだから。
var一つで済ますのは良いのだけれども、使い方が逆なんだよね。

484 :デフォルトの名無しさん:2013/02/01(金) 14:35:09.01
>>483
varは、同じ変数が上位のスコープにあったらそれを隠蔽するという仕様なだけで、
> 実際は「自分より上位のスコープにある、同名の変数を隠蔽する」機能
というのは変だぞ。
> ローカル変数を定義する
こっちが本筋の機能でしょ。

485 :デフォルトの名無しさん:2013/02/01(金) 15:57:37.43
別にvarが無くたって変数が暗黙的に定義できてクロージャが使える言語なんていくらでもあるでしょ。
>>483は曲解過ぎる。


JavaScriptのvar無しでの振る舞いの仕様がウンコであることはstrictモードの存在自体が証明している。

486 :デフォルトの名無しさん:2013/02/01(金) 17:29:09.66
>>485
varみたいなものが無い場合、
上位のスコープで使ってるかもしれない名前の変数をローカルで使いたいときはどうするの?
デフォルトでは上位のスコープを見に行かないとか?

487 :デフォルトの名無しさん:2013/02/02(土) 07:20:59.56
>>484
悪いが仕様を語るならまず仕様を読め。
「同じ変数が上位のスコープにあったらそれを隠蔽するという仕様」とやらで

alert(a)
var a = "A"



alert(a)
a = "A"

の振る舞いの違いを説明してくれ。

>>486
何を言いたいのか解らんがJavaScriptも変数宣言は環境ローカルしかないぞ。

488 :デフォルトの名無しさん:2013/02/02(土) 09:17:48.28
>>486
レキシカルスコープの中での変数名の重複を許していない言語が多い。つまり、宣言時に外の
スコープで既に宣言されている変数名は内側のスコープでは新たな変数名としては使えない。
そしてこれはクロージャが使える云々とは全く関係がない。

492 :デフォルトの名無しさん:2013/02/03(日) 18:21:35.93
実質的意味とか宣う頓珍漢な俺様曲解に実質的意味など何も無いからw

varの意味はローカル変数を宣言して実際に生成すること。
具体的には変数スコープに入ったときにスコープ内のvar以下の識別子を全て列挙して
スコープ内の変数名として扱い、値としてundefinedを代入する。これが仕様。

varによってローカル変数が宣言され生成された「結果の一部」がそれ以後の変数への
代入や参照でスコープが制限されているように見えるだけの話。しかしその理解も全体
の一部にしか過ぎないから、「隠蔽」とか「スコープの制限」とかいう理解に留まって
いる限り>>487の例ですら解釈出来ない。

そんな問題ありありの俺様曲解にこだわるメリットなんて何も無いと思うのだがwww
仕様通りの「ローカル変数を宣言」で何も困らん。

491 :デフォルトの名無しさん:2013/02/03(日) 17:52:21.36
宣言しなくても変数は使えるんだから、varの実質的意味はスコープの制限にある

493 :デフォルトの名無しさん:2013/02/03(日) 19:47:33.12
>>492
そいで結局のところおまえはvarは不要と考えてるわけ?
Coffeescriptみたいにスコープ内側では重複した変数名を許さないのがお好み?
もしくはスコープ外側を参照する変数にはouterみたいな宣言をつけるとか

501 :デフォルトの名無しさん:2013/02/05(火) 04:33:59.93
そもそもvarいらね〜だなんて誰も言っていない件。

502 :デフォルトの名無しさん:2013/02/05(火) 04:54:32.74
>>501
>>480とか>>485とか>>488とかかな

503 :デフォルトの名無しさん:2013/02/05(火) 05:17:00.45
>>502
どれ一つとしてもvarいらね〜だなんて言っていない件w

>>480は暗黙の変数がグローバルスコープで作成されるのは筋が悪いと言っているだけだし
>>485は"「変数は暗黙に定義される」って軽量言語らしい所と、クロージャが使えることを
両立"するのにvarは必須ではないといっているだけだし、
>>488は言わんとする意味がわからんが少なくとも「varいらね〜」とは一言も言っていない
のはわかる。

var無しでの振る舞いに文句を言うのとvarはいらね〜と文句を言うのは全く別問題だぞ。

525 :デフォルトの名無しさん:2013/06/16(日) 10:47:15.16
JavaScriptを殺せなかった(Ajaxで生きながらえさせてしまった)のは
今世紀最大の失敗だったと思うわ

TojiCode: A Tale of two Web Technologies
http://blog.tojicode.com/2013/06/a-tale-of-two-web-technologies.html

コメント欄など見てると、もう駄目だよこれ\(^o^)/オワタ
JavaScriptの置き換えも改善も期待しないほうがいい。
DartもPNaClも政治で潰される。asm.jsはどう考えてもLLVM→asm.jsの変換時間やマルチスレッド対応で躓く。

ウェブはJavaScriptと心中だ。

つかBrendan Eichの老害っぷりがぱない
というより、あれこれ理由をかこつけて自分が作ったJavaScriptを守りたいだけなんだろうけどさ。
JavaScriptやasm.jsに疑義を呈するブログやツイートに片っ端から突撃してくる必死っぷりが心底うざいw

そろそろHTML/CSS/JavaScript全部スクラップにして
第二のウェブを作ることを考え始めてもいい頃合いではないかと思う。
野心ある人はもう取り組んでいるかもしれん。

559 :デフォルトの名無しさん:2014/01/17(金) 01:09:32.14
http://wired.jp/2014/01/16/death-pc-also-mean-end-web/

ブラウザ死亡確定
開発効率の向上とインストールの簡易さ向上により
もはやWebアプリの利点は失われた。

592 :デフォルトの名無しさん:2014/03/15(土) 13:13:08.86 ID:4evGY2gy
Javascriptはなんかもうアセンブラみたいな位置づけに落ち着いてしまった。
できることなら書きたくはないが、知っているほどWeb系マとしては優秀になれるような言語でしょ。
代替が出てくるのはもう無理。既存の資産が多すぎて切ることは出来ない。

今後もCoffeeみたいな上位言語でラップされるだけで、少なくともこの先十年以上残り続けると思うぞ。
そんな状況になってしまってるのにいつまでもクソクソ言ってるのは、無能アピールっぽい。

適切な開発環境を準備できない糞な職場で、
素のJavascriptを書くしかできないような、土方にだけはなりたくないな。
どうやって素のJavascriptを直接触れないで済むかに、全力を投資していきたい。

604 :デフォルトの名無しさん:2014/05/26(月) 19:00:48.45 ID:6sT8jWY0
open 2chからは(バキューン!)できる。本家は攻撃でもされてるの?

609 :デフォルトの名無しさん:2014/07/16(水) 22:19:05.65 ID:YrYvz6dv
特にHTML5でスマホゲー作ってる(作ってた)連中は、この数年の間に
取り返しのつかないビハインドを背負ってしまったことを認識しないとまずい

最新のiPhoneネイティブゲームの映像ですご確認ください
https://www.youtube.com/watch?v=N19p2L0-BcU

610 :デフォルトの名無しさん:2014/07/16(水) 22:21:22.01 ID:eNoyfExW
なんで型宣言曖昧な言語がはやりだったんだろ

615 :デフォルトの名無しさん:2014/07/21(月) 04:24:54.74 ID:DpfIQ25M
twitterですね
わかります

620 :デフォルトの名無しさん:2014/08/11(月) 13:54:05.48 ID:jBOl1mhX
JavaScriptって今までJavaみたいなオブジェクト至高言語しかやったことないやつが
関数が配列に入ったりするのに感動して過大評価してるだけなんだよね
そんなの関数型言語じゃ当たり前だったし、オブジェクト指向ではあえて入れなかった機能なんだが
それがJavaScript特有の高機能性だと思ってる

http://peace.2ch.net/test/read.cgi/tech/1320761689/l50/../

0 件のコメント:

コメントを投稿