【JS,PHP,Python】スクリプト,バカロワイヤル32【Perl,Ruby】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
JavaScript, Perl, PHP, Python, Ruby, …
スクリプト言語をすべて扱うスレッドです。
最強のスクリプト言語は、どれよ?
さあ、死ぬまで語りやがれ!!!

■ スクリプト言語の用途
Webアプリ、シェルスクリプト

■ スクリプト言語の特徴
実行速度に優れているわけではないが、
取り回しに優れ、コードの作成や修正が容易、プログラマの負担が軽い!
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがある。

JavaはJavaScriptとは全くの別物でありこのスレで対象としていません
Java語りたいならよそでやれ

長いコードはここで
ttp://play.island.ac/codepaste/

【JS,PHP,Python】スクリプト,バカロワイヤル31【Perl,Ruby】
http://toro.2ch.net/test/read.cgi/tech/1365250318/
2デフォルトの名無しさん:2013/04/20(土) 22:20:00.15
Node.jsってechoサーバみたいなトイプログラムは簡単に書けるけど、
ちょっと規模が大きくなると他のフレームワークと差が無くなる
そういうところはRuby on Railsと似ている
(性能面でも、IO多重化を使うフレームワークの中では並)

あと、ステマが激しいのも一時のRailsと似ている
3デフォルトの名無しさん:2013/04/20(土) 22:43:45.75
規模が大きくなるとフレームワーク以外の部分でやらなきゃいけないことが
増えるからな
4デフォルトの名無しさん:2013/04/20(土) 22:45:11.59
>>2
その意見には賛成できない。
なぜなら、

> Node.jsってechoサーバみたいなトイプログラムは簡単に書けるけど、
トイと言うのはあんたの意見であり、トイとはいえ、簡単にかけると認めている。

> ちょっと規模が大きくなると他のフレームワークと差が無くなる
この根拠が書かれていない。

> そういうところはRuby on Railsと似ている
「そういう所」つまり上の行はまだ立証されていない。

> (性能面でも、IO多重化を使うフレームワークの中では並)
そのフレームワークの具体名がでていないので比較しようがない。
本来ならば、あんたが並であるというデータを持って来るべき。
知ってるなら持ってこれるはず。

> あと、ステマが激しいのも一時のRailsと似ている
ステマであるという根拠が書かれていない。
Railsと似てるのかどうかもわからない。
5デフォルトの名無しさん:2013/04/20(土) 22:47:09.23
そもそもNode.jsはフレームワークではないので
>>2は根本的に勘違いしている可能性が
極めて高い。
6デフォルトの名無しさん:2013/04/20(土) 22:53:45.01
ステマの根拠も一切無いけどw
7デフォルトの名無しさん:2013/04/20(土) 22:55:26.80
>>2みたいな中身に根拠が無い文章って
単語を入れ替えても成り立つんだよw

別のフレームワーク名にしても成り立つからやってみw
8デフォルトの名無しさん:2013/04/20(土) 23:05:16.59
>>5
ぱっと見はフレームワークじゃなくてそのベースとなるライブラリ群だよね
Rails と比べるようなものではなさげ
http://nodejs.org/api/
9デフォルトの名無しさん:2013/04/20(土) 23:06:47.91
http://nodejs.org/

> Node.js is a platform

最初の数文字も読めないのか・・・。
10デフォルトの名無しさん:2013/04/20(土) 23:41:45.07
RailsとかはASP.netなどはフルスタックのフレームワークと言われるもの。

JavaScriptはフルスタックのフレームワークはない。
node.jsとかexpressとかバラバラの分断されたのを寄せ集めて作らないといけない。
どのバージョンの組み合わせなら動くかなども気にしないといけない。
情報収集や学習に時間がかかり、コストは高くつく。

現状はnode.jsはリアルタイム処理が必要なごく一部のサイトで
限定的に使われているだけ。
11デフォルトの名無しさん:2013/04/20(土) 23:59:24.84
>>10
> 現状はnode.jsはリアルタイム処理が必要なごく一部のサイトで
> 限定的に使われているだけ。

それはお前の周りではそうだってだけだろ。


まあ俺の周りでもそういう使い方しかしてないが。
12デフォルトの名無しさん:2013/04/21(日) 00:11:03.56
>>11
あんたの周りでもそうなら、否定スンナ

node.jsの立ち位置は世界的にそういうもんだ
リアルタイムが必要のないケースで使う必要性はゼロ

node.jsはアーキテクチャがシングルスレッドだから基本的にゴミ
13デフォルトの名無しさん:2013/04/21(日) 00:25:08.61
>>12
ゴミではない
目的があってシングルスレッドにしているわけだし、その目的の元では当然ながら有用
要は適材適所
14デフォルトの名無しさん:2013/04/21(日) 00:41:39.70
>>10
バラバラの寄せ集め?って

お前、Railsだって、Ruby APIなどを寄せ集めて作ってるだろ?
言語標準ライブラリを見逃したとしても
例えばRailsがTwitterのOAuth認証を標準でサポートしているわけもあるまいし、
お前のフルスタックの定義は間違ってるよ。
15デフォルトの名無しさん:2013/04/21(日) 00:46:28.77
パッケージマネージャの機能が充実してればバラバラの寄せ集めで問題無いね
Railsもバラバラ化を進めてる感じじゃないか
16デフォルトの名無しさん:2013/04/21(日) 00:48:01.29
Compound.js
Geddy
Sails.js

Node.jsのフレームワーク、ここら辺は押さえとけ
17デフォルトの名無しさん:2013/04/21(日) 00:53:10.10
>>14
フルスタックは俺の定義ではなく一般的な定義だ

誰もが使うものは最初からセットにしとくべきだし
大部分のひとが望んでるのはそういうフルスタック
18デフォルトの名無しさん:2013/04/21(日) 01:03:17.83
>>17
だからその定義であればnode.jsは寄せ集めたとしても
フルスタックなJavaScriptのフレームワークは成り立つ。


分かりやすく言おう。

フルスタックなフレームワークをインストールした。
この時、言語はフルスタックのフレームワークに内蔵されていなくてもよい。(例Ruby)
この時、実行環境はフルスタックのフレームワークに内蔵されていなくてもよい。(例 JavaVM)
この時、ライブラリはフルスタックのフレームワークに内蔵されていなくてもよい。(例Twitter OAuth認証モジュール)
19デフォルトの名無しさん:2013/04/21(日) 01:04:04.84
MeteorがJavaScriptのフルスタックフレームワークらしいよ。
20デフォルトの名無しさん:2013/04/21(日) 01:08:24.02
>>15
ぜんぜんちがうわ
だれもが使う機能は予めセットになっていてこそ
一般的なユーザは手軽に始められるし、安心して使える。

小さなライブラリを自分で選んで使えってのは古い。
それは昔のJavaのフレームワークのやり方

大半はそんなめんどうなのは望んでいない。
21デフォルトの名無しさん:2013/04/21(日) 01:16:13.84
>>18
何言ってんだw
フルスタックってのは言語やVMは含まれないにきまってるだろ

フルスタックってのはもっと誰もが使う機能がはじめからあるかをいうんだよ
ORMとかテンプレートエンジンとかのことだ。
RailsもDjangoもフルスタック。これは俺の定義ではない。

Twitter OAuth認証モジュールなんて全員が使うわけじゃないから
バンドルしなくて当たり前

反対にだれもが使う機能すらはいってないのがmicro frameworkと呼ばれるもの
sinatraとかscalatra(Scala)とかFlask(Python)とか
22デフォルトの名無しさん:2013/04/21(日) 01:21:14.73
>>20のような奴がMSみたいな体質の企業を支えてるんだろうな
こういうのが主流になると技術が停滞する
23デフォルトの名無しさん:2013/04/21(日) 01:21:27.88
いくつものライブラリをそろえないといけないのは時間がかかるし
バージョン組み合わせのテストもしないといけない。

特定のライブラリだけバージョン上げようとしても
その組み合わせで不具合がでないか自分で検証しないといけない。

こういうのが生産性の低下につながるし、実際に嫌がられている
24デフォルトの名無しさん:2013/04/21(日) 01:25:08.89
>>23
だからパッケージマネージャが重要なんだって
いまどきのパッケージマネージャならアプリに必要な各ライブラリのバージョンを固定化したり
複数のアプリで異なるバージョンのライブラリを共存させたりできる
25デフォルトの名無しさん:2013/04/21(日) 01:26:01.12
>>22
似たようなディストリビューションがたくさんでて
分裂しまくったLinuxはデスクトップOSで惨敗した
シェアは1%程度しかない

ベンダーがしっかりコントロールしたWindowsとMacは生き残った。
これが結果
26デフォルトの名無しさん:2013/04/21(日) 01:27:54.18
開発者から見た使い勝手の話だろ?
素人も使うデスクトップのシェアなんてどうでもよいわけだが
27デフォルトの名無しさん:2013/04/21(日) 01:36:42.14
>>24
パッケージマネージャあっても変わらないっての
バージョンの共存ができるとかそんな当たり前の話じゃないんだが
まったくわかってないようだな

特定のバージョンや環境の組み合わせで起こる問題ってのはあるわけよ
それくらいはわかるよな?
たくさんの人が同じ環境で使うからこそそういうバグが見つかって
品質があがっていく。
28デフォルトの名無しさん:2013/04/21(日) 01:43:02.72
>>26
開発者でさえLinuxをデスクトップ用途でつかってないだろ
WindowsかMacだ

Linuxをデスクトップ利用してる人の大半は
Mac本体やWindows OSが買えない貧乏人ばっかり
昔はパワーユーザーが使っていたがそういう人はMacに流れた。
29デフォルトの名無しさん:2013/04/21(日) 01:51:44.89
>>27
安定したバージョンの組み合わせで使えばいいんだよ
多数のユーザで多く使われるモジュールとバージョンの組み合わせは自然に安定する
30デフォルトの名無しさん:2013/04/21(日) 01:55:46.56
>>27
パッケージマネージャがあっても変わらないってのは無いわw
RubyとかもうBundler無しじゃやっていけんw
31デフォルトの名無しさん:2013/04/21(日) 02:02:22.93
モジュールが別れてても、依存関係がきっちり指定されてれば、
それはフルスタックのフレームワークと代わらんと思うけどね。
Railsだって複数のモジュールに分割されて提供されてるわけで。
32デフォルトの名無しさん:2013/04/21(日) 02:35:32.62
node.jsでも普通にパッケージマネージャー使われてるし
何が言いたいんだかさっぱりだ。
33デフォルトの名無しさん:2013/04/21(日) 02:35:48.85
パッケージマネージャーはnpmが抜きん出ているな
34デフォルトの名無しさん:2013/04/21(日) 02:41:54.56
>>21
> フルスタックってのはもっと誰もが使う機能がはじめからあるかをいうんだよ
> ORMとかテンプレートエンジンとかのことだ。

「誰もが使う機能」になんでORMやテンプレートエンジンが含まれるんだ?
それがおかしいと思わないのか?

例えばGUIアプリを作るのにテンプレートエンジンは使わないだろ?

何を作るかで「誰もが使う機能」は変わってくるんだよ。

クライアントウェブアプリを作るのにORMは含まれない。
なぜならデータベースに接続できないからだ。
だからクライアントウェブアプリのフルスタックにはORMは含まれない。
ここまでは理解できるか?
35デフォルトの名無しさん:2013/04/21(日) 02:44:30.16
Compound.jsがフルスタックだ
これで解決だろ
遅いRails使いが悔しがっているだけ
36デフォルトの名無しさん:2013/04/21(日) 02:49:15.75
37デフォルトの名無しさん:2013/04/21(日) 02:53:45.43
GUIアプリを作るのにRailsはフルスタックと言えない。

じゃあフルスタックとは何か?

それは「何のフレームワークか?」って所が重要になる。
Railsとかウェブ関係の人は、ウェブの世界しか知らない人が多いから
自分の常識の範囲で物事を語ってしまう。

Railsとは何か? それは「MVC設計に基づいたサーバーサイドフレームワーク」
「MVC設計に基づいたサーバーサイドフレームワーク」としてフルスタックということを
単にフルスタックと言っているだけ。

この「」の中身が違えば、フルスタックとして要求される機能は変わってくる
「Windowsアプリのフレームワーク」ならGUIコンポーネントが無ければフルスタックにならない。

何のフレームワークかを先に決めないと、それがフルスタックかどうかなんて決まらない。
38デフォルトの名無しさん:2013/04/21(日) 02:57:10.70
JSはライブラリが乱立し過ぎだよな。
似たような機能で微妙に違うのがいくつもあって、デファクトスタンダードと言えるのはjQuery位か。
処理系の実装からしてバラバラだし。
TypeScriptなんかも結構良さそうだけど、果たしてこれに掛けて良いのか、判断難しい。
39デフォルトの名無しさん:2013/04/21(日) 03:01:51.56
まー、CとかC#とかだと、フレームワークと言っても幅広いけど、
スクリプト言語のこのスレで言う場合、フレームワークとは、バックエンドにデータベースがあるのを前提としたウェブアプリケーションの為のライブラリ、ウェブフレームワークを指すって事でいいのでは。
40デフォルトの名無しさん:2013/04/21(日) 03:33:24.16
>>38
jQueryすらPrototypeとかYUIとかと競合してるだろ(震え声)
41デフォルトの名無しさん:2013/04/21(日) 03:35:34.51
>>37
馬鹿な揚げ足取りはいらん
いまだれもGUIアプリの話なんてしてないだろ

Web frameworkの話をしていてフルスタックといったら
full stackのweb frameworkだなとわかるわけ
わからないなら、基本的な用語の知識がない
42デフォルトの名無しさん:2013/04/21(日) 03:44:08.78
>>40
競合がない技術なんて
世の中にないだろうなw
43デフォルトの名無しさん:2013/04/21(日) 03:44:48.24
Rubyでもフレームワーク乱立だしな。

Rails以外のRubyフレームワークスレ Sinatra etc
http://toro.2ch.net/test/read.cgi/tech/1366036440/

Merb
Waves
Sinatra
Ramaze
Camping
Vintage
Halcyon
Nitro/Og
Wuby
Ruby WAF
webby
44デフォルトの名無しさん:2013/04/21(日) 03:47:25.44
>>41
> Web frameworkの話をしていてフルスタックといったら
> full stackのweb frameworkだなとわかるわけ

じゃあ、JavaScriptで(サーバーサイドの)web frameworkってなに?
それがフルスタックかそうでないかの話だよね?
45デフォルトの名無しさん:2013/04/21(日) 03:48:08.74
議論の次元が低いな
スクリプトスレだけあって
46デフォルトの名無しさん:2013/04/21(日) 03:48:20.94
>>42
YUIやprototypeはまだまだシェアがあるから、無視できない(正論)

>>43
それらを用いた開発なんかありえんし、そもそも一部はRails本体になっているはず
47デフォルトの名無しさん:2013/04/21(日) 03:54:00.52
>>44
JSのフレームワークの世界では、他の言語のフレームワークでいうところの
フルスタックにあたるものはない。
48デフォルトの名無しさん:2013/04/21(日) 04:31:54.45
>>47
Compound.jsがあると書いてあるだろ
白痴か?
49デフォルトの名無しさん:2013/04/21(日) 06:38:49.33
Meteorはフルスタックじゃないのか?
サーバーサイドどころか、クライアントサイドも一部
含有してる雰囲気だが
50デフォルトの名無しさん:2013/04/21(日) 07:42:23.11
>>27 いまどきのパッケージマネージャについて勉強しておいで
>>40 ♪こーいしちった
51デフォルトの名無しさん:2013/04/21(日) 07:48:47.59
アンケートで「その他」が一番多い場合にも「その他」を1位とは認めない
というルールがある
だから「その他」は1位にならない

でもそれは現実を反映したデータではなく、ただのルールだろ
これが結果だとか現実を受け入れろとかバカじゃねぇの
52デフォルトの名無しさん:2013/04/21(日) 09:29:23.61
ぶっちゃけクライアントとサーバでデータやり取りする層なんて
どのフレームワークでも馬鹿でも書ける(適当な下請けに丸投げ可能)程度の単純作業
そんな物の優劣なんてどうでも良いんだけどな
53デフォルトの名無しさん:2013/04/21(日) 09:30:49.15
>>50
サーバ用途にLinuxも使ってるしいまどきのパッケージマネージャとやらも知ってるよ
新しいものでも依存関係を完全に管理できてない
ディストリビューション次第で動かないrpm、debパッケージがあるなんて常識だし
アンインストールでもアップデートでも依存関係ぶちこわれる問題もまだある。

あとフレームワーク全体の品質の話してるんだからパッケージマネージャだけでは解決策にならない
それは同一パッケージの中の依存関係を解決するだけのもの
ファイルレベルでしか解決できない

連携して機能する別のパッケージ、モジュールと組み合わせた場合に
上手く動くかはまったく関与しない
他のパッケージと連携して動く場合は、各パッケージが安定しているからといって
組み合わせた場合に安定するとはいえないわな
なんでこんな当たり前のことを説明しないといけないのか
54デフォルトの名無しさん:2013/04/21(日) 09:37:11.53
>>49
有名サービスでの採用事例が見つからないようなフレームワークはどうでもいい
海外ですら人気でてないもの追いかけてられない

>>48
Compound.jsなんて知らないしだれもそんなもの使ってない


JS信者は誰も使ってないようなもの名前あげて得意になってるよな
ほんとレベル低い
55デフォルトの名無しさん:2013/04/21(日) 09:46:07.34
StackoverflowでのCompound.jsの検索結果

質問数 25件 wwww
フォロワー 4人 wwww
http://stackoverflow.com/questions/tagged/compoundjs

参考データ
StackoverflowでのRailsの検索結果
質問数 112,000件
フォロワー 12,400人
http://stackoverflow.com/questions/tagged/ruby-on-rails
56デフォルトの名無しさん:2013/04/21(日) 10:03:03.72
>>54
Meteorに有名事例がないのは、とても新しいフレームワークで
未だPreview版だから
しかし、注目度はかなりある
そうそうたるメンバーが投資しているし、
将来的には次々と使われるのはほぼ確定してるよ
57デフォルトの名無しさん:2013/04/21(日) 10:04:54.24
だから、このスレの人はラッキーだね
情報が早い人がMeteorを挙げてくれたおかげで、
次世代の波をキャッチできた
58デフォルトの名無しさん:2013/04/21(日) 10:10:09.03
>>55
名前変更前のRailwayJSを考慮していないし
名前の通りRailsをリスペクトして作られているのだが
お前は何と戦っているんだ?
時間の経過を無視している事から少なくとも馬鹿だよお前
59デフォルトの名無しさん:2013/04/21(日) 10:13:02.39
>>58
フォロワーは時間の経過関係ないだろ
60デフォルトの名無しさん:2013/04/21(日) 10:18:21.20
>>58
しつこいな
名前変更前も人気まったくないだろ

Stackoverflowでのrailway.jsの検索結果
質問数 40件 wwww
フォロワー 13人 wwww
http://stackoverflow.com/questions/tagged/railway.js

始まってさえいないものをプッシュするのはいいかげんにしてくれ
61デフォルトの名無しさん:2013/04/21(日) 10:19:03.59
Meteorは1600人のフォロワーか
すでにブレイクの兆候が見られるな
これからブレイクに立ち会えるとは胸熱
62デフォルトの名無しさん:2013/04/21(日) 10:24:09.85
meteor厨はなんなんだよw
63デフォルトの名無しさん:2013/04/21(日) 10:28:57.33
>>53
残念だけどrpmとかdebは今時のパッケージマネージャとは言えないぞ
今時のスクリプト言語がrpmとかdebとは別の独自パッケージマネージャを用意してる
意味がわかってないんだな
64デフォルトの名無しさん:2013/04/21(日) 10:31:47.00
>>61
水増しすんな、フォロワー682人だろ
http://stackoverflow.com/questions/tagged/meteor

>>62
meteor厨がこのスレあらしてるJSの狂信者
65デフォルトの名無しさん:2013/04/21(日) 10:34:19.98
>>64
すまん、質問数とフォロワー間違えてた
まあ、600でも結構多いと思うけど
既にsinatraくらいの質問数だしな
66デフォルトの名無しさん:2013/04/21(日) 10:40:46.05
荒らしてると思ってるようだが、次世代を適確にキャッチアップして
情報を流していると言って欲しいな

そりゃまあ時代の流れについていけずに
受け入れられない気持ちは分かるが

悪いことは言わないから、javascriptやmeteor、nodeあたりの
情報はしいれていた方がいいぞ
将来的にも仕事が欲しいならな
67デフォルトの名無しさん:2013/04/21(日) 10:41:08.80
フォロワー数で価値を見るアホがいると聞いて
68デフォルトの名無しさん:2013/04/21(日) 10:43:05.66
>>59
時間経過と密接だろw
馬鹿かお前
69デフォルトの名無しさん:2013/04/21(日) 10:46:31.59
>>67
良いものは自然と人気が出るんだから、
人気やユーザ数をはかるよい指標になるだろ

google trendでは検索数だからあてにならない
違う意味の検索結果も反映されてしまう。
70デフォルトの名無しさん:2013/04/21(日) 10:49:40.02
>>68
フォローとのタイムラグなんて誤差レベルだ
本当にリリースされたばかりでもなければ時間は関係ない

古いものでも人気がなくなったものはちゃんとフォロワー減ってる。
使わなくなって乗り換えればフォロー外すのがふつうだからだ
71デフォルトの名無しさん:2013/04/21(日) 10:50:42.48
Meteorとかあの手のMVVMって、そもそもMicrosoftが提唱したデザインパターンだよな。
72デフォルトの名無しさん:2013/04/21(日) 10:51:58.14
まあフォロワー数は知名度と注目度がある程度分かると思う
時系列のグラフが出ないのが難点だが
trendsはprogrammingとかweb frameworkと言った言葉と一緒に
検索すれば、関係ないのがフィルターされて結構使えると思う
73デフォルトの名無しさん:2013/04/21(日) 10:53:39.23
>>71
起源は分からないけど、asp.net mvcの制作者たちも、meteorは相当意識してる
見たいだね
そういうブログ見かけた
74デフォルトの名無しさん:2013/04/21(日) 10:53:46.88
逆に、乱立は不人気の証拠か?
人気だからモノマネが乱立するという解釈もできるんだが
75デフォルトの名無しさん:2013/04/21(日) 11:00:38.19
>>74
それは基本的には人気ある証拠
ただ、まだまだ不満がたくさんあったり、新しい概念が
出てきすぎて試行錯誤してる段階だという意味でもある
76デフォルトの名無しさん:2013/04/21(日) 11:14:50.05
ブラウザのJSの実装が進んで、クライアントサイドプログラミングがし易い状況になったから、AngularとかKnockoutとかMeteorとかMVVMのフレームワークがワラワラ出て来たけど、Windowsでデスクトップアプリ作って来た人にはお馴染みの開発手法でしょ。
77デフォルトの名無しさん:2013/04/21(日) 11:19:19.28
このスレってMeteorを実際に使ってるヤツ居るの?
それとも使った事も無いのにすげーって言ってるの?どっち?
78デフォルトの名無しさん:2013/04/21(日) 11:21:31.53
結局Javaのフルスタックフレームワークあるじゃんw

違うというのなら、どのフレームワークは違うのか
その名前言ってみ。
79デフォルトの名無しさん:2013/04/21(日) 11:22:11.33
Meteor使ったことあるかないかと
Meteorがフルスタックという事実は
無関係。話をすり替えようとしてるよね。
80デフォルトの名無しさん:2013/04/21(日) 11:27:29.62
>>79
いや、そういうんじゃなくて、使ってるヤツが居るなら質問したかったんだよ
Meteorって明らかにコード書きやすいけど、あれってPythonのgeventみたいに
非同期IOを同期っぽく書けるようにしたのか
それともIOが非同期じゃないのか分からなかった

いや、ネットでちょっと調べたらIOが非同期じゃないって書いてあったんだけどね
81デフォルトの名無しさん:2013/04/21(日) 11:27:57.19
というか、使うのは非常に簡単だよ
コマンドライン一つで全世界に公開しちゃえるしw
82デフォルトの名無しさん:2013/04/21(日) 11:39:06.52
Meteorがフルスタックじゃないと言ってる奴はいないのか。

じゃあ結論でたな。JavaScriptにフルスタックフレームワークはある。

この前提でいいならということなら、話を進めようか。
83デフォルトの名無しさん:2013/04/21(日) 11:40:34.50
>>80
すまん、meteorのIoってどの部分のことを言ってるのかよく分からん
単純にリクエストのやり取りのこと?
その部分はnodeだと思うんだけど
84デフォルトの名無しさん:2013/04/21(日) 11:55:53.07
>>83
この辺にも書いてあるんだけど、どうやら普通のnode.jsスタイルで書いた場合と
違ってリクエストに対し同期になるみたいね

http://docs.meteor.com/

> In Meteor, your server code runs in a single thread per request,
> not in the asynchronous callback style typical of Node.
> We find the linear execution model a better fit for the typical server code in a Meteor application.
85デフォルトの名無しさん:2013/04/21(日) 12:02:07.73
>>84
英語がわからない人のために、Google翻訳にかけましたよ。

唯一のサーバ資産は、JavaScriptです。流星は、クライアントと公共のサブディレクトリの下に何を除く、
すべてのJavaScriptファイルを収集し、繊維内部にNode.jsのサーバー・インスタンスにそれらをロードします。
メテオでは、あなたのサーバーのコードではなく、
ノードの典型的な非同期コールバックのスタイルで、リクエストごとに単一のスレッドで実行されます。
我々は、線形実行モデル流星アプリケーションの典型的なサーバーコードのためのより良いフィットを見つける。
86デフォルトの名無しさん:2013/04/21(日) 12:19:06.67
まあ確かに言われてみれば、同期スタイルでdbいじるコードとか書くけど、
実際に同期なのかね?
Google翻訳の方には「繊維」とか出てるけど、これfiberだよね?
なら本当は非同期だけど同期スタイルで書けるってことでしょ
87デフォルトの名無しさん:2013/04/21(日) 12:33:45.01
英語がわからないの人のためにGoogle翻訳にかけました




wwww
お前が一番わかってないんじゃん
88デフォルトの名無しさん:2013/04/21(日) 12:38:31.20
>>86
お、使ってる人っぽい。
確かに同期っぽく書いてるからって同期してるとは限らないから
質問したんだけど、非同期でFA?
89デフォルトの名無しさん:2013/04/21(日) 13:00:33.20
    |  |                  ___   
 \      /          . ャ:´/ /: : :l: :`ヽ、         \ | | /
\          /      /:/: : ;{: : : : : ハ :`ヽ.    \      /
_  争  も  _   / : / / ヘ.: : : : : : : : :!:.ヽ: :\   _   争  _
_  え  っ  _   ,:':.:/,' /   丶: : : : : : : ト.: :ヘ: : ヽ _   え  _     
_   : . と   _  /: : : /|/  _    ` 三_‐ミ!:l: : :i: : ハ _   :   _   
_  :      _ ' : : : i: :| '´ 二 :::::::::: 二¨¨` !: : : : : : : i _   :   _  
             |: :〃:|: :i. 不j下:::::::::::不:j下 .' : : : : : : :.|
/          \  !: :|: : : :ム ー' ::::::::::::: ー' /: :,: : : : : : リ /        \
 /  |  |  \   ヘ: : ; ; ;、_ヘ_''   ._' _.  ''/:.ィ: : : : //   / | | \
               `<: : : ≫ .     ´ヤ: : : : :,: イ  
                  乂`: : : リ≧‐‐≦、ム: : :_:ノ   
                     `ト: :ヽニr〒ニ{: : : リ=、   
                     ≠ゝ:、メ、,ゝl、γ: : ィ≠ ヽ
                  {  乂:_:リ./ | 弋彡'/     !
90デフォルトの名無しさん:2013/04/21(日) 13:56:09.33
お題

StackOverflow の API を使ってスクリプト言語の人気を調査しなさい
https://api.stackexchange.com/docs

どんなデータを取得してどう評価するかは問わない
ただしレスポンスは gzip または deflate でもらうこと


例)タグ付けされた質問の数で人気調査

$ ./stackoverflow perl python ruby php javascript
php: 376924
javascript: 363342
python: 181287
ruby: 70827
perl: 26347
(quota: 299/300)

>>55 みたいにフォロワー数も拾えればと思ったんだけど見当らなかった)
91デフォルトの名無しさん:2013/04/21(日) 14:00:12.71
お題

ifとelseで半分こしなさい
92デフォルトの名無しさん:2013/04/21(日) 16:24:32.20
>>90
# Python3

import sys, io, gzip, json
from urllib.request import urlopen

for arg in sys.argv[1:]:
    src = urlopen('https://api.stackexchange.com/2.1/tags/%s/info?'
                  'site=stackoverflow' % arg).read()
    d = json.loads(gzip.GzipFile(fileobj=io.BytesIO(src)).read().
                   decode('utf-8'))['items'][0]
    print(d['name'], d['count'])
93デフォルトの名無しさん:2013/04/21(日) 16:35:04.62
毎度思うんだけど、コードの違いって
ほとんどがライブラリの違いになってるよね?

もしライブラリが同じという前提に経つと

for(arg in sys.argv[1]) {
  var src = urlopen(sprintf('https://api.stackexchange.com/2.1/tags/%s/info?'
        'site=stackoverflow', arg)).read() ;
  var d = json.loads(gzip.GzipFile(fileobj=io.BytesIO(src)).read().
        decode('utf-8'))['items'][0];
  print(d['name'], d['count']) ;
}

大抵同じようにかけるかな。
94デフォルトの名無しさん:2013/04/21(日) 17:12:51.95
>>93
> もしライブラリが同じという前提に経つと

何でそんな無意味な前提に立つの?アホなの?

あとJavascriptはこの御題に有利だぜ?
jsonを直接evalできるから。
95デフォルトの名無しさん:2013/04/21(日) 17:21:09.50
大体同じように書けるというなら、スライス記法まで模倣するべきだな
96デフォルトの名無しさん:2013/04/21(日) 18:10:14.18
meteorが注目を浴びている理由って、どこぞのエンジェルが莫大な額を投資したからだろ
ぱっと見でも、express.jsの方が普通に使われてる
97デフォルトの名無しさん:2013/04/21(日) 18:11:20.31
>>93
同感
言語そのものというよりも、ライブラリが生産性を分けている
ただ、JavaScriptは完璧なクロージャを備えていたから
イベントモデルや非同期処理と相性が良かったという面や、
JSONのような記法を備えていたからDSLのような使い方が出来た
という側面も忘れては行けない
98デフォルトの名無しさん:2013/04/21(日) 18:12:13.62
どのみち新しい仕組みなんてのは、
枯れてきたところでMicrosoftクンさんが追従してくれるから、ASP.NETで安心だよね
99デフォルトの名無しさん:2013/04/21(日) 18:25:23.68
まあ確かにMicrosoftはそういう安心感があるよなあ
100デフォルトの名無しさん:2013/04/21(日) 18:35:41.65
>>90
PowerShell
gzip とか deflateとか知らんからお題満たしてないかも

$url = 'https://api.stackexchange.com/2.1/tags/{0}/info?site=stackoverflow'
$args | % { iwr ($url -f $_) } | ConvertFrom-Json | % items | ft name, count -a
# 実行方法は>90と同じ
101デフォルトの名無しさん:2013/04/21(日) 18:36:00.09
#python2 2行変更
from urllib import urlopen
print d['name'], d['count'], "|",

$./stack_lang.py lua qt4 qt5 laravel-3 laravel-4 laravel php
lua 3605 | qt4 3768 | qt5 367 | laravel-3 130 | laravel-4 222 | laravel 1022 | php 376976 |

バージョン変わると書き方変わったりするし
何とも言いがたいもんがあるか
102デフォルトの名無しさん:2013/04/21(日) 19:23:10.27
淡々とコードが貼られる言語と、
フレームワークだ何だという話題のときだけ出てきて
実際に動くコードは決して貼られない言語があるな
103デフォルトの名無しさん:2013/04/21(日) 19:35:35.58
>>93
豊富なライブラリという意味ではスクリプト言語のなかではPythonが頭ひとつ抜けてるわ
104デフォルトの名無しさん:2013/04/21(日) 20:18:39.86
>>102
Webアプリってレベルで考えると、コード片なんて役に立たないから
使い捨てコードだけで考えればRubyがベストでも、
なんだかんだでjavascriptがバランス取れてるってのが世界の選択だよ
105デフォルトの名無しさん:2013/04/21(日) 20:23:02.06
Javascript the language of the world!
106デフォルトの名無しさん:2013/04/21(日) 20:31:57.14
っ論より証拠
107デフォルトの名無しさん:2013/04/21(日) 21:04:13.84
まあ御題も下らないけど、JS厨の逃げ口上は面白い
その言い訳書き込む時間でコード書けるだろと
108デフォルトの名無しさん:2013/04/21(日) 21:13:40.27
こういうのがお望みなのか
var zlib = require('zlib');
var stream = require('stream');
var https = require('https');
https.get("https://api.stackexchange.com/2.1/tags/meteor/info?site=stackoverflow").on('response', function(res) {
var output = zlib.createGunzip();
res.pipe(output);
var body = "";
output.on('data', function (data) {
body += data.toString();
});
output.on('end', function() {
var data = JSON.parse(body).items[0];
console.log(data.name + ' ' + data.count);
});
});
109デフォルトの名無しさん:2013/04/21(日) 21:20:30.10
JS厨の中で一人だけnode.jsを実際に使ってる人がいるね。
いつもインデントしてないという特徴がある。
110デフォルトの名無しさん:2013/04/21(日) 21:35:18.71
むしろ、実際に使うやつはバカ
111デフォルトの名無しさん:2013/04/21(日) 21:42:59.17
metasploit規模のApplicationって何があるんだろ
112デフォルトの名無しさん:2013/04/21(日) 21:43:21.41
>>109
2chにソースコード貼ったらインデントが消えてるんだよ
113デフォルトの名無しさん:2013/04/21(日) 22:23:29.45
node.jsはon('foo', function(bar){}が好きなんだな。
114デフォルトの名無しさん:2013/04/21(日) 22:34:53.21
1000 名前:デフォルトの名無しさん [sage]: 2013/04/20(土) 16:46:54.46
>>999
tibeなんて、検索エンジンで引っかかった数見てるだけだから
あんまり開発言語の人気を表してない
google trendsで「Javascript programming」とでもやった方がマシかもw
115デフォルトの名無しさん:2013/04/21(日) 22:42:41.29
TIBOEでCが強い理由が解明されたw
組み込みとかで使われてるのかなと思ったら単に検索エンジンで引っかかりやすいからだったw
116デフォルトの名無しさん:2013/04/21(日) 22:47:48.70
いくらなんでもこれはちょっとぶれすぎだわな
http://www.tiobe.com/content/paperinfo/tpci/JavaScript.html
誤差が大きすぎて調査結果に疑問が残る

こっちの方がはるかに安定してて信頼できる
http://www.google.com/trends/explore#q=javascript%20programming
117デフォルトの名無しさん:2013/04/21(日) 22:50:34.62
TIBOEでRubyが思ったより順位が高い強い理由が解明されたw
単に宝石のRubyが検索エンジンで引っかかりやすいからだったw
118デフォルトの名無しさん:2013/04/21(日) 22:57:31.92
pythonもモンティ・パイソンが!とか言うんだろうな
JS信者のキモさは言語に似て限界突破してるしずっとこのスレに粘着して糞工作続けてて目障りすぎる
119デフォルトの名無しさん:2013/04/21(日) 23:00:48.53
>>118
しかもソースコードもかけちゃうし、やたらと詳しいしなw
120デフォルトの名無しさん:2013/04/21(日) 23:01:43.17
無知極まるし理解力ないし>>119みたいな恥ずかしい自画自賛を繰り返すし最悪なんだが
121デフォルトの名無しさん:2013/04/21(日) 23:01:51.28
モンティ・パイソン か パンティ・モイソン かしらんが
キモいわw
122デフォルトの名無しさん:2013/04/21(日) 23:04:07.68
>>120
3年後にJavascriptの時代が来ても知らんぞw
123デフォルトの名無しさん:2013/04/21(日) 23:04:27.40
124デフォルトの名無しさん:2013/04/21(日) 23:05:34.32
>>123
pythonが高いのだけ納得がいかんわ
なんでこんなに高いんだ
125デフォルトの名無しさん:2013/04/21(日) 23:08:53.38
Pythonはニシキヘビが引っかかってるんだろ
126デフォルトの名無しさん:2013/04/21(日) 23:11:36.84
programmingも付いてるんだから、それはない
127デフォルトの名無しさん:2013/04/21(日) 23:19:51.43
128デフォルトの名無しさん:2013/04/21(日) 23:22:15.61
129デフォルトの名無しさん:2013/04/21(日) 23:24:30.88
C ProgramingってC++も入っちゃってるだろ
130デフォルトの名無しさん:2013/04/21(日) 23:25:37.03
>>127-128

おお、これは信頼できそうな数値だ!
131デフォルトの名無しさん:2013/04/21(日) 23:26:05.84
もう入ってんねんからええやんけ
132デフォルトの名無しさん:2013/04/21(日) 23:27:07.13
つまり実質一位はJavaか
CはC++と共同で一位
133デフォルトの名無しさん:2013/04/21(日) 23:28:06.78
下手するとCはObjective Cとかも相当入ってそうだしな
JavaはJava Scriptが入ってる可能性もあるが
134デフォルトの名無しさん:2013/04/21(日) 23:29:22.91
結局tiobeと同じような結果じゃね?
135デフォルトの名無しさん:2013/04/21(日) 23:29:39.51
>>129
CにはC++は入ってないぞ。
C++をリスト加えてみろ。
お前の想像が正しければ、C > C++ になるはずだろ?

http://www.google.co.jp/trends/explore#q=Javascript%20programming%2C%20Java%20programming%2C%20C%20programming%2C%20C%2B%2B%20programming&cmpt=q
136デフォルトの名無しさん:2013/04/21(日) 23:31:08.80
>>135
いやいや、なんかその値はおかしいぞ
なんだその現象は
何が起こってるのかすら俺には分からんw
137デフォルトの名無しさん:2013/04/21(日) 23:32:26.90
>>134
PHPやJavascriptの値が大きく違うような気がする
138デフォルトの名無しさん:2013/04/21(日) 23:33:28.14
>>135
C++は++が変に解釈されてしまうので
programmingと順序を入れ替えないと変な結果になる

http://www.google.co.jp/trends/explore#q=Javascript%20programming%2C%20Java%20programming%2C%20programming%20C%2C%20programming%20C%2B%2B&cmpt=q
139デフォルトの名無しさん:2013/04/21(日) 23:42:59.35
>>138
つまり、
Java 15
C 12
C++ 10

って感じかね
140デフォルトの名無しさん:2013/04/21(日) 23:45:39.19
だがよく考えてみてほしい。

普通後ろにprogrammingなんてつけるだろうか?
普通は付けない。なぜならつけなくても
プログラム言語として検索できるからだ。

ただひとつ、Cを除いて。


C
アニメ
『C』(シー)は、竜の子プロダクション制作の日本のテレビアニメ。
2011年4月から6月にかけてフジテレビ・ノイタミナ枠などで放送されていた。
副題には『THE MONEY OF SOUL AND POSSIBILITY CONTROL』が表記されている
141デフォルトの名無しさん:2013/04/21(日) 23:48:15.73
そりゃ日本だけだろ
142デフォルトの名無しさん:2013/04/21(日) 23:49:43.33
あとグーグルの検索結果はユーザーの地域だけじゃなく
検索履歴やgmailのやりとりなどで表示結果を変えるから
お前の結果がおれと同じという保証はない
143デフォルトの名無しさん:2013/04/21(日) 23:52:49.63
>>139
本当にC++を検索したい人の多くが
Cで検索するならね

なお、googleで"C programming"で検索すると
C++だけのページは少なくとも上位には出てこないので、
google自体はCとC++は違う単語として認識している
144デフォルトの名無しさん:2013/04/21(日) 23:55:20.04
JSのうんこっぷり
145デフォルトの名無しさん:2013/04/21(日) 23:56:47.29
>>143
俺の場合一番上にいきなり、C++との合同ページが出てきて、9番目くらいに
Objective Cのサイトが出てくるぞ
確かにC++のページは結構少ないみたいだけど
146デフォルトの名無しさん:2013/04/21(日) 23:56:54.92
web専用スクリプトであるJSやRubyが他の汎用言語と比べて上位に来るわけない
147デフォルトの名無しさん:2013/04/21(日) 23:57:03.11
Cを入れないでいいのならProgramingはつける必要ないと思う
というか普通付けないProgramingのせいでデータの信頼なくなってるだろ?

http://www.google.co.jp/trends/explore#q=Javascript%2C%20Perl%2C%20PHP%2C%20Python%2C%20Ruby&cmpt=q
148デフォルトの名無しさん:2013/04/21(日) 23:59:52.99
>>147
pythonとruby以外ものすごい勢いで落ち込んでるなw
JSは人気急上昇中じゃなかったの???
149デフォルトの名無しさん:2013/04/21(日) 23:59:55.99
Programmingをつけるのと付けないのでここまで違う。

・つけた場合
Python 43
PHP 38
Perl 31
Ruby 18
JavaScript 14

・つけない場合
PHP 55
JavaScript 34
Python 14
Perl 13
Ruby 13
150デフォルトの名無しさん:2013/04/21(日) 23:59:57.62
>>147
それだとブラウザのJavascriptが引っかかってJavascriptが有利な上に、
ニシキヘビやら宝石やらが引っかからないPerl(真珠とは綴りが違う)が不利
151デフォルトの名無しさん:2013/04/22(月) 00:00:54.93
>>150
Googleの場合は、検索ページ数じゃなくて
検索数だから問題ないよ。
152デフォルトの名無しさん:2013/04/22(月) 00:03:33.55
>>151
プログラミングやらない人でもJavascriptは検索しそうだけどね
Javascript off とかさ
153デフォルトの名無しさん:2013/04/22(月) 00:03:47.97
>>148
「Javascriptを有効にするやり方」とか「JavaScript素材集」みたいなサイトが
下火になってるだけだろ
154デフォルトの名無しさん:2013/04/22(月) 00:04:33.06
>>153
つまり、全体的に下火になってるってことだよね
155デフォルトの名無しさん:2013/04/22(月) 00:06:00.10
>>154
まあブラウザの設定ではJavascript当たり前になっちゃったし
素材集とかでホームページ作る時代でもないしね
全体的には下火なんじゃないのw
156デフォルトの名無しさん:2013/04/22(月) 00:06:38.99
苦しいのうw
157デフォルトの名無しさん:2013/04/22(月) 00:07:00.03
つまりプログラミング目的で検索してる奴に絞ると>>123になると
158デフォルトの名無しさん:2013/04/22(月) 00:07:56.73
そう「Javascript Programming」は人気上昇中
ここから加速度的に上がる
今はその兆しが見えかかった段階
159デフォルトの名無しさん:2013/04/22(月) 00:10:28.79
でも、Javaが予想以上に凄いな
やっぱサーバーサイドといえばJavaなんだな
160デフォルトの名無しさん:2013/04/22(月) 00:16:24.06
>>159
数年前のPHPも半端無いしな。もうオワコンっぽいが
クソ言語でも使われるんだよなあ、JSとかまさにその典型だろ
デファクトスタンダードでこの検索数ってどんだけ嫌われてんだというね
JSを使う必要がないところでは一切使われてないんだろうな
代替がある言語は好きで使ってる数だが
161デフォルトの名無しさん:2013/04/22(月) 00:18:29.63
俺が言いたいのは、Programing というキーワードはデータを歪めないのか?ってことだよ。

どの言語にも存在するであろう if をつけてみる

・if
http://www.google.co.jp/trends/explore#q=Javascript%20if%2C%20Perl%20if%2C%20PHP%20if%2C%20Python%20if%2C%20Ruby%20if&cmpt=q
PHP 84, JavaScript 67, Perl 27, Python 21, Ruby 8

・同様にfor
http://www.google.co.jp/trends/explore#q=Javascript%20for%2C%20Perl%20for%2C%20PHP%20for%2C%20Python%20for%2C%20Ruby%20for&cmpt=q
PHP 74, JavaScript 51, Python 28, Ruby 23, Perl 21

・object
JavaScript 54, PHP 18, , Python 8, Perl 4, Ruby 3

以下偏ったキーワード

・Perlにしかなさそうなscalar
http://www.google.co.jp/trends/explore#q=Javascript%20scalar%2C%20Perl%20%20scalar%2C%20PHP%20%20scalar%2C%20Python%20%20scalar%2C%20Ruby%20%20scalar&cmpt=q
Perl 33, PHP 5, Python 1, JavaScript 0, Ruby 0

・PerlとJavaScriptにはないclass
http://www.google.co.jp/trends/explore#q=Javascript%20class%2C%20Perl%20class%2C%20PHP%20class%2C%20Python%20class%2C%20Ruby%20class&cmpt=q
PHP 72, JavaScript 39, Python 19, Ruby 11, Perl 4

・PythonとRubyにあるdef
Python 56, Ruby 23, PHP 5, JavaScript 3, Perl 0
162デフォルトの名無しさん:2013/04/22(月) 00:19:11.50
いくつかリンク入れ忘れたw
163デフォルトの名無しさん:2013/04/22(月) 00:19:42.47
164デフォルトの名無しさん:2013/04/22(月) 00:22:58.51
165デフォルトの名無しさん:2013/04/22(月) 00:23:06.03
>>161
ifとかforで検索する奴は低能だろ

あれ?PHPとJavascriptが多いな?
なるほど納得できるw
166デフォルトの名無しさん:2013/04/22(月) 00:24:04.14
>>163
そりゃ、CoffeeScriptのwikiだとそうなるだろw
JavaScript比定がCoffeeScriptの存在意義だぞ
167デフォルトの名無しさん:2013/04/22(月) 00:25:41.13
検索数ベースでの比較だと、
どういうキーワードとるかで結果は大幅にかわってしまう

StackOverflowのフォロワー数のがあてになると思うわ

php, Python,C#, Javaは30,000人越えしてるが、perlは6200人くらい。
コードベースは多いが、新規で興味を持っている人は少ないという実態を反映してる。
Rubyは14,000人。

Railsはフレームワークではトップなのに、Rubyタグのフォロワーは少ない。
RubyがRails専用言語といわれるほどRailsに偏った利用実態をよく反映してる。
168デフォルトの名無しさん:2013/04/22(月) 00:26:49.23
169デフォルトの名無しさん:2013/04/22(月) 00:32:50.08
科学、数学、統計、自然言語処理、機械学習などの関連キーワードではPythonの圧勝
170デフォルトの名無しさん:2013/04/22(月) 00:36:11.00
languageと組み合わせるのを忘れていた。
本来ならこれが一番最初に来るべきじゃないか
http://www.google.co.jp/trends/explore#q=Javascript%20language%2C%20Perl%20language%2C%20PHP%20language%2C%20Python%20language%2C%20Ruby%20language&cmpt=q

PHP 59
Python 47
Ruby 34
JavaScript 33
Perl 27

CとJavaに入れ替えてみた(※括弧の中は上の比率に合わせたもの)
http://www.google.co.jp/trends/explore#q=Javascript%20language%2C%20Perl%20language%2C%20PHP%20language%2C%20Java%20language%2C%20C%20language&cmpt=q
PHP 5 (59)
Java 15 (177)
C 41(483)
171デフォルトの名無しさん:2013/04/22(月) 00:41:09.38
Perlは完全にPythonに抜かれた
PHPとJSは今の傾向が続けばPythonに抜かれそう
172デフォルトの名無しさん:2013/04/22(月) 00:50:38.11
JSはクライアントサイドの唯一の選択肢なので
これ以上変わらないと思うけど。

http://www.google.co.jp/trends/explore#q=JavaScript%2C%20CoffeeScript%2C%20TypeScript&cmpt=q
CoffeeScriptってデータに出ないレベルだしね。

Programmingつけてやっとでる
http://www.google.co.jp/trends/explore#q=JavaScript%20Programming%2C%20CoffeeScript%20Programming%2C%20TypeScript%20Programming&cmpt=q
173デフォルトの名無しさん:2013/04/22(月) 00:52:47.75
JSの派生言語が量産されたのはJSが糞だからだけど
JSの検索数が減ってるのは派生言語に分散してるからではないよw
174デフォルトの名無しさん:2013/04/22(月) 00:57:05.71
>>173
> JSの派生言語が量産されたのはJSが糞だからだけど
それは間違い。JavaScriptの派生言語が増えているのは、
単にブラウザで動くのがJavaScriptだけだから、
JavaScriptの派生言語にするしかないだけ。

本質的には、違う言語が出現した。それだけの話。
新しい言語が出来たのは、既存の言語が糞だったから。とか言うわけ?


> JSの検索数が減ってるのは派生言語に分散してるからではないよw
最近は増えてきてると思うが?
175デフォルトの名無しさん:2013/04/22(月) 01:01:45.12
JSが糞だから、わざわざコンパイラ作ってまでJS以外の言語で書こうとするんだよ
176デフォルトの名無しさん:2013/04/22(月) 01:02:43.18
C言語が糞だったからJavaScriptを作った。
177デフォルトの名無しさん:2013/04/22(月) 01:04:37.28
>>175
世の中にいろんな人がいる。
クソと思う奴もいれば、
そのJS以外の言語の方をクソだと思う奴もいる。

どちらをそう思うかは、データによって示されている。
178デフォルトの名無しさん:2013/04/22(月) 01:10:09.92
>>174
>新しい言語が出来たのは、既存の言語が糞だったから。とか言うわけ?

CoffeeやTypeに関しては、その通りだよ
179デフォルトの名無しさん:2013/04/22(月) 01:10:47.55
JSが糞じゃないとか言ってる奴は頭が逝ってるから会話は成立しないと思うけど
180デフォルトの名無しさん:2013/04/22(月) 01:13:44.18
>>178
違う。

糞だったからではなく、
作者が糞だと思ったから。

「糞だと思ったから」はただの主観にすぎない。

別の言語を作らずに、JavaScriptを改良していった方がいいという意見も多い。

JavaScriptを変更したら互換性がなくなって古いブラウザで動かなくなる。
という問題は、とある言語が教えてくれた。変換すれば良い。
181デフォルトの名無しさん:2013/04/22(月) 01:14:31.78
Googleはもっと早い段階でDartに移行させるべきだった。
AndroidもGoで開発させるべきだった。

結局JavaとJavascriptと言った性的・動的言語の二大糞を延命させてしまったのがGoogle
182デフォルトの名無しさん:2013/04/22(月) 01:14:44.96
>>179
あぁ、そうだね。自分のことをよくわかってるね。
183デフォルトの名無しさん:2013/04/22(月) 01:15:22.10
>>181
あ、知ってる。

自分の気に食わない者は
全部クソって言っちゃう人でしょ?

よくいるーw
184デフォルトの名無しさん:2013/04/22(月) 01:15:36.70
>>180
お前の理屈だと糞な言語はないということになるじゃないか
JSの改良だの変換だの、とにかくその辺は終わってる
そういうプログラミングに関わる必要がなくて本当に良かった
JSを好きでやってる人はいないし、嫌々使わなければならない人には本当に同情する
185デフォルトの名無しさん:2013/04/22(月) 01:18:06.72
>>184
何いってんだ?
糞な言語の定義は、生まれたけど普及しなかった言語でいいだろ。
CoffeeScriptとか、少なくとも今はこの定義に当てはまってる。
186デフォルトの名無しさん:2013/04/22(月) 01:19:21.39
そりゃ技術は発展するし、延命させられた旧世代言語が糞なのは仕方のないことで
それは普通に認めるべきだろう
でも世の技術書は盲目的に褒めるだけだよね、まあそうしないと売れないのだろうが
C言語くらいじゃね?この言語はここが糞だから気をつけろと堂々と書いてあるのは
187デフォルトの名無しさん:2013/04/22(月) 01:21:14.16
>>185
それはお前に都合の良い定義なのだろうなw
普及したら糞じゃないとか頭大丈夫か?
じゃあお前は一生パンチカードでプログラミングしてろよ
あれだって一時期は主流だったんだからな
188デフォルトの名無しさん:2013/04/22(月) 01:27:05.36
>>184
電球あるよな。LED電球に置き換わってきている。
これは電球がクソであることになるのか?

以前より優れたものが出来たってだけで
以前のものがクソってことにはならないだろ。

なんでクソかそうでないかの二元論になってるんだ?
過去のものがあってこそ、新しいものが出来るんだよ。

新しいものに移行したら、改良されたってことをでいいじゃないか
古いものに感謝してもディスる必要はない。

で移行したか?そのJavaScriptを置き換えるものに。

初期のLED電球と同じだ。一部の点では優れているかもしれないが
問題点が残っており、移行するメリットが少ない。
これは、一部を除いて、以前の物の方が優れている。
つまり新しく作られたものの方がクソってこだよ。
189デフォルトの名無しさん:2013/04/22(月) 01:30:14.12
>>188
いや、以前の電球は明るさの質もエネルギー効率も悪くて糞だろ。当然だ
時代遅れを正当化しても迷惑がかかるだけ
何が新しいものの方がクソだよ。老害にも程がある
190デフォルトの名無しさん:2013/04/22(月) 01:33:47.48
>>187
パンチカードをクソだと言うつもりはないよ?
当時はあれが最先端だった。あのおかげで今の発展がある。

だけど、今は使うつもりはないよ。なぜなら、もっといいものがあるから
全ての点で優れているものがあり、それが一般に普及しているから。

でもな、CoffeeScriptはないな。
あれはできることがJavaScriptと大差ない上に違う言語になってる。
標準化もされていない長続きしそうもない言語

JavaScriptは標準化され多数の人が関わっており
将来のバージョンアップ計画もでている。
それを超えるだけの信頼度をCofeeScriptはいつ獲得するんだい?
191デフォルトの名無しさん:2013/04/22(月) 01:35:04.65
>>189
じゃあなぜLED電球ができてから
今まで普及していなかったのか考えてみろよ。
LED電球が出来たのはいつかね?

問題点がないのであれば、出来たらすぐに普及する。
問題点があるということは、それはクソだということだ。
192デフォルトの名無しさん:2013/04/22(月) 01:38:09.51
>>191
じゃあ今の電球も問題点があるからクソだということになる
普及してる、してないという指標がおかしい
歴史を見れば競合製品でどれをとっても優れてたものが負けたこともある
普及するかしないかは運の要素も強い
馬鹿は世界一売れているハンバーガーが世界一美味いと言うがね
193デフォルトの名無しさん:2013/04/22(月) 01:40:16.06
新しいものはまだ普及してないからクソという理屈は意味不明
194デフォルトの名無しさん:2013/04/22(月) 01:40:48.49
CoffeeScriptは宣伝聞く限り優れていると思った。
JavaScriptコードの半分の量ぐらいでかけると宣伝されていた。

そして比較コードを見た。
確かに行数が減っていた。

自分で使ってみた。確かに行数は減るが、
} だけの行みたいなものが消えただけ。
大きく減るのは自動補完もできそうな、functionとreturnの文字数。
改行、スペースを除いて全体的な文字数で計算すると9割まで減れば良い程度だった。
195デフォルトの名無しさん:2013/04/22(月) 01:43:27.44
>>192
問題点がないものなんてねーよ。
お前は、問題点がある=クソなんだろう?

どんなものにも問題点はある。問題点=クソという定義なら
CoffeeScriptもクソになる。

俺はそれは問題点があってもクソという事にはならないって
言ってるんだよ。どんなものにも問題点はある。
少なくとも今はCoffeeScriptの方が大きな問題点がある。
196デフォルトの名無しさん:2013/04/22(月) 01:44:11.17
coffeeはrailsの標準サポートだけあって、rubyライクにかけるからrailsと同時に使うとストレスなく書ける
197デフォルトの名無しさん:2013/04/22(月) 01:44:56.63
>>193
> 新しいものはまだ普及してないからクソという理屈は意味不明

だからなに? 新しいものでクソなものもあるだろう?

新しくて普及してないからクソだと言ってるのではなく、
普及するまでは、他人をクソ呼ばわりする資格が無いってだけ。
198デフォルトの名無しさん:2013/04/22(月) 01:45:19.79
>>194
それは「Coffeeらしい」コーディングができずにJS脳で書いてる可能性が高い
だが仮にどんだけCoffeeらしく書こうが、JSからは逃れられない
JSが糞だから代替を作りたいという意図はわかるが、そのJSに依存してる時点で
最初から終わってる言語とも言える。確かにお前の言うとおりクソだな
199デフォルトの名無しさん:2013/04/22(月) 01:45:50.99
>>198
じゃあ、文字数ベースで大きく差が出来る
コードを書いて示してくれ。
200デフォルトの名無しさん:2013/04/22(月) 01:46:33.87
>>197
それはお前に評価能力がなくて他人に責任転嫁してるだけ
糞だから糞だと言ってるだけ
普及してても糞は糞。あたりまえだろ。お前が何を必死こいてJSは糞じゃないと言い張ってるのか理解不能
201デフォルトの名無しさん:2013/04/22(月) 01:47:04.18
>>199
ちなみに、Wikipediaに
コードが減るということに対する
真実が書かれている。

http://ja.wikipedia.org/wiki/CoffeeScript
202デフォルトの名無しさん:2013/04/22(月) 01:47:36.22
>>200
お前が何に対してクソだと言ってるのか理解不能。
203デフォルトの名無しさん:2013/04/22(月) 01:51:20.32
>>199
JSに依存してる糞言語だから無理だろうし
ソースコードが短ければ良いという理屈が理解できない
perlはPythonに比べてとてつもなく短く書けるが
それが喜ばれるのはもはやシェルの付属品としてだけだろ
もちろんJavaのような冗長なクラスや型の宣言がないことがスクリプト言語の良さだから
そういう手軽さは欲しいが普通のプログラミングなら短いより分かりやすい方が優先される
Coffeeがどうなのか知らんが、お前からしたら分かりにくい糞言語なのだろう
204デフォルトの名無しさん:2013/04/22(月) 01:52:57.27
>>202
じゃあ何に対して「糞じゃない!」と反論してるんだ?
JSは完全無欠なのか?糞な所は一切ないのか?
ま、おれは汎用目的でプログラミングするからあえてJSなんて醜い言語を使うことはないけどもw
205デフォルトの名無しさん:2013/04/22(月) 01:57:07.75
>>204
「糞じゃない」ではなくどの言語にも問題はある。
全てをCoffeeScriptが超えているわけでもないのに
JavaScriptを糞というなと言ってるだけ。
206デフォルトの名無しさん:2013/04/22(月) 01:58:44.07
まったくこれのとおりだよ。

183 名前:デフォルトの名無しさん[sage] 投稿日:2013/04/22(月) 01:15:22.10
>>181
あ、知ってる。

自分の気に食わない者は
全部クソって言っちゃう人でしょ?

よくいるーw
207デフォルトの名無しさん:2013/04/22(月) 02:01:46.51
。つけてる奴は同一人物?自己レスが目立つぞ
208デフォルトの名無しさん:2013/04/22(月) 02:02:45.21
>>205
Coffeeに比べて糞だとは言ってないよw
JS系は全部糞なんだから
209デフォルトの名無しさん:2013/04/22(月) 02:04:22.32
「以前より優れている」(以前が標準で進化したんだという言い方)というか、
「以前の方は糞」(今が標準で以前の物は退化したんだという言い方)をするかで
その人の性格がよく分かるなw
210デフォルトの名無しさん:2013/04/22(月) 02:05:40.47
>>209
時代遅れ言語をそこまで擁護する意味がわからん。糞は糞だろ
聖人君子にでもなったつもりなのだろうが、馬鹿にしか見えない
211デフォルトの名無しさん:2013/04/22(月) 02:06:19.14
時代遅れっていうのは、
使われなくなってから言うもんだw

まったく思い込み激しいな。
お前ん中ではなってやつか?w
212デフォルトの名無しさん:2013/04/22(月) 02:10:12.49
じゃあなんでパンチカードは糞じゃないと言い張るんだ?
当時の人間だって糞だと思いながら使ってたと語るのに
温故知新なのか知らんがいくらなんでも無批判すぎるわ
213デフォルトの名無しさん:2013/04/22(月) 02:11:58.16
自己矛盾に陥らないために、パンチカードを擁護する必要があったんだろうな
普及しても糞は糞という事実を認めないために
214デフォルトの名無しさん:2013/04/22(月) 02:13:04.62
うはw 当時の人がゆってた。でてたきたよw
ここで自称○○の登場ですかね?
音声変えて語ってくれるんですかねw
対抗してこっちも当時の人登場させていいっすかね?w
215デフォルトの名無しさん:2013/04/22(月) 02:15:51.02
いきなり草生やして煽るだけの敗北宣言
216デフォルトの名無しさん:2013/04/22(月) 02:16:24.16
パンチカード以前を知っていれば、
パンチカードの素晴らしさも知ってるだろ。

なんだろうね、この自分の知ってる世界だけで語る人。
217デフォルトの名無しさん:2013/04/22(月) 02:18:01.45
俺百年後の未来から来たけど、
CoffeeScriptは糞ですよ。
っていう人もいるだろうな。

じゃあ糞で決定じゃないか?
218デフォルトの名無しさん:2013/04/22(月) 02:23:00.96
プラス思考の人は、俺はみんなより優れているという。
マイナス思考の人は、みんなは俺より糞だという。
219デフォルトの名無しさん:2013/04/22(月) 02:25:52.52
パンチカード以前からしたら、素晴らしい。だから何?
その仮定は今は違うってことだろ。根本的におかしい。頭がおかしい
そこまでして過去の拙さ、過ちを過大評価する意味はなんだ?
馬鹿すぎる。救いようがない
220デフォルトの名無しさん:2013/04/22(月) 02:45:31.80
今の話をすればCoffeeScriptはクソってことだよ。
221デフォルトの名無しさん:2013/04/22(月) 02:48:07.95
JSが糞だからCoffeeも糞という当然の帰結。どんな天才がいくら頑張ってもこの法則は変えられない
222デフォルトの名無しさん:2013/04/22(月) 02:49:17.35
そしてC言語はクソという答えにたどり着く

これがマイナス思考の発想
223デフォルトの名無しさん:2013/04/22(月) 02:56:53.10
そして黒人奴隷や女性差別は素晴らしいという答えにたどり着く

プラス思考の発想
224デフォルトの名無しさん:2013/04/22(月) 03:00:23.17
差別してるのはクソ呼ばわりしている方じゃね?
225デフォルトの名無しさん:2013/04/22(月) 03:14:16.81
過去の常識を素晴らしいと持ち上げてる馬鹿のことだよ
それのどこがプラス思考なのか理解できないけど
226デフォルトの名無しさん:2013/04/22(月) 03:20:23.55
誰か過去を素晴らしいと言ってる奴いるか?

過去がクソっていうやつにたいして
頭が悪いって言っているだけだろ。

ましてや現役に向かってクソとか意味不明。
227デフォルトの名無しさん:2013/04/22(月) 03:23:01.29
糞だからなんとかしようとしてる人がいるのに、糞だと言ってはいけないとか馬鹿かよ
その無批判性がどこから来るのか知りたい
勘違いしないで欲しいのは、それは間違っても「プラス思考」なんかではない
228デフォルトの名無しさん:2013/04/22(月) 03:25:04.67
お前は何とかしようとしていない。
お前はただ文句を言っているだけ。

クソだといっていい権利を持つのは
なんとかしている人だけ。
229デフォルトの名無しさん:2013/04/22(月) 03:26:51.54
まーた「貢献してない奴は文句言うな」かよ
じゃあお前も黙ってろよ。このスレに何しに来てるんだ
馬鹿を晒しに来てるのか、その目的は十分に達成できてるから帰っていいぞ
230デフォルトの名無しさん:2013/04/22(月) 03:29:28.06
普通は糞なら何とかしようとせず関わらないだろう
糞だと言われなくなきゃさっさとお前が何とかすることだな
まあJSがJSであるかぎり永遠に不可能だけど
231デフォルトの名無しさん:2013/04/22(月) 03:30:34.62
文句言っている奴って?
あぉ、糞だと文句を言ってるやつか。
232デフォルトの名無しさん:2013/04/22(月) 03:33:36.89
言語ディスにアレルギーがある奴が、こういう議論な参加しようとする意味がわからない
お花畑から出てくるなよ。現行言語へのディスのない世界とか、そもそもが噛み合わない
233デフォルトの名無しさん:2013/04/22(月) 03:35:52.33
見ての通り、はじめから「普及したものを糞って言うな!」だけ
論点はそこじゃねーだろ。小学生以下の知能だな
234デフォルトの名無しさん:2013/04/22(月) 03:37:24.24
CoffeeScriptの立場は、JavaScriptを
置き換えられてないことが証明してるだろ。

それなのに問題点がないと思っているのか?
言語のいいところ、悪いところを
素直に受け入れられない奴が何いってんだか。
技術者として恥ずかしいな。
235デフォルトの名無しさん:2013/04/22(月) 03:40:04.74
言語に関する議論をしようぜ!
よしじゃあお前

「JSは糞だ!」「JSは糞だ!」「JSは糞だ!」「JSは糞だ!」

これが議論か?w
236デフォルトの名無しさん:2013/04/22(月) 03:40:33.11
置き換えられないから素晴らしい?
ただの袋小路だろ、技術者が聞いて呆れる
237デフォルトの名無しさん:2013/04/22(月) 03:43:16.22
「糞と言うな!」「糞と言うな!」「糞と言うな!」「糞と言うな!」「糞と言うな!」

これは議論じゃないね。なんでこのスレにいるのか説明しないし
まあJS信者であることは火を見るより明らかだけど
ディスが嫌なら来なくていいよ
238デフォルトの名無しさん:2013/04/22(月) 03:49:39.21
「糞だと言うな。議論をしろ。」

正当な意見だと思うが?
239デフォルトの名無しさん:2013/04/22(月) 03:57:44.18
ちょっと前からこのスレに粘着してるJS厨さあ、それは酷すぎるよ
お前のカスすぎる駄々のせいでこうなってんだぞ
毎回そう。会話が成立しない。相手にした俺が馬鹿だった
貢献してなけりゃ意見できないとか言う奴は間違いなく議論をする気がない
ただ荒らしたいだけ。もう死ねよ
240デフォルトの名無しさん:2013/04/22(月) 04:07:48.49
JavaScriptはこれからも進化していくことが確定しているのに
何処の骨が作ったのかもわからんものを
使い続ける価値なんてあんのかねぇ。

まあJavaScript進化の糧になってくれればいいよ。
コンパイルしてJavaScriptを生成する技術は
将来のJavaScriptをコンパイルして、
古いブラウザで動かす技術として使われるから。
241デフォルトの名無しさん:2013/04/22(月) 04:15:22.15
俺は多分Javascript厨だと思うんだが、なんか最近別の
javascript厨がこのスレにいて議論に参加してるぞw
俺はCoffeeScript大好きだぞw
javascriptには欠点も多いし、実は世間のイメージとは違い、
非常に分かりにくい言語でもある
ただ、クロージャやJsonは優れていたし、プロトタイプベースは
クラスベースよりも柔軟で自由度が高かった
それが今のJavascriptの熱狂に繋がってるんだと思う
242デフォルトの名無しさん:2013/04/22(月) 04:19:11.78
世間のイメージからして非常にわかりにくい言語だし
「将来のJSを今のJSにコンパイルして古いブラウザで動かす」
とか馬鹿なこと言ってるからJSは糞なんだよ
糞JSの尻拭きをいつまでたってもやらなきゃいけない
だから今のJSが糞なら、将来のJSも間違いなく糞にしかならない
開発の分散と互換性地獄。これがJSが糞である所以。誰も否定できない
この糞に付き合える奇特なやつは、そりゃ粘着キチガイ荒らしにもなるわ
243デフォルトの名無しさん:2013/04/22(月) 04:29:40.74
まあ平行線だわなあ
開発の分散というのは何のことを言ってるのか分からないが
互換性はjqueryなどのライブラリの登場で
だいぶ吸収してくれるようになったよな
jqueryやnode、今の熱狂ぶりなど、相当優れた言語なのは明確なわけだけど
そろそろ無益な議論になってきたな
ただまあ、毛嫌いするより、普通に向き合った方が得なのにかわいそうに
とは思う
244デフォルトの名無しさん:2013/04/22(月) 04:30:00.93
>>242
理由書いてないぞw

多分自分で気づいてないと思うがな。
245デフォルトの名無しさん:2013/04/22(月) 04:33:39.50
>>243
開発リソースの分散。JS派生言語を使うとJSまで面倒みなきゃいけなくなるというゴミカス言語群をなしてるわけだ
246デフォルトの名無しさん:2013/04/22(月) 04:34:20.70
JavaScriptは標準化されてるからな。
コレが一番重要なこと。
247デフォルトの名無しさん:2013/04/22(月) 04:36:27.61
Javaと同じこと言ってるわ
それはどんなに糞言語でも嫌々でも使わなければならないというだけのことだろ
まあそんな糞分野に関わらない幸せな人は絶対に使わない言語でもあるけど
248デフォルトの名無しさん:2013/04/22(月) 04:38:14.39
>>245
それに関しては、意外とそうでもないぞ
CoffeeScriptなら、普通にCoffeescriptだけ管理していればいい
ただ、慣れるまでは生成されたソースと見比べて開発した方が
学習の点でいい
でもそれは、かえって学習コストを下げる結果になるし
両方の言語の理解が深まるし、利点だと思うけど
249デフォルトの名無しさん:2013/04/22(月) 04:42:12.03
>>248
それはお前がショボい使い方しかしてないからだろw
って、ソースを見比べて開発だって、頭おかしいw
まあ学習に良いとか言ってるからチョチョイとしか使ってないことは分かる
250デフォルトの名無しさん:2013/04/22(月) 04:44:09.17
>>249
確かにCoffeeScriptに関してはそうだな
Javascriptは仕事で使うけど
というか、お前は本格的にCoffeeScriptを使っていて文句を言っていたのか?
マジで?
251デフォルトの名無しさん:2013/04/22(月) 04:47:47.72
>>250
本格的にcoffeeを使うとどうなるかなんて、お前を除いてたくさんの人がやって結論出てる
coffeeを作るモチベーションは間違いなく正当だったけど、結果的に流行るかは難しい
それはそもそものモチベーションに起因している
生成されたJSのコードを読まなければいけないなら、最初から糞JSでやったほうがマシなんじゃないかってこと
JSを仕事で使ってるなんてかわいそうだけどね
252デフォルトの名無しさん:2013/04/22(月) 04:54:56.63
>>251
例えば、何を見て結論が出ていると思ったんだ?
確かにCoffeeScriptはまだ全然主流になれていないけど、
それを見て開発リソースの分散が問題だと結論づけてるのか?
それだと正直、ちょっと根拠が弱いなあ
自分で使ってみてそう思ったなら、理由が聞きたかったけど
まあいいや
253デフォルトの名無しさん:2013/04/22(月) 04:56:27.77
生成されたjsのコードは、慣れれば読む必要は無くなるよ
最初のうちは読む必要がある、というか読んだ方が理解が深まって
いいと思うし、かえって早い気がする
254デフォルトの名無しさん:2013/04/22(月) 04:58:09.11
CoffeeScriptは主流になってない時点で
開発リソース分散はしていない。
ほんの少しの変わり者が使ってるだけ。
開発リソースのほとんどはJavaScriptのまま。
255デフォルトの名無しさん:2013/04/22(月) 05:00:03.37
CoffeeScriptから生成したJavaScriptコードは長いけど、
普通にJavaScript書けばかなり短くかける。

js2coffeeでJavaScriptをCoffeeScriptに
変換すると長くなる。それと同じ事だ。
256デフォルトの名無しさん:2013/04/22(月) 05:01:15.43
CoffeeScriptを使いたいという同期は
単に文法が気に入らないというだけだ。

効率がどうとか短くかけるとか
そういうのは後付の理由でしか無い。
257デフォルトの名無しさん:2013/04/22(月) 05:08:04.18
まあぶっちゃけ、今じゃどの言語も使いこなしたら生産性は大差ない
Javaだって、8になったらラムダかクロージャみたいなものが入って
だいぶマシになるようだ
開発時間の大半は調査やテスト、デバッグといった言語とは関係のない
部分だし
ただ、個人的に発想が面白いし、CoffeeScriptのデモでリアルタイムに
変換されるのは遊んでて楽しいw
まあ一部の変わり者なんだろうw
258デフォルトの名無しさん:2013/04/22(月) 05:12:03.26
>>256
ちなみに、参考までに聞きたいが、JavaScriptのどのへんが気に食わない?
俺も気に食わない点はいろいろあるんだけど、君と一緒なんだろうか
259デフォルトの名無しさん:2013/04/22(月) 05:16:18.04
>>258
JavaScriptでいいと思うよ。
別に気にくわないところはない。

あえて言えば、昔、prototype.jsもなかった頃は
ライブラリがまだまだ成熟していないと感じていた。
それは今は解決している。

それぐらいなもんだ。
後は考えれば些細な問題が思いつくかもしれない程度。
260デフォルトの名無しさん:2013/04/22(月) 05:20:35.05
>>259
なるほど、多分javascriptを毛嫌いしてる人かと思ったが、
違う人か
聞く人を間違えたようだ
261デフォルトの名無しさん:2013/04/22(月) 07:24:09.97
>>260
だってプログラム書いた事ないだろそいつ
具体的な事聞いたら逃げるよ
262デフォルトの名無しさん:2013/04/22(月) 12:13:57.45
頭おかしいJS厨が二人も跋扈しててウザすぎるな
それで宣伝してるつもりなのだろうか
いかにゴミか、いかにキチガイかということはひしひしと伝わってくるが
263デフォルトの名無しさん:2013/04/22(月) 12:20:21.91
coffee大嫌いのJS厨とcoffee大好きのJS厨の茶番は見ててくだらないな
たとえばJSの文法は一般的に気に食わないと思われてるんだから
文法が違うだけのcoffeeを使う理由には十分だわ
まだ短い方が良いとか、JSの方が短いとか馬鹿な議論をしてるが、そこが問題じゃない
coffeeがJSに依存してる時点で短さはJSに依存するし
どんな言語でもデバッグという作業がある以上、そして実行されるのがJSのコードである以上
JSの糞文法からは逃れられない。ただ何とかしようって人が少なからずいるのは事実
最初から読みやすさを考慮して設計されてないし、今更どうしようもないというのが終わってる
互換性を切って仕様を変えてまで読みやすくすることはできない
264デフォルトの名無しさん:2013/04/22(月) 12:29:10.69
これからも毎日、夜通しJS厨がひたすら擁護を続けるのかと思うと気が滅入る
JSは糞じゃないって。他の言語使ったことあんのかよ
なんとか普及してるものは糞じゃないと言いたいんだろうけど、
その根拠がJavaにラムダがーとか今更何言ってんの?ラムダとか何十年前の機能だよ
周回遅れのくせに継ぎ接ぎだから糞文法だし。無理に評価するのやめたら?
しかもそれがJavaにとっては未来の話なんだから笑える。
さらに重要視してるコードの短さではJavaほど冗長なものもない。糞は糞だろ。そこは認めろよ馬鹿
しかもコイツってJSがディスられたときのみ、糞って言うな!って現れて駄々こねてるんだよな
他の言語がディスられてるときも暴れてみろよボケ
265デフォルトの名無しさん:2013/04/22(月) 12:42:44.15
Coffeeを使ってる人間は好き嫌いに関わらずJSをある程度知ってるだろう
JavaができないからScalaというのもない。両方使えなければならない
JavaとScalaを使い分けることは意味があるけど
JSとCoffeeだとその旨みがない。CoffeeはJSの文法がちょっと違うだけで
はっきり言ってよく似た言語でしかない。デバッグで生成されたJSのコードを読んで思うんだよ
Coffeeの文法はJSのクソ文法よりはるかにマシだけど、
最初から素直にJSの糞仕様に付き合ったほうがマシだなって
2つの文法を行き来することが「勉強になる」とか言ってるのはJSが大好きだからだろうが
普通はJSなんて好きな奴いないし、不幸にもJSが好きならCoffee使わないので
デファクトスタンダードの泥沼っぷりが理解できただろうか
266デフォルトの名無しさん:2013/04/22(月) 12:57:09.77
おとなしく病院に行けw
267デフォルトの名無しさん:2013/04/22(月) 13:20:18.42
CoffeeScriptは違う気がする。
JSをそのまま使うか、そうでないなら、TypeScriptみたいに出来るだけオリジナルを損ねないようにする方がいいと思う。
268デフォルトの名無しさん:2013/04/22(月) 13:23:08.11
そのオリジナルが糞すぎるからだろ。頭悪いなコイツ
ただ逃げようとしても逃げられないというだけ。どんなハッカーでさえJS地獄は避けられない
それなのに普及してるから素晴らしいとか馬鹿言ってる奴がいてドン引きだわ
だれも好きで使ってるわけじゃねーし、他の用途では一切使われてねーから。勘違いすんな
269デフォルトの名無しさん:2013/04/22(月) 13:26:03.91
スクリプト言語をわざわざコンパイルして生成するってのも冷静に考えると凄いことだな
270デフォルトの名無しさん:2013/04/22(月) 13:36:51.01
C#のラムダ式って冗長だよなあ
つーかラムダ式である必要性がなくね?


obj.All(n => n > 0)

これなんて

obj.All( n > 0)

じゃダメなの?
271デフォルトの名無しさん:2013/04/22(月) 13:44:28.91
>>270
仮引数になる変数名を暗黙で決めろって意味?
それとも式の最初の変数を仮引数にするのか?
272デフォルトの名無しさん:2013/04/22(月) 13:47:11.84
ラムダ式と普通の式を完全に混同してる
273デフォルトの名無しさん:2013/04/22(月) 13:50:04.89
引数を式に限定する場合は、あるいはそういう実装も可能だけど
その引数は関数オブジェクトでしょ?どう考えても無理
274デフォルトの名無しさん:2013/04/22(月) 13:52:02.28
引数の形で判断させれば無理ではないけど人間から見たら分かりにくくなるだけ
275デフォルトの名無しさん:2013/04/22(月) 14:40:49.15
単純な式じゃなくてラムダ式が指定できることで
応用がいろいろ効くようになるんだよね
276デフォルトの名無しさん:2013/04/22(月) 22:25:57.96
フルボッコ
277デフォルトの名無しさん:2013/04/22(月) 23:13:18.15
jsgit ...
278デフォルトの名無しさん:2013/04/22(月) 23:23:00.82
bash で優れたプログラムが書ける人はすごいと思うけれど、初心者は bash なんぞでプログラムを書くべきではないと悟った一日
よく有名なプログラマが、bash が一番!みたいなこと言うけれど
それを真似してか、プロダクションコードを bash で書き始める奴がいる・・・
まじ、やめてほしいわ。手足縛られてプログラム書いているような感覚に陥る。
みんなどう思う?
279デフォルトの名無しさん:2013/04/22(月) 23:23:35.94
バッチ処理だけ書けばいいと思う
280デフォルトの名無しさん:2013/04/22(月) 23:28:51.66
PHP,Ruby,Python辺りのWeb周りがjsで再実装されるのは時間の問題
数年後にはecma scriptのバージョンが上がって動かなくなると予想
いや、どこかでjs処理系が仮想マシンとして言語と分離される方に賭けよう
ベンチャーはともかく企業での選択肢はもとよりjavaかc#しかないだろうな
何処かしら失敗した感が拭えないmonoっていつまで粘るだろう?
281デフォルトの名無しさん:2013/04/22(月) 23:29:31.86
だよね
あえて声を大にして言うけど、bash という言語が劣ると言ってるのではなくて、
ほとんどのプログラマが、bash を使いこなせないってこと。
282デフォルトの名無しさん:2013/04/22(月) 23:29:54.27
何が良いかってPOSIXで標準化されていること
283デフォルトの名無しさん:2013/04/22(月) 23:32:11.95
バージョンが上がる毎に些細な互換性を失ってメンテ不能になるとか、考えただけでもゾッとする
284デフォルトの名無しさん:2013/04/22(月) 23:41:42.55
逆に、posix モードとか理解していないと痛い目を見る
285デフォルトの名無しさん:2013/04/22(月) 23:42:20.75
c/c++とjsで支配される世界。java/c#で支配される世界。
一般的な才能のないPGにとって快適な世界は、どちらだろう?
CADやOpenOfficeクラスのアプリケーションを書くこと想定した場合でね
286デフォルトの名無しさん:2013/04/22(月) 23:43:40.36
校舎だな
287デフォルトの名無しさん:2013/04/22(月) 23:52:21.66
けれども、今のjsバブルが継続するとc/c++ & jsな世界はあるよね
特にgoogleやmozilla、Qt、GNUが率いるOSS周りの勢力
web browserと何かしらのデバイスを繋いだサービスを考えると、こっちの方が妥当かなと
288デフォルトの名無しさん:2013/04/22(月) 23:57:48.31
JS厨もC/C++には敵わないことを認めて
共存路線に走ることにしたのか

でもC/C++から見たらJSなんてゴミなので一緒にしないでね
289デフォルトの名無しさん:2013/04/22(月) 23:59:46.07
イノベーションがどうとか、ベンチャーがどうとかいう才能の塊がc/c++&js
世の中の現実を知り、色々と草臥れた大人たちの溜まり場がjava/c#
290デフォルトの名無しさん:2013/04/23(火) 00:01:22.94
標準化可能な部分をjs、カバー出来ない部分をc/c++って誰にでも予想付くだろ
291デフォルトの名無しさん:2013/04/23(火) 00:04:08.03
>>288
> JS厨もC/C++には敵わないことを認めて

というか、C/C++が内蔵スクリプトとして
JavaScriptを選んでるんじゃない?
C/C++じゃダメな理由があるんでしょ。

Qtもそうだし、最近では
JavaScriptがGNOMEの第一言語になる
http://www.infoq.com/jp/news/2013/02/javascript_gnome
なんて話が出てちょっとした騒ぎになっていたね。
292デフォルトの名無しさん:2013/04/23(火) 00:05:24.85
まーたJS厨が法螺吹いてるのか。何がC/C++の内蔵スクリプトだよ
妄想で造語まで作って恥ずかしくないのかね
293デフォルトの名無しさん:2013/04/23(火) 00:06:12.36
毎日JS厨が二人で工作してるからやばい
294デフォルトの名無しさん:2013/04/23(火) 00:06:54.43
JS厨の世界にはC/C++とJSしかないらしい
JSなんてブラウザでしか使われてないのに
295デフォルトの名無しさん:2013/04/23(火) 00:07:13.60
というか2つの言語の短所を補ってて普通に考えて理想的だし
296デフォルトの名無しさん:2013/04/23(火) 00:07:44.21
ブラウザで何でもできるのが理想だけどJSが糞すぎて
個別にインストールするアプリばかり
297デフォルトの名無しさん:2013/04/23(火) 00:09:32.64
>>295
JSなんてアプリケーション開発ではありえないからw
C/C++を補ってるのはJava/C#だろ
JSはもともと別分野で蚊帳の外。論外
もちろん簡単なファイル処理、文字列処理などのスクリプト用途でも使われてない
298デフォルトの名無しさん:2013/04/23(火) 00:10:29.81
今もう、一般的なユーザーが使う領域にはブラウザがあるんだよね。
それより下層なんてSDKなりapplication frameworkで実装すりゃ良いんだしさ
>>297
MySpaceはNode.jsだろ?
299デフォルトの名無しさん:2013/04/23(火) 00:12:00.27
Node.jsのconfigureがautoconf/automake系ツールを使わずに
Pythonで書かれててワロタw
Node.js作ってる連中すらスクリプティングにPythonを使ってるという
300デフォルトの名無しさん:2013/04/23(火) 00:13:27.51
むしろ、スマートフォンやマイナーOSが増える毎に、
jvmや.netの構想はメンテ不能になるんじゃないの?
301デフォルトの名無しさん:2013/04/23(火) 00:14:33.78
> JSなんてアプリケーション開発ではありえないからw
そうでもないんだよなぁ。

例えばスマホアプリ。
HTML+JavaScriptで作って
iPhone、Android、他
マルチプラットフォーム対応できちゃう。
もちろんネイティブAPIも使える。
302デフォルトの名無しさん:2013/04/23(火) 00:14:38.87
>>264
Scala、Java、C++、Scheme、Python、VB、C#といろいろ使ってきたし、
PythonやHaskellあたりもかじったりしたし、他の言語の本を読んだりもしたが、
JavaScriptは侮れない
色々と設計ミスはあるが、気をつければ大部分は回避可能
柔軟でメタな素晴らしい機能があるから、ライブラリで
カバーできる

というか、JavaScriptを批判してるのか、Javaを批判してるのかはっきりしろw
ちなみに俺はJavaは嫌いだw
303デフォルトの名無しさん:2013/04/23(火) 00:14:48.31
>>299
そもそも、そのとき使える最善のもの使う文化だし
304デフォルトの名無しさん:2013/04/23(火) 00:15:14.95
WindowsもJavaScriptでアプリ作れるようになってるね。
305デフォルトの名無しさん:2013/04/23(火) 00:18:39.03
>>302
メタで何とかするとか言ってる時点でそもそもがまともな言語じゃないから
オナニーコード量産だから糞だと言われる
306デフォルトの名無しさん:2013/04/23(火) 00:20:24.25
>>264
憂鬱なの?
なあに、君もJavaScriptをマスターしちゃえばいいのさ
そうすれば全て解決
世界的ですもんね 乗るしかない このビッグウェーブに
307デフォルトの名無しさん:2013/04/23(火) 00:22:23.68
>>304
どうやって?
308デフォルトの名無しさん:2013/04/23(火) 00:23:23.93
>>305
まともな言語でなくても、まともな機能を備えることが出来る
なんと素晴らしいw
309デフォルトの名無しさん:2013/04/23(火) 00:24:31.06
もう JS の時代だよね。JS 古いなんて時代錯誤
310デフォルトの名無しさん:2013/04/23(火) 00:25:00.88
JavaScriptには特徴的な点が一つあって
ファイルシステムへのアクセス機能が
言語標準 もしくは準標準ライブラリに存在しないこと。

ブラウザ上で動かす必要が有るためセキュリティ上の制約で
このようなことになってしまった。
それは汎用言語からすればマイナス点なのだが、
セキュリティの点からすればプラスに働いた。

だからといって、nodeなどがそうであるように
ファイルシステムに全くアクセス出来ないわけじゃない。
でもこれはJavaScriptからすればオプショナルの機能。

かくして、JavaScriptは他の言語のように危険な操作を
禁止するというブラックリスト的なアプローチではなく
許可した機能が使えるというホワイトリスト的なアプローチの言語になった。

これこそ何もがネットでつながっている時代にふさわしい言語といえよう。
311デフォルトの名無しさん:2013/04/23(火) 00:25:19.59
>>308
糞設計、糞文法、糞機能だから誰も使おうとしないんだろ
312デフォルトの名無しさん:2013/04/23(火) 00:27:27.10
>>307
ちょっと思いつくだけでも、Chrome Packaged App、Flex、XUL、node-webkit、app.js、tidesdk
好きなの選べよ
313デフォルトの名無しさん:2013/04/23(火) 00:28:36.93
>>310
妄想もいい加減にしろよ
データ処理がしたければ、いまどきどの言語でもweb上のデータをかき集めて解析できる
ファイル処理が下手くそなJSなんて糞の役にも立たない
JSはJSの仕事しかできないからその他のすべてのプログラマからしたらゴミでしかない
314デフォルトの名無しさん:2013/04/23(火) 00:29:13.23
>>307
凄い時代だよ。

HTMLとJavaScriptでできる! Windows 8開発入門
http://itpro.nikkeibp.co.jp/article/COLUMN/20130109/448501/

ちょっとおもしろかったのでw

Windows 8 ストアアプリ開発(HTML/JavaScript)覚えておくことTips4
http://blogs.msdn.com/b/hiwatan/archive/2013/04/16/windows-8-html-javascript-tips4.aspx
> jQuery を利用する場合は、バージョンに注意。
> 古いバージョン(例えば、1.7.2など)の場合、以下の理由でストア申請に通らない場合がある。
> jQuery Version 2.0 より、Windows ストアアプリがサポートされた。詳細は、以下のブログ
> http://blogs.msdn.com/b/windowsappdev_ja/archive/2013/04/04/jquery-version-2-0-windows.aspx

jQuery Version 2.0 での Windows ストア アプリのサポート
> 既に Web 開発の経験をお持ちなら、オープン ソースの JavaScript フレームワーク、
> jQuery を使用されたことがあるかもしれません。また、jQuery を使用して Windows ストア アプリの構築を試されたことがあるなら、
> JavaScript ランタイムまたは動的なコンテンツに関するエラーが発生したのではないでしょうか。
> 今度の v2.0 リリースでは、jQuery チームはこれらの問題に取り組みました。

jQueryがWindowsストアのために対応。
315デフォルトの名無しさん:2013/04/23(火) 00:32:53.79
プログラミングの適応範囲はいろいろあって
いろんな書籍にコードを見つけることができるだろうけどJSなんてまずないね
JSだけで作られた世界でJSしか見えてない人間にはわからないだろうけど
316デフォルトの名無しさん:2013/04/23(火) 00:33:52.77
今時のアプリでファイル処理ってあまりやらんけどな。
データベース、キーバリューストア、ネット越しにJSON通信。
単純でデータの並びでしかないファイルではなく
構造を持ったアクセスしやすい先進的なデータストアに最適化されている。
317デフォルトの名無しさん:2013/04/23(火) 00:34:23.54
>>315
いい加減理由書けよw
だからみんなから厨房って目で見られてるんだぞ。
318デフォルトの名無しさん:2013/04/23(火) 00:35:46.97
ブラウザアプリだけの世界の価値観なんだよなあ
平行線というか、それしか言えないならもう隔離スレ立ててやればいいと思うよ
JS以外は関係ないもん
319デフォルトの名無しさん:2013/04/23(火) 00:35:58.41
jsgitが28時間で開発資金調達する時代。
320デフォルトの名無しさん:2013/04/23(火) 00:36:44.09
>>317
JS厨って反論できなくなったら草生やしてそれだよね。毎日それだよ
321デフォルトの名無しさん:2013/04/23(火) 00:39:15.07
隔離スレというか、板違い。JS厨はweb制作板にいけばいいよ
他の言語のことしらないようだし、アジテーションみたいな気持ち悪いレスでスレ潰されてるの迷惑
322デフォルトの名無しさん:2013/04/23(火) 00:40:51.97
RubyもPythonもオワコンだしね
デバイスの進化について行けなかった悲しい言語
323デフォルトの名無しさん:2013/04/23(火) 00:41:30.40
>>310
本当にブラウザで動かす言語であることによって、全てが奇跡的に良い方向に向かったよな

セキュリティがしっかりしていること、プログラミングの天才達による
最適化でとても速い言語になったこと、クロージャを備えていたため
イベントモデルと相性が抜群だったこと
DOMと組み合わせて使う言語であったこと
クロージャ、メタ、リフレクション的な機能により、高度に柔軟性を
持った言語であったこと、HTMLによって視覚的な表現を備えていたこと

つくづく奇跡の言語だと思う
324デフォルトの名無しさん:2013/04/23(火) 00:41:56.44
プログラミングとかコンピュータ・サイエンスをやりたい人がまずJSを触ることはないだろう
JSはJava以上のお仕事言語だよ
一般業務ともアカデミックとも切り離された存在
325デフォルトの名無しさん:2013/04/23(火) 00:41:56.78
webであっても、サーバサイドは扱うデータが巨大になって
機械学習を駆使しないとデータ活用できないようになってるが
そういうのってJavascript使いの世界観には存在しないんだろうな
326デフォルトの名無しさん:2013/04/23(火) 00:43:03.42
c/c++で書けば良いじゃん。数値計算のライブラリ腐るってるだろ
327デフォルトの名無しさん:2013/04/23(火) 00:44:53.56
これから莫大な数のjava厨が職を失うかと思うとゾクゾクするよね
328デフォルトの名無しさん:2013/04/23(火) 00:45:11.40
気づけばJavaScriptがブラウザから
抜け出てるんだよな。

気づいていなかった?

サーバーサイド、スマホアプリ、
組み込み系でもUIとしてJavaScriptが
使われている時代。
329デフォルトの名無しさん:2013/04/23(火) 00:46:09.26
>>327
JavaScriptへの転職でみんなハッピーだな
地上の楽園へようこそ
330デフォルトの名無しさん:2013/04/23(火) 00:46:42.01
たとえば複雑ネットワークを可視化するC/C++で書かれたigraphはRとPythonから使える
PythonとC/C++の連携という話題は結構盛んで
関連キーワード検索数でもそれは明らか

JSは科学者、技術者のようなプログラミングが専門でない人間には不気味すぎる
331デフォルトの名無しさん:2013/04/23(火) 00:48:04.84
なんかゾクゾクする。いろんな世界に広がってる。機械学習もあった。

Machine Learning in Javascript: Introduction
http://burakkanber.com/blog/machine-learning-in-other-languages-introduction/

オンライン学習ライブラリ oll の node.js アドオンを作って JavaScript で機械学習させてみた
http://d.hatena.ne.jp/hecomi/20120619/1340116121
332デフォルトの名無しさん:2013/04/23(火) 00:49:04.54
まあサーバで計算したデータを
端末に表示するだけのドカタ仕事の役割が
Javascriptに与えられただけだな

良かったなドカタ仕事が手に入って
333デフォルトの名無しさん:2013/04/23(火) 00:49:29.75
>>330
まあその辺もJavascriptがこれから続々浸食するよ
研究者はその辺柔軟だから、すぐJavascriptに乗り換えるよ
ちょっと前までPascalやLispやPrologを使ってた連中だろ?w
334デフォルトの名無しさん:2013/04/23(火) 00:49:38.62
そういう人たちしか、python使わないけど
pythonでアルゴリズム書いてた人は院を出てから無職だったよ
335デフォルトの名無しさん:2013/04/23(火) 00:50:26.93
>>328>>331
なんでそんな気持ち悪い文章が書けるんだ?
内容一個も理解してないだろ?Pythonの足元にも及んでないって理解してるか?理解してないだろ?
何がゾクゾクしたんだ?一個も説明できないだろ?
336デフォルトの名無しさん:2013/04/23(火) 00:51:22.13
>>333
あのさ、そういうステレオタイプな無知を晒すのやめてくれないか?
337デフォルトの名無しさん:2013/04/23(火) 00:52:36.19
>>334
理系院卒よりJSプログラマのほうが圧倒的に底辺だらけだろ
338デフォルトの名無しさん:2013/04/23(火) 00:53:34.56
コンピュータサイエンスなんて言うけどさ、世の中、先見性の方が重要だよ。
大学なんてテム・レイしか居ないぞ
339デフォルトの名無しさん:2013/04/23(火) 00:54:17.24
>>335
それで?
340デフォルトの名無しさん:2013/04/23(火) 00:55:24.12
JavaScriptでDOOMを再現、すげーと言っていた時代は
もう既に過去のものなんだな。
今は更に進んでいるのか。
341デフォルトの名無しさん:2013/04/23(火) 00:55:39.67
>>337
けどさ、世の中ってJSプログラマよりも無職の方をバカにするだろ?
理系院卒なんて足みたいなもので、偉い人には分からないだけだよ
342デフォルトの名無しさん:2013/04/23(火) 00:55:52.58
高卒底辺のJS厨が大学を目の敵にするのは勝手だけど
よく知らないことをテキトーに吹聴するのやめてもらえませんかね
343デフォルトの名無しさん:2013/04/23(火) 00:57:01.48
>>341
馬鹿すぎる詭弁をやめろ
344デフォルトの名無しさん:2013/04/23(火) 00:57:11.66
>>336
うーんと、一応理系の院は出てるんで無知になりにまあ少しは
知ってるんだけど、C++やPythonはあんまりなかったかなあ
案外MATLABやJavaが使われてたね
345デフォルトの名無しさん:2013/04/23(火) 00:57:14.10
これがもう過去の話なのか?
まあ確かに2年近く前の話だが。

DOOM、LLVM-to-JavaScriptコンパイラ使いブラウザで動作
http://news.mynavi.jp/news/2011/06/07/035/index.html

Emscriptenと呼ばれるLLVM-to-JavaScriptコンパイラを使い、
CのソースコードをJavaScriptへ変換して実現している。
特別な実装は使用されておらず、標準のWeb技術のみを組み合わせて実現したと説明がある。

EmscriptenはLLVMのバイトコードをJavaScriptへコンパイルするコンパイラ。
このため、C/C++に限らずLLVMバイトコードに変換できる言語であればどの言語でも利用できる。
Alon Zakai氏が発表したこの取り組みはネイティブアプリケーションを
Webアプリケーションに変換する手法のひとつとして興味深い。
346デフォルトの名無しさん:2013/04/23(火) 00:57:31.31
>>342
教授が書いたウンコみたいな論文ならよく知ってるけど?
gnuplotの使い方みたいなものがCINIIに上がってたよ
347デフォルトの名無しさん:2013/04/23(火) 00:59:20.94
>>345
過去の話
今はそのEmscriptenがさらにasm.jsとかってのと組み合わさって
さらにヤバいことになるかもしれない
ただ、それ以上にヤバいのが素のJavascript
素のJavascriptが既にCの数倍程度しか遅くないという
静的言語の域に達し始めた
348デフォルトの名無しさん:2013/04/23(火) 00:59:53.77
普通にC++とPythonで数値計算するお仕事してるけど、
Scipyを遥かに超えるライブラリが(当然C/C++との相互運用性の高さも含めて)
Javascriptに出来たら普通に乗り換えると思う

だからJavascript使いには頑張ってほしい
それまでPythonを使い続けてライブラリもPython向けに書くけど
349デフォルトの名無しさん:2013/04/23(火) 00:59:58.26
>>344
MATABが使われるのが案外とかどこのFランだよ
FランではJSを使う風潮があるのか?終わってんなw
350デフォルトの名無しさん:2013/04/23(火) 01:02:02.45
>>349
というか、web上からデータ取ってくるような研究室なら普通にPHPとかjsとか使うから
351デフォルトの名無しさん:2013/04/23(火) 01:02:28.66
>>315
【悲報】カーニハン御大の新刊、使用言語はJavaScript【Python,Ruby終了】
http://www.amazon.co.jp/dp/4274069095
352デフォルトの名無しさん:2013/04/23(火) 01:03:10.21
なんでアンチJSって>>349みたいに品がないんだろうか?
353デフォルトの名無しさん:2013/04/23(火) 01:03:22.87
>>350
そういう研究やってるとこって大学では底辺……
354デフォルトの名無しさん:2013/04/23(火) 01:03:53.71
>>349
ええと、まあ一応Fランではないかなあw
数オリ出身者とか、学長賞の人とか同じ研究室にいたけど
たいしたことないですよ
355デフォルトの名無しさん:2013/04/23(火) 01:04:34.14
>>353
人生って就職先次第だよ。
356デフォルトの名無しさん:2013/04/23(火) 01:04:40.01
ぶっちゃけ、俺の学歴高いんだわー。
JS厨とは違う。すごいんだよ。
357デフォルトの名無しさん:2013/04/23(火) 01:04:49.49
MATLAB、Rはよく見る。Pythonもたまに見る
授業でやるからCを使う学生が多いけど、JSは一度も見たことない

>>350
聞いたことないね。RやC#でそういうのやってるのは見たが
どこの研究室?
358デフォルトの名無しさん:2013/04/23(火) 01:05:04.85
>>356
よかったな
めでたしめでたし
359デフォルトの名無しさん:2013/04/23(火) 01:05:41.93
先にお前が研究所いえって
言われそうな展開だなw
360デフォルトの名無しさん:2013/04/23(火) 01:05:57.22
>>357
今は授業でJavaも結構使われる
珍しいところではOcamlなんかも使われてた
361デフォルトの名無しさん:2013/04/23(火) 01:06:09.24
>>351
> 技術系ではない多くの学生がITに関するニュースを正しく理解し、間違った内容であれば
> 指摘できるようになることを目指して、ITの普遍的な技術や概念を丁寧で分りやすく解説。

情弱向けの一般教養本じゃねーかw
362デフォルトの名無しさん:2013/04/23(火) 01:06:15.65
この流れは学歴自慢で
JS厨をこてんぱんにする流れだろ?
363デフォルトの名無しさん:2013/04/23(火) 01:06:39.21
>>359
京大ですけど

>>360
確かに。JSを授業でやるとこあんのかな。専門学校とか?
364デフォルトの名無しさん:2013/04/23(火) 01:06:44.58
>>362
微笑ましくて良いねw
365デフォルトの名無しさん:2013/04/23(火) 01:06:51.97
ほんと、アンチJSは

品と知性がないなw
366デフォルトの名無しさん:2013/04/23(火) 01:07:12.05
>>357
E欄の国公立情報系を漁れば見つかるよ
367デフォルトの名無しさん:2013/04/23(火) 01:07:24.33
俺は東大だ。
368デフォルトの名無しさん:2013/04/23(火) 01:07:36.22
>>363
ああ、京大かよ
負けた
おれ某T大だわ
さすがJS厨の俺低学歴だw
369デフォルトの名無しさん:2013/04/23(火) 01:08:01.29
>>360
> 珍しいところではOcamlなんかも使われてた

名古屋 or お茶の水?
370デフォルトの名無しさん:2013/04/23(火) 01:08:17.34
>>369
某T大
371デフォルトの名無しさん:2013/04/23(火) 01:10:18.70
>>368
ドンマイ。JS至上主義なのは結構だけど、かなり限定的な用途にしか使えないって気づいたほうがいいよ
JSの糞設計じゃね
372デフォルトの名無しさん:2013/04/23(火) 01:11:27.09
>>371
別段至上主義ではないよ
ただ、JavaScriptはほとんどどんな用途にでも使える汎用言語になったと思ってはいるけどw
373デフォルトの名無しさん:2013/04/23(火) 01:11:39.99
>>371
品と知性が感じられない。

具体的な内容がなくて、単にクソとしか言ってないからだろうか?
374デフォルトの名無しさん:2013/04/23(火) 01:13:23.86
まともな学歴の人はこんなとこにいないだろう(直球)
375デフォルトの名無しさん:2013/04/23(火) 01:14:19.85
>>373
もしかして知性って、
>>310とか>>323とか>>328みたいな気持ち悪すぎるアジテートレスのこと?
これ「JSは糞」と情報量的には大して変わらんぞw
376デフォルトの名無しさん:2013/04/23(火) 01:15:12.45
限定的な用途にしか使えないという>>371
汎用言語になったという>>372

さあ戦ってもらいましょう。
>>371はJavaScriptでできないことをあげる。
>>372はJavaScriptでできることをあげる。
さあどちらが多いか?


私も少し参加しましょう。
JavaScriptでMySQL、PostgreSQLへ
直接接続できる。
377デフォルトの名無しさん:2013/04/23(火) 01:15:30.41
地方のE欄でもHHK LiteのUS配列が用意されたけど、大学出た後でLinuxの使用を廃止したって聞いたな。
これが改悪なのか改善なのか今ひとつ分からないけど
頑張ってgtkとかqtとか覚えるぐらいならjs覚えた方が遥かにマシだよ
scipy使うぐらいなら普通にR,octaveでデータ処理した後でnode.jsで加工する方が潰し効くだろうしね
378デフォルトの名無しさん:2013/04/23(火) 01:16:03.12
JavaScriptはOSのカーネルには向かないとは思う
ただ、数値計算には十分使えるようになってきたね
pythonも手軽に使えていいけど
379デフォルトの名無しさん:2013/04/23(火) 01:16:26.63
>>376
JSが汎用言語とか言ってるの頭おかしいやつだけだろ
380デフォルトの名無しさん:2013/04/23(火) 01:17:30.39
>>376
スマン
俺372なんだが、378でJavascriptが出来ないことを挙げてしまったわw
381デフォルトの名無しさん:2013/04/23(火) 01:17:49.83
jslinuxってあるけど、数値計算は勧めない
型が分り辛いし、cで書いた方がマシ
382デフォルトの名無しさん:2013/04/23(火) 01:18:29.66
>>377
pythonにはpandasやpython-controlがあるから
データ処理の後の加工もすべてPythonでできる
383デフォルトの名無しさん:2013/04/23(火) 01:19:27.65
>>381
あるにはあるけど、向いてはいないね
CやC++のようなもうちょっと低級言語の方がやっぱり良いだろう
384デフォルトの名無しさん:2013/04/23(火) 01:20:35.18
>>382
大学出た後で使わないしドキュメント読むだけ時間の無駄。
使いたいならR&Dみたいな職を獲てからにしないさい
385デフォルトの名無しさん:2013/04/23(火) 01:20:56.84
> JavaScriptはOSのカーネルには向かないとは思う

それ動的言語全部当てはまると思うけどw
386デフォルトの名無しさん:2013/04/23(火) 01:21:04.57
OpenMPIやMVAPICH2がJavascriptで使えると良いな
CudaやOpenCLが使えると尚良い
387デフォルトの名無しさん:2013/04/23(火) 01:21:18.60
正直、pythonもC++も使えるから、その時になったらその時で必要そうなライブラリと言語使うだけだわ
JS厨の俺
388デフォルトの名無しさん:2013/04/23(火) 01:22:48.47
やっぱりわくわくするなw

http://ja.wikipedia.org/wiki/WebCL
WebCL(Web Computing Language)はプラグインなしで
ウェブブラウザで CPU や GPU などによるヘテロジーニアス
並列計算を行うための、OpenCL の JavaScript バインディング。
389デフォルトの名無しさん:2013/04/23(火) 01:23:04.94
>>386
そういうのググってからレスした方が良いよ
390デフォルトの名無しさん:2013/04/23(火) 01:23:22.34
>>377
> scipy使うぐらいなら普通にR,octaveでデータ処理した後でnode.jsで加工する方が潰し効くだろうしね

クライアントとサーバで同じ言語が使えるのが便利ってのが
JS厨の常套句なのに、そこは別の言語を使うんだww
391デフォルトの名無しさん:2013/04/23(火) 01:23:33.22
Pythonがスクリプトとして使われてるアプリは現にあるわけで
libreofficeやblenderとかなんとかってエディタのマクロを書けたりする
汎用性という意味ではOSSコミュニティにおける土壌が違いすぎる
392デフォルトの名無しさん:2013/04/23(火) 01:24:15.56
JSを無理やり別の用途で使うことにどんなメリットがあるのか理解できない
393デフォルトの名無しさん:2013/04/23(火) 01:25:15.46
OOoはrhino装備してるだろ
そもそもOSSコミュニティがjsに傾いている
394デフォルトの名無しさん:2013/04/23(火) 01:25:30.86
>>392
バッチファイルに埋め込む言語としてはお世話になってます。
395デフォルトの名無しさん:2013/04/23(火) 01:25:38.80
そうか。libreofficeやblenderも
JavaScriptに対応していた。
396デフォルトの名無しさん:2013/04/23(火) 01:26:24.72
>>392
JavaScriptはだれでも使える言語だからね。
誰もが実行環境持ってる言語って
そうないでしょ?
397デフォルトの名無しさん:2013/04/23(火) 01:27:39.96
>>390
jsはグルーとして最良で、わざわざライブラリ書いたり、数値計算したりは
ストラディバリウスのヴァイオリンで釘を打つようなものっだってオジイチャンが言ってた
398デフォルトの名無しさん:2013/04/23(火) 01:29:18.74
まあ、Pythonは良く出来た素晴らしい言語ではあると思う
ただ、いかんせんブラウザで動かない
399デフォルトの名無しさん:2013/04/23(火) 01:29:29.05
>>396
それはよく言われるが、一番馬鹿な理屈だと思う
まず環境を準備できないような一般人に実行環境を与えたとして誰が使うんだ?
現にJSを使ってる人間なんてブラウザ持ってる人間の1%もないだろ
400デフォルトの名無しさん:2013/04/23(火) 01:29:44.18
>>388
ごめん。GPGPUで数値計算するわーとか言って
おもむろにブラウザ立ち上げる姿を想像したら笑ってしまった
401デフォルトの名無しさん:2013/04/23(火) 01:31:40.52
それを言ったら、みんなPCとネットがあるんだから
どの言語の実行環境も持っていることになる
だからなんだと言うんだ。ほとんどの人間は実行しないだろ
402デフォルトの名無しさん:2013/04/23(火) 01:31:43.72
>>399
google社員だって地球上には1%も以内だろ
403デフォルトの名無しさん:2013/04/23(火) 01:31:53.66
>>400
どうだい、凄い時代になったろう
404デフォルトの名無しさん:2013/04/23(火) 01:32:38.62
>>399
誰でも最初は環境を準備できないよ。
だれでもそんな状態から使いはじめるんだ。
405デフォルトの名無しさん:2013/04/23(火) 01:32:50.56
>>403
その気持ち悪すぎる言い回しやめてくれないか
406デフォルトの名無しさん:2013/04/23(火) 01:32:58.52
ブラウザは実行環境ではあっても開発環境ではない
ブラウザ+エディタで開発するのはめんどいよ

という理由であんまり JavaScript 触ってこなかったけど
V8 + Node.js 触りはじめたらそうも言ってられなくなってきた
こんなに入りやすい環境だとは思ってなかったわ
407デフォルトの名無しさん:2013/04/23(火) 01:33:15.28
>>401
例えばアプリを作る。

そのアプリを実行する。

さっとできるのがJavaScriptじゃん。
408デフォルトの名無しさん:2013/04/23(火) 01:34:14.45
> ブラウザは実行環境ではあっても開発環境ではない
> ブラウザ+エディタで開発するのはめんどいよ

じゃあ君は何で開発してるの?

ブラウザ+エディタから
さらにブラウザをとった
エディタで開発しているよ。
409デフォルトの名無しさん:2013/04/23(火) 01:34:54.52
俺にとってブラウザは実行環境+デバッガという位置づけです。
410デフォルトの名無しさん:2013/04/23(火) 01:35:26.35
ブラウザって、SmalltalkやEmacsの環境に近いんだよね
dinabookの構想が現実になったような具合
411デフォルトの名無しさん:2013/04/23(火) 01:35:38.51
>>404
だからさ、いくらみんながブラウザを持ってたって
JSからプログラミングをはじめる人間なんて明らかに少数派だろ
そこは認めろよ。なんかJSの過大評価が異常すぎるわ
全く関係ないのないファクターを持ってきてJSがすごいとか言い出してドン引き
412デフォルトの名無しさん:2013/04/23(火) 01:36:13.86
動的言語、つまりこのスレのスレタイの言語での開発って、みんなIDE使ってるの?

エディタで開発するのはめんどいって言われたら
どうしようもないんだがw
413デフォルトの名無しさん:2013/04/23(火) 01:36:40.08
>>407
は?
414デフォルトの名無しさん:2013/04/23(火) 01:36:54.12
その昔、電源を付けるとすぐにBasicが動いたわけで、
今のVSやEclipseをインストールしないとダメな方が不自然
415デフォルトの名無しさん:2013/04/23(火) 01:37:36.99
>>410
お前の気持ち悪さは一種の才能だな
416デフォルトの名無しさん:2013/04/23(火) 01:37:52.40
>>407
いや、まだその域には達してない
インストールして、ボタンちょこちょこ押して、はい雛形実行みたいな
VSみたいな環境
なんだかんだで、コマンドラインいくつか叩いてエディタを使って
ソース貼付けてみたいな、初心者を逸脱した操作が要求される
環境ばっか
まあ、そろそろ出てくるだろうけど
417デフォルトの名無しさん:2013/04/23(火) 01:38:08.24
しかしVSはかなりよくできた環境だわ
とにかく楽に何かを作りたい初心者に勧めるならVSになってしまうと思う
418デフォルトの名無しさん:2013/04/23(火) 01:38:13.49
>>415
白痴乙
419デフォルトの名無しさん:2013/04/23(火) 01:39:32.19
>>411
最近は多いらしいよ。JSというか
HTMLから入るらしい。
420デフォルトの名無しさん:2013/04/23(火) 01:40:04.22
>>416
それって、どこの畑で育ったかの問題で、
一世代前のPGにはIDEから入ったとかいうと馬鹿にされるよ
421デフォルトの名無しさん:2013/04/23(火) 01:40:20.89
HTML+JavaScriptはすごくて
これでクライアントアプリを作るだろ?

そうすれば一部を手直しするだけで
ウェブアプリにできてしまう。
422デフォルトの名無しさん:2013/04/23(火) 01:40:34.41
「多いらしい」なんじゃそりゃ
423デフォルトの名無しさん:2013/04/23(火) 01:43:52.76
>>421
へえ、おれはJS使いじゃないからウェブアプリなんて作れないわ
お前の一番力作のウェブアプリ見せてよ
424デフォルトの名無しさん:2013/04/23(火) 01:44:10.74
>>417
たとえばどういうライブラリなりフレームワークなりを使うの?
俺は初心者に勧めるならSmall BasicとかProcessingとかになっちゃうんだが
425デフォルトの名無しさん:2013/04/23(火) 01:44:44.31
>>423
先にお前の一番の力作のウェブじゃないアプリを見せてよ。
426デフォルトの名無しさん:2013/04/23(火) 01:45:14.92
反JS厨の自作自演が始まりました
427デフォルトの名無しさん:2013/04/23(火) 01:46:37.97
>>424
Processingはアリだね

>>425
お前があげたら良いよ
428デフォルトの名無しさん:2013/04/23(火) 01:46:47.83
初心者なんてSICPでも解いてりゃ良いだろ
429デフォルトの名無しさん:2013/04/23(火) 01:48:07.14
コンピュータサイエンス専攻でも JS できるやつはおるよ。
ちょっとしたアプリケーション(プロトタイプ)作って、動かしてみて、理論を形にする、なんてことはやってるやつはやってるよ。
最近は JS も優れたライブラリがかなり豊富になってきて、
簡単なデモを作るにはもってこいの言語だよね。
430デフォルトの名無しさん:2013/04/23(火) 01:48:26.06
JavaScriptでデスクトップアプリを作る方法は
>>312 に書いてあるとおり。
> ちょっと思いつくだけでも、Chrome Packaged App、Flex、XUL、node-webkit、app.js、tidesdk
> 好きなの選べよ

あとはデータ保存などを抽象化しておけば
その部分をサーバーから読み書きすれば
デスクトップアプリのウェブアプリ化が完了。

さらにスマホにも対応できてしまう。
431デフォルトの名無しさん:2013/04/23(火) 01:49:05.21
>>427
自分が挙げられないものを他人に要求する。
その人の人格を疑うよねw
432デフォルトの名無しさん:2013/04/23(火) 01:49:37.05
>>429
その嘘っぱち妄想を並べたいかにも印象操作みたいな宣伝文句やめてくれないか
433デフォルトの名無しさん:2013/04/23(火) 01:49:47.97
>>429
コンピュータサイエンス専攻なんていうけれど、
そもそも教授たちの頭の中が自分らが過ごした青春時代で時が止まっててスゴく迷惑
434デフォルトの名無しさん:2013/04/23(火) 01:50:05.44
そういや任天堂もこんなこと言ってるらしいね。

ゲーム機にも対応できちゃう?

任天堂「今後C++は捨てJavaScriptで開発していく」
http://toro.2ch.net/test/read.cgi/tech/1363752460/
435デフォルトの名無しさん:2013/04/23(火) 01:50:17.44
>>431
ここで毎日粘着してるJS厨がどういうものを作ってるのかかなり気になったもので
何も作ってないんだろうけど
436デフォルトの名無しさん:2013/04/23(火) 01:50:46.83
>>435
だからぁ。同じように粘着しているお前が
何を作るのか気になるんだよ。

何も作ってないんだろうけど。
437デフォルトの名無しさん:2013/04/23(火) 01:52:22.38
え?俺は毎日来て粘着JS厨にレスしてるだけで
俺自身は粘着してないよ。

みたいなこと言ってほしいなw
438デフォルトの名無しさん:2013/04/23(火) 01:52:26.09
初心者にも使えるんじゃないの?これ
http://www.moongift.jp/2013/02/20130202-2/
439デフォルトの名無しさん:2013/04/23(火) 01:53:01.46
>>432
何を嘘だと思ったのか気になるけど、
gtkだとかqtを自前で用意するより遥かに労力がイラナイし仕事もあるから
awt/swingみたいな無名クラス書くとかやってられん
440デフォルトの名無しさん:2013/04/23(火) 01:54:52.17
>>436
現実ネットワークを複雑ネットワークとしてモデル化して解析したり
マルチエージェントシミュレーションしたりするプログラム
441デフォルトの名無しさん:2013/04/23(火) 01:56:36.38
プログラマならLinux使えよ。
Linuxならいろんな言語を簡単に使えるんだぜ。
インストールが簡単。

って言ってる人に限って

JavaScrptならLinuxじゃなくても簡単に使えますよ
実行環境誰でも持っていますから。
というとムキになって反論するだよな。
442デフォルトの名無しさん:2013/04/23(火) 01:57:08.10
>>440
奇遇だな。俺もだ。
443デフォルトの名無しさん:2013/04/23(火) 01:57:22.94
JSの使えるIDEと言えば?
444デフォルトの名無しさん:2013/04/23(火) 01:58:49.50
>>440
あ、その程度の紹介でいいんだ?
ならお金を稼ぐことができるウェブサービスを作る仕事。
445デフォルトの名無しさん:2013/04/23(火) 01:59:21.99
>>443
Eclipse
NetBeans
Visual Studio
446デフォルトの名無しさん:2013/04/23(火) 01:59:30.57
>>433
カーニハン先生の新刊には十数ページほどのプログラミング入門があるけど
JavaScript で Hello World, 制御構文ときて最後に Google Maps の API を
叩くところまでやってた

これを日本人の同年代の学者さんがやると使用言語が Pascal や Lisp になって
階乗とハノイの塔を解くんだろうなと思うと絶望した
447デフォルトの名無しさん:2013/04/23(火) 01:59:48.94
まずはコンパイラを作れ
C/C++の最大の特徴は、コンパイラが自分自身のソースをコンパイルすること
それができない限り、言語が一つになる時代は来ないから
448デフォルトの名無しさん:2013/04/23(火) 02:00:07.40
>>441
何を馬鹿なこと言ってるのか不思議だけど、そもそもgithubの連中がjsを使い出したわけで、
プロトタイプ作るにも一番に楽な言語なわけ
debianよりubuntuが流行る理由を考えろよ
誰も依存関係の解消に時間なんて割きたくないんだよ
449デフォルトの名無しさん:2013/04/23(火) 02:00:49.89
>>442
JSでやってるの?
450デフォルトの名無しさん:2013/04/23(火) 02:01:47.47
>>443
intelliJ IDEA
451デフォルトの名無しさん:2013/04/23(火) 02:01:47.52
>>444
どんなサービス?
452デフォルトの名無しさん:2013/04/23(火) 02:02:09.59
JavaScriptのライブラリの依存関係を解決する仕組みは
素晴らしいね。
453デフォルトの名無しさん:2013/04/23(火) 02:03:06.49
cよりマシ
454デフォルトの名無しさん:2013/04/23(火) 02:03:47.75
>>440
誰でもあんた個人が特定できるぐらいの
具体的な製品名やプロジェクト名言ってよ。
455デフォルトの名無しさん:2013/04/23(火) 02:04:07.44
>>441
なにかlinuxユーザーにトラウマを植え付けられたのか知らんが
何をどう結び付けてるのか理解できない
456デフォルトの名無しさん:2013/04/23(火) 02:05:09.66
>>454
なんで?
457デフォルトの名無しさん:2013/04/23(火) 02:05:52.66
>>456
そりゃ、他人にそれを要求する奴には
同じようにそれを要求するさ。

速くお前個人を特定できる情報をよこせ。
458デフォルトの名無しさん:2013/04/23(火) 02:06:24.73
JSに底辺の仕事があるのは理解できたけど
お前に仕事を与えてる上の上の人間は別にJSなんて一切知らなくていいわけだ
そういうものに私はなりたい
459デフォルトの名無しさん:2013/04/23(火) 02:07:10.44
>>456
やっぱり品と知性がないなw

なーに、そういう結果にしたいんですだよ。
460デフォルトの名無しさん:2013/04/23(火) 02:07:47.04
>>457
いや、たぶんお前がどんなサービス(の一部の一部)を作ってると言ったところで
個人は特定できんよ。JSの仕事がショボいってことはわかるだろうが
仕事なんて往々にしてそういうものだ
461デフォルトの名無しさん:2013/04/23(火) 02:08:04.94
自分で仕事とってくる世界の方がマシ
462デフォルトの名無しさん:2013/04/23(火) 02:09:11.17
>>460
個人が特定されることは、俺自身がわかってる。

だからお前に俺がされたのと
同等の質問をしている。

何か問題でも?
463デフォルトの名無しさん:2013/04/23(火) 02:09:58.37
>>462
ならいいです。こんだけ危険人物だとみなされてるJS厨の個人が特定されたら大変だろうから
464デフォルトの名無しさん:2013/04/23(火) 02:12:00.98
たんなる研究分野という大きな括りの情報も明かせないなんて解せないけど
465デフォルトの名無しさん:2013/04/23(火) 02:13:12.82
特定された日には松江とアムステルダム(適当)から箱詰めチンパンジーが送られてきます
466デフォルトの名無しさん:2013/04/23(火) 02:15:34.06
>>460
googleでajaxアプリ書いてもショボいって言うんだろうな
467デフォルトの名無しさん:2013/04/23(火) 02:15:58.38
JS厨の仕事がコーダーならいいんだけど
少しでも商品について文章を書いてるとしたら
臭すぎるからちょっと注意したほうがいいと思う
468デフォルトの名無しさん:2013/04/23(火) 02:18:50.67
>>466
むしろgoogleって時点ですごいと感じてしまう
彼はgoogleなのかな
469デフォルトの名無しさん:2013/04/23(火) 02:19:22.98
商品について文章を書くってエンジニアの仕事なんだっけ?
470デフォルトの名無しさん:2013/04/23(火) 02:41:01.66
なんかこの板もそろそろID制にしてほしい

昨日からJSについて100レスぐらいしている基地外が2匹ぐらいいるだろ
471デフォルトの名無しさん:2013/04/23(火) 02:43:40.64
特にJavaScriptのことをJSって言ってるやつな
472デフォルトの名無しさん:2013/04/23(火) 02:44:05.55
え?もともと俺しか居ないけど?
473デフォルトの名無しさん:2013/04/23(火) 02:46:41.45
JSって表記してる奴はレスからして専門学校生とか高卒でしょ
474デフォルトの名無しさん:2013/04/23(火) 03:01:22.77
「JSは奇跡の言語」とか言ってるキチガイはネタだとしてもさすがにやばいと思う
475デフォルトの名無しさん:2013/04/23(火) 03:01:26.23
node.jsがどうこう騒がれてるけど、reactだのcocoonだの似たようなものなら何処にでもあれば、
c#に至ってはライブラリ実装するまでもないなんて言われてるわけだけど、
世の中は標準化とトレンドに逆らっても何のメリットもないよ
ところで、node.jsが普及して困るのって誰だろう?大手SIer?
476デフォルトの名無しさん:2013/04/23(火) 03:05:27.91
関係のない分野に逆張りしてるのはJSだけどな。流行らないけど
477デフォルトの名無しさん:2013/04/23(火) 03:13:40.03
流行る流行らない以前に、企業やベンチャーが標準化したがってる。
c/c++&jsとjava&jsは確定された未来で、LLにとってのディストピア。
皆、perlの二の舞にならないように気を付けてね
478デフォルトの名無しさん:2013/04/23(火) 03:17:14.62
はいまた出た。「確定された未来」だって。なんでそんな煽動的な言葉を使うんだろう
さきのことなんて誰もわからない。そんなことがわかれば誰も苦労しない
JS厨が徹底して詐欺師スタイルなのはなぜだ?それも分からない
479デフォルトの名無しさん:2013/04/23(火) 03:18:27.69
言葉選びのセンスが詐欺師なのは素なのか?
480デフォルトの名無しさん:2013/04/23(火) 03:22:49.07
「確定された未来」とは暗に「今はそうではない」という事実を物語っているだけだろうに
481デフォルトの名無しさん:2013/04/23(火) 04:53:09.68
同じ処理をやらせたら
PHP Python Ruby Perl
どれが一番処理早い?
482デフォルトの名無しさん:2013/04/23(火) 05:29:06.38
どの言語が〜とか言われても、
左にあったものが右に来るだけで、本質的には何も変わらない気がする。
483デフォルトの名無しさん:2013/04/23(火) 05:38:06.26
大量のデータを処理したいので処理速度が一番速いのを希望
484デフォルトの名無しさん:2013/04/23(火) 05:49:18.60
それならCでしょ。
485デフォルトの名無しさん:2013/04/23(火) 07:06:22.62
>>452
>JavaScriptのライブラリの依存関係を解決する仕組みは
>素晴らしいね。

jQueryのnoConflictとかな
あれ考えて見たら地味に凄いよな
余計な構文を付加しないでただ普通の言語の基本機能使ってるだけだもん
パッケージやモジュールが一つの変数に値として入ってるという感覚
なかなか他の言語ではこういうのないよね
486デフォルトの名無しさん:2013/04/23(火) 07:14:22.77
> なかなか他の言語ではこういうのないよね

ほんと他の言語を知ろうともしない上に
気持ち悪さだけは一流だな
487デフォルトの名無しさん:2013/04/23(火) 07:19:01.79
>>486
お前が次々具体的な言語を挙げて反論すればいいだけやん
488デフォルトの名無しさん:2013/04/23(火) 07:21:23.66
https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

まあ、Javascriptが嫌いで、でも無視できない領域でプログラミングしてるなら
このリストから自分の好みの処理系を選んで使えば良いよ
Javascriptは標準化されてるから、一度ちゃんと動くレベルになればずっと動くし
489デフォルトの名無しさん:2013/04/23(火) 07:23:41.38
>>485
> パッケージやモジュールが一つの変数に値として入ってるという感覚
> なかなか他の言語ではこういうのないよね
Python なんかもそういう感覚だよ
490デフォルトの名無しさん:2013/04/23(火) 07:25:37.20
>>489
シングルトンだけどな
491デフォルトの名無しさん:2013/04/23(火) 07:31:48.50
>>488
よく見てなかったけど変なの一杯あるな
一通りメジャーな言語からJavascriptに変換できるようだし、
JS嫌いのやつ良かったじゃんw
492デフォルトの名無しさん:2013/04/23(火) 07:32:46.65
モジュールはシングルトンとして振る舞うほうが直感的だし、
別にdir辺りでモジュール情報読み込んで
シングルトンじゃないように振る舞うデコレータを書くのも簡単だけどね
493デフォルトの名無しさん:2013/04/23(火) 07:36:14.59
まあ確かにdirみたいなリフレクション的な機能は優れてるね
pythonも希有な言語だと思う
494デフォルトの名無しさん:2013/04/23(火) 07:39:32.07
>>488
Moescript - Indent-based language
LispyScript - A JavaScript with Lispy syntax and Macros.
RedScript - Ruby flavored JavaScript.

この辺面白そうだな
萌えスクリプトw
495デフォルトの名無しさん:2013/04/23(火) 07:41:05.54
モジュールが変数に入った値のように扱える言語って
pythonとかlisp系くらいかね
あとは知らないけどrubyあたりもそうかも
496デフォルトの名無しさん:2013/04/23(火) 07:58:23.71
そのへんは Ruby も Module クラスがあるぐらいでファーストクラス
497デフォルトの名無しさん:2013/04/23(火) 08:12:09.09
誰かが言ってたけど、新しいJavascriptを古いJavascriptにコンパイルして古いバージョンのブラウザで動かすことも
夢じゃないな
しかも、簡単な記述で自動的に出来そう
古いバージョンと新しいバージョンを宣言一つで自由自在に切り替えたり、
古いバージョンから新しいバージョンへの逆方向も簡単に出来そうだし
そうなると、古いバージョンにしか対応していないライブラリの利用も簡単に出来る
仕組みが出来上がるかも
長年プログラマを悩ませてきた言語の後方互換性の問題をJavascriptが解決しちゃうかもな
498デフォルトの名無しさん:2013/04/23(火) 08:28:39.66
>>477
一時期のPerlは酷い時代だったねぇ
専門分野でもないのにCGIの話ばかりで

perlがCGIという言語の処理系だと思ってる輩とか
.cgi=Perlソースの拡張子と思ってる輩とかが跋扈してた

やっと元のPerlに戻りつつあって良いと思うよ
二の舞で言えばRuby辺りは既に二の舞を踏んだとこだと思うな
何かRubyと言えばRails前提みたいなのが増えちゃってキモイことになった
499デフォルトの名無しさん:2013/04/23(火) 09:05:28.30
js使えない化石がいると聞いて
500デフォルトの名無しさん:2013/04/23(火) 09:06:33.88
>>488
JSへコンパイルする言語が乱立しているとは聞いていたが、
まさかこれほどとは・・・
JSの世界で、一体何が起こっているんだ・・・
501デフォルトの名無しさん:2013/04/23(火) 09:12:18.28
>>500
JSの世界には何も起きてないよ?

お前は、機械語に変換する言語が増えたら
機械語の世界で何が起きてるんだっていうか?
502デフォルトの名無しさん:2013/04/23(火) 09:20:23.94
いや起きてるだろ。
だれもJSなんか書きたくないからこうなった、まさにカオス。
503デフォルトの名無しさん:2013/04/23(火) 09:37:46.65
>Schemeの仕様書はR5RSだと50ページにも満たないため、かなりの数の実装が存在する。

仕様が小さいので(あんま細かいこと要求されない)
処理系が書きやすいんだろうな
なんかあったらJSが悪いで押し通せるというかその辺Schemeと似てるなw
504デフォルトの名無しさん:2013/04/23(火) 10:12:30.29
>>502
JS使ってる人が大半なのに何で誰も書きたくないっておもった?
505デフォルトの名無しさん:2013/04/23(火) 11:04:12.83
>>504
JS使ってる人が大半だって何でおもった?
506デフォルトの名無しさん:2013/04/23(火) 11:45:06.88
C (書きたい)
C++ (書きたくない)
AWK (書きたい)
Perl (書きたくない)
HTML (書きたい)
Ajax (書きたくない)

これがセカンドシステム症候群だ
507デフォルトの名無しさん:2013/04/23(火) 12:24:53.02
>>503
信者の言い分もLisperそっくりだからな
508デフォルトの名無しさん:2013/04/23(火) 13:28:46.56
>>484
CのCGIは設置できないってことなので
PHP Perl Python Rubyの中で処理速度が一番高速なのを知りたいです
やりたいのは2MBくらいの圧縮されたファイル(zip/gzip)から数MBのテキストファイル(UTF-8)を取り出し解析してデータを抽出しデータベース(mysql)に登録するという感じです
509デフォルトの名無しさん:2013/04/23(火) 13:30:22.00
>>505
>JS使ってる人が大半だって何でおもった?
客観的なデータからだよ
君のほうの根拠は?
510デフォルトの名無しさん:2013/04/23(火) 13:38:05.74
JS使いたくない人の大半はJS派生言語も使いたくないと思ってるよ
結局いつも使っている言語を使いたいだけ
511デフォルトの名無しさん:2013/04/23(火) 13:47:19.97
>>508
その程度なら差はほとんど出ない
設置しやすさとかメンテ要員とか開発者の好みとか他の要素で決めればいい
512デフォルトの名無しさん:2013/04/23(火) 17:03:37.79
JS厨なのにJSの限定的な用途を一切把握してないというのがすごいな
513デフォルトの名無しさん:2013/04/23(火) 17:12:55.52
>511
d
差が無いのか・・・それは残念です
514デフォルトの名無しさん:2013/04/23(火) 18:42:39.25
JSが機械語のポジションとして機能することが当たり前になるなら
静的型付けで書きたいから
どれかまともな静的型付け言語がJS上でデファクトの地位を確立しないものか
515デフォルトの名無しさん:2013/04/23(火) 18:47:37.23
機械語というか中間言語
googleが業界最速のデファクト処理系を作った時点でポイされるのがjs
516デフォルトの名無しさん:2013/04/23(火) 18:50:07.57
>>483
RDBがボトルネックになるよというのが昔からある決まり文句
517デフォルトの名無しさん:2013/04/23(火) 20:11:16.56
>>488のbrython使ったら、ブラウザでまんまPython動かせるじゃん
もうPythonでよくね?
518デフォルトの名無しさん:2013/04/23(火) 20:23:14.94
ぼくはhaXe使うよ!
519デフォルトの名無しさん:2013/04/23(火) 20:23:53.30
マルチプラットフォーム プログラミング言語 haXe
http://toro.2ch.net/test/read.cgi/tech/1238847817/
520デフォルトの名無しさん:2013/04/23(火) 20:30:09.36
JSに変換するタイプの言語はCoffeeScriptとかTypeScript程度ならいいけど、
あまりに元ソースとかけ離れちゃうとブラウザのデバッガが使いずらい。
ソースの行番号程度ならソースマップで同期させられるけど、
オブジェクトのインスペクタがダメ。
521デフォルトの名無しさん:2013/04/23(火) 20:39:18.85
>>391>>395
blenderの拡張ってJavascriptで書けたっけ?と思って
マニュアル見たら全然載ってねぇ。くっそー騙された!

ttp://wiki.blender.org/index.php/Doc:2.6/Manual/Extensions
522デフォルトの名無しさん:2013/04/23(火) 21:14:32.80
>>520
普及すれば言語専用のデバッグツールも充実してくるかも
523デフォルトの名無しさん:2013/04/23(火) 21:19:43.31
Kotlin、Ceylon、Xtend、Vala
ここらへんはJavaやGNOMEにこだわってないでJS上にも実装しちゃえよ
普及に弾みが付くかもしれんぞ
524デフォルトの名無しさん:2013/04/23(火) 21:28:10.61
>>522
使いづらいから普及しなくて
普及しないから使いづらいままのループ
525デフォルトの名無しさん:2013/04/23(火) 21:37:52.85
RMSの戯言って、計算機科学とは関係ない門外漢のニュースキャスターの豚に
馬鹿にされると何だかすごくムカつくね
ttp://www.youtube.com/watch?feature=fvwp&v=uFMMXRoSxnA&NR=1
こういうテレビ局みたいなIT業界と関係のないところは、
バリバリと予算をふんだくって良いからVisual Studioとc#を使いたくなるね!
526デフォルトの名無しさん:2013/04/23(火) 21:41:50.22
>>524
重要で面白いことは全部サーバ側で計算して
ブラウザ側はviewだけ担当すればいいんだから
JS厨みたいな低能じゃなかったらデバッガなんていらんだろ
527デフォルトの名無しさん:2013/04/23(火) 22:07:46.17
>>526
サーバ側で動くようなコードはかなり複雑でもデバッガに頼る必要ってあまり感じないけどね
直線的に動き切るような感じのコードにすることが多いし

ビューのコードは単純でも状態を遷移させながら永続的に動き続けるような感じになるんで、
リアルタイムでデバッガの支援を受けながらデバッグしたいことが多い
528デフォルトの名無しさん:2013/04/23(火) 22:14:29.13
いやんキモい
529デフォルトの名無しさん:2013/04/23(火) 22:26:40.51
デバッガを作るよりクロスコンパイラを作りたい
530デフォルトの名無しさん:2013/04/23(火) 22:27:10.17
>>521
他のJS厨のレスを見てもわかる通りすべて妄想だよ
531デフォルトの名無しさん:2013/04/23(火) 23:36:34.15
質問です。
JavascriptでのHTTPリクエストは基本的に鯖が対応してないと
クロスドメイン制約に引っかかってできないのでしょうか?
532デフォルトの名無しさん:2013/04/24(水) 00:10:15.59
>>531
基本的にはね
JSONPもCORSも鯖対応が必要
ただ、別にブラウザ上の組み込み言語じゃなければそんな制限はないので
node.jsとかは普通にできるし、Flashはポリシーファイルを使うみたいだね
533デフォルトの名無しさん:2013/04/24(水) 00:16:00.22
>>532
ありがとうございます。

ちょっとandroidで処理を全部htmlで書く場合どうすればいいかと思いまして、
クライアント側のhtmlではそういう通信は諦めたほうが良さそうですね。
おとなしくネイティブでやろうと思います。
534デフォルトの名無しさん:2013/04/24(水) 00:20:58.32
んー、うろ覚えだけど、Androidの場合はJavascript側にネイティブ処理を一応
追加出来たはず
ただ、この場合も全部HTMLってわけではないけど
535デフォルトの名無しさん:2013/04/24(水) 00:37:05.48
HTMLを使うならPhoneGapとかいいんじゃない?
ネイティブ命令へもアクセスできるし。

HTMLを使わないならTitaniumが有名だね。
こちらもJavaScriptでネイティブ命令を使える。
536デフォルトの名無しさん:2013/04/24(水) 02:23:47.58
>>535
お前が初心者だということが良く分かった
537デフォルトの名無しさん:2013/04/24(水) 02:38:05.54
間違ったことは言ってないと思うが?

またいつもの、悔しいからとりあえずなんか言っとけ
ってやつか? たいてい捨て台詞はいて去っていくんだよなw
538デフォルトの名無しさん:2013/04/24(水) 03:07:26.76
ネイティブ命令w
539デフォルトの名無しさん:2013/04/24(水) 03:21:48.88
ナイーブ命令><
540デフォルトの名無しさん:2013/04/24(水) 06:25:13.18
女性のデリケートゾーン
541デフォルトの名無しさん:2013/04/24(水) 08:18:18.63
他言語からJSに変換するノウハウもどんどん溜まってきて
ブラウザで動く唯一の言語というJSのメリットがどんどん無くなってきた
542デフォルトの名無しさん:2013/04/24(水) 08:26:38.97
そしてふと気づくんだよ
Javascriptが言語として優れていることに
543デフォルトの名無しさん:2013/04/24(水) 08:41:44.31
実際使ってみると気がつくんだよな>>520みたいな問題がわりと致命的だと
544デフォルトの名無しさん:2013/04/24(水) 09:06:31.96
asm.js使わないとダメな案件でたらどうする?
545デフォルトの名無しさん:2013/04/24(水) 09:13:27.80
その質問に意味はあるのか?
546デフォルトの名無しさん:2013/04/24(水) 11:15:38.77
あれを使えと言われたら、asm.jsのコードは最小限にして、他の環境でデバッグしてから、
ブラウザ上ではそのコードをブラックボックスとして扱うようにするな
547デフォルトの名無しさん:2013/04/24(水) 12:15:49.50
php 案件のが圧倒的に多いし
そりゃ富士山噴火したらどうすんの?並に起こる確率低いがな
548デフォルトの名無しさん:2013/04/24(水) 12:19:23.57
ちなみに今の世代が生きてるうちに富士山が噴火する可能性はかなり高いけどなw
549デフォルトの名無しさん:2013/04/24(水) 12:20:33.93
いつ?
550デフォルトの名無しさん:2013/04/24(水) 12:22:33.73
これなんだよな。JS厨が徹頭徹尾デタラメを並べて擁護してるのがだんだんネガキャンに見えてきた
551デフォルトの名無しさん:2013/04/24(水) 12:38:55.14
理解できてない奴がいるようだがasm.jsとPHPは競合するような技術じゃない
552デフォルトの名無しさん:2013/04/24(水) 18:35:00.31
はっきり言って、普通にDBサーバと連携したようなWebサイトだったらPHPで十分じゃないんの?
なんでわざわざ実績のない「こ難しい」もの使うの?
553デフォルトの名無しさん:2013/04/24(水) 19:05:52.08
現状維持で十分と思えば実績を肯定できるが
欲を出すとネガティブになる
554デフォルトの名無しさん:2013/04/24(水) 21:19:38.52
asm.jsの話になんでphpが出てくるんだよ
用途も目的も全く違うじゃないかw
555デフォルトの名無しさん:2013/04/24(水) 21:50:39.08
>>552
君が難しいと思っていることはどうでもいい。

DBサーバーと連携したようなウェブサイトというが
今のほとんどのウェブサイトはDBサーバーと連携してるので
ほぼ全てのサイトに当てはまる。

PHPがクライアントサイドで動くのならいいが、
PHPはサーバーサイド用なので
クライアントサイドの言語がどうしても一つは必要になる。

以上二つの理由からほぼすべてのサイトでクライアントサイドの言語が必要になる。

HTMLは文書のためのマークアップ言語なので、一部の数少ないフォームを除いて
ユーザーインターフェースを備えていない。HTMLのフォームは機能が貧弱で
例えば日付入力すら使いづらい。(HTML5で一部のブラウザでは少しましになったが)

閲覧するだけのウェブサイトならばHTML+CSSだけでも何とかなるが
使うことが出来るウェブアプリにはJavaScript(または同等の言語)が必要となる。
556デフォルトの名無しさん:2013/04/24(水) 22:04:05.13
asm.jsはJavaScriptのサブセットの言語。
asm.js言語で書かれたソースコードは、JavaScript言語として実行できる。

サンプルコード無いのかと思ってちょっと見つけた。
http://hagino3000.blogspot.jp/2013/04/asmjs.html

function create_my_asm_module(stdlib, foreign, heap) {
 "use asm";
}
こう書くと、対応しているブラウザではasm.js言語と解釈されるらしい。"use strict"みたいやな。

function calc_tax_included_price(price, tax_rate) {
 price = price|0; // priceはint
 tax_rate = +tax_rate; // tax_rateはdouble

 //略
}

これが型宣言の方法らしいw
int priceみたいな書き方はJavaScriptとの互換性がなくなるから、
まあ使えないわな。でもやっぱりキモいw

"int"; price; とか/* int */ price; みたいな
方法じゃダメだったんかいな?
557デフォルトの名無しさん:2013/04/24(水) 22:22:30.98
>>556
馬鹿だなお前
558デフォルトの名無しさん:2013/04/24(水) 22:29:33.29
>>557
理由書かないとお前のほうが馬鹿に見えるぞ。
559デフォルトの名無しさん:2013/04/24(水) 22:32:13.61
>>555
stackoverflowのAPIを使うクライアントを作れというお題があったよな
あれはPHPでもできるんじゃないか
560デフォルトの名無しさん:2013/04/24(水) 22:34:34.26
>>559
あ、クライアントというのはウェブアプリのクライアント、
ブラウザで動かすって意味ね。

PHPでデスクトップアプリ作るとか
CLIアプリでクライアントの役目をすることは出来るけど
そういう意味じゃない。
561デフォルトの名無しさん:2013/04/24(水) 22:55:51.25
あっ!

hcapp.rakusaba.jp
562デフォルトの名無しさん:2013/04/25(木) 01:46:23.85
asm.jsはマジで素晴らしいよ。
素のJSより速いだけじゃなく、emscriptenみたいなクロスコンパイラが使えるというのが良い。
LLVM用のフロントエンドがある言語(C/C++含む)と、それらの言語で書かれた処理系がある言語(Perl,Python,Ruby,PHP)は
ブラウザで動くようになる。
ウンコなJSを人間が読み書きする必要は無くなり、生産性の高い言語で開発することが出来る。
クロスコンパイラなので、ゴミのようなブラウザのデバッガを使う必要も無い。
563デフォルトの名無しさん:2013/04/25(木) 01:59:55.46
素のJSより早いといってもFirefox限定
LLVMとかのクロスコンパイラで生成するのが前提で、
生のasm.jsでコーディングするのはあまり考慮されていない

ブラウザのAPIにアクセスするようなコードは当然ながらブラウザ上でしか動作しないので、
asm.jsに変換されたわけのわからないコードとにらめっこしながら
ブラウザ上でデバッグすることになる
564デフォルトの名無しさん:2013/04/25(木) 02:11:13.78
クロスコンパイラを作る手間に比べたら、
開発環境でブラウザAPIをエミュレートする層を用意するくらい簡単。
わざわざブラウザ上でデバッグするわけねーだろ。
やっぱJS厨はアホだなw
565デフォルトの名無しさん:2013/04/25(木) 02:36:52.68
クロスコンパイラとして機能するLLVMのフロントエンドを作るのはそれほど難しくないよ
個人でなんとかなるようなレベル

それに比べたら、ビューのデバッグができるようなブラウザAPIの
エミュレーション環境を作るのは非常に手間がかかる
実用的に使えるものはほとんど存在しない
566デフォルトの名無しさん:2013/04/25(木) 07:32:58.85
全然大変じゃなさそうだけど、そもそも不要でしょ
だってemscriptenでデバッガも移植できるんだから
好きなだけブレークポイント貼るなりステップ実行なりすれば良い
567デフォルトの名無しさん:2013/04/25(木) 07:46:29.05
例えばC言語用の単純なデバッガをemscriptenでasm.jsに変換できたとして、
それでasm.jsのコードをデバッグなんて出来ないぞ
デバッガの仕組みを根本的に理解できて無いだろ
568デフォルトの名無しさん:2013/04/25(木) 07:53:53.01
スクリプト言語のデバッガは動くよ

それに、そもそもアプリはブラウザ固有のAPIなんて直接叩かなくなるよ
Qt等のクロスプラットフォームGUIフレームワークが抽象化して
ネイティブアプリとWebアプリが同じコードで動くようになる

で、基本はネイティブクライアントとして開発するけど、
インストールしたく無い人は少し遅いけどブラウザでも動きますよ、って世界になる
569デフォルトの名無しさん:2013/04/25(木) 08:01:13.29
そういう時代がくるといいね
まあ俺は普通にjsでもいいからどうでもいいけどw
570デフォルトの名無しさん:2013/04/25(木) 08:15:27.44
ブラウザ内で手間がかかるならブラウザ外に逃げる、ってグローバル化の人が言ってた
571デフォルトの名無しさん:2013/04/25(木) 08:21:07.32
スクリプト言語のコードをasm.jsに変換するんじゃなくて、
C言語で書かれたインタプリタ自体をasm.jに変換して、
スクリプト言語のコードをそのままブラウザで動かすってことかね

まず、インタプリタがOSのAPIにアクセスしまくりなんで、
それをブラウザで動くように変換するのはかなり手間がかかるな

さらに、スクリプト言語のコードからブラウザのDOMとかにアクセスする手段は
新たに用意する必要があるので、これにも激しく手間がかかる

こんなの誰が作るんだよ
572デフォルトの名無しさん:2013/04/25(木) 08:21:09.47
ネイティブアプリをストアで販売して、
ブラウザで動くバージョンはタダで使える
開発者側は一つのコードベースで良い

悪くないな
ブラウザ由来の機能制限も、これならメリットにすらなりそう
573デフォルトの名無しさん:2013/04/25(木) 08:50:03.70
ブラウザのHTML+DOMをクロスプラットフォームのGUIフレームワークで抽象化ってのが難しいな
まあCanvasに描画とかになるんだろうが激しく重そう
逆にネィティブアプリも表示にDOM+HTMLを使うようになるって方が現実味がある
574デフォルトの名無しさん:2013/04/25(木) 09:50:46.98
WebGLだよアホか
575デフォルトの名無しさん:2013/04/25(木) 10:15:02.27
WebGLに固定しちまったらさすがに普及はしないだろな
576デフォルトの名無しさん:2013/04/25(木) 10:19:27.65
asmjsって、ブラウザのJSエンジンが対応しないなら意味ないというか、わけわからないコードが紛れ込む事になって可読性が多いに低下する。
WebGLも使い道ほとんどないだろう。
高度な3Dグラフィックのゲーム作るのにわざわざブラウザをプラットホームにする理由ない。
ネイティブアプリで作る方が遥かに簡単で高速なんだから。
577デフォルトの名無しさん:2013/04/25(木) 10:21:38.69
asm.jsな
これは中間言語みたいなもんで可読性とか考えるようなものじゃない
578デフォルトの名無しさん:2013/04/25(木) 11:22:19.83
Firefoxしかないモジラと違って、MicrosoftやAppleやGoogleはネイティブアプリのプラットホームを持ってる。
インターネットの標準にノイズを入れる事を彼らが支持するはずかない。
ECMAもasmjsにはマジおこ。
579デフォルトの名無しさん:2013/04/25(木) 14:37:53.78
COMETってHTTPリクエストを繋ぎっぱなしにするってあるけど
これはサーバープログラムの設定でできるの?
apacheとかでやる場合どうするんですか?keep aliveとか関係してますか?
教えてください
580デフォルトの名無しさん:2013/04/25(木) 14:58:59.67
とりあえず勢いソートして人が多そうなところに質問する馬鹿
581デフォルトの名無しさん:2013/04/25(木) 16:13:13.88
>>578
NaCl等と違って、asm.jsは標準のサブセットだから、
別にブラウザがサポートしなくても実行が糞遅くなる(そして遅いブラウザという烙印を押される)だけ

そしてMozillaだけでなくGoogleもサポートしそう
ttps://code.google.com/p/v8/issues/detail?id=2599



JS厨が後生大事に溜め込んだバッドノウハウが
陳腐化してゴミになることを除けば、誰も損をしない
素晴らしいプロダクトだよasm.jsは
582デフォルトの名無しさん:2013/04/25(木) 21:25:50.57
>>574-576
WebGLはそもそも、対Flashのためにあるんじゃないの?
そんなに速度がシビアな分野には使われねんじゃねーかと思う
583デフォルトの名無しさん:2013/04/25(木) 21:44:36.78
>>581
別に何も困らんけどね
バッドノウハウがいらなくなって、javascriptが速くなって
結構なことじゃんw
584デフォルトの名無しさん:2013/04/25(木) 21:46:54.90
Javascript最強すぎるなw
asm.jsにWebGL
パフォーマンスまでもが強みになってきた
死角なさすぎて笑が止まらんw
585デフォルトの名無しさん:2013/04/25(木) 22:57:41.21
>>581
> JS厨が後生大事に溜め込んだバッドノウハウが
> 陳腐化してゴミになることを除けば、誰も損をしない

あれ? 普通はバッドノウハウは
早く不要になってほしいと思ってるはずだけど?

JS厨を含めて、誰も損しないじゃんか。
586デフォルトの名無しさん:2013/04/25(木) 23:02:14.04
asm.jsって可読性変わってないと思うけど?

可読性に関することって
int型とdouble型の指定の
2つだけでしょ?

あとは標準のJavaScriptそのまんま。
587デフォルトの名無しさん:2013/04/26(金) 00:56:01.25
先輩方ご助言をお願いします!

今以下の様なスクリプト書いています。これらをJSON形式にて出力したいのですが、
どうにもやり方が分らず苦戦してます。そもそもこれだと無理なのかすら判断が出来ず、
お知恵を貸して下さい!

book.items.each do | item|
res1 = item.get('ItemAttributes/Title')
res2 = item.get('DetailPageURL')
res3 = item.get('MediumImage/URL')
js = { "title" => res1, "url" => res2, "img" => res3}
ans = JSON.pretty_generate(js)
puts ans

出力結果(カンマが入らないのと [ ] が付与されない)
{
"title": "name",
"url": "address",
"img": "path.jpg"
}
{
"title": "name",
"url": "address",
"img": "path.jpg"
}
588デフォルトの名無しさん:2013/04/26(金) 00:59:37.13
Perlだったらわかってた
589デフォルトの名無しさん:2013/04/26(金) 00:59:40.33
そんなことはどうでもいいから
JSの話に戻ろうぜ。
590587:2013/04/26(金) 01:03:02.11
度々すいません。実現したいのは以下の様な形です。
[
{
"title": "name",
"url": "address",
"img": "path.jpg"
},
{
"title": "name",
"url": "address",
"img": "path.jpg"
}
]

>>588
Rubyですいません。。。
>>589
下らない質問ですいません。。
591デフォルトの名無しさん:2013/04/26(金) 01:16:48.82
>>590
なんでRubyスレがあるのにここで質問するの?
592587:2013/04/26(金) 01:20:06.80
>>591
ぁっあ!!!すいませんでした、全然違うところに書き込んでいるの気がつきませんでしたOrz…
移動します。ありがとうございます。
593デフォルトの名無しさん:2013/04/26(金) 01:44:19.46
我が覇気に恐れをなして逃げたか
594デフォルトの名無しさん:2013/04/26(金) 07:36:18.48
>>585
JS自体のコーディング需要が無くなるという意味で
バッドノウハウが不要になるんだけどね

JSは中間言語としてのみ生き残る
595デフォルトの名無しさん:2013/04/26(金) 07:42:52.96
PHPが無くならないのと同じ理由で、JSを駆逐するのは無理だろうな
596デフォルトの名無しさん:2013/04/26(金) 07:53:31.34
>>583>>584
JS厨の書く普通のJSコードは全く速くならんがな

GCすら無いasm.js用コードを手書きしたいというなら止めんが
597デフォルトの名無しさん:2013/04/26(金) 07:59:20.75
お前らが女子小学生好きなのは分かった
598デフォルトの名無しさん:2013/04/26(金) 08:15:57.13
>>596
正直そのレベルならどの言語で書こうとasm.js用なのを
意識する必要があるんじゃね?
仮にそれが無いとすれば、普通のjavascriptやよく似たtypescriptあたりを
自動変換する技術も現れるだろう
599デフォルトの名無しさん:2013/04/26(金) 08:22:50.86
とりあえず現実的なasm.jsの使い方は、JSから呼び出すサブルーチンを
Cで書いてasm.jsに変換したものに置き換えるあたりだろう
600デフォルトの名無しさん:2013/04/26(金) 08:24:10.54
asm.jsでネイティブの50%程度の速度が得られるっていうのは
Cとかの静的言語のコードをasm.jsのコードへ変換した場合なんだよね

動的言語のコードを変換してもそれほど速くはならんし、
インタプリタ自体をasm.jsで変換してその上でスクリプトを動かしたりしたらスッゲー遅いよw
601デフォルトの名無しさん:2013/04/26(金) 08:26:14.79
CとJavascriptを愛する俺の時代が来るのか
602デフォルトの名無しさん:2013/04/26(金) 08:29:32.79
それじゃ石器時代に逆戻りじゃないですか。やだー
603デフォルトの名無しさん:2013/04/26(金) 09:15:49.69
>>595
> GCすら無いasm.js用コードを手書きしたいというなら止めんが

asm.jsはJavaScriptとして実行可能って言ってるだろうがw
604デフォルトの名無しさん:2013/04/26(金) 09:24:43.70
>>603
たぶんなんか勘違いしてる
"use asm";を付けたコードは、Javascriptとしてもasm.jsとしても実行できるコードになってる必要がある
605デフォルトの名無しさん:2013/04/26(金) 10:04:44.41
>>604
asm.jsはjsのサブセットだからasm.jsが動くならjaも必ず動く
606デフォルトの名無しさん:2013/04/26(金) 10:05:19.75
jaじゃなくjsね
607デフォルトの名無しさん:2013/04/26(金) 10:57:03.51
>>605
その逆はダメだってことね。だからまずはGCを止めるasm.jsの環境で動くコードである必要がある。
そのコードがJSの環境でも一応動くってだけ。
608デフォルトの名無しさん:2013/04/26(金) 11:04:33.77
サブセットは簡単だけど⊆と⊇を間違える事故が必ず起きるよね
609デフォルトの名無しさん:2013/04/26(金) 20:17:40.24
>>600
Cで書かれたプログラムが50%程度の速度で動くなら、
Cで処理系が書かれたスクリプト言語も50%程度の速度で動くのでは?
610デフォルトの名無しさん:2013/04/26(金) 21:04:20.11
>>609
スクリプト言語はインタプリタがネイティブで動いてる状態でも
ブラウザで動くJSと比べてかなり遅いからね
611デフォルトの名無しさん:2013/04/26(金) 21:18:24.62
ゲームならともかく、普通のGUIアプリなんて
ウィジェットが速い言語で書かれてたら
他の部分は何で書いても速度差なんて体感できんけどね

特にウェブアプリはネットワークがボトルネックの上に計算はサーバでやるし

まあ、速度が欲しけりゃC/C++で書いてFFIで呼べば良いよ
612デフォルトの名無しさん:2013/04/26(金) 21:55:07.38
Javascriptは型付けが弱くてウザいわ
暗黙の型変換が邪魔すぎる
文字列と数を足せたり、加算するだけで整数が実数になったり馬鹿かと


で、こう書くと型付けの弱さと動的型付けの
区別が付かないアホが湧くんだよなぁ
613デフォルトの名無しさん:2013/04/26(金) 22:15:52.09
>>612
型付けの弱さに、暗黙の型変換がどう関係するの?
暗黙の型変換なんて演算子オーバーロードみたいなものとしか
思ってないんだが?
614デフォルトの名無しさん:2013/04/26(金) 22:22:37.33
加算するだけで整数が実数になるのか?
マジで?
2+1が3と比較したら等しくなかったりするんか
クソすぎるじゃん
615デフォルトの名無しさん:2013/04/26(金) 22:27:39.07
http://d.hatena.ne.jp/gifnksm/20100131/1264934942

数値
JavaScript の数値は全てが実数型です。整数型という概念はありません。
616デフォルトの名無しさん:2013/04/26(金) 22:29:18.84
>>614
クソ言う前に自分で調べるかレスを待てよ。
クソ言ったお前がバカに見られるぞw

それで型付けの弱さと暗黙の型変換の関係は?
型付けが弱かったら、絶対に暗黙の型変換が行われると
思ってるのかな?
617デフォルトの名無しさん:2013/04/26(金) 23:03:18.53
いや、javascriptに整数という概念がなくても、人間にはあるだろ
人間にとっての整数が、加算で整数でなくなったりしたら困る
618デフォルトの名無しさん:2013/04/26(金) 23:47:53.50
整数型は桁があふれると非常に困るんじゃないかね
実数型なら誤差かもしれない
619デフォルトの名無しさん:2013/04/27(土) 03:38:14.23
Javascriptに整数型はあるぞ
bit演算なんかの特定の演算の結果は整数になる
620デフォルトの名無しさん:2013/04/27(土) 03:56:02.48
javascriptは\dでマッチさせてもparseIntが必要なのがダルいよな
621デフォルトの名無しさん:2013/04/27(土) 06:42:35.68
数と文字列とリストとハッシュとクロージャ
どれを相互に足しても実行時エラーにならないとかJS糞すぎる
622デフォルトの名無しさん:2013/04/27(土) 06:50:35.04
>>618
スクリプト言語なのに整数の桁あふれを
意識する必要がある時点でダセェ
623デフォルトの名無しさん:2013/04/27(土) 07:10:29.68
JSは整数の加算や乗算で桁あふれしないけどねw
624デフォルトの名無しさん:2013/04/27(土) 07:25:25.70
>>622
これって、スクリプト言語とは違うジャンルが出てくる前兆だよな
625デフォルトの名無しさん:2013/04/27(土) 07:35:30.84
スクリプト言語でもでっかい整数を扱いたいとき普通はGNU Multi-Precision Library(GMP)が使えるからね
PHPでも爆速よ
626デフォルトの名無しさん:2013/04/27(土) 07:39:22.38
>>623
JSは桁あふれっつーか、こっそり精度が落ちる
1000000013 * 1000000013  => 1000000026000000100
627デフォルトの名無しさん:2013/04/27(土) 07:43:48.95
JSで言うGMPはゲームエンジンだから笑える
628デフォルトの名無しさん:2013/04/27(土) 08:03:38.72
JS GMPでググると1番上はゲームエンジンだけど
2番目はGNU Multi-Precision Libraryを使うためのgmp.jsってライブラリだな
629デフォルトの名無しさん:2013/04/27(土) 08:07:46.62
gmp.jsってemscriptenを使ってCをJSに変換してるんだよな

やっぱasm.jsが待ち遠しいな
JSは中間言語になっちゃうけど
630デフォルトの名無しさん:2013/04/27(土) 08:11:41.09
gmpを明示的に使うの?
何それスクリプト言語ってよりCに近いじゃん
631デフォルトの名無しさん:2013/04/27(土) 08:47:46.21
>>629
それ遅いんじゃね?
他言語関数インターフェースじゃなくて、中身もJSなの?
632デフォルトの名無しさん:2013/04/27(土) 09:11:40.46
emscriptenは意外にそこまで遅くはないな
ただダウンロードサイズがでかくなりがちで、こんだけ待たせるならそもそもネイティブの方がよくね?
という根本的などうしようもない問題があるのであまり実用的ではないな
633デフォルトの名無しさん:2013/04/27(土) 09:18:24.89
ヒント:キャッシュ
634デフォルトの名無しさん:2013/04/27(土) 09:19:53.23
中身もJS
emscriptenはブラウザ側が対応する必要無いのがメリット
GoogleV8ならJSのままでもそんなに遅くなるわけじゃない
asm.jsに変換できればもうちょっと早くなる
まあでもどっちにしろ読み込みと本格的に動き出すまでの時間がネックだね
キャッシュ関係の工夫である程度改善できそうだけど
635デフォルトの名無しさん:2013/04/27(土) 09:37:03.71
いやいや、V8はasm.jsに比べたら随分遅いよ

http://kripken.github.io/mloc_emscripten_talk/#/28
636デフォルトの名無しさん:2013/04/27(土) 09:47:30.81
静的型言語でもリンクが遅いという問題はあるけど
gmpyに関してはすぐ使えるなあ
637デフォルトの名無しさん:2013/04/27(土) 10:43:15.42
>>633
Webサイトで初回読み込みで待たされるのは致命的だろ
ライブラリを一元的に提供するサービスがあればいいけど
638デフォルトの名無しさん:2013/04/27(土) 10:55:19.02
>>637
Googleとかがそういうサービスを提供してる
639デフォルトの名無しさん:2013/04/27(土) 13:28:36.84
>>638
emscriptenで使うようなライブラリがどこで配布されてるの?
それにemscriptenって基本的に全部スタティックリンクするのが推奨なんだけど
640デフォルトの名無しさん:2013/04/27(土) 13:35:38.08
ゲームを始めるのに、ダウンロード時間がなくなるといいよね。
ウェブアプリならそれが可能。
641デフォルトの名無しさん:2013/04/27(土) 13:39:59.88
ソフトウェア全体を単体のバイナリにするんじゃなくて、
小さなバイナリの集合体にして
必要なところだけダウンロードする方式がでてきそうだな。

実際の所データと同じだ。ステージが進むたびに
必要なデータ(プログラム)をダウンロードする。

あとはそれをうまく最適化すれば、初回読み込みであっても
すぐに開始され待ち時間も少なくて済むだろう。
データに比べれば、プログラムのサイズなんてたかが知れてる。
642デフォルトの名無しさん:2013/04/27(土) 13:42:15.44
ミドルウェアが一番でかいんだから結局あんまり意味ないんだよねそれ
643デフォルトの名無しさん:2013/04/27(土) 13:42:37.47
>>637
> Webサイトで初回読み込みで待たされるのは致命的だろ

プログラムのサイズで待たされることなんてまず無いよw
644デフォルトの名無しさん:2013/04/27(土) 13:43:33.25
>>642
なんで? ミドルウェアも必要なところだけ
読みこむようにすればいいじゃん。
JavaScriptはそれが可能。
645デフォルトの名無しさん:2013/04/27(土) 13:49:39.96
>>643
俺もそう思ってた
emscriptenのデモ動かしてみなよw

>>644
ああemscriptenの話な
必要なところだけ読み込むっていっても
C/C++のライブラリってもともと結構な依存関係があるもんだからどうしてもデカくなる
646デフォルトの名無しさん:2013/04/27(土) 13:53:46.66
まーたJS厨の夢物語かよ
お前の言う未来像とかとっくの昔に誰かが考えてるし
毎度毎度大袈裟に語るほど劇的なものじゃない
現実や実現可能性を無視したお花畑イメージを垂れ流しすぎ
647デフォルトの名無しさん:2013/04/27(土) 13:54:24.24
>>645
でもさ変わりに、ネイティブ版をやろうと思っても
どうせダウンロードに時間がかかるんだろ?
648デフォルトの名無しさん:2013/04/27(土) 13:55:16.90
>>645
だから、それはデータのダウンロードの量でしょ?
649デフォルトの名無しさん:2013/04/27(土) 13:59:21.54
ここらへんにゲーム以外のデモがある
https://github.com/kripken/emscripten/wiki
こっちはすぐに実行される。

昔のゲームは、データをネットワークからダウンロードするのではなく
ローカルに全てダウンロード済みであるのを前提として
動くようになっている。

だからそれをemscriptenで単純に移植しても
最初のダウンロードに時間がかかるのは当たり前だろう。

でもそれはデータの話。
ソフトウェア自体はダウンロードの時間がかかってないから
移植ではなく新たに作るとき、データのロード部分を考慮すれば問題ない。
650デフォルトの名無しさん:2013/04/27(土) 14:02:56.51
自分で何を言ってるのか分かってなさそう
651デフォルトの名無しさん:2013/04/27(土) 14:04:30.49
>>650
お前は自分が言いたいことをちゃんとかけ。
652デフォルトの名無しさん:2013/04/27(土) 16:55:10.19
スマートフォンでストアアプリって文化圏が出来て、HTML5のウェブアプリがネイティブアプリに取って代わるみたいな未来像は消えた。
653デフォルトの名無しさん:2013/04/27(土) 18:47:22.54
>>649
データもソフトウェアですよ
654デフォルトの名無しさん:2013/04/27(土) 19:05:39.30
>>653
特定の言語でゲームを作れば、大容量ゲームが
ダウンロード無しにできるといいたいのなら
はっきりそう書けよw
655デフォルトの名無しさん:2013/04/27(土) 19:10:35.64
賢者は歴史に学ぶ
現在と未来については分からないことが多すぎて学ぶのは不可能だから
656デフォルトの名無しさん:2013/04/27(土) 19:17:09.09
>>654
ソフトウェアって言葉が何を意味するのか理解してないの?
657デフォルトの名無しさん:2013/04/27(土) 19:33:24.23
普通はデータこみのパッケージを指す訳だが。
658デフォルトの名無しさん:2013/04/27(土) 19:37:40.89
つまり言いたいのは、ソフトウェアのうち
プログラムは小さいが、ソフトウェア全体はデータ込みだから
でかいってこと。
659デフォルトの名無しさん:2013/04/27(土) 19:38:33.71
話を戻すと、ウェブサイトで初回読み込みで待たされるのは
プログラムではなくデータ部分ってことだよ。
660デフォルトの名無しさん:2013/04/27(土) 19:44:07.42
JS厨のズレっぷりがスゴい
自覚はあるようで必死に連投して軌道修正しようとはしてるが
そもそもの方向性がおかしい
661デフォルトの名無しさん:2013/04/27(土) 20:16:32.46
>>660
その根拠は?
なんで理由も言わず文句言ってる奴が多いんだろうか?
JSを否定している奴ってみんなそうなの?
662デフォルトの名無しさん:2013/04/27(土) 20:29:31.88
JS厨が頭おかしくて当時ながら誰も乗ってこないので議論が盛り上がらない
というかJSマンセー馬鹿はJSに限った話しかできないからスレチレベルで最悪
他の言語では問題にしてないJS特有の制約をまるでメリットのように宣伝してるのが糞だし
実現してないこと、できないことまで息をするように紛れ込ませる
特殊言語を最高の汎用言語のように語っても端から見たらゴミカスでしかないから早く消えてほしい
663デフォルトの名無しさん:2013/04/27(土) 20:33:41.13
と息巻いて書いているが、
具体的に何を批判しているのか全くわからない。
JSを他の言語に置き換えても成り立つ汎用性の高さ。
664デフォルトの名無しさん:2013/04/27(土) 20:34:14.94
Ruby厨が頭おかしくて当時ながら誰も乗ってこないので議論が盛り上がらない
というかRubyマンセー馬鹿はRubyに限った話しかできないからスレチレベルで最悪
他の言語では問題にしてないRuby特有の制約をまるでメリットのように宣伝してるのが糞だし
実現してないこと、できないことまで息をするように紛れ込ませる
特殊言語を最高の汎用言語のように語っても端から見たらゴミカスでしかないから早く消えてほしい


すげーw
665デフォルトの名無しさん:2013/04/27(土) 20:37:25.11
そりゃお前と同様に頭のおかしいRuby厨がいたら、それは同様に成り立つに決まってる
JS厨が連日妄想を並べて糞スレ化してるのはただの事実でしかない
666デフォルトの名無しさん:2013/04/27(土) 20:38:45.70
内容に具体的に反論できてないことを笑ってるだけw
667デフォルトの名無しさん:2013/04/27(土) 20:45:37.53
JS厨は具体的な話をしてるつもりなのだろうか…
だとしたら、自己反証可能なはずだからやれば?
雲を掴むようなマンセー妄想じゃなくてね
668デフォルトの名無しさん:2013/04/27(土) 20:52:15.83
ちげーよw お前がどのレスに対して話しているのかってことだ。
内容がなくただ文句を言ってるだけだから他の言語にしても成り立つんだぞ。
669デフォルトの名無しさん:2013/04/27(土) 20:55:46.49
お前以外には成り立たねーよw
670デフォルトの名無しさん:2013/04/27(土) 20:58:13.36
JS厨を連呼するだけのうんことasm.jsで妄想してるうんこがいるのは理解できる
671デフォルトの名無しさん:2013/04/27(土) 20:59:37.59
JS厨が暴れる限りずっとこの流れだよ
672デフォルトの名無しさん:2013/04/27(土) 21:00:14.98
全部JS厨が悪いんだ
673デフォルトの名無しさん:2013/04/27(土) 21:01:22.75
その二人、話かみ合って無いからコテでもつけてじっくり語り合ってくれ
674デフォルトの名無しさん:2013/04/27(土) 21:03:47.58
asm.jsで妄想してる方は、JSなんて中間言語としてしか残らねえって言ってるやつだろ?
そいつをJS厨と呼ぶのはJS厨さんに失礼なんじゃないですか
675デフォルトの名無しさん:2013/04/27(土) 21:06:31.98
JS厨が言ってるのは、JSのおかげで未来はあーなるこーなる
そうあう不確定な要素に対して具体的な批判をしろ、ということ
具体性を欠いてるのはどっちだ。ただの詐欺師。こんな馬鹿げた話はない
676デフォルトの名無しさん:2013/04/27(土) 21:09:18.97
>>675
まずは日本語でお願いします
677デフォルトの名無しさん:2013/04/27(土) 21:11:03.06
JS厨の言ってることは一切信用できない
上で言われてるようにスマホアプリにしたってブラウザアプリである必然性が既にない
現時点でズレてるわけだ
678デフォルトの名無しさん:2013/04/27(土) 21:15:06.07
そう、iPhoneならね
から丸パクリした決め台詞でドヤ顔したJS厨を見たら臭すぎて無理だと思った
679デフォルトの名無しさん:2013/04/27(土) 21:25:09.76
>>676
言葉は武器なので
相手の武器にお願いをするのは平和ボケか偽善
680デフォルトの名無しさん:2013/04/27(土) 21:26:50.80
>>679
いや、武器に見えないんだろw
へなへなした紙ちらつかせてそれで相手がビビるとでも思ってるのかい?
681デフォルトの名無しさん:2013/04/27(土) 21:31:47.21
でもさ、意味不明なことを言っていても
ワーワーうるさいとキチガイっぽくて怖くね?w
682デフォルトの名無しさん:2013/04/27(土) 21:35:42.71
>>616
むしろ、型付けが弱いって言われる条件みたいなもんじゃね<<文字列と数値の暗黙変換
683デフォルトの名無しさん:2013/04/27(土) 21:50:35.92
>>681
そうやって差別するだけで勝てると思ってるのが駄目なんだ
油断しても何の得にもならないのに
684デフォルトの名無しさん:2013/04/27(土) 21:51:54.80
>>682
型付けが弱いって言われる言語は
基本的な動作としては実行時にデータ型不一致のエラーを出すものだと思う
それだと不便なんで暗黙的に変換するような仕組みが入った
685デフォルトの名無しさん:2013/04/28(日) 05:59:17.20
ほら、型付けの強弱と静的動的の区別が付かない馬鹿が現れた。
686デフォルトの名無しさん:2013/04/28(日) 06:06:32.11
〉In computer science and computer programming, a type system is said to feature strong typing
〉when it specifies one or more restrictions on how operations involving values of different data types can be intermixed.
〉The opposite of strong typing is weak typing.

普通はこう考えられてるからね
687デフォルトの名無しさん:2013/04/28(日) 09:27:14.87
PHPより型付けが弱いJSは
中間言語がお似合いだな
688デフォルトの名無しさん:2013/04/28(日) 09:32:17.67
中間言語こそ型付けが重要だろ
asm.jsはその欠陥を誤魔化すためのバッドノウハウを集めて中間言語として規定したものと言える
689デフォルトの名無しさん:2013/04/28(日) 09:35:38.17
数値の比較は==で文字列の比較はeqのように使い分けるのが明示的
==しかないのは暗黙的
690デフォルトの名無しさん:2013/04/28(日) 11:10:19.05
==による動作が数値と文字列でそれぞれきっちり定義されていれば、
暗黙的ではあるけど、暗黙的な「変換」ではないだろ
691デフォルトの名無しさん:2013/04/28(日) 11:33:49.35
言語仕様的にはまず変換することになってたはず
692デフォルトの名無しさん:2013/04/28(日) 11:51:41.26
どこから特定の言語の話になったんだ
693デフォルトの名無しさん:2013/04/28(日) 11:54:27.28
セキュリティに詳しい人いる?
ファイル名をPOSTしてもらってjsonファイルを書き出して返すっていうwebアプリで危険なところある?
694デフォルトの名無しさん:2013/04/28(日) 11:55:09.65
ファイル名はエスケープ処理してない場合
695デフォルトの名無しさん:2013/04/28(日) 11:55:25.44
教科書的なセキュリティホールだな
他のファイルを除かれる危険性がある
696デフォルトの名無しさん:2013/04/28(日) 12:00:19.88
>>695
うん
その除かれるやつをためしたけどNullバイト攻撃はPHP 5.3.4以降では成立しにくくなったって記事読んで%00とかいれるとエラーが起きて除けない
こういう場合ヌルバイトのほかに攻撃手法ってある?
ほかに突破する方法ってある?

ファイル名「test」送信

test.jsonと返ってくる
697デフォルトの名無しさん:2013/04/29(月) 16:59:38.20
Java8の更なる延期が決定し、ますますオワコン化激しい昨今ですが
Javaプログラマが新たにスクリプト言語を覚えようとしたとき、
オススメの言語は何になるでしょうか?

なお、プログラミングできない方の意見は1ピコグラムの価値も無いので、
「どこどこの会社が使っている」などの伝聞は不要です。
698デフォルトの名無しさん:2013/04/29(月) 17:22:15.74
自分で判断できない人はJavaを使い続けるのがオススメ
699デフォルトの名無しさん:2013/04/29(月) 18:10:19.60
>>697
スクリプト言語の質は言語仕様ではなく実装で決まる
使う人のメリットだけで判断すると、作る人がなぜか作るのをやめてしまう危険があるから
両者のメリットの総和を考える必要がある
実装を見るにはCの知識がある方がいいからCがおすすめ
700デフォルトの名無しさん:2013/04/29(月) 18:31:37.20
作る人が作るのをやめるって
それ、作る人が一人とからじゃね?

だから標準化してオープンソース化して
沢山の人で作るようにしなきゃ
701デフォルトの名無しさん:2013/04/29(月) 20:20:25.41
>>697
それこそjavascript一択
Javaってことはwebアプリでしょ
現場、webアプリならjavascriptはまず避けて通れない
702デフォルトの名無しさん:2013/04/29(月) 20:51:36.64
馬鹿丸出しw
703デフォルトの名無しさん:2013/04/29(月) 20:58:02.74
>>700
標準化しているスクリプトて何があるかな?
とりあえずECMAScriptは標準化されてるな。
704デフォルトの名無しさん:2013/04/29(月) 21:11:48.79
>>700
人数を増やしても、やめた一人だけが生き残って他が全滅するパターンはあると思う
正答率が高くないと多数決は使えない
705デフォルトの名無しさん:2013/04/29(月) 21:57:48.49
作者やコミッタが全滅して言語が死亡する可能性なんて
真面目に考える価値があるのか?
706デフォルトの名無しさん:2013/04/29(月) 22:01:24.34
負の情報量ってあるのかな
二択でも50%以上外れるとか
707デフォルトの名無しさん:2013/04/30(火) 01:28:12.98
strtus2 vs spring MVCの構図があって、grailsがあるspringに賭けよう
ruby?PHP?node.js?何それオイシイの?
708デフォルトの名無しさん:2013/04/30(火) 01:31:14.23
railsって、何かこう豚も煽てりゃに近かったよね
皆ほら、中高生だろうけど物事は冷静に見ようね
709デフォルトの名無しさん:2013/04/30(火) 01:43:28.05
>>652
大方、時間の問題で一気に変遷すると恐怖していたものが、
思っていた以上にあちこちの互換性がなくってもたついてるだけで
技術革新によってそれらが廃れる恐怖がなくなるわけではない
710デフォルトの名無しさん:2013/04/30(火) 09:41:31.65
ペルシャ湾で天然真珠調査 世界遺産「復活」に協力 2013年4月30日 09時20分
http://www.chunichi.co.jp/s/chuspo/article/2013043001001486.html

 日本の養殖真珠の生産により20世紀前半から天然真珠産業が衰退したペルシャ湾で、
日本がバーレーンと協力し、真珠貝の生息調査に乗り出すことが30日、分かった。
日本の水産技術を使って真珠貝を増やし、伝統産業を復活させるのが狙い。
独立行政法人水産総合研究センター西海区水産研究所(長崎市)などが5月中旬から現地調査を始める。

 真珠産業はクウェートやアラブ首長国連邦(UAE)などの伝統産業として知られ、
バーレーンの真珠文化は昨年、国連教育科学文化機関(ユネスコ)の世界遺産にも登録された。
日本が真珠産業の復活を手助けすることは産油国との関係強化にもつながる。
(共同)
711デフォルトの名無しさん:2013/04/30(火) 11:18:24.62
>>710
それは Pearl
712デフォルトの名無しさん:2013/04/30(火) 12:59:20.56
とはいえ、日本の方もperlの復活には割りと協力的だよね
713デフォルトの名無しさん:2013/04/30(火) 13:02:56.79
ラリーと、その仲間たちがユネスコの世界遺産に登録されるのは何時だろう?
オタクはダサいってなレッテルが貼られたままで居た方が、
結局の所、彼らはやりたいことが続けられていたんじゃないだろうか?
金が絡むとと途端にこれだ
714デフォルトの名無しさん:2013/04/30(火) 14:24:35.76
>>701
AndroidはWebアプリだったのか、そりゃビックリだ
715デフォルトの名無しさん:2013/04/30(火) 18:39:44.45
>>697
groovyかrhinoかnashorn
716デフォルトの名無しさん:2013/04/30(火) 19:20:36.19
Javaがオワコンなのに、それは無い
717デフォルトの名無しさん:2013/04/30(火) 19:52:50.63
一生、Web開発しかやらないなら兎も角、イロイロと考慮すると最初からjava以外に選択肢ないって
それか、PHPとcの組込み、通信機器開発してるようなとこ探すか
718デフォルトの名無しさん:2013/04/30(火) 20:15:19.96
選択肢ないなんて弱音を吐くのは、よく考えると珍しいパターンだよな
いつものパターンなら、代わりはいくらでもあると豪語しそうなのに
719デフォルトの名無しさん:2013/04/30(火) 20:20:59.18
てか、PHPよかjspの方が速いでしょ?
桁落ち、情報落ちだとか考えない高卒でも出来る仕事ならともかく、
それ以外の用途に動的言語って考えられないんだけど
720デフォルトの名無しさん:2013/04/30(火) 20:26:47.56
桁落ちの話と動的型言語に何の関係があるのか分からないんだが……
721デフォルトの名無しさん:2013/04/30(火) 20:58:15.57
slideshareでframeworkの性能と仕事数を確認しろよアホども
722デフォルトの名無しさん:2013/04/30(火) 21:32:07.94
自分が低能だという自覚があるのなら、
仕事に就ける確率を少しでも上げるために
よく使われてる言語を選ぶのはアリだな

JavaとかPHPとかJavascriptはそういう言語
723デフォルトの名無しさん:2013/04/30(火) 23:06:03.27
haskellってできる奴いるの?
724デフォルトの名無しさん:2013/04/30(火) 23:07:18.34
phpでアンドロイド開発できる?
725デフォルトの名無しさん:2013/04/30(火) 23:08:46.82
phpで一生喰ってける?
726デフォルトの名無しさん:2013/04/30(火) 23:18:43.47
プログラムやってると確率が偏るのが不快になる
どうせelseを想定しないわけにはいかないなら確率は半々でいい
727デフォルトの名無しさん:2013/05/01(水) 01:02:08.84
>>721
リンクはれよ
728 忍法帖【Lv=2,xxxP】(1+0:5) :2013/05/01(水) 15:24:25.30
on
729デフォルトの名無しさん:2013/05/01(水) 16:19:31.01
>>726
VBやflashで一生喰っているける?と同義なぐらい危ないでしょ
重要なポイントは市場の変化や需要に耐えられるか、十分な後ろ盾があるかだと思う。
用途の限られた言語を使うとか将来を見通せない本物のバカ
730デフォルトの名無しさん:2013/05/01(水) 16:20:33.18
>>727
slideshareでjava,web frameworkって入れりゃ腐るほど資料出てくるだろカス
731デフォルトの名無しさん:2013/05/01(水) 16:28:00.86
個人業者ってレベルで何かやるとなると、play framework, grailsあたりか?
流行ってないだろうけど、spring rooが無難だろうな
732デフォルトの名無しさん:2013/05/01(水) 16:29:36.32
>>722
そうだね、君は好きな言語を使えば良いと思うよ。
アドバイスすると、それは単なる下手の横好きでしかないけどね
733デフォルトの名無しさん:2013/05/01(水) 17:03:50.83
>>731
play frameworkはRails風で生産性が高いって話で実際やってみたが
MVCが完結に書けるというだけで動的型付けができない以上、全くと言っていいほどRailsと似てなくて見事に踊らされたわ

人数が少ないとHTML・CSSと同時にビジネスロジックもゴリゴリ書くからコンパイルが鬱陶しいし、LiveReloadも効かないから一人あたりの守備範囲を広げられない
734デフォルトの名無しさん:2013/05/01(水) 17:26:07.96
Pythonはラムダの役立たずぐあいと、
関数内関数の変数スコープの変態仕様のダブルパンチを
なんとかしろ。
735デフォルトの名無しさん:2013/05/01(水) 17:41:13.52
>>734は普段どんだけ糞コードを書いてるんだw
具体例を挙げてみろ。200%お前が間違ってるから
736デフォルトの名無しさん:2013/05/01(水) 17:48:31.81
まずはPythonが全てにおいて綺麗な物だという
洗脳を解くところからスタートしなければならんようだな。
Pythonは変数宣言を代入で代用しているあたりが汚い。
宣言と代入は別のものなのだから文法も分けるべきだったな。
737デフォルトの名無しさん:2013/05/01(水) 17:49:52.43
動的型付けのLL言語相手になにいうとるん?
738デフォルトの名無しさん:2013/05/01(水) 17:54:25.96
動的型付けで宣言に型の情報が要らないからといって
変数の宣言まで必要ないとは限らない。
変数宣言には型の指定とは別に、
変数スコープの指定という重要な役割もある。
Pythonは型の指定が必要ないからといって
変数の宣言を代入で代用しているから
スコープがへんなことになってしまった。
739デフォルトの名無しさん:2013/05/01(水) 18:02:42.77
Pythonだから綺麗ってワケじゃないのは同意だが
その理由を変数宣言に求めるのはちょっと浅いな
そんなもん仕様次第で何とでもなるでしょ
740デフォルトの名無しさん:2013/05/01(水) 18:02:24.69
人生狂ったのこれのせいかも
ttp://news.nicovideo.jp/watch/nw601040
ttp://info.cern.ch/
741デフォルトの名無しさん:2013/05/01(水) 18:07:35.45
変数のスコープがネストする言語では、
たとえ動的型言語であっても、
スコープを決定するための変数宣言は必要。
Pythonにもスコープを指定するためのnonlocalがある。
動的言語であってもスコープ決定のために宣言が必要ということは、
そこに型名を書いてもかまわないわけで、
そうすると静的型言語にたいする動的型言語の優位性は揺らぐ。
宣言自体が面倒だという人もいるかもしれないが、
どうせ変数は初期化してからしか使えないのだから、
初期化のついでに宣言をしても手間は変わらない。
742デフォルトの名無しさん:2013/05/01(水) 18:09:46.90
じゃあ Perl でいいのではまいか
743デフォルトの名無しさん:2013/05/01(水) 18:24:47.07
myがダサすぎるのでlocalを愛用している
744デフォルトの名無しさん:2013/05/01(水) 19:35:36.41
関数型言語ほど潔癖にやらないにしても、再代入なんて避けた方が良いに決まってる

宣言のたびにvarをタイプするのに比べたら、nonlocalなんて殆ど使わないから
よく使う方を省略可能にするのは正しい
745デフォルトの名無しさん:2013/05/01(水) 20:15:42.08
Pythonはウンコなロジックで書こうとすると
ウンコなコードになる

つまりPythonを嫌ってる人間は……ってことだ
746デフォルトの名無しさん:2013/05/01(水) 21:03:18.05
グラヴィティデイズってゲームやってたらグイドおじいちゃんが出てきた
747デフォルトの名無しさん:2013/05/01(水) 21:04:08.17
>>744
一理有るけど、nonlocalなんて酷いネーミングから見て分かるとおり、
セオリーを無視した無理がたたっている。
748デフォルトの名無しさん:2013/05/01(水) 21:11:31.01
nonlocalは本当に醜いネーミングだが、
外側のスコープの変数に再代入するという邪悪なコードは
醜く見えるべきだからnonlocalでも良い気がする
749デフォルトの名無しさん:2013/05/01(水) 21:14:46.74
>外側のスコープの変数に再代入するという邪悪なコードは

他の言語では当たり前に行われている行為だよ。
例えばif文の中のスコープから外の変数を書き換えたりな。
まぁPythonのif文はスコープを持たないんだけどな。
750デフォルトの名無しさん:2013/05/01(水) 21:15:45.64
>>733
RailsっぽいってのはCoCのことだろうけど、とりあえず動的片付けによる生産性なんて幻想だろ?
PHPなんて、次のバージョンでわざわざ型を導入って聞いたぞ
というか、一人当たりの仕事量だとか楽さ加減を追求するんであれば、node.jsでいいでしょ
そもそも、Railsにアドバンテージなんてあったの?
751デフォルトの名無しさん:2013/05/01(水) 21:17:38.10
> 例えばif文の中のスコープから外の変数を書き換えたりな。

最近はif文で再代入なんてダサい方法じゃなく
if式で値を返す方法が主流
まあPythonのif文は値を返せないけど(if式もあるけどね)
752デフォルトの名無しさん:2013/05/01(水) 21:22:06.22
if文で茶々が入るなら、繰り返し文でもかまわんよ。
753デフォルトの名無しさん:2013/05/01(水) 21:27:29.98
具体例を挙げろって言ってるのに。
1)ラムダが使えない、2)関数内関数のスコープ云々
って明らかに
1)関数として分割すべき、2)nonlocalで明示することを知らない
だけだからなあ
754デフォルトの名無しさん:2013/05/01(水) 21:29:01.86
銀の弾丸ってframeworkのレベルな話で、文法レベルの問題じゃないよね
プロトタイプ作るのに動的言語が幾らはやかった所で、
その後での保守・改修を考えたら静的言語の方がマシだしさ
755デフォルトの名無しさん:2013/05/01(水) 21:29:57.50
for文でnonlocalが必要なら最悪だけど、不要だからなぁ
だからif文やfor文にスコープが無いことを十分にdisってからでないと
説得力が無い

でも、if文やfor文にスコープが必要な程
長い関数を書く奴が悪いって流れになりそう
756デフォルトの名無しさん:2013/05/01(水) 21:30:21.08
nonlocalってダサすぎだろって話。
しかも最近までそれすらなかった。
757デフォルトの名無しさん:2013/05/01(水) 21:32:15.65
いまでも広く使われてる Python2 には nonlocal 入ったんだっけ
758デフォルトの名無しさん:2013/05/01(水) 21:32:40.64
>>756
そうだね。理由を説明しようとすると論破されちゃうから
これからは感情的にダサいって連呼すれば良いよ
759デフォルトの名無しさん:2013/05/01(水) 21:33:33.27
760デフォルトの名無しさん:2013/05/01(水) 21:37:16.77
必要なところで明示すれば、他のすべてで宣言が不要になる
さらに、そんな明示をするような処理自体、あまり書かない方が良いというスタンス
761デフォルトの名無しさん:2013/05/01(水) 21:39:35.84
宣言が不要になったところで、初期化は必要だから
結局コストはかわらんというのに。
762デフォルトの名無しさん:2013/05/01(水) 21:41:06.67
実際、まともなコード書いてれば問題ないので
具体例を出されないとわからん
コストが変わらんのなら宣言しなくていいんだよね。無駄。
763デフォルトの名無しさん:2013/05/01(水) 21:43:11.02
Python3をずっと使ってて、時々Python2に戻ると
地味に便利な記法が使えなくてイラッと来るな
こういうのとかさ

x, *y, z = [0, 1, 2, 3, 4]

print(x, y, z) #=> 0, [1, 2, 3], 4
764デフォルトの名無しさん:2013/05/01(水) 21:45:08.36
無駄なことはない。
処理系の実装によりマッチした文法になることで表現の幅が広がる。
インタプリタ内で宣言と代入では別の動きをするからな。
765デフォルトの名無しさん:2013/05/01(水) 21:45:26.89
それコードだけでは結果がわからんし
使いどころもないだろ
766デフォルトの名無しさん:2013/05/01(水) 21:47:51.68
>>764 みたいな極めて抽象的な絶賛を見ると
ああ、またあのキチガイJS厨か、レスして損した。と思う
767デフォルトの名無しさん:2013/05/01(水) 21:58:29.07
仮に代入が邪悪だとしても初期化は悪くないので
勘違いで悪者扱いされる心配のないデザインが望ましい
768デフォルトの名無しさん:2013/05/01(水) 22:27:50.46
闇に隠れて生きるってのを思い出した
正義か悪かという問い自体が隠れてしまうので勘違いも起きない
769デフォルトの名無しさん:2013/05/01(水) 23:50:08.20
はやく人間になりたい
770デフォルトの名無しさん:2013/05/02(木) 07:55:13.94
>>766
お前大丈夫か?
妄想癖がないか?
771デフォルトの名無しさん:2013/05/02(木) 08:14:32.09
こうやって見ると、Pythonユーザも中々のモヒカンっぷり
具体的なコードを出す事すら出来ない低能がdisるには少々荷が重いな
772デフォルトの名無しさん:2013/05/02(木) 08:53:11.24
JavascriptやPythonのスコープについて語るなら、
CoffeeScriptのスコープの件も混ぜてやってくれよw
http://www.sixapart.jp/techtalk/2012/01/coffeescript.html
773デフォルトの名無しさん:2013/05/02(木) 08:58:29.82
2ch見てると日本でもPythonファン多いと勘違いしてしまう
774デフォルトの名無しさん:2013/05/02(木) 10:17:18.26
世界的にはPythonファン多いですからね、そりゃ日本にも居るでしょう
ドカタ仕事は少ないかもしれませんが

http://attractivechaos.github.io/HN-prog-lang-poll.png
775デフォルトの名無しさん:2013/05/02(木) 10:43:36.93
でも周りにいないよね
776デフォルトの名無しさん:2013/05/02(木) 10:52:30.47
それはお前が低脳集団の中にいるからだろ
777デフォルトの名無しさん:2013/05/02(木) 11:26:57.73
777
!!!
778デフォルトの名無しさん:2013/05/02(木) 11:49:04.91
LispやJavaScriptなんかで良く使われる下のような手法を多用する人たちからすると、
nonlocal宣言とか受け入れがたいんじゃないの?

function foo() {
 var a,b,c;
 return function() {
  //a,b,cを参照更新する処理
 };
}
779デフォルトの名無しさん:2013/05/02(木) 12:18:35.35
すこし文字数が多いのとダサいぐらいで死にはしないから平気
ただ nonlocal がたぶんない Python2 でも平気なのかは知らない
780デフォルトの名無しさん:2013/05/02(木) 12:19:07.68
別に?
781デフォルトの名無しさん:2013/05/02(木) 12:29:27.68
クロージャはOOPに無関心、つまり政治に無関心と見なされる
782デフォルトの名無しさん:2013/05/02(木) 12:32:10.08
さらにfoo()が単独のクロージャを戻すんじゃなくて、
複数のクロージャを格納したリストやオブジェクトを戻すとしたらどうかね?
function foo() {
 var a,b,c;
 return {
  vvv:function() { //a,b,cを参照更新する処理 },
  www:function() { //a,b,cを参照更新する処理 },
  xxx:function() { //a,b,cを参照更新する処理 },
  ...
  yyy:function() { //a,b,cを参照更新する処理 },
  zzz:function() { //a,b,cを参照更新する処理 }
 };
}
783デフォルトの名無しさん:2013/05/02(木) 12:36:18.02
python2ではリストで代用してた
ミュータブルなオブジェクトをよからぬ所で変更するのが危険なのは
プログラミング初心者でも知ってるから普通は避けるし
リストで代用してる時点でなんかヤバいことをしてると気付く
nonlocalも極力使わないのが流儀だろう
784デフォルトの名無しさん:2013/05/02(木) 12:52:29.05
ハッシュテーブルも政治に無関心
785デフォルトの名無しさん:2013/05/02(木) 12:53:09.98
nonlocalはあまり使わないようにというが、
そのわりに繰り返し文や分岐文がスコープを持たないという謎仕様。
786デフォルトの名無しさん:2013/05/02(木) 12:58:22.68
それで問題になるのって何?
繰り返しや条件分岐を外部関数として分離しなければならない時?
まあ、そんな時があるならそうすれば良いだけだが
787デフォルトの名無しさん:2013/05/02(木) 13:00:47.62
何言ってるのかよくわからない
788デフォルトの名無しさん:2013/05/02(木) 13:02:44.43
>>779
Pythonにはgeneratorがあるから無問題
789デフォルトの名無しさん:2013/05/02(木) 13:06:26.32
再利用可能な関数内の変数はローカルだけど
あくまで制御フロー内のブロックに対してはローカルとする必要がないというだけ
790デフォルトの名無しさん:2013/05/02(木) 13:10:48.19
JS厨は愚かな操作のためにそれ以外の大多数の普通の変数にいちいち意味もなくvarを付けてたのか。無様だな
791デフォルトの名無しさん:2013/05/02(木) 13:11:56.44
nonlocalよりはましだろ。
792デフォルトの名無しさん:2013/05/02(木) 13:13:28.53
ローカルでないとう警告的な明示の方が圧倒的に有益だわ
793デフォルトの名無しさん:2013/05/02(木) 13:14:37.37
おいおい、何か凄いことを言い出したぞ。
794デフォルトの名無しさん:2013/05/02(木) 13:17:56.13
しかもnonlocal付けなくてもwriteできないだけで
readだけなら可能なんだよね。
代入の有る無しでスコープが変化する、まさにカオス。
795デフォルトの名無しさん:2013/05/02(木) 13:18:20.30
外部のミュータブルな変数を不注意に変更するクロージャが
危険だということに反論できんの?一般論だと思うが
796デフォルトの名無しさん:2013/05/02(木) 13:18:28.57
JSというかLispで昔から使われてる手法なんだけどね
797デフォルトの名無しさん:2013/05/02(木) 13:20:53.75
安全性から考えて参照することに問題はない
ファイルのアクセス権とか見ても普通のことだろうに
798デフォルトの名無しさん:2013/05/02(木) 13:21:07.71
>>795
そのくせ繰り返し文や分岐文にスコープ無いんだよな。
外部の変数さわりまくり。
799デフォルトの名無しさん:2013/05/02(木) 13:25:20.46
クロージャが危険っていうならレキシカルスコープを採用すんなよw
800デフォルトの名無しさん:2013/05/02(木) 13:31:56.30
pythonが万全という意味じゃないよ。動的スクリプトとして利便性は重要
ただJSは無駄な宣言方式で無意味に危険なクロージャということと
pythonへの批判が的外れすぎってだけ

>>798
関数の内部でありローカルではない
ローカルである必要性を端的に説明しろ。無理だろ
関数と繰り返しを一緒くたにするセンスが理解不能
JSはどんだけ無駄で汚い設計してるんだ
まともな言語を勉強したほうがいいぜ
801デフォルトの名無しさん:2013/05/02(木) 13:33:08.66
自分の好みの言語を作ればいい
802デフォルトの名無しさん:2013/05/02(木) 13:35:07.31
代入が無ければグローバルを参照?
代入があると参照もローカルになる?
803デフォルトの名無しさん:2013/05/02(木) 13:35:29.56
なんでJSが出てくるのか不明だが。

>関数と繰り返しを一緒くたにするセンスが理解不能

スコープの範囲は出来る限り狭い方が良いに決まってるだろ。
なにをいまさら。そんな基本的なことを否定してまでPythonを擁護するとは愚か。
804デフォルトの名無しさん:2013/05/02(木) 13:40:07.24
>>803
・副作用はできるだけ避けるべき
・副作用が必要なら、できるかぎり局所化するべき

という基本的なことすら守れず、>>782みたいなクソコードをドヤ顔で出して
誰も否定すらしないスレで何言ってんの?
805デフォルトの名無しさん:2013/05/02(木) 13:45:32.02
いや、「良いに決まってる」っておかしいだろ
決まってるならヤバい例を出せ
806デフォルトの名無しさん:2013/05/02(木) 13:54:07.86
>>782のコードは、オブジェクトのプロパティa,b,cに対する副作用を伴う操作を
その下に並んでる関数に限定するっていう、わりと有用な手法なんだけどね。

Lispの時代から多用されてる。
807デフォルトの名無しさん:2013/05/02(木) 13:55:48.28
長い記述のループがネストするなら関数を分けた方が良い(これは一般的にそう)

また、ごく短い記述で、関数分割するまでもないループなら内包表記を使う
(これは内部スコープあり)


さあ、反論をどうぞ
808デフォルトの名無しさん:2013/05/02(木) 13:56:36.81
lisperかつJS厨かつプログラミング下手って救いようがないな
809デフォルトの名無しさん:2013/05/02(木) 14:00:31.81
Lispが関数型言語の仲間に入れてもらえない理由が良く分かった
810デフォルトの名無しさん:2013/05/02(木) 14:01:50.09
JavaScriptの有名なライブラリは、ほとんど>>782のコードの延長的な手法で書かれてるんだけどw
811デフォルトの名無しさん:2013/05/02(木) 14:03:00.01
>>806
構造体と関数ポインタを用いていた時代をぶち壊す努力をしてきた人に
その時代を認めるように言っても
聞く耳を持つわけがない
812デフォルトの名無しさん:2013/05/02(木) 14:04:41.45
ちょっと前にJSはバッドノウハウが一杯と言われてたのこれか
813デフォルトの名無しさん:2013/05/02(木) 14:05:15.71
>>806
>>782 って普通にクラスにメソッドとインスタンス変数定義したらだめなん?
814デフォルトの名無しさん:2013/05/02(木) 14:07:51.91
>>805
どう考えても変数のスコープは出来るだけ狭い方が良いだろ。
本当にそんなところに疑問を感じてるなら相当間抜けだぞ。
815デフォルトの名無しさん:2013/05/02(木) 14:09:08.59
>>813
それで問題ない。>>782のやり方の有利な点はクラスを定義するよりオーバーヘッドが少ない場合があることかな。
816デフォルトの名無しさん:2013/05/02(木) 14:09:47.43
>>813
クロージャを使えばOOPができるということでしょ。
言語や人によってどっちを使うかというのはあるけれど、
OOPのほうが分かり易いように、自分は感じる。
817デフォルトの名無しさん:2013/05/02(木) 14:17:00.22
オブジェクトのプロパティへの直接アクセスを制限する方法が無い言語で、
その制限を>>782は簡単に実現できるね
818デフォルトの名無しさん:2013/05/02(木) 14:18:01.46
>>814
クロージャと一緒くたにする必要はないよ
繰り返しや条件分岐は変更が見えるから
ただの制御フローでフロー内の変数を変更できないとデメリットの方が大きい
もちろん複雑化したら関数化するが、それでもクロージャは避ける。当然だろ?
819デフォルトの名無しさん:2013/05/02(木) 14:24:28.57
>ただの制御フローでフロー内の変数を変更できないとデメリットの方が大きい

そこで宣言の出番だろ。C言語なんかでは当たり前に出来ること。
820デフォルトの名無しさん:2013/05/02(木) 14:31:47.78
Cでも変更すべきでない変更を変更できるよね
そのブロックでしか使わない変数なんて上書きして使い回しても問題ないし
Cで宣言すれば安全って何を想定してるのか
821デフォルトの名無しさん:2013/05/02(木) 14:34:15.25
訂正:変数を変更
822デフォルトの名無しさん:2013/05/02(木) 14:53:14.01
>Cでも変更すべきでない変更を変更できるよね

ローカル変数を外からアクセスできませんよ。
スコープを狭めることで可読性もあがる。
823デフォルトの名無しさん:2013/05/02(木) 14:56:40.76
>>773
悪いファンを追放している印象しかないんだが、いつどこでファンが増えるんだ
824デフォルトの名無しさん:2013/05/02(木) 15:07:40.88
>>815-817
ありがと。勉強になるわ
825デフォルトの名無しさん:2013/05/02(木) 15:13:11.90
ひとり頭のおかしい奴が常駐してると思っていたがPython厨だったのか
826デフォルトの名無しさん:2013/05/02(木) 15:24:05.01
>>822
何言ってんだ?Cはforブロックの外側の変数を弄れる。
関数にはnonlocalが必要なのに、繰り返しは
外側の変数を変更できるのはおかしいという>>798とか
Cの宣言で安全という指摘は的外れ。CはPythonと同様に副作用を使ってる
Cと違ってブロック内で死ぬはずの変数が
Pythonではブロックを抜けた時に生きてた場合に危険と言ってるのなら話は別だが
そんな場合があるのか疑問だしnonlocalからの文脈からするとおかしい
827デフォルトの名無しさん:2013/05/02(木) 15:42:26.05
外側の変数変更の危険性を考えたら
global宣言、nonlocal宣言がいかにまともな仕様かわかるな
JSの無意味なvar宣言と無宣言での破壊はアホ
828デフォルトの名無しさん:2013/05/02(木) 15:43:01.33
Pythonの繰り返し文や分岐文にスコープがないのがダサいといってるわけで。
829デフォルトの名無しさん:2013/05/02(木) 15:46:09.01
830デフォルトの名無しさん:2013/05/02(木) 15:47:21.93
スコープが狭いに越したことないのは自明だろ。
覆せないからといって適当なあおりをするなよ。
831デフォルトの名無しさん:2013/05/02(木) 15:52:31.62
スコープが狭い方が良いというより、定義と使う場所の距離が近い方が良いんだよ
ブロック内で使う変数なら最初に代入すれば何をやってるのかは自明なので問題ない
問題は変更をあちこちで繰り返すこと。省メモリの話ならまた別だが
832デフォルトの名無しさん:2013/05/02(木) 15:55:52.37
ループと条件分岐を適当に含むアルゴリズムを
実際に書いてみれば、スコープの必要性が分かる
検証してみようぜ
833デフォルトの名無しさん:2013/05/02(木) 16:03:05.39
Python厨は実際のコードを書かないんだよな
日本語不自由なんだから実際のコードで示せばいいのに
834デフォルトの名無しさん:2013/05/02(木) 16:04:50.04
口で言うばかりじゃなくてPythonで問題が生じるコードを示してくれ。直してやるから
835デフォルトの名無しさん:2013/05/02(木) 16:08:08.25
動けばよいというだけならどうとでも直せますがな。
836デフォルトの名無しさん:2013/05/02(木) 16:08:11.53
個人的に「ダサい」って言ってるだけだからなんの問題もないんだろうな
837デフォルトの名無しさん:2013/05/02(木) 16:08:32.30
御題:K平均法を実装せよ
(データとしてn次元ベクトルを扱える事)

http://ja.wikipedia.org/wiki/K%E5%B9%B3%E5%9D%87%E6%B3%95


注:Pythonはscipy使用禁止
838デフォルトの名無しさん:2013/05/02(木) 16:12:09.96
nonlocal宣言でPythonをフルボッコしに来たJS厨が見事に返り討ちにあっててワロタ
JSの危険な糞仕様が露呈しただけ
Pythonにはscipyというチート級の便利なライブラリがあることも明らかになった
839デフォルトの名無しさん:2013/05/02(木) 16:13:56.63
なぜJSが出てくるのか。
840デフォルトの名無しさん:2013/05/02(木) 16:23:30.64
参照と更新でスコープが違うっていうのが受け付けないな
さらに、変数がオブジェクトを指している場合には、内部の更新に参照スコープが使われるんだよね?
841デフォルトの名無しさん:2013/05/02(木) 16:25:28.55
JSのクロージャの糞仕様を叩くと「nonlocalよりマシ」と言い張り続けるから
どっちが正当かは明らかなのに
842デフォルトの名無しさん:2013/05/02(木) 16:30:12.22
>>840
理解の仕方が間違ってる
Shadowingのある言語を使った事無いの?
843デフォルトの名無しさん:2013/05/02(木) 16:30:26.53
なんという被害妄想w
JS厨はPythonのnonlocalなんて知らんと思うがw
844デフォルトの名無しさん:2013/05/02(木) 16:31:15.93
参照はできるが書き換えはできないという概念が理解できないプログラマはいないはずだけどなあ
例えば定数を考えればその有益性もわかるだろ
845デフォルトの名無しさん:2013/05/02(木) 16:33:19.80
ただJSの糞仕様はnonlocalを正当化するのにちょうど良かったよ
こんなんをどや顔で支持できるとか逆にすごいわ
846デフォルトの名無しさん:2013/05/02(木) 16:33:43.19
>>844
本当にreadオンリーならそうだが、実際にはメンバの更新は可能だからその理屈はおかしい。
実際には、代入を宣言に代用したから機能に対して文法がブッキングしただけ。
847デフォルトの名無しさん:2013/05/02(木) 16:33:58.96
nonlocal宣言してない場合、
外部スコープの変数は書き換えられないけど、
外部スコープの変数が指すオブジェクトの中身は書き換え可能なんでしょ?
848デフォルトの名無しさん:2013/05/02(木) 16:37:53.38
>>837
scipy使わなくても余裕だった


from numpy import *

def kmeans(data, K):
    xs = arange(len(data)) % K
    random.shuffle(xs)
    while True:
        ms = array([data[xs == k].mean(axis=0) for k in arange(K)])
        ys = array([argmin([linalg.norm(p - m) for m in ms]) for p in data])
        if allclose(xs, ys):
            break
        xs = ys
    return xs
849デフォルトの名無しさん:2013/05/02(木) 16:43:18.16
numpyもすげー
850デフォルトの名無しさん:2013/05/02(木) 16:45:23.37
>>848
Numpyも無しで
851デフォルトの名無しさん:2013/05/02(木) 16:46:37.93
なんで?
852デフォルトの名無しさん:2013/05/02(木) 16:47:01.51
scipyにはscipy.cluster.vq.kmeansっていう
そのままの関数があるから禁止する意味分かるけど、
numpyを禁止する理由が分からんw
853デフォルトの名無しさん:2013/05/02(木) 16:52:09.02
>>837の御題はJavascriptだと実装が大変だけど、
Pythonだと簡単に実装できてしまうからフェアじゃない。
854デフォルトの名無しさん:2013/05/02(木) 17:20:12.16
>>852
だって簡単に解かれちゃったので悔しいじゃないですか…
855デフォルトの名無しさん:2013/05/02(木) 17:27:22.23
>>833
JS厨は実際のコードを書かないんだよな
日本語不自由なんだから実際のコードで示せばいいのに
856デフォルトの名無しさん:2013/05/02(木) 18:31:24.52
ループと条件分岐にスコープを持たないJSとPython同士で何やってるんだw
857デフォルトの名無しさん:2013/05/02(木) 18:43:11.67
そうなんだ。だからJS厨はJSマンセーからCでは云々に切り替えたのかwアホだなあ
858デフォルトの名無しさん:2013/05/02(木) 18:58:11.45
面白いから色んな言語で>>837解いて行こう
859デフォルトの名無しさん:2013/05/02(木) 20:13:58.50
面白いというかC言語で書かれたライブラリを呼んでるだけじゃないか
860デフォルトの名無しさん:2013/05/02(木) 20:17:36.97
>>846>>847
Pythonには数や文字列やタプルなどのimmutableなオブジェクトがあり、
これらは書き換えられないことが保証されてて
読む方もそれを期待して読むけど、再代入されたら変数の指す先が変わってしまう

だから外部スコープの変数に対して
再代入するときにnonlocalを明示するのには一理ある
861デフォルトの名無しさん:2013/05/02(木) 20:22:34.83
>>859
内包表記やスライス記法や演算子オーバーロード等の構文要素も駆使してるけどね
862デフォルトの名無しさん:2013/05/02(木) 20:26:49.84
名前付き引数とデフォルト引数も使っているね
863デフォルトの名無しさん:2013/05/02(木) 20:33:09.00
>>860
現実的に考えろ
そんな言語だれも使わない
864デフォルトの名無しさん:2013/05/02(木) 20:38:19.71
>>860
nonlocal宣言つけないデフォルトのスコープ(更新の影響が及ぶ)が狭くなってるのが安全と言っておきながら、
nonlocal宣言つけなくても外部スコープのオブジェクトを更新できてしまう場合があるのが矛盾してると思うのだけど、
自分の理解が間違ってるのかな?
865デフォルトの名無しさん:2013/05/02(木) 20:39:40.19
>>864
あれ?Javascriptにはimmutableオブジェクトが無いから
>>860に書いた事が理解できないの?そんなこと無いよな?
866デフォルトの名無しさん:2013/05/02(木) 20:42:11.82
そんなことより>>837を解けよJS厨
お前等が言い出したんだろ?
それとも具体的なコードは何も書けねーのか?>>782みたいなゴミは頼まれなくても書くくせに
867デフォルトの名無しさん:2013/05/02(木) 20:44:01.05
JS厨はAmachangを早く召喚するんだっ!!
868デフォルトの名無しさん:2013/05/02(木) 20:47:01.48
JSだとNumpyが提供してるような機能を用意するのが面倒だからな
それに言語仕様的に特別なものが用意されてるわけじゃないから、
ifとかforとか組み合わせて書くだけで何の面白みも無い
869デフォルトの名無しさん:2013/05/02(木) 20:47:41.41
プログラミングスキルよりも言い訳スキルのほうが高いようですね
870デフォルトの名無しさん:2013/05/02(木) 20:50:03.68
>>869
それが日本企業で出世するために必要な能力だから仕方ないさ
871デフォルトの名無しさん:2013/05/02(木) 20:52:58.43
>>865
Javascriptにimmutableオブジェクトはあるけど、そんな面倒な区別をつける必要は無いな
872デフォルトの名無しさん:2013/05/02(木) 21:00:17.12
>>868
プログラムを簡潔に書いたり、簡潔に書けるライブラリを用意したりする
言語機能はJSには無くて、そういうのと全然関係無いところで
延々と議論してるわけ?アホなの?
873デフォルトの名無しさん:2013/05/02(木) 21:06:35.97
JSの人は大体朝に書き込んでるから朝まで待て
874デフォルトの名無しさん:2013/05/02(木) 21:07:57.38
>>864
間違ってる。意図せずそんなことすることはできない
だから単に危険なクロージャのもっと醜い明示にしかならない
875デフォルトの名無しさん:2013/05/02(木) 21:13:36.34
>>860>>874もそうなんだけど、「だから〜」の文が前の文章と繋がって無いよね
876デフォルトの名無しさん:2013/05/02(木) 21:16:17.62
Node.jsをちょっとした自動処理に使おうとしたら面倒臭すぎた
CommonJSってPHP/Python/Perl/Rubyの標準ライブラリとは違って
あくまでインフラなんだな…
877デフォルトの名無しさん:2013/05/02(木) 21:19:05.97
でもリストでのクロージャは醜いことを除けばJSのそれに近いのか
あるはずの定義(代入、var宣言)がないとクロージャということになる
これは機械には自明だが人間には怪しい。nonlocalの方が良い仕様だな
878デフォルトの名無しさん:2013/05/02(木) 21:29:53.87
うむ、python3良いな
879デフォルトの名無しさん:2013/05/02(木) 21:37:20.27
>>873
"朝にも"じゃなくて?
一日中書き込んでるように見えるが
880デフォルトの名無しさん:2013/05/02(木) 21:46:40.47
>>877
>>864は間違ってるの?
881デフォルトの名無しさん:2013/05/02(木) 21:47:19.75
>>876
Javascriptとnode.jsは汎用言語とその実行環境ってよりは
emacsとemacs lispのようなアプリとアプリ拡張言語の関係と思った方が正しい
882デフォルトの名無しさん:2013/05/02(木) 21:48:47.90
>>877
リストでのクロージャというのは何ですか?
883デフォルトの名無しさん:2013/05/02(木) 21:50:25.36
>>879
同じ人が一日中自分に粘着してると感じ始めたらお薬を飲んだほうがいいと思うよ
884デフォルトの名無しさん:2013/05/02(木) 21:53:38.10
>>880
再代入はimmutableなオブジェクトを指す変数すらも変更できる
でも、nonlocalつけないと再代入できないから
うっかり外部スコープのimmutable変数を上書きする危険は減る

ってことだろ
885デフォルトの名無しさん:2013/05/02(木) 21:54:42.20
>>883
じゃあこの時間帯にいるJS厨は
コード書けない低能の方か
886デフォルトの名無しさん:2013/05/02(木) 22:03:56.59
>>884
Pythonにはmutableなオブジェクトっていうのは無いの?
外部のスコープに存在すればそれもimmutableにしてくれるの?
887デフォルトの名無しさん:2013/05/02(木) 22:04:11.59
有能な方のJS厨待ち
888デフォルトの名無しさん:2013/05/02(木) 22:06:15.50
ローカル変数を宣言したつもりが、
気付かないうちに外部スコープの変数とバッティングして書き換えてた
みたいな、ありがちなバグが減る訳だね
889デフォルトの名無しさん:2013/05/02(木) 22:06:22.51
>>886
なんで自分で書いてみないの?
890デフォルトの名無しさん:2013/05/02(木) 22:07:46.76
JS以外の参加者も募集中だぜ
Ruby、Perl、PHP
891デフォルトの名無しさん:2013/05/02(木) 22:08:00.88
>>886
>>888を読んで

一方、外部スコープの変数に対する破壊的操作を
気付かないうちにやるというのは、およそ在りそうもない
892デフォルトの名無しさん:2013/05/02(木) 22:09:44.95
>>889
おれは自分の知らない言語の仕様を質問してるんだがw
893デフォルトの名無しさん:2013/05/02(木) 22:10:48.86
>>890
むしろJS以外が見たい
そしてJS厨はコード書くまで黙ってろと言いたい
894デフォルトの名無しさん:2013/05/02(木) 22:11:07.40
>>892
知ってる言語は?
895デフォルトの名無しさん:2013/05/02(木) 22:13:37.55
>>894
PythonとPHP以外はだいたいわかるよ
Perlは最近の事情は知らん
896デフォルトの名無しさん:2013/05/02(木) 22:17:44.69
>>895
なおさらなんでそんな質問するのか理解できない
897デフォルトの名無しさん:2013/05/02(木) 22:19:08.99
これから不毛な言い争いを避けるために実際にコード書かせることにしようぜ
これだけで馬鹿を排除できる
898デフォルトの名無しさん:2013/05/02(木) 22:25:04.34
>>860
日本語やばすぎ。返答になってない。
899デフォルトの名無しさん:2013/05/02(木) 22:28:31.36
仕様上、意図しない破壊は行われない、明示的破壊も避けるでFA
それに対して外部変数の破壊を当たり前とするアホ>>734がいちゃもん付けただけ
900デフォルトの名無しさん:2013/05/02(木) 22:30:06.70
意図を勝手に汲んでくれるとかすごい言語が現れたなw
901デフォルトの名無しさん:2013/05/02(木) 22:36:18.15
アクセスして欲しくないメンバにアンダースコアを付ける習慣もそうだが
不自然な方法でしか実現できないものは意図しない限りその状況にならないのだから安全と言える
902デフォルトの名無しさん:2013/05/02(木) 22:36:36.58
>>897
馬鹿フィルターね。
機能するなら良いんだけど、馬鹿だからその日本語も読めないよ。
903デフォルトの名無しさん:2013/05/02(木) 22:39:30.62
俺が馬鹿だったwこの人に説明させちゃダメだなw
自分で調べとくわw
904デフォルトの名無しさん:2013/05/02(木) 22:40:12.83
>>899
でも、メンバ変数は破壊できるんでしょ?
不自然だよね。
905デフォルトの名無しさん:2013/05/02(木) 22:40:33.21
自分で調べても同じ答えしか出ないよ
906デフォルトの名無しさん:2013/05/02(木) 22:43:03.09
>>905
「破壊しようと思えば」、破壊できる
逆も然り。すごく自然だろ
907デフォルトの名無しさん:2013/05/02(木) 22:45:01.71
>>888>>891>>893>>897などの
都合の悪いレスは見なかった事にして独り言を書き出したね
こうなったらオシマイ
908デフォルトの名無しさん:2013/05/02(木) 22:47:07.34
ローカル変数のメンバ変数は何もせずに書き換え可能なのに、
ローカル変数自体の書き換えはnonlocal無しで出来ない。
しかし、読み込みはnonlocal無しでもOK。
なんて煩雑な言語なんだろうね。
変数のスコープってコード解読する上で凄く重要なのに。
909デフォルトの名無しさん:2013/05/02(木) 22:50:54.44
あ、メンバ変数ってリストや辞書の要素のことを言ってんの
俺が言ったアンダースコアを付けるメンバはクラスのメンバな
読み込みが出来てどんな問題が?
未定義のリストや辞書の要素にアクセスすることはないだろ
現実的に考えろ。どんな問題があるのか一切言えてない
具体的なコードを晒せ
910デフォルトの名無しさん:2013/05/02(木) 22:55:02.52
参照しても書き換えができないことで安全性が確保される。まずこれが理解できてない
あとローカルで定義してないリストにインデックスを指定してメンバ変数を書き換えるという
ありえない状況しか想定できないから馬鹿なんだよ
一瞬でもそれがどんなコードなのか理解しようとしたのだろうか
911デフォルトの名無しさん:2013/05/02(木) 22:56:48.44
> 参照しても書き換えができないことで安全性が確保される。

動的言語とは真逆の考え方だな。
912デフォルトの名無しさん:2013/05/02(木) 22:56:52.15
ぶっちゃけ、今日のやり取りで価値があったのは
numpyすげーって分かったことだけだなw
913デフォルトの名無しさん:2013/05/02(木) 23:00:04.85
このpythonのスコープdisってこのパートスレで今回が初めてじゃなくて
一言一句お経のように同じだからたぶん同一人物の十八番なんだろうが
それで批判になってると思ってるらしいのがヤバい
まともなプログラマならまず問題にすらしない点だろ。実用上問題ないうえに自然な保護なのだから
914デフォルトの名無しさん:2013/05/02(木) 23:00:52.50
>あとローカルで定義してないリストにインデックスを指定してメンバ変数を書き換えるという
>ありえない状況しか想定できないから馬鹿なんだよ

ごめん、俺はありえるわ。
外のスコープのオブジェクトのメソッド呼んだり普通にするわ。
915デフォルトの名無しさん:2013/05/02(木) 23:01:06.79
>>913
で?
お前も会話にまじれよw
916デフォルトの名無しさん:2013/05/02(木) 23:02:22.52
JS厨が普段糞コードを量産してるという事実が残るだけ
917デフォルトの名無しさん:2013/05/02(木) 23:03:34.28
JS厨は未定義のリストの要素を意図せず書き換えるw
918デフォルトの名無しさん:2013/05/02(木) 23:03:42.65
>自然な保護なのだから

だったらメンバ変数の書き換えも保護すれば?
そうなってないのは、これが保護が目的じゃなくて、
単なる文法の都合上の産物だから。
919デフォルトの名無しさん:2013/05/02(木) 23:04:33.17
>>914
> 外のスコープのオブジェクトのメソッド呼んだり普通にするわ。

それを、外のスコープにオブジェクトが存在することを知らずに
うっかりやるのか?
別に自覚的にやる分には、そして必要なら破壊的操作だろうが代入だろうが好きにすれば良い


再代入は、外のスコープに同名の変数が存在する事に気付かずに
うっかりやることはあるけど、それはnonlocalで保護される
920デフォルトの名無しさん:2013/05/02(木) 23:05:06.81
x = 100
y = [1,2,3]
def f():
 x = 200 # これはローカル変数の更新
 y[0] = 4 # これはグローバル変数の内容の更新

この辺の動作が直感的でないってことを言いたいんじゃないの?
921デフォルトの名無しさん:2013/05/02(木) 23:05:44.04
>>918
「意図して」テクニカルなクロージャが実現できる
922デフォルトの名無しさん:2013/05/02(木) 23:07:01.56
>>920
そそ。文法的に汚い。
923今こそ相応しい:2013/05/02(木) 23:07:53.21
馬鹿には無理
924デフォルトの名無しさん:2013/05/02(木) 23:11:22.92
>>920
その操作か不自然だと言ってるんだが
関数内の変数は普通ローカルだ。yはどこから来た?
それが意図しない結果だとしたら、本当はどうなって欲しいんだ?
925デフォルトの名無しさん:2013/05/02(木) 23:11:25.76
Numpyがあるから、昔はFORTRANでやってたようなことを
Pythonみたいなスクリプト言語でやろうと考えるわけかね
926デフォルトの名無しさん:2013/05/02(木) 23:14:32.83
>>924
自分で書くかどうかならともかく他人の書いたコードがそんな感じになってたら
xもyも両方ともグローバル変数の更新だなって誤解する奴は多いだろ
927デフォルトの名無しさん:2013/05/02(木) 23:17:03.46
>>925
numpy, scipy, matplotlibをインストールすれば
数値計算からグラフ書くところまで一通り揃うからね
ベクトル・行列演算はBLAS等で最適化されてるから
スクリプト言語の遅さ関係ないし
928デフォルトの名無しさん:2013/05/02(木) 23:17:10.17
関数内で定義してるものをグローバル変数とかありえないだろw
そういうレベルを考え出したらもうどうしようもないわ
929デフォルトの名無しさん:2013/05/02(木) 23:18:04.20
>>926
それはPythonを書ける人間がそう思うってこと?ありえないよ
930デフォルトの名無しさん:2013/05/02(木) 23:22:32.33
>>925,927
一発ポンと行列計算しただけで終わりの計算なんてあんまり無いぞ
結局Pythonがネックになる場合は多い
931デフォルトの名無しさん:2013/05/02(木) 23:26:11.27
>それを、外のスコープにオブジェクトが存在することを知らずに
>うっかりやるのか?

うっかりもなにも、a=0で名前が被るのも、a.m=0で名前が被るのも
「a」さえ被ればよいのだから同確立だよ。
前者だけ守られて後者が守られないのは、
これが保護目的じゃなく単に宣言を代入で代替した文法上の
制約でしかないから。変なところに夢見るなよ。
932デフォルトの名無しさん:2013/05/02(木) 23:27:42.61
>>930
巨大な行列だと計算量のオーダー的に行列演算の比重が大き過ぎて
他は無視できる

ただ、うまく行列演算の組み合わせに落とせないときは
Cで頑張るか(numpyのarrayは変換コスト0でCの配列として扱える)、
Cythonで頑張ることになるね
933デフォルトの名無しさん:2013/05/02(木) 23:29:05.18
やっぱり手軽さだよ。全てpython内で完結するのが良い
sympyで数式処理できるのも面白い
普通の変数と区別するためのシンボル宣言が面倒だから
数式を微積やその他の変換したいだけのときはmaximaとか使うし
シェアウェアほどの強力さはないけど何よりお手軽

>>931
何言ってんだ?マジで想定外の結果になる具体的な動くコードを挙げてくれ
934デフォルトの名無しさん:2013/05/02(木) 23:30:29.20
>>931
お前は外部スコープにaという変数が無いと思ってるのに
a.m = 0 って書くのか?外部スコープにaが無ければ未定義エラーだが
本当に、もう少し考えて書いた方が良いんじゃないか?
935デフォルトの名無しさん:2013/05/02(木) 23:30:51.38
巨大な行列を扱うならいいんだけど、3次元ベクトルを別個に大量に扱ったりする計算だと
numpyが速くてもほとんど意味ないんだよな
pypyでも全然ダメ
936デフォルトの名無しさん:2013/05/02(木) 23:31:43.09
>>929
俺は間違えそう。
省略可能でいいからローカル変数であることを明示できる宣言があればいいのにと思う。
937デフォルトの名無しさん:2013/05/02(木) 23:32:51.42
pypyは面白いけどまだ、というかずっと?おもちゃ程度にしか使えない
938デフォルトの名無しさん:2013/05/02(木) 23:35:35.82
>>936
つコメント
939デフォルトの名無しさん:2013/05/02(木) 23:38:00.10
>>934
前々から言ってるように、可読性の問題だ。
読む方から考えてみ?
代入の有る無しでスコープが変わって、
しかもnonlocalが有れば外部スコープ。
スコープ調べるのに代入のあるなしを調べるなど煩雑この上ない。
940デフォルトの名無しさん:2013/05/02(木) 23:38:46.22
>>937
失うものの多さの割には実際大して速くないからなあ
941デフォルトの名無しさん:2013/05/02(木) 23:39:31.78
普通にOCamlやHaskell等のshadowingがある言語を使ってると
Pythonのshadowingも「ああそうだね」としか思わないが。
942デフォルトの名無しさん:2013/05/02(木) 23:49:20.84
>>939
>>920のxはローカル変数でyはそうじゃない
これはf()の内部を見るだけで把握できる
曖昧性は無いし、f()内部を局所的に読むだけで理解出来るので可読性も高い
(あと、y[0] = 0 を見て変数宣言だと思うアホがいるなら、向いてないからプログラマ辞めた方が良いと思う)
943デフォルトの名無しさん:2013/05/02(木) 23:49:27.08
>>940
速くて数十倍、たまに遅くなったりして平均して二倍くらいになれば良いかなって感じか
面白いので改良は続けて欲しいがライブラリがついてくることはないだろうな

>>939
スコープが変わるって考えに囚われすぎ。普通に読めよ
944デフォルトの名無しさん:2013/05/02(木) 23:51:08.85
>>941
Haskellとは違ってPythonでは普通の代入が変数をシャドウイングするのがダメなんじゃないの?
945デフォルトの名無しさん:2013/05/02(木) 23:53:56.99
>>944
Haskellとは違ってって、お前Haskell知ってんの?
946デフォルトの名無しさん:2013/05/02(木) 23:57:36.04
>>942
なぜ変数のスコープを調べるのに代入のあるなしを調べる必要が有る?
不自然だよ。
947デフォルトの名無しさん:2013/05/03(金) 00:00:18.05
>>946
なんだ?可読性の話はやめて、自然かどうかの話にするのか?
948デフォルトの名無しさん:2013/05/03(金) 00:01:00.92
不自然だから可読性が落ちるんだろ。
949デフォルトの名無しさん:2013/05/03(金) 00:01:09.23
>>946
心配しなくても代入がある場合は参照に先行するから調べる必要ない
お前は具体例もなく変な妄想を恐れてるだけ
950デフォルトの名無しさん:2013/05/03(金) 00:02:43.93
そんなことより、いいかげんJS厨は>>837を解いてくださいよ
既に10回くらい書けそうな分量の日本語を書き込んでますよ
それだけ時間があれば書けたんじゃないですかねぇ?
951デフォルトの名無しさん:2013/05/03(金) 00:03:11.43
>心配しなくても代入がある場合は参照に先行する

その代入のあるなしを調べる必要があるじゃねーかw
952デフォルトの名無しさん:2013/05/03(金) 00:03:16.23
>>848
これ、クラスターが空になったらどうするの?
空のクラスタは中心が原点になってるように見えるけど
953デフォルトの名無しさん:2013/05/03(金) 00:03:54.46
レスからJS厨のレベルの低さを察してやれよ…
954デフォルトの名無しさん:2013/05/03(金) 00:06:03.73
>>951
調べる必要ない。上から読み下せばわかるから
調べなければいけないと言い張るなら例を示せ
955デフォルトの名無しさん:2013/05/03(金) 00:09:57.67
そろそろコード頼むわ…
飢えてきた…
956デフォルトの名無しさん:2013/05/03(金) 00:12:37.67
>>954
上から読み下していくのは調べるのとどう違うんだ
957デフォルトの名無しさん:2013/05/03(金) 00:18:54.28
>>955
待て、朝になったらコード書ける方のJS厨が来るらしいぞ
それまでスレが持つか分からんが
958デフォルトの名無しさん:2013/05/03(金) 00:31:11.25
>>952
meanでnanが返ってくる
でも、変数msはargminで使われてるだけだから、全体がnanに汚染される事は無い
本当はargminじゃなくてnanargminを使った方が良いけど、
そもそも御題のリンク先を見てもクラスタが縮退したケースについて何も書いて無いから
プログラマ観点でいえば、その場合は未定義
959デフォルトの名無しさん:2013/05/03(金) 00:32:05.02
>>956
なんの積極性も苦労も混乱も生じない
お前がびびりまくってるコードを見せてくれ
960デフォルトの名無しさん:2013/05/03(金) 00:39:35.50
結局ライブラリの違いだよな。
どうせnumpy.jsがあればJSでも同じように書けるんでしょ。
961デフォルトの名無しさん:2013/05/03(金) 00:41:14.53
あるの?ライブラリが貧弱な言語は流行らないだろ
962デフォルトの名無しさん:2013/05/03(金) 00:42:10.06
JavaScriptはインデックス演算子のオーバーロードができないからお話にならない
963デフォルトの名無しさん:2013/05/03(金) 00:45:53.96
あらら
964デフォルトの名無しさん:2013/05/03(金) 01:59:00.37
Javascriptってインデックス演算子どころか四則演算もオーバーロードできないだろ?
論外だからnumpyがあったら〜とか言わない方が良いよ
965デフォルトの名無しさん:2013/05/03(金) 07:01:17.27
数値計算はインデックスを多用するからな
pythonのインデックス指定は非常に強力で、numpyでもフルに活用できる
その点においてjavascriptはFortranにすら劣る
966デフォルトの名無しさん:2013/05/03(金) 07:22:13.57
演算子のオーバーロードなんてちょっと記述が簡潔になるだけじゃないのか?
そんなに論外なのか?
967デフォルトの名無しさん:2013/05/03(金) 07:33:25.42
+-とかはどうでもいいけど
インデックスの範囲指定を使ったループの省略は行列操作をやる上で結構便利だよ
968デフォルトの名無しさん:2013/05/03(金) 07:36:50.95
おお、>>837面白そうだな
確かにJavascriptはちょっと長くなるだろうが
969デフォルトの名無しさん:2013/05/03(金) 07:51:30.17
>>837
英語の Wikipedia の方が情報量多い。毎度のことだけど。

http://en.wikipedia.org/wiki/K-means_clustering
970デフォルトの名無しさん:2013/05/03(金) 07:53:42.01
Pythonはリスト内包でジェネレータが書けるのもポイント
どっかのコーヒーと違ってメモリ食わない
971デフォルトの名無しさん:2013/05/03(金) 07:57:42.55
今日はまだ予定ないから、ちょっくら書いてみるわ
クラスタリングとか懐かしいな
972デフォルトの名無しさん:2013/05/03(金) 09:02:10.72
やっぱ結構複雑だな
973デフォルトの名無しさん:2013/05/03(金) 09:02:50.64
var _ = require('underscore');
var sy = require('sylvester');
function kMeans(data, K) {
var xs, mean, ds, i, j, k, d, x ,sum, min, minIndex, ZERO;
ZERO = $V(newArray(data[0].elements.length, 0));
xs = newArray(K, []);
for(i = data.length; i--; xs[i % K].push(data[i]));
console.log(xs);
do {
newXs = newArray(K, []);
mean = newArray(K, 0);
for(i = K; i--; ) {
for (sum = ZERO, j = xs[i].length; j--; sum = sum.add(xs[i][j]));
mean[i] = sum.x(1 / xs[i].length);
}
for(i = K; i--; ) {
for(j = xs[i].length; j--; ) {
var x = xs[i][j];
for(k = K, minIndex = k - 1, min = mean[k - 1].distanceFrom(x); k--; ) {
d = mean[k].distanceFrom(x);
if (d < min) {
minIndex = k;
min = d;
}
}
newXs[minIndex].push(x);
}
}
} while (!isEqual(xs, newXs) && (xs = newXs))
return xs;
}
974デフォルトの名無しさん:2013/05/03(金) 09:03:27.54
function newArray(n, e) {
for(var r = [], i = n; i--; e.slice ? r.push(e.slice()) : r.push(e));
return r;
}
function isEqual(l, r) {
var i, j;
if (l.length !== r.length) return false;
for(i = l.length; i--; ) {
if (l[i].length !== r[i].length) return false;
for(j = l[i].length; j--; )
if (!contains(l[i], r[i][j])) return false;
}
return true;
}
function contains(l, e) {
for(i = l.length; i--; ) {
if (_.isEqual(l[i], e)) return true;
}
return false;
}
975デフォルトの名無しさん:2013/05/03(金) 09:18:28.58
せっかく書いてくれたのに批判的なことを書くのは心苦しいけど、
正直これならCで書くレベル
976デフォルトの名無しさん:2013/05/03(金) 09:21:49.68
まあcでも別に良いと思うが
どっちでも慣れてる人なら大丈夫だろう
977デフォルトの名無しさん:2013/05/03(金) 09:23:08.83
どっちでもいいならCで書くわな
CommonJSに比べたらまだCの標準ライブラリの方が使いやすいし
978デフォルトの名無しさん:2013/05/03(金) 09:35:22.94
>>848は実際もう少し短く書けるし、Pythonとの差は大きいね

from numpy import *

def kmeans(data, K):
    xs, ys = random.randint(0, K, len(data)), zeros(len(data))
    while not allclose(xs, ys):
        ms = array([data[xs == k].mean(axis=0) for k in arange(K)])
        xs, ys = array([nanargmin([linalg.norm(x - m) for m in ms])
                       for x in data]), xs
    return xs
979デフォルトの名無しさん:2013/05/03(金) 09:40:31.34
975が良いことを言った
コードを書かせるのは心苦しい
書かせれば万事解決すると予想していたのなら尚更
980デフォルトの名無しさん:2013/05/03(金) 09:51:12.05
いや、問題は解決はしたよ
実際のコードではJSのほうが圧倒的に可読性が低く冗長だと明らかになった
981デフォルトの名無しさん:2013/05/03(金) 09:51:34.71
心配しなくてもいいぞ
わりと楽だったからw
まあforで直接ロジック書いてるからpythonより長いけど
決まり文句的なところがあるし言うほど大変でもない
982デフォルトの名無しさん:2013/05/03(金) 09:57:54.58
ちなみに俺Pythonが何やってるのか分からないんだが
これ、可読性が高いのか?
983デフォルトの名無しさん:2013/05/03(金) 10:01:05.34
ちなみに俺はK平均法というもの自体がわからないんだが(住民代表)
984デフォルトの名無しさん:2013/05/03(金) 10:04:06.74
確かにw
985デフォルトの名無しさん:2013/05/03(金) 10:05:44.59
初期値としてランダムにクラスタを割り振り、
ループ内で各クラスタの中心を求めて、中心に最も近いクラスタに割り当て直す
クラスタの割り当てが変更されなかったらループ終了

ロジックがそのまま記述されてるから、凄く分かりやすい
986デフォルトの名無しさん:2013/05/03(金) 10:13:47.88
>>985
しかし現実は
「allclose?mean?axis?arrayで囲ってる?xsとys交換してから比較?linalg?norm?」
Pythonのコードは知的教養レベルが高い人が抽象的な言葉でわけのわからん議論をしてるのに
似てるw
ただ、その割には他の言語でもたいして大変じゃないんだよなあ
987デフォルトの名無しさん:2013/05/03(金) 10:19:59.17
>>986
お前はコード書いた>>973>>974じゃなくて、コード書けない方のJS厨だろw
自分は書けなくて逃げてたくせに、書ける奴が現れたら

> ただ、その割には他の言語でもたいして大変じゃないんだよなあ

って恥を知れ馬鹿ww
988デフォルトの名無しさん:2013/05/03(金) 10:25:44.59
>>987
俺はそんな暇人じゃないんでね
お前こそコード書いてないくせに偉そうに
989デフォルトの名無しさん:2013/05/03(金) 10:28:01.07
while文と内包表記を混ぜないでどっちかに統一すればいいんじゃないかね
990デフォルトの名無しさん:2013/05/03(金) 10:29:10.23
>>983
↓の「例」のところを見るとk平均法で何ができるかイメージが掴めるかも。

http://reference.wolfram.com/mathematica/ref/ClusteringComponents.html
991デフォルトの名無しさん:2013/05/03(金) 10:31:40.57
こうなってくると、C言語とHaskell見たいな
992デフォルトの名無しさん:2013/05/03(金) 10:51:32.77
993デフォルトの名無しさん:2013/05/03(金) 10:53:21.22
>>986
Python(numpy, scipy)は知的教養レベルが高い人が使うもので、
Javascriptは底辺Webドカタが使うものってことだね

数式だって分かる人には読みやすいが、馬鹿には暗号になってしまうし
人に因って可読性が違うのは仕方ない
994デフォルトの名無しさん:2013/05/03(金) 10:56:47.34
>>985,990
おまいらありがとう。たぶんわかった
K=2 ならある類似性を持ったクラスタ 1 に属する要素と
クラスタ 2 に属する要素に分類するわけね

>>992
これは有り難い
でも最初にこれ見ちゃってたら自分で考えようとしなかっただろうな
995デフォルトの名無しさん:2013/05/03(金) 11:04:22.68
>>993
せいぜいイディオム勉強してPythonの知的教養レベル上げて満足してろよw
俺は暇人じゃないんで、そんなバッドノウハウいらんし、
応用が効いて分かりやすいJSでいいわw
996デフォルトの名無しさん:2013/05/03(金) 11:14:20.22
意外とcやjavascriptのベタベタな古臭いコードで何とかなるもんだな。
997デフォルトの名無しさん:2013/05/03(金) 11:28:27.35
とりあえず埋めときますね
998デフォルトの名無しさん:2013/05/03(金) 11:29:11.51
>>994
>でも最初にこれ見ちゃってたら自分で考えようとしなかっただろうな

同意
既にモチベーション無くした
999デフォルトの名無しさん:2013/05/03(金) 11:30:19.32
リスト内包は集合論とかの数式を見慣れた人には分かりやすいよね
1000デフォルトの名無しさん:2013/05/03(金) 11:30:22.10
999
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。