[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/04 14:57 / Filesize : 153 KB / Number-of Response : 594
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

[JavaScript,PHP] スクリプト言語33 [Perl,Python]



1 名前:デフォルトの名無しさん mailto:sage [2013/05/03(金) 13:55:49.86 ]
JavaScript, Perl, PHP, Python, …
スクリプト言語をすべて扱うスレッドです。
最強のスクリプト言語は、どれよ?
さあ、死ぬまで語りやがれ!!!

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

■ スクリプト言語の特徴
1レスで書ける程度の使い捨ての短いコードなら作成が容易だが
実行速度は劣っており、2人以上の開発、1000行を超えるソースコード、
10ファイル以上からなるソースコード、大規模になればなるほど
修正時の影響範囲の把握が困難で簡単なスペルミスが
発見しづらいバグを生み、IDEなどの静的解析ツールの適用が難しく
何から何まで人手でやらなければならずプログラマの負担が大きい。
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがある。

1レスには収まらないが100行程度の短いコードはここで
ttp://play.island.ac/codepaste/

toro.2ch.net/test/read.cgi/tech/1365250318/

534 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:07:28.74 ]
>>532
面倒くさいやつだなw

お前はキチガイ。反論できる?

535 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:07:44.25 ]
>>525
他の言語も頑張ってる
V8作ったGoogleが天才すぎるだけ

536 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:10:20.95 ]
>>534
できないね。お前みたいなゴミカス荒らしに唯一構ってるんだからな
普通の人間はヤバいキチガイを見たら邪魔だなあ、早くどっか行けと思いつつ関わらない
お前はそう思われてるんだよ。分かるか?なんで荒らすんだ。妄想なら他所でやればいいじゃないか

537 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:11:18.10 ]
Googleが頑張ってほかの言語エンジンも改良すれば世界が良くなるな

538 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:11:53.35 ]
>>536
残念、またしても
お前の願いは叶えられなかったw

539 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:12:10.97 ]
V8の開発してるのは以前はSunでJavaのJITのVMの開発で活躍してた人だと思った
JIT関連のノウハウで圧倒的に先行してるんだろう

540 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:12:54.30 ]
>>536
ならスルーしろよ
というか、Google天才とか言ってるのはそいつじゃねーからw
お前が誰彼構わずアタックするからこうなっちゃんたんだぞ

541 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:13:46.51 ]
>>536
北風と太陽

よそにいけといえば言うほど
このスレにいることになる。

逆にここにいろと言ったほうがいいよ。

そう言ったとしてもここにいるわけだけどなwww

542 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:14:51.46 ]
>>538
俺の願いじゃなくて、みんなの願いね
心配しなくても、お前の願いであるみんなの迷惑になる行為を続けることは毎日叶えられる
良かったな。もう誰もお前がまともなんて思わない
JS厨の詐欺にはかからない



543 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:15:46.09 ]
アンチJS厨が一番うざい。
だからみんな誰もお前にレスしてないんだぞ?

544 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:15:54.79 ]
Goの開発もベル研にいた有名な人たちが参加してるね

545 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:16:24.75 ]
まとも面したJS厨がいかにキチガイか周知できれば十分

546 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:16:30.42 ]
さて、またJavaScriptの話でもしますか。

547 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:19:07.64 ]
最近どんなプラットフォームでも
HTML+CSS+JavaScriptを使うことが標準的になっている。

これらは一例。

Google Chrome add-ons
Mozilla XUL apps and Firefox extensions
Firefox OS apps
Chrome OS apps
Windows 8 Store (“Modern/Metro UI”) apps
BlackBerry 10 WebWorks apps
PhoneGap/Cordova apps
Apple UIWebView class
Microsoft WebBrowser control
node.js (combined with jsdom or similar)

548 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:20:29.60 ]
>>544
各会社から、有名な天才達がGoogleに集まってきているってことだな
Pythonの作者もちょっと前までGoogleだったらしい
今は脱退したようだが

549 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 03:23:46.29 ]
現在広く普及している、スマホ、タブレットはもちろんのこと
テレビでもJavaScriptが動く時代だからな。

550 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 04:19:23.91 ]
例のアンチが消えた途端静かになったなw

551 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 04:25:52.97 ]
なんか寂しいな
俺も寝るか

552 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 04:42:23.52 ]
どんな言語を使おうと避けられないウェブ化によってHTMLが
ユーザーインターフェースになるのは避けられなかったわけで。

jQueryが一番うまくHTMLを扱えたことが
JavaScriptの大ヒットに繋がったんだろうな。



553 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 05:16:59.66 ]
多分Googleのお陰が50%だと思う
やっぱり再注目のきっかけになったのは
検索とかマップのAjaxだし

554 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 07:19:47.60 ]
>>539
そんな奴があんな中二っぽいコード書くのか?

555 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 07:27:41.67 ]
>>554
どんなコード?って聞かれて
答えられないなら、そんなこと言い出すなよ

556 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:13:59.47 ]
>>530
PythonでCython使って書いたら相当速くなった(53.98 -> 2.63)
こんな感じに、Perlにも高速化の手段があるんだろう

ソースコードはこれ

cimport cython

cdef fib(int n):
    if n < 2: return n
    return fib(n - 2) + fib(n - 1)

print(fib(38))



実行結果はこれ(CPython版との比較)

$ time python fib.py
39088169
python fib.py  53.82s user 0.04s system 99% cpu 53.983 total

$ time python fibc.py
39088169
python fibc.py  2.61s user 0.02s system 99% cpu 2.635 total

557 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:16:22.92 ]
さすがに悔しいからってPythonじゃない言語を持ち出されても
「int n」でバレるぞw

558 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:17:55.49 ]
せめてCythonでググれよ……

559 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:22:18.87 ]
wikipediaより
>Cython は、C言語によるPythonの拡張モジュールの作成の労力を軽減することを
>目的として開発されたプログラミング言語である。
>その言語仕様はほとんど Python のものと同じ (上位互換) だが、Cの関数を直接呼び出したり、
>C言語の変数の型やクラスを宣言できるなどの拡張が行われている。

Pythonじゃない別言語じゃん
TypeScriptを持ち出してJavaScriptはええって言ってるようなもん

560 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:22:49.55 ]
CythonはPythonに型注釈を追加したような言語で、
コンパイルしてPythonのC言語拡張を作る事が出来る

Cythonで書かれた関数やクラスはPythonから呼び出す事ができるし
Pythonで書かれた関数やクラスをCythonから呼び出す事もできるよ

561 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:25:31.15 ]
>>559
Pythonの上位互換って書いてあるだろ
ここ遅いから速くしたいなーってなったら型を書けば良い感じ
で、C言語拡張にコンパイルするから、普通のCPython処理系で動く

562 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:48:47.64 ]
>>556で関数の戻り値の型を書くのを忘れてたので、

cdef int fib(int n):

に変えて実行してみたら、もっと速くなった


$ time python fibc2.py
39088169
python fibc2.py  0.08s user 0.01s system 95% cpu 0.098 total



563 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 09:54:22.94 ]
C のコードはどこまで減らせるんだろうね
Python 界隈はそこらへんの問題に極めて意識的だけど

>>559
自分も別言語だと思う。Python のサブセットである RPython ならともかく

564 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 10:12:13.17 ]
>>560-561
つまりCに変換できるようにしたTypeScriptみたいなもんじゃん
TypeScriptをCやasm.jsに変換したらそりゃ速いよ

>>562
これ最適化でコンパイル時に値を計算したっぽいな

565 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 10:15:36.41 ]
>>564
> これ最適化でコンパイル時に値を計算したっぽい

print(fib(38))をコンパイルに含めずに
実行時にPython側からfib(38)を呼び出しても同じ

566 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 10:19:10.38 ]
>>565
良く分からないんだけど、コンパイル時に計算していないのに、
Cの数十倍速いってこと?

ちょっと良く分からない現象だね
何かタネがあるんだろうけど

567 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 10:26:25.09 ]
>>566
こちらの環境でC(gcc47 -O2)を実行した場合

$ time ./a.out
39088169
./a.out  0.25s user 0.00s system 99% cpu 0.257 total

568 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 10:27:02.43 ]
>>566
こちらの環境でC(gcc47 -O2)を実行した場合

$ time ./a.out
39088169
./a.out  0.25s user 0.00s system 99% cpu 0.257 total

569 名前:567 mailto:sage [2013/05/04(土) 10:34:54.74 ]
連投すまん
実行環境が違うのか、Cの速度も>>530と全然違うね
同じソースコードを使ったんだが

つまり、CPythonの速度がむちゃくちゃ遅い……?Python3.2なんだけど

570 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 10:51:19.53 ]
最後に、比較用にnode.js(v0.10.4)

$ time node fib.js
39088169
node fib.js  1.06s user 0.03s system 100% cpu 1.080 total

571 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 11:06:43.12 ]
なんだろう
Cの計算自体がすぐ終わりすぎて計測誤差が大きいのかな
何度もループさせないと駄目か

572 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 11:19:59.98 ]
node.jsはCの4倍程度か
たいしてPythonは200倍か
遅すぎワロス



573 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 12:01:45.29 ]
うちでもやってみた。Cython の使い方間違ってたら指摘してくれると助かる

% cat fib_c.c
#include <stdio.h>
int fib(int n) {
if (n < 2) return n;
return fib(n - 1) + fib(n - 2);
}
int main(void) {
printf("%d\n", fib(38));
return 0;
}
% gcc -o fib_c fib_c.c
% time ./fib_c
39088169
./fib_c 1.12s user 0.00s system 99% cpu 1.125 total

つづく

574 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 12:03:22.85 ]
つづき

% cat fib_py.pyx
cimport cython
cdef fib(int n):
if n < 2: return n
return fib(n - 2) + fib(n - 1)
print(fib(38))

% cat setup.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
cmdclass = {'build_ext': build_ext},
ext_modules = [Extension("fib_py", ["fib_py.pyx"])]
)

% python setup.py build_ext --inplace
[...]

% time python -c "import fib_py"
39088169
python -c "import fib_py" 3.87s user 0.01s system 99% cpu 3.894 total

575 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 12:12:14.16 ]
>>562みたいに、戻り値の型を書くともっと速くなる?

576 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 12:22:55.70 ]
pythonが200倍遅いからって、他の言語に頼るとは、、、
python厨には失望した

577 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 12:25:49.15 ]
>>575
うっかりしてた。戻り値記述して再トライ

% cat fib2_py.pyx
cimport cython
cdef int fib(int n):
if n < 2: return n
return fib(n - 2) + fib(n - 1)
print(fib(38))

% cat setup2.py
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
cmdclass = {'build_ext': build_ext},
ext_modules = [Extension("fib2_py", ["fib2_py.pyx"])]
)

% python setup2.py build_ext --inplace
cythoning fib2_py.pyx to fib2_py.c
[...]

% time python -c 'import fib2_py'
39088169
python -c 'import fib2_py' 0.56s user 0.02s system 99% cpu 0.577 total

% cat fib2_py.c
[...]
__pyx_r = (__pyx_f_7fib2_py_fib((__pyx_v_n - 2)) + __pyx_f_7fib2_py_fib((__pyx_v_n - 1)));

578 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 12:57:07.99 ]
常識レベルの話として長いコードをここに貼るな
それがある外部リンクだけで良いから

579 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:01:53.10 ]
node.jsより速いという結果は貼るな
遅かった場合だけ貼れ

580 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:13:35.96 ]
cythonってpythonの拡張モジュール書いたりできるんだろ?
あれ、これってasm.jsという糞言語で高速化したいところを局所的に書けばいい
と言ってたのと同じじゃね。遅れてね?ただの後追いじゃね
で、asm.jsのコードと実行時間は?
なんかこのスレ見ても「できるらしい」とか「できるはず」とかいう胡散臭いレスが目立つけど
実際どうなの?

581 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:24:30.70 ]
>>580
Pyrex が 2002 年でそこからフォークした Cython が 2007 年
後追いではないと思われ

582 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:34:55.32 ]
「今JSが熱い!みんなが熱狂している!薔薇色の未来!」
って、他の言語が数年前に通った道なんだね…
Cに変換するか、Cから変換されるかって違いか。さて、どっちが速いかね



583 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:37:47.14 ]
>>582
JSが熱いってそんなCに変換するだのなんだののくだらない狭い世界の話じゃないんだが
asm.jsを熱弁してる奴がいただけで、JS熱は別次元だよ
node.jsやweb用ライブラリ界隈で起こってる熱狂

584 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:37:56.28 ]
>>582
> 「今JSが熱い!みんなが熱狂している!薔薇色の未来!」
> って、他の言語が数年前に通った道なんだね…

いや、その道は他の言語は通っていない(苦笑)

今の話の流れからは「型つけて速くしましょう」という
道しか通ってないだろう?

585 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:40:09.50 ]
デスクトップアプリがWEB用アプリに置き換わりはじめてるから、
この流れは相当続くね
下手したらスマフォのネイティブアプリの領域も浸食しそうだし(ここはまだ不確定)

586 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:40:31.51 ]
ああ、asm.jsの奴はJS的にもアレなので
あそこまで言うのならコードと実行時間くらい示してほしいが

587 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 13:44:24.21 ]
ん?ちょっとまて
この流れはひょっとしてCythonが最強という事でよろしいか?

588 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 14:00:56.34 ]
Cythonって静的型付け言語ってことでいいの?

589 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 14:02:44.37 ]
ハイブリッド

590 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 14:33:20.50 ]
node.jsって実行速度を自慢する割には、
静的に型付けした場合と比較するとゴミだな……

所詮は、他言語がepollやkqueueを使わない場合という
ハンデをつけた状況に限れば非同期処理が速いってだけのウンコか……

591 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 14:35:16.37 ]
> node.jsって実行速度を自慢する割には、
またいつもの勘違いさんかw

592 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 14:45:32.92 ]
静的型付け言語の下位と同じくらいだな
動的型付け言語としては十分自慢できるぐらい速い



593 名前:デフォルトの名無しさん mailto:sage [2013/05/04(土) 14:56:24.24 ]
要するに静的型付け言語が優れてるってことだよ。

スクリプト言語で気軽にかけるといっても
大規模になって、多く使われるようになってくると
結局その複雑度や速度に対応するために
静的型付け言語の機能が取り入れられていく。

JavaScript、Python、Basic(VB)、PHP


www.publickey1.jp/blog/11/phpjithiphop_virtual_machinefacebook.html
HipHop Virtual Machineは、PHPを高速に実行するためにPHPのコードをC/C++に変換して
g++でコンパイルし、バイナリコードにするHiphop compiler(hphpc)と、PHP






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<153KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef