【Lisp】スクリプト バトルロワイヤル48【pl,rb,php,js】 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/02/28(土) 00:33:07.88ID:6Lhyreb3【Python】スクリプト バトルロワイヤル47【pl,rb,php,js】
http://peace.2ch.net/test/read.cgi/tech/1417333026
0052デフォルトの名無しさん
2015/03/01(日) 14:46:23.90ID:Gw44QDSF何をそんなに興奮してるのかと思ったら、Pythonを批判されたと勘違いしているのか。
別にPythonはlambdaも書けるし、無名関数が使えない言語だとは思ってないぞ。
まぁ、必ずしもバッチ処理だけではない、もっと汎用的な言語だという認識だし、
一つでも代入をした瞬間「長い関数」扱いになるのは、setXXX()の呼び出しとの差が疑問ではあるが。
0053デフォルトの名無しさん
2015/03/01(日) 14:59:34.66ID:FEZU7Y8i意味が分かりません
0054デフォルトの名無しさん
2015/03/01(日) 15:06:17.27ID:pZeLnU6y0055デフォルトの名無しさん
2015/03/01(日) 15:09:22.16ID:Gw44QDSF関数の引数に、(普通に書くと)2行以上に渡るような処理を書かせたくないってことだよ。
代入1個だけなら何とかなったかもしれないけど、「代入と何か」をさせようとすると2行になるから構文的に難しい。
メソッドチェーンならいくつ続いてもOK。
別にsetterに限った話でもないし、イベントやコールバックでsetterを使うのに違和感は感じない。
0056デフォルトの名無しさん
2015/03/01(日) 15:15:06.38ID:FEZU7Y8i0057デフォルトの名無しさん
2015/03/01(日) 15:47:05.06ID:KsvF2WvUtemplateならejs以上に効率の良いものないよね
0058デフォルトの名無しさん
2015/03/01(日) 16:47:37.58ID:oijcdKY8メソッドチェーンもPythonじゃ殆ど使われないよ。構文的には制限されてないけど
だから可読性に対する考え方の違いなんだよ
0059デフォルトの名無しさん
2015/03/01(日) 18:07:09.41ID:63dHNuf60060デフォルトの名無しさん
2015/03/01(日) 18:24:31.44ID:FoR0jc1Eじゃ他人のライブラリも読みにくくて、オープンソースも理解しにくいんだろう
0061デフォルトの名無しさん
2015/03/01(日) 18:55:36.42ID:P74g8Igm打ち間違えたw
本人→放任 だw
0062デフォルトの名無しさん
2015/03/01(日) 19:21:19.35ID:FoR0jc1E......でもそんなに変わらない
0063デフォルトの名無しさん
2015/03/01(日) 19:37:47.30ID:MJLCutHL逆に捉えれば、他人にコードが新たな発見や勉強になるってことだし、
自然のワイルドな状況で全体の「良いJSの書き方」が磨かれて行くのは嫌いじゃない。
0064デフォルトの名無しさん
2015/03/01(日) 19:50:51.15ID:FoR0jc1E0065デフォルトの名無しさん
2015/03/01(日) 20:40:06.17ID:bhrqJkA3強いて言えば勉強が嫌いでさっさと使いたい人には向いてないのかも。
0066デフォルトの名無しさん
2015/03/01(日) 21:15:13.68ID:pZeLnU6yさっさと目的を達成しようとする人に向いてる
神経質な人や真面目な人がこれでいいんだろうかとか気にしだすと泥沼にはまる
0067デフォルトの名無しさん
2015/03/01(日) 21:35:20.77ID:KsvF2WvU0068デフォルトの名無しさん
2015/03/01(日) 21:51:21.10ID:KMso/inS逆に聞くが何か目的を達成するためにあえてJSを選択するか?
もちろんブラウザの標準言語という点は何より魅力だが、
それは除いて初心者に純粋にNodeとPython、どっちのインストールを進めるかといえば自分は後者だ。
計算科学でPythonがよく使われているのを見ると、やはりPythonが最もやりたかったことを忘れないうちにさっさとコードにできる言語なんだろう。
その点ではやり方に縛りがないというのはプラスにならないからな。
まあ話は変わるが、「深く知る」ということが言語仕様の流れから理解することとすると、
JSの仕様書の多さと読みにくさは問題だと思う。
0069デフォルトの名無しさん
2015/03/01(日) 21:59:23.45ID:FoR0jc1E冗談のつもりだったが、まさかここまで酷いとはな......
jsは一人ヨガリな奴しか使えない言語って結論で良いか?
0070デフォルトの名無しさん
2015/03/01(日) 22:09:01.08ID:jkd3GNZ7独りよがりな奴しか使いたがらない、じゃね?
0071デフォルトの名無しさん
2015/03/01(日) 23:41:37.52ID:yqpW0lF8インデントを使う構文な上に、2行以上の無名関数を多用する
CoffeeScriptという言語もあるけどね
結局、不自由な言語で書いてる人は自由な言語の良さが理解できない
Lisperが他の言語を馬鹿にするのと同じ理屈だね
0072デフォルトの名無しさん
2015/03/01(日) 23:44:58.86ID:fQPy4pCfこのスレではいかに業務において使いやすいかより、
いかに俺スゲーできるかが味噌なんだから、
独特でマニアになれる言語仕様ってことは+なんじゃないの?
0073デフォルトの名無しさん
2015/03/01(日) 23:48:19.04ID:fQPy4pCf自分はESに仕様書を読み解けるようになるまで1年はかかったね。
でもまだどこもかしこもすんなり読めるって感じじゃない。
そうなるにはもう1年かかると思う。
0074デフォルトの名無しさん
2015/03/02(月) 00:08:53.07ID:AeyFdIXzそもそもあまり業務において競合してない
分野が分かれてる
Webのサーバーサイドは若干競合し始めているが
0075デフォルトの名無しさん
2015/03/02(月) 00:10:55.97ID:/tbfLX1Qちょっとバッチ処理を書く分にはOOPなんて理解しなくても良いしさ
0076デフォルトの名無しさん
2015/03/02(月) 00:13:02.73ID:8UULvOgm簡単にlambda内で変数束縛できるけど、誰もやらないだけ
できるけど、やらない
ret = next
val = lambda *args: args if len(args) == 1 else (args,)
f = lambda x, y: ret(x + y + a + b + c + d
for a in val(x + y)
for b in val(10 + a)
for c, d in val(a+5, b+3))
0077デフォルトの名無しさん
2015/03/02(月) 00:24:34.13ID:HfaINe5zこの界隈で自由/不自由と言ったら、オープンソース/プロプライエタリの意味に誤解されそう。
言語の制限という意味の不自由なら、制限がつくことが望まれる場合もあるとは思う。
Pythonは「書きづらいなら、それは書かせたくない書き方だからだ」って散々レスされているし、
ES6はclass構文という不自由を導入したから、独自実装クラスの氾濫を収束させられるんじゃないかな。
0078デフォルトの名無しさん
2015/03/02(月) 01:21:42.37ID:su1blwxN>言語の制限という意味の不自由なら、制限がつくことが望まれる場合もあるとは思う。
>Pythonは「書きづらいなら、それは書かせたくない書き方だからだ」って散々レスされているし、
もしその Python の設計思想/哲学が優れているなら、他の言語も追従していくはず
でも現実には、無名関数の無かった C++/Java/Perl/PHP も使えるように進化してきたし、
新しく登場した C#/Swift といった言語では最初から無名関数を備えている
結局、
「Python だけがポツンと一人、関数型プログラミングの世界から取り残されている」
というのが、現在の状況な訳だ
まあ Python 厨からすれば「世界が Python から孤立している」と見えるのかもしれないが....
0079デフォルトの名無しさん
2015/03/02(月) 01:27:15.95ID:QaRtU5zYclass構文はある意味ではただの便利な糖衣構文。
そしてある意味では機能が不足していて従来型との組み合わせが避けられない未完成品。まだES7,8で治していく予定。
JSが不便だったのは制限がなかったからではなく、変な制限がかかっていたから。
その点ES6ではようやくプロトタイプベースが開放されるので、まともなPBOOPができるようになる。
そちらは完成品。
0080デフォルトの名無しさん
2015/03/02(月) 02:01:23.06ID:8UULvOgmまともなファーストクラスの関数が無いRubyの方が
よっぽど取り残されてるよ>>16-17
0081デフォルトの名無しさん
2015/03/02(月) 06:35:41.69ID:xt2DIcwnまさに土方をレールに乗せて単純作業をさせるのに最適
0082デフォルトの名無しさん
2015/03/02(月) 06:50:56.90ID:ZFj/SxE6松本神が楽しくないと思う機能は入らない
そこに文句や批判は許されない
0083デフォルトの名無しさん
2015/03/02(月) 07:15:01.41ID:xt2DIcwnブロック引数という形で制限してるのはある意味Pythonのようにスタイルを統一する役割を果たしていて
結果的には良かったのかもしれない
松本神からすれば「楽しくない」となる不本意なところなんだろうけど
0084デフォルトの名無しさん
2015/03/02(月) 07:20:35.58ID:ZFj/SxE60085デフォルトの名無しさん
2015/03/02(月) 07:47:48.60ID:HfaINe5z関数型といえるほど大した使い方かはともかく、無名関数は一般化してしまった。
だから、それに制限がかかる言語に移ると、使いづらかったり、古臭く見えたりする開発者はいそう。
将来、ジェネレータや async/await が一般化したら、また評価が変わるかもしれない。
ループの内外が入れ替わるだけの場合もあるけど、その書き方が美しいとされる言語もあるだろうし。
0086デフォルトの名無しさん
2015/03/02(月) 07:56:47.14ID:ZFj/SxE6CGI的な用途だと必要にならないかと思う
0087デフォルトの名無しさん
2015/03/02(月) 07:57:33.67ID:HfaINe5z糖衣構文かどうかや、未完成品かどうかは関係ないよ。
よくある静的なクラス構造なら、皆なるべくclass構文を使えってことでしょ?
それはPythonの「たったひとつの冴えたやりかた」を求める姿勢と似たものに見える。
もちろん、開放されるというプロトタイプベースが多用される状況になったら、考えを改めるけど。
0088デフォルトの名無しさん
2015/03/02(月) 08:11:04.75ID:ZFj/SxE6それはなんとも言えないな。
従来型で出来なかったことや難しかったことができるようになるわけじゃないから。
元々はclass構文はクラスを作ることよりも、「ビルドインクラスを正しく継承できない」という問題を解決するものとして注目された。
でもドラフトが更新されて、class構文の特殊性はどんどん削られていって、ほぼただの糖衣構文とかしている。
一方従来型でもsuperやメソッド定義など新しい機能が使えるようになって、表現力は向上しているんだよ。
だから便利に使えるものではあるけれど、「たったひとつの冴えたやりかた」とまでは言えないと思う。
0089デフォルトの名無しさん
2015/03/02(月) 08:16:50.87ID:8UULvOgmPythonにはジェネレータ(とyield)が既にあるし、
async/awaitはデコレータとyieldを使ってライブラリレベルで実装可能って認識
0090デフォルトの名無しさん
2015/03/02(月) 08:34:19.20ID:xt2DIcwnなんだかんだC#は影響力凄い
0091デフォルトの名無しさん
2015/03/02(月) 15:06:29.65ID:t8ktLjwG技術的負債なんだよなあ
0092デフォルトの名無しさん
2015/03/02(月) 15:38:30.13ID:/tbfLX1QWordPressはMVCのframeworkとして形態を取らなかったから小回り効かないし、
CakePHPってコミュニティがRailsと比較すると貧弱なんだよね
かといって、MEANやMeteorには導入・運用したいような出来合いのものもない
0093デフォルトの名無しさん
2015/03/02(月) 16:11:42.39ID:3h2DKhb9たんなるブログソフトだ。
そうでなくなるには開発者が機能をライブラリ、フレームワークとして分離してからだ。
いまのところ、PHPの実装だがソフトウェアとしてみたとき、perl、Javascript、C言語で実装されても挙動が同じなら同じソフト。
C製の言語がJavaVMやDOTNETで実装されると同じ。
0094デフォルトの名無しさん
2015/03/02(月) 16:17:17.39ID:afMGsxJm最近コミュニティが機能拡充に向けてまた盛り上がってきてる。
CSSがスクリプト言語の仲間入りをする日も近い。
0095デフォルトの名無しさん
2015/03/02(月) 16:19:24.45ID:/tbfLX1Q>>94
プリプロセッサの類でいいじゃん
0096デフォルトの名無しさん
2015/03/02(月) 16:33:40.04ID:afMGsxJm考え方が逆だよ。
プリプロセッサで可能な範囲ならプログラミング言語ではないということだ。
0097デフォルトの名無しさん
2015/03/02(月) 16:57:56.65ID:/tbfLX1Q0098デフォルトの名無しさん
2015/03/02(月) 20:44:00.24ID:gy0fGZ4Dだったら大人しくjsかRubyかSwift、もしくは3つ全部使いこなせれば食うのに困らんしそこそこの小金も稼げる
特にRuby使いは福岡行けば当分安泰
0099560
2015/03/02(月) 20:50:23.33ID:WFsxl+82簡単なツールとかだと、C# でいいし
0100デフォルトの名無しさん
2015/03/02(月) 20:53:47.03ID:xt2DIcwnこれがScalaなら安易に継続モナドとか入れてカオスになるところだけど
モナドのような言語内DSL的なハックはクソであり、自然に言語本体に組み込むべきだ
という一貫した姿勢はPythonにも通じる
0101デフォルトの名無しさん
2015/03/02(月) 21:17:48.76ID:/tbfLX1Q0102デフォルトの名無しさん
2015/03/02(月) 21:21:29.80ID:lQuxHqPCさあこれから仕事場のためにVB6の勉強をはじめるか(泣)
0103デフォルトの名無しさん
2015/03/02(月) 21:54:06.07ID:/tbfLX1QRuby chanの絵柄の気持ち悪さに日本を感じるよね
whyのfoxやzombieみたく、世界を意識したデザインセンスの欠片も見当たらない
0104デフォルトの名無しさん
2015/03/03(火) 03:32:53.05ID:T9ZvUMy2お前こそ日本語理解してから言えよ。
0105デフォルトの名無しさん
2015/03/03(火) 07:17:31.23ID:mwxAO14G寡占目指して技術的な問題を必死に議論する以前に、そもそもそこを取り締まらないとダメだが、単にその言語が使えるだけの馬鹿ばかりだから気付かない。
割と真面目に言っているんだが、多くの人はキモヲタ臭を不真面目さと看做してムッとするわけよ。
Java, PHP, JS といった、寡占経験のある物には、そういうおふざけが皆無だから、ムッとさせられたりはしない。
0106デフォルトの名無しさん
2015/03/03(火) 08:35:12.72ID:/VeLAz7Aその言語をそこそこやってて慣れてる程度の人ばかりに感じる。
例えばその言語で完全なその言語の実行エンジンを作った人が何人いるか?
0107デフォルトの名無しさん
2015/03/03(火) 08:49:32.79ID:XsKGZLMVPerl はもう古語だから仕方ないが、PHP使いは職業軍人だから良し悪しには拘らないってことか
0108デフォルトの名無しさん
2015/03/03(火) 09:39:43.30ID:/VeLAz7A0109デフォルトの名無しさん
2015/03/03(火) 11:07:56.50ID:MP9JvLIx0110デフォルトの名無しさん
2015/03/03(火) 11:09:42.68ID:0P4RJqQeプラットフォームやミドルウェアなどもっと低レベルなところの開発でもやってるんならともかく、
スクリプト使ったWebアプリなんて他人が作ったオモチャで遊んでるだけなのに何職人気取ってるの?
0111デフォルトの名無しさん
2015/03/03(火) 11:26:16.74ID:9/Z+XEtH0112デフォルトの名無しさん
2015/03/03(火) 11:39:55.56ID:QiELDFxu職人的なノウハウを貯めこむならコミュニティの支援がある所でないとダメなんだ
今のベストな選択肢がWordPressとRailsだけ
プラットフォームやミドルウェア作りみたいな開発なんてリスキーだし、
何のバックボーンもなしに個人では誰もやれないからね
0113デフォルトの名無しさん
2015/03/03(火) 12:08:29.99ID:9/Z+XEtHだから世間が追いつけただけ。
昔のRailsは時代に乗っているどころか、時代を作っていくものだった。
BossがRailsを止めたと言うまで完全に終わったわけではないが、
もはや今のRailsに新たな時代を作っていく力は感じられない。
今新しい技術ばかり語ってる人達は、Railsも出始めはそうだったように、
そんなもの業務では使えないと笑われるだろうが、その人達のお陰で未来がある。
0114デフォルトの名無しさん
2015/03/03(火) 12:22:36.15ID:FfYIXlV4http://itpro.nikkeibp.co.jp/atcl/idg/14/481542/020900074/?mlm
結局本命はいつの時代もJava一択なのね(´・ω・`)
0115デフォルトの名無しさん
2015/03/03(火) 12:27:30.63ID:QiELDFxu自分で客さえ取ってこれたら、わざわざ古臭い言語を勉強したり、
痴呆予防のリハビリが必要なジジイ共に御布施する必要もないんだけどね
0116デフォルトの名無しさん
2015/03/03(火) 12:29:24.48ID:wrT+VtlF0117デフォルトの名無しさん
2015/03/03(火) 12:38:00.78ID:memkJefR実績はないけど一ヶ月で作れます!
半年後にまたリプレースします!
誰が仕事頼むんだよw
0118デフォルトの名無しさん
2015/03/03(火) 12:46:11.23ID:QiELDFxu0119デフォルトの名無しさん
2015/03/03(火) 12:52:33.13ID:obB8qIVv0120デフォルトの名無しさん
2015/03/03(火) 14:00:27.60ID:pmKZfKU0Java --> JUniversal --> C#
Java --> JUniversal --> C++/Objective C++
Java --> j2ojbc --> Objective C
C#からまた別の .net 言語に変換できるのかな?
> JUniversalは現時点ではUIをサポートしていない。
> UIはネイティブに作成するという考え方だ。
やっぱそーなんだね。
UI は Web で作った方が手軽かな。
じゃあ JavaScript でやれば変換の手間もいらないかな。
でも部分的な高速化のために、ActiveX が使えるといいかな。
UI の高速化は GPU の支援受ければいいし。
0121デフォルトの名無しさん
2015/03/03(火) 15:46:16.45ID:fJY9J990スクリプターはお花畑な発言する。
それがどれだけ大変なことか。
0122デフォルトの名無しさん
2015/03/03(火) 15:49:32.00ID:QiELDFxusilverlighやWPFって言葉を聞かなくなって、もう何年経つのだろう
0123デフォルトの名無しさん
2015/03/03(火) 15:51:43.72ID:QiELDFxuttp://www.slideshare.net/jarrednicholls/javascript-on-the-gpu
君には無理でも、それに取り組む人は世界中に居るよね。
0124デフォルトの名無しさん
2015/03/03(火) 15:58:56.95ID:FfYIXlV4これエンタープライズだけじゃないんだが?(´・ω・`)
0125デフォルトの名無しさん
2015/03/03(火) 17:12:45.27ID:9/Z+XEtHネイティブ関数呼び出すオーバーヘッドの方が大きくなる。
実際に最近は実装もセルフホスティングになってきてる。
暗号化とか、文字コード変換とか明らかに重いのはすでにあるし、
0126デフォルトの名無しさん
2015/03/03(火) 17:42:39.02ID:XsKGZLMVスクリプトで重い処理をしたい(画像処理とか)の話なのか
論点がずれてないか確認したほうがよさそう
特にJSは、ブラウザというサンドボックスの世界だから
ネイティブなら既にあるものを再実装する話になりやすいし、
いかにそれを呼び出すかだけでも大騒ぎになる
0127デフォルトの名無しさん
2015/03/03(火) 18:28:20.39ID:9/Z+XEtH0128デフォルトの名無しさん
2015/03/03(火) 20:52:48.68ID:B1KOi1jRGUIなのにマルチスレッドないVB6万歳!
0129デフォルトの名無しさん
2015/03/04(水) 08:15:08.52ID:s4GNkOoFセンスがあれば大金持ちにもなれる
0130デフォルトの名無しさん
2015/03/04(水) 08:22:12.14ID:4pfVor2UGPUの支援の話だったと思うのだが、emscriptenはその効果があるのかい?
0131デフォルトの名無しさん
2015/03/04(水) 08:24:10.60ID:jeayVKWB0132デフォルトの名無しさん
2015/03/04(水) 10:46:27.40ID:AZZAiZVI0133デフォルトの名無しさん
2015/03/04(水) 10:53:02.12ID:hly8BeATemscriptenはOpenCL→WebCLもサポートしてるよ。
0134デフォルトの名無しさん
2015/03/04(水) 18:33:49.59ID:3cqSAZZu0135デフォルトの名無しさん
2015/03/04(水) 20:05:01.55ID:1PNNe6DT埋め込むだけじゃね?
どっちにしろカーネルを自分で書かなきゃならんなら最初からWebCLで書く方が
JS使いには楽だろうな。
0136デフォルトの名無しさん
2015/03/04(水) 20:58:33.99ID:EdsfEQxbだからswiftはスクリプトではないっしょ
しかも選び方がかなり偏っててかぶってる
0137デフォルトの名無しさん
2015/03/04(水) 21:24:49.78ID:jeayVKWBGPUの意味はほとんどないだろうね
単にカーネルが静的型で書ける分速いってだけだな
結局それだけならasm.jsの方がよほど筋が良い
0138デフォルトの名無しさん
2015/03/04(水) 21:42:10.31ID:3cqSAZZu結局は余ってる物を活用する程度でしか無いし、千差万別の環境が利用するWebアプリにおいて活かせるのかは疑問。
0139デフォルトの名無しさん
2015/03/04(水) 21:49:53.27ID:NmWmcyHd特定用途では GPU 支援は CPU よりも威力があるようだ、d.net をみていると
0140デフォルトの名無しさん
2015/03/04(水) 21:52:06.43ID:jeayVKWB本気のGPGPUって数日かかるような計算を
Xeon計64コア+Tesla4枚とかでやるからね
次元が違いすぎる
0141デフォルトの名無しさん
2015/03/04(水) 23:19:40.37ID:FCtuvtCo0142デフォルトの名無しさん
2015/03/06(金) 08:23:14.13ID:+vqFDf/j0143デフォルトの名無しさん
2015/03/06(金) 14:32:10.62ID:pH1QImRi>>140みたいなガチな環境でない限りは結局画像関係くらいにしか使えんよ
0144デフォルトの名無しさん
2015/03/06(金) 15:12:43.45ID:k24raSm7なんで UI 以外の計算で GPU を使う話になっちゃったのか分からない。
0145デフォルトの名無しさん
2015/03/06(金) 15:34:47.98ID:ZI58F8Kxそうだとしても今のCPUとJSの速度ならGPU支援に頼らなくても実用的なものできると思うけどね。
0146デフォルトの名無しさん
2015/03/06(金) 16:09:40.36ID:YgjRAqSmVRAMにデータおいちゃうとCPUから直接アクセスできなくなるってのも大きい。
0147デフォルトの名無しさん
2015/03/06(金) 16:25:39.51ID:b4auMf6Sangular.jsがtypescriptつかいだしたってさ
企業まで乱交紛いにソフトウェアを作りだすおかげで、webはますますエッチになる
0148デフォルトの名無しさん
2015/03/06(金) 18:21:46.88ID:pH1QImRiDart(笑)
0149デフォルトの名無しさん
2015/03/06(金) 20:12:13.66ID:E/dvxQE9この話はDartとは関係ないよ。Angular.dartは別で開発されてる。
むしろAtScriptが同じくGoogleが推すSoundScriptと被るのが気になる。
0150デフォルトの名無しさん
2015/03/06(金) 20:16:38.54ID:coWMRvsx名前だけズルズル残してる状態だろ
誰が見てももう終わってる
0151デフォルトの名無しさん
2015/03/06(金) 20:47:54.97ID:FF8tYzka■ このスレッドは過去ログ倉庫に格納されています