1read 100read
2013年04月プログラム17: 【JS,PHP,Python】スクリプト,バトルロワイヤル30【Perl,Ruby】 (1001) TOP カテ一覧 スレ一覧 2ch元 削除依頼
スレ立てるまでもない質問はここで 126匹目 (367)
スレ立てるまでもない質問はここで 126匹目 (367)
VBAなんでも質問スレ (223)
【初心者歓迎】C/C++室 Ver.83【環境依存OK】 (662)
Eclipse統合M34【Java/C++/Ruby/Python/Scala】 (309)
Eclipse統合M34【Java/C++/Ruby/Python/Scala】 (309)

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


1 :2013/03/08 〜 最終レス :Over
JavaScript, Perl, PHP, Python, Ruby, …
スクリプト言語をすべて扱うスレッドです。
最強のスクリプト言語は、どれよ?
さあ、死ぬまで語りやがれ!!!
■ スクリプト言語の用途
Webアプリ、シェルスクリプト
■ スクリプト言語の特徴
実行速度に優れているわけではないが、
取り回しに優れ、コードの作成や修正が容易、プログラマの負担が軽い!
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがある。
長いコードはここで
ttp://play.island.ac/codepaste/
【Perl,Python,PHP】LL バトルロワイヤル 29【JS,Ruby】
http://toro.2ch.net/test/read.cgi/tech/1361576195/

2 :
Rubyが最強だろ
終了

3 :
            ____
         __,,/  _, ----`ヽ  :.
     :.  / _     ___   、\
       / /   i      \   \\ :.
     :. ,'./       i  ヽ:.   ヽ:.:.. ヽ.ヽ   ←Lua
      ,'/    / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
     :. |i .i i  .i /  ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
       |i .i l  :N_, -弋 \弌弋ナ:}:.:}
    :. |i∧ ', :{ ,ィjモト \  イjミトイイV :.  な…
       .|  :メヽ.', `ozZ}      izN。ハ::{     なんなんですか?
      :. |  :ヾ_! ゝ "゙゙    '  `゙ ハ.:', :.   ここ、どこですか?
      |  :.:_イ .:.ヽ.   (二フ , イ :.:.:!:.ヽ     なんであたし
   :.  / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:.   貼られたんですか?
      / ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
 :.  / .{. ',ヾ、ヽi .:.:.{ /(^`  |.:.:.:.//: : :.}: . ヽ.:.
   / /  ) ヽ ヾ、ヽ:.ハ ヤ{   ∧/.-‐'": : |:.:. i ',
  ./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、  : : : l:.:.: .ハ ',
  { /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
  V | .:.:/:.:|_,ィ' ̄  ヽ三{ `ー-ノ : イ : : :/:.:i.:{  リ
    ヽ:.:{、.:.V     : : ヘ     : : {: : :/:.::∧|
     ヽ! )人    : : :人      : : : / \! :.
      "  ヽ : : : : :/イ{     :.ノ: : : :.\ :.
       :.  \__///: :\______/: : : : : : : ヽ
           / //: : :|;|: : : : : : i: : : __: : : : ',
       :.     / 、 {;{   |;|   . : i/. : : : : : :|
          / `Y;{. . . .|;|. : : : /i: : : : : : : : :l

4 :
http://d.hatena.ne.jp/kazu-yamamoto/20130308/1362724125

5 :
>>僕は静的な C 言語から、動的な Perl、Lisp、JavaScript を経て、現在では静的な Haskell を主に使っている。
この時点でバカ
この人はえらそうに文章かいていいレベルじゃない

6 :
特にプログラムの勉強もしたことのない低学歴の平凡な素人がお遊びで作ったPHPスタンドアロンアプリ。
hcapp.rakusaba.jp

7 :
>>2
その最強()ルビーを本家ルビーよりも早く動かせるTopazのPython最強だな。

8 :
JavaもREPLあるからスクリプト言語だよね
http://www.scravy.de/blog/2012-02-27/a-read-eval-print-loop-for-java.htm

Java最強

9 :
1 宿題の丸投げという行為はカンニングと同等。学則による処分の対象
2 丸投げした質問者もそれを知って回答した回答者も大学の単位認定業務の
 妨害、すなわち偽計業務妨害
3 宿題の問題は著作物であり、それをアップローダやスレに投稿する事は
 公衆送信権の侵害。うpを唆しているテンプレは著作権侵害の教唆
違法行為が前提で成り立つスレなので、次スレは立てずにこのスレで終了

10 :
2・3スレ前で「お題」が出て色んな言語で解いていたのが一番良かった。
自分が使っていない言語の回答を見て、
ああこんな解き方があるのかととても参考になったよ。

11 :
http://s.ameblo.jp/ado-doa/entry-11225829601.html
心理学者フィリップ・ジンバルド は1969年、人が匿名状態にある時の行動特性を実験により検証した。
その結論は、「人は匿名性が保証されている・責任が分散されているといった状態におかれると、
自己規制意識が低下し、『没個性化』が生じる。
その結果、情緒的・衝動的・非合理的行動が現われ、また周囲の人の行動に感染しやすくなる。」
というものであった。

12 :
>>10
スレタイ変えなくても、御題出すだけで
C#厨やJava厨は排除できたよね
あいつら口だけでコード書けないから

13 :
お題なんて意味ないわ
機能が豊富な言語、シンタックスシュガー満載な言語、
関数型の言語が短くかけるのは分かりきってる。
コードの短さなんてのは言語の評価する視点の一つに過ぎない

14 :
>>12
コード書けないとは、どういうことを意味するのかな。

15 :
ちょっと昼にでも本屋行ってRソンの本買ってくる

16 :
>>12
C#厨、Java厨なんて呼んで召喚したいわけね

17 :
>>14
プログラマじゃないんじゃね?
それでも「IDEが〜」とか書くことくらいは出来る

18 :
お題
こんな感じにコマンドラインで動くTODO管理アプリを作りなさい
$ ./todo add "本屋でPythonの本を買ってくる"
$ ./todo add "たいやきを買ってくる"
$ ./todo list
1: 本屋でPythonの本を買ってくる
2: たいやきを買ってくる
$ ./todo done 2
$ ./todo list
1: たいやきを買ってくる
アドリブも可

19 :
あ、>>18訂正。$ ./todo done 1 でお願いします
番号が繰り上がることに注意(そうしないと後々 todo done 189203 とかしなきゃならなくなるので)

20 :
>>18
TODを知らないからお呼びでないのだが、
done 2
これどういう意味なの?

21 :
かぶったか。了解。

22 :
可変長のリストの入力に対して固定長のリストを出力したいのですが
足りない部分を先頭の要素から0で埋めようと思います
例:出力が固定長 5 のとき
入力 [1, 3] 出力 [0, 0, 0, 1, 3]
入力 [2, 1, 3] 出力 [0, 0, 2, 1, 3]
入力 [5, 4, 2, 1, 3] 出力 [5, 4, 2, 1, 3]
一番シンプルに書ける言語はどんなのがありますか?

23 :
>>22
Prolog

24 :
>>22
Python
xs = [1, 3]
print(([0] * 5 + xs)[-5:])

25 :
>>18
$ cat todo
#!/usr/bin/env python
import sys
import os
import pickle
if os.path.isfile('todo.dat'):
    with open('todo.dat', 'rb') as fp:
        todo = pickle.load(fp)
else:
    todo = []
if sys.argv[1] == 'list':
    for x in enumerate(todo, 1):
        print('%s: %s' % x)
elif sys.argv[1] == 'add':
    todo.append(sys.argv[2])
elif sys.argv[1] == 'done':
    todo.pop(int(sys.argv[2]) - 1)
with open('todo.dat', 'wb') as fp:
    pickle.dump(todo, fp)

26 :
>>25
pythonが開発効率一位か

27 :
>>24
おもしろい記法があるものだな。

28 :
>>18
@Mathematica
reset 機能を追加。
In:= toDo[mode_,action_:""]:=Module[{todofile,todolist},
 todofile="todo.txt";
 todolist=Import[todofile,"Text"]//
  StringSplit[#,"¥n"]&;
 Which[
  mode == "add",
   Append[todolist,action]//
    Export[todofile,#]&;,
  mode == "list",
   todolist//
    MapIndexed[{ToString[#2[[1]]]<>":",#1}&,#]&//
    Grid,
  mode == "done",
   Drop[todolist,{action}]//
    Export[todofile,#]&;,
  mode == "reset",
   {}//
   Export[todofile,#]&;
  True,
   {}]
];

29 :
>>22
@Mathematica
In:= lst = {1,3};
In:= PadLeft[lst,5]
Out:= {0,0,0,1,3}
リストのゼロ埋めは良く使うので、
組み込み関数として最初から持ってる言語も多いのでは。
>>24
def padLeft(lst, n):
 return (([0] * n + lst)[-n:])
↑自分の Python ライブラリに追加しとくわ ノシ

30 :
入力長 > 出力長
のときの動作が未定義

31 :
>>30
Mathematica だと、こうなる。
In:= PadLeft[{6,5,4,2,1,3},5]
Out= {2, 3, 4, 5, 6}
Python だとこんな感じかな。
def padLeft(lst, n):
 if len(lst)>n:
  return lst[-n:]
 else:
  return (([0] * n + lst)[-n:])

32 :
>>31
Pythonのその条件分岐は無くても同じ
xs = [1,2,3,4,5,6,7,8]
print(([0] * 5 + xs)[-5:]) #=> [4, 5, 6, 7, 8]

33 :
>>32
ほんとだ。
ついでに padRight も。
def padRight(lst, n):
return ((lst + [0] * n)[:n])

34 :
インデントが消えてしまった。連投スマソ。
def padRight(lst, n):
 return ((lst + [0] * n)[:n])

35 :
perl
>>18
use 5.016;
use warnings;
use Tie::File;
tie my @list, 'Tie::File', 'todo.dat' or die $!;
given($ARGV[0]){
    when('add'){ push(@list, $ARGV[1]) }
    when('list'){ print map{ "$_: $list[$_ - 1]\n" } (1 .. @list) }
    when('done'){ splice(@list, $ARGV[1] - 1, 1) }
    default{ say "$0 usage: (add todo/list/done number)" }
}
>>22
my @l = (1, 3);
my @r = ((0) x 5, @l)[@l .. $#l + 5];

36 :
>>31
なんで順番かわるんだろ

37 :
>>35
perl は二度と使いたくないと決心を新たにしました。

38 :
>>36
ごめん。貼り付ける計算結果を間違えた。orz
正しくは、
In:= PadLeft[{6, 5, 4, 2, 1, 3}, 5]
Out= {5, 4, 2, 1, 3}

39 :
完動品として、>>18を俺ならこう作る
#!/usr/bin/perl
use strict;
use warnings;
my ($com, $msg) = @ARGV;
open(my $FH, "+<", "todo.data") || die("ファイルが開けない");
flock($FH, 2);
my @data = <$FH>;
if (!defined $com || $com eq "") {
print "todo [add | done | list] [value]\n";
} elsif ($com eq 'add') {
push (@data, $ARGV[1]."\n");
} elsif ($com eq 'done') {
splice(@data, ($ARGV[1] - 1), 1);
} elsif ($com eq 'list') {
for (my $i=0; $i<scalar @data; $i++) { print $i + 1 , ':', $data[$i]};
}
seek($FH, 0, 0);
print $FH $_ for (@data);
truncate ($FH, tell($FH));
exit;

40 :
$msg に値入れてるのにARGV[1]見てるのは、ちょっとした茶目っ気

41 :
少ないな、もっと色々な言語の人くれよ

42 :
>>35って配列をファイルに書きだすコード抜けてる?って思ったら
Tie::Fileだと配列への変更がファイルに反映されるのか
http://search.cpan.org/~toddr/Tie-File-0.98/lib/Tie/File.pm
やはりあなどれないPerlあなどれない

43 :
Perl好きな俺が言うのもなんだけどタイはわかりにくい・・・

44 :
Thailand

45 :
おぉ?RubyやPHPのソースがないんじゃないか?
雑談の時は賑やかなのにソース晒すとなったら静かだなおい

46 :
rubyのひとは2chにソース貼るの極端に嫌う
著作権が自動的に2chに譲渡されるとか何とか

47 :
>>18
require "yaml"
filename = "todo.yaml"
todo = File.exists?(filename) ? YAML.load_file(filename) : []
case ARGV[0]
when "add"
todo << ARGV[1]
YAML.dump(todo, open(filename, "w"))
when "list"
todo.each_with_index {|s, i| puts "#{i + 1}: #{s}" }
when "done"
idx = ARGV[1].to_i - 1
todo.delete_at(idx)
YAML.dump(todo, open(filename, "w"))
end
>>22
xs = [1,3]
p [0] * (5 - xs.size) + xs
別にruby詳しいわけじゃないから推奨されてない書き方してるかも

48 :
>>46
それをやたら主張する人が一時期いたんだよな

49 :
>>46
Ruby処理系のパッチなんかを2chに貼ると怒られることはあるけど
お題の答えを貼るのまで嫌がったり問題視したりはしてないはず

50 :
>>46>>49
それじゃオープンソースアプリの一部をコピペしたりしたら、
その一部が2chの著作物になるのか?
そんな主張が認められるのか?
だとしたら、コピペしまくれば2ch所有のソースばかりになるな

51 :
それってソースコードに限らないだろうし、とんでもないことになるよね
市販の小説をコピペしても2chの著作物になるなんて

52 :
>>50
バトンといっしょで権利を持たない人から権利を承継することはない
だから誰かの著作物であるソースを2chにコピペしても2chが著作権を取得することはない
49で書いたのは「Rubyに不具合あったのでここ(2ch)にパッチ貼っちゃいますね」的な事例

53 :
クソスレ

54 :
たまにはガウチェ(゚д゚)!使いさんの回答を見たい

55 :
なるほど、Rubyユーザーはバグ見つけても上流にパッチ投げないクソが多いんですね

56 :
xs=[1,3]
(5-xs.size).times{xs.unshift(0)}

57 :
いつまで僕らはdankogaiを崇め続けなければならないのか
http://anond.hatelabo.jp/20130309205518
Perlのためにdankogaiがたくさんコードを書いて貢献したのは知っている。
で、その貢献とやらは何十年にも渡って僕らが崇め続けなければならないほど凄いものだったのか?
僕らはいつまでdankogaiに「凄いですねー」ってご機嫌を取り続けないといけないの?
英語圏でこれほどまでに自分の過去の貢献を誇示し続けるOSSプログラマって少ないよ。
dankogaiがいつまでも過去の貢献を振りかざし続けるのはもうそれは老害と言われても仕方が無いんじゃないかなあ。
古参OSSプログラマがみんな過去の貢献にあぐらをかいて若者を見下すようになったらOSSは確実に終わる。

58 :
>>57
これ書いたの誰かわかるわ〜w
まあ同意だけど

59 :
Perlの連中はわざわざこんなエントリ書かなきゃならんのか
ご愁傷様

60 :
Twitter界隈でここんところPerlがディスられてたが
ついにこのスレに飛び火したかw

61 :
perl撲滅されたら困るんですね
よくわかります

62 :
dankogaiもライブドア事件のときに朝生でKYな存在だったのに
書評をコンスタントに書くだけでなぜか重鎮的な地位を手に入れたよな
あれは不思議で仕方なかった

63 :
係属は力なり

64 :
祇園精舎の鐘の声

65 :
なぜ増田。
リンク貼るぐらいなら、こっちでコピペすればいいのに。

66 :
http://pomelo.istc.kobe-u.ac.jp/masume.html

67 :
俺が尊敬するOSS関係者
jQuery作った人
Ruby on Railsを作った人(RubyはRailsが無ければここまで普及しなかったといっても過言ではない)
プログラミングにタイポグラフィの概念を持ち込んだPythonを作った人
有名な形態素解析ライブラリ作った人(Googleの中の人)
Apache関係

残念ながらdankogaiは対象外だな

68 :
別にdankogaiを崇拝している訳ではないけれど・・・
http://blog.livedoor.jp/dankogai/archives/51857250.html
http://anond.hatelabo.jp/20130309205518
この2つを読み比べるのであればdankogaiに同意する
Perlが終わったというヤツは、何をもって終わったなどと言うのか根拠がない。
そして、その根拠を提示しない。
「これだけシステムで使われているんですよ?」って、
終わるような事はないとソースを出して示しても、それを何故か信じず盲目に終わったと信じている。
それの方がありえんだろ

69 :
下は別にperl=オワコンとは言ってないじゃん
dankogai=オワコンとは言ってるだろうけど

70 :
つまりはそういう事だな・・・
下のヤツは、dankogaiの記事に対しての内容のコメントじゃない
「食いつく所、そこ!?」って話で、ただのアンチdankogaiなだけ。
そういう見方をしたとしても・・・
そんなに「貢献」を振りかざしてるようには見えないけどね。

71 :
オープンソースの世界じゃ実際にコード書いて公開してる奴が偉いに決まってる

72 :
実績のある人間が多少偉そうに言うのはわかるけど、
実績あるかどうかわからぬヤツが「アイツは基礎がなってない」とか滑稽だなwww

73 :
>>72
いやお前らもいつもそうじゃんw

74 :
>>73
それは言えてるなw
けど、そんなのは2chだけでだぞ、他ではそんな沸いた事言ってないぞw

75 :
この流れはム板の様式美

76 :
>>71
えらいのは確かなんだけど、そこで偉そうにすると叩かれるんだよ

77 :
>>76
叩いてるやつの方が偉そうな件w
上から目線がムカつくとかは2chだけにしとけよw

78 :
>>77 はdankogai

79 :
偉人はすごいことしてもずっと謙虚だよ
山中教授とか見習え

80 :
perlの議論はperlスレでやれよ。

81 :
ダンさんちーっす!

82 :
そういえば前スレでもPerl信者がいたな
dankogai本人かもしれない

83 :
なんという疑心暗鬼wwww

84 :
dankogaiは炎上物件だから、突っ込みどころがあっても触れないのが吉。

85 :
炎上マーケティングこそweb時代のプログラマの生き方なのか…

86 :
コンパイラ言語追い出したら途端に過疎スレになってしまったな

87 :
スレッド削除依頼
http://qb5.2ch.net/test/read.cgi/saku/1361686534/

88 :
だからさ、君等にはOSSなんて根本的から肌に合わないんだよ
マイクロソフトのプロダクトを使いなよ

89 :
コンパイラ言語の人たちは、ワナビ族から実世界へ出た実務屋なので、
2chに常駐なんてしないんだよ

90 :
web()
OSS()

91 :
OSS(){return "this is not proprietary";}

92 :
DeNAの開発はPerl中心だってさ
Ruby厨Python厨息してる?

93 :
たった一社のために窒息しなきゃならんと思う >>92 は、息はしてても思考はしてないな、確実にw

94 :
>>93
Ruby厨ってたった一つの採用事例(Twitter)、更に言えばたった一つのフレームワーク(Rails)でドヤ顔していたじゃん

95 :
有名な大規模サイトなら事例はひとつで十分
TwitterはRuby捨ててScalaだけどな

96 :
>>92
facebookはpythonやで!
これを超える利用事例は無いだろ
DeNAは井の中の蛙すぎる

97 :
FacebookはPython「も」使っているかもしれないが他にも使っている
性能が大事な部分はC/C++やJavaだろう
スクリプト言語だけでは不可能

98 :
>>96
FacebookはメインはPHPだぞ
ちなみに、Google、Yahoo、MicrosoftはWikipediaやFacebookより大きなサイトだから、これらでメインで使われている言語は、Pythonより上だな
でもMSですら全てC#やVBScriptで書いているわけじゃないんだろうけど

99 :
pythonはヒット作がないよな
rubyはtwitterには見限られたがredmineがあるしな

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Lisp Scheme Part36 (209)
Visual Studio 2012 Part6 (487)
任天堂「今後C++は捨てJavaScriptで開発していく」 (494)
VBAなんでも質問スレ (223)
任天堂「今後C++は捨てJavaScriptで開発していく」 (494)
任天堂「今後C++は捨てJavaScriptで開発していく」 (494)
--log9.info------------------
【PSP・PSV】ヴァルハラナイツ総合31【1・2+BS・3】 (284)
【TOH】テイルズオブハーツ総合PART74【TOHR】 (462)
【PSVITA】デモンゲイズ part44 (638)
【DS】真・女神転生 STRANGE JOURNEY 調査146日目 (207)
【PSP】 Fate/EXTRA総合 120 (1001)
【3DS】新・世界樹の迷宮 ミレニアムの少女 Part9 (1001)
【DS】世界樹の迷宮III 星海の来訪者 B267F (357)
【PSV】ペルソナ4 ザ・ゴールデン Part125【P4G】 (713)
【3DS】ブレイブリーデフォルト99【BDFF】 (808)
【GAE総合】世界はあたしでまわってる WP7【シャベル】 (565)
【PSP】サモンナイト3・4★71【SN3・4】 (382)
【PSP/PSV】英雄伝説 零の軌跡/碧の軌跡 Part357 (642)
二次元と三次元どっちが好き? (202)
世界樹信者のウザさは異常 (303)
【PSP】クリミナルガールズ おしおき23回目 (350)
ファイアーエムブレム覚醒★反省会スレ45 (662)
--log55.com------------------
★2ch.scは何故失敗したのか
★クロール批判要望スレ
★削ジェンヌに文句ある人集合
★迷惑行為報告担当 - 小さな親切募集中 2
★2ch.scへの要望スレ Part3
★かっこう観測所
★スレ立て人キャップ
★2ch.scニュース系板観測所