【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】at TECH
【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】 - 暇つぶし2ch1:デフォルトの名無しさん
09/02/15 03:18:33
最強のLL=軽量プログラム言語は、どれよ?

エントリーは、
Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!

2:デフォルトの名無しさん
09/02/15 03:18:58
■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。

現在の水準では
・インタプリタ
・動的型
・正規表現
・関数オブジェクト
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)

■過去スレ
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
スレリンク(tech板)

【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】 (DAT落ち?)
スレリンク(tech板)

【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
スレリンク(tech板)

3:デフォルトの名無しさん
09/02/15 10:53:12
LL、LL、みんなLLを議論し続けろ...
激しく...もっと激しく...
Ruby信者とPython信者でつぶしあって...PerlとPHPは非難の的にして...
LLの定義が決まるまで無駄な議論をし続けろ...
いづれはム板中のプログラマーも参加させてやる...善人顔したSE達もだ...
ム板中のスレというスレすべてでLLの議論をしてやる...
C言語使いもCOBOLerも皆、Matzの様に一人よがらせて、閉じ括弧の化わりにendをぶちこむのさ...
ム板の次はこのPC等のカテゴリ、全てを巻き込んでやる...
ただ気まぐれで立てられただけの見ず知らずのクソスレを、いきなりLLでバトロワ議論にさせてやる...
例えそれがこのスレッドはアイちゃんがどうのだろうと...ム板のphpスレであろうと...
インデント議論スレであろうと...スレタイがC言語なのに>>1がC#の話題だろうと...
クラック依頼fusianasanトラップスレであろうと...毎回マルチポストしかない宿題スレだろうと...単発質問就職相談スレ(ゲームプログラマーになりたい)だろうと...
全スレ残らず、LLはバズワードでしょ?とレスして、定義の議論をループさせてやる...
LL、LL、LL、
どいつもこいつもLL議論させてやる...
毎日10:00出社の5:00帰宅で嫁が口利いてくれない、デスマ明けでも議論をさせてやる...
和製英語と、ソースはwikipediaのみ、ム板なのにwebの話題にまみれながら、レスが減ったら自演で言語信者同士を衝突させ、
議論に負けそうになったら作者の人格攻撃をさせる...
そして永遠続けさせてやる...LLバトルロワイヤルを...
LLだ...LL、LL、LL、LL、LL、LL、
LL、LL、LL、LL、LL、LL、LL、
LL、LL、LL、LL、LL、LL、LL、


4:デフォルトの名無しさん
09/02/15 13:55:53
LL! LL! LL! どいつもこいつもLL! なぜだ! なぜやつを認めてこの俺を認めねえんだ

5:デフォルトの名無しさん
09/02/15 13:58:16
前スレまとめ
LLって口にするのが恥ずかしいので、従来通りの"スクリプト"ということで

6:デフォルトの名無しさん
09/02/15 14:00:03
タイプが楽なんだよな

7:デフォルトの名無しさん
09/02/15 14:04:46
>>5
好きにすればいい。何事も強制や決めつけが一番よくない
ってわけでLLでもいいよ

8:デフォルトの名無しさん
09/02/15 14:20:49
言語自体の性能、実効速度、動作環境、正規表現、安全性。
それと、言語を取り巻く環境、利用できるライブラリ、IDE、フレームワーク、、、etc
前スレから自演している厨は、以上をまとめてこい

9:デフォルトの名無しさん
09/02/15 14:23:52
えむえむっ
って知ってか?ケメコのじゃないぜ。

10:デフォルトの名無しさん
09/02/15 14:41:50
派遣 「じゃあ次のプロジェクトはLLで開発ということですね?」
上司 「LL?って、えっと、なんだったっけ?スクリプト全般のことだっけ?」
派遣 「いやもっと新しいイメージの開発が楽な言語というか・・」
上司 「ん?結局開発言語はなにになるんだっけ?」
派遣 「まあPerlとかPythonとかですかねぇ」
上司 「あぁPerlは俺が学生のころからあったからよく知ってるけど、なんか新しいバージョンってことだっけ?」
派遣 「んーっとまあPerlは昔からのものなんですがもっとなんかモダンというか・・」
上司 「よくわかんないけどまあ今回はPerlスクリプトで開発ってことね?」
派遣 「はあ・・まあ・・。(いやなんかこう古いPerlじゃなくってもっと今風のイメージなんだけどなあ)」
上司 「了解。(いちいち流行りの単語使いたがるんだよな・・スクリプトって言えばわかるのにメンドクセー奴だな)」

11:デフォルトの名無しさん
09/02/15 14:42:42
>>8
言語自体の性能w
言語自体の安全性w

あんたが得意な言語について、一つお手本を見せてくれ

12:デフォルトの名無しさん
09/02/15 14:43:04
>>10
リアルwww

13:デフォルトの名無しさん
09/02/15 14:49:41
>>10

× 派遣 「いやもっと新しいイメージの開発が楽な言語というか・・」
○ 派遣 「そうですそうです。(以下空気に応じて) もうちょっと広い範囲でLightweight Languageと言ってますが、PerlやPythonみたいなものが中心です。」

これでいいじゃん。

14:デフォルトの名無しさん
09/02/15 15:21:26
前スレの終盤で
"LL"という言葉に以外にも信者が多いことがわかったな。

15:デフォルトの名無しさん
09/02/15 15:37:02
誰かさんが勝手にバズワードだなんだと騒いでただけだろ
一単語に信者がいるとか頭おかしいとしか

16:デフォルトの名無しさん
09/02/15 15:45:46
しかしMLやHaskellからPerlまで一緒くたにする分類なんて
何か意味があるとは思えないんだが……

17:デフォルトの名無しさん
09/02/15 15:53:41
近代的な高水準言語を指す単語がちょうど無いんだと思う

高水準言語ってだけだと、あくまで相対的に高水準という意味になる
Cとかも場合によっては高水準扱いになってしまうことを考えると、
まああまり良くないわな

18:デフォルトの名無しさん
09/02/15 15:57:01
なんとなくだけど、大規模開発と小規模開発の違いのような気がしてきた。

19:デフォルトの名無しさん
09/02/15 15:58:12
>>17
近代的とかモダンとかって主観じゃないの?
Perlより新しいJavaやC#はLLなのか、そうじゃないのか

20:デフォルトの名無しさん
09/02/15 16:24:23
別にテクニカルタームでもないただの便利な言葉なんだし、掘り下げたって
PCとPDAと携帯端末の厳密な分類、みたいな一般人にとってはどうでもいい
不毛な論争にしかならないんだから、こだわりすぎる方がどうかしてる。

このスレでLLが「恥ずかしい」って言ってるのは一人だけだろ。
そいつはきっと「ノートパソコン」も「メールマガジン」も全て「恥ずかしい」に違いない。
日常生活が不便そうで同情するわ。

21:デフォルトの名無しさん
09/02/15 16:32:55
>>16
関数型もLLに含まれんの?ソースは?


22:デフォルトの名無しさん
09/02/15 16:39:36
>>21
前スレにあった
URLリンク(d.hatena.ne.jp)

23:デフォルトの名無しさん
09/02/15 16:42:08
>>20
HaskellとPerlを同一のタームでくくることが
具体的にどういう文脈で「便利な言葉」なのか正直さっぱり分からん

>>10の派遣がHaskellやErlangで並列処理とかSchemeで継続サーバとか考えてて
上司はPerlとPHPでドカタ仕事とか考えてるかもしれない

全部LLなんだろ?馬鹿馬鹿しい

24:デフォルトの名無しさん
09/02/15 16:42:18
>>20
定義厨ってのはどの板にもいるよ。
九州ラーメンの定義なんてどーでもいいわ。

25:デフォルトの名無しさん
09/02/15 16:42:34
信者というより、いままでブログとかで得意気にLLとか使ってしまってた人が必死なだけだと思う。

26:デフォルトの名無しさん
09/02/15 17:22:26
Python3の教本が出たね

27:デフォルトの名無しさん
09/02/15 17:28:31
>>25 アンチ必死だな

28:デフォルトの名無しさん
09/02/15 19:13:33
エル エル エルはリップのエル

29:デフォルトの名無しさん
09/02/15 20:58:54
開発が楽(Laku)な言語(Language)ってことでいいだろ。
日本生まれの定義らしいからちょうどいい。

30:デフォルトの名無しさん
09/02/15 21:04:02
プログラムの重さについて賛否両論みたいだから、この際新しい基準を作れば。。。?
無難なのは仕様書の印刷重量=言語の重さ(単位:g)、かな。

31:デフォルトの名無しさん
09/02/15 21:24:31
JavaのEJBなんかは、もう見たまんま「(いろんな意味で)重量級だなぁ~」って思う。

32:デフォルトの名無しさん
09/02/15 21:30:37
>>29
なんだ要するにVBか

33:デフォルトの名無しさん
09/02/15 22:50:01
LLがMatzをはじめとする一部の連中の
でっちあげだったと知って必死な厨房達乙

34:デフォルトの名無しさん
09/02/15 23:05:17
LLって、難しいロジックをサックリ実装できて試すことのできる言語だって思うだけど。
VBやHSPは、サックリ作れても、難しいロジックの実装は困難でしょ?

35:デフォルトの名無しさん
09/02/15 23:12:54
>>34
Cの最長不倒関数とか、人間の可能性には限りがない。
VBだろうがHSPだろうが、BrainF*ckででも書く奴は書く。

36:デフォルトの名無しさん
09/02/15 23:14:39
単なる政治性でしょ
SunがJavaを広めるときにC++叩いてたのと全く同じ
どういうグループが入っていてどういうグループが排除されてるかを
考えてみればよい

37:デフォルトの名無しさん
09/02/15 23:17:19
いや俺もLLって職場ではちょっとこっぱずかしくって言えない。
大部分の人にへ?って言われると思うし。

Rubyはともかく、外人が作ったものになんで日本人が名前付けんの?って気はする。

38:デフォルトの名無しさん
09/02/15 23:26:03
>>35
同じことするのにさ、例えば、
迷路を解くプログラムを書けとかいう問題を、
Cでリスト構造から作り出すのと、
それを初めから備えている言語を使うのと、
どっちが楽だと思う?

39:デフォルトの名無しさん
09/02/15 23:27:27
今のVBはLinqとか使えるからLLだNE

40:デフォルトの名無しさん
09/02/15 23:31:49
昔はVariant、.NETになってもObjectがあるから動的片付けだYO

41:デフォルトの名無しさん
09/02/15 23:33:04
つまりどうみてもVBです本当にありがとうございました
ってことでいいのかNA

42:デフォルトの名無しさん
09/02/15 23:35:30
vbって言語自体が、最初から備えるデータ構造って何?
汎用ポインタみたいなのしかないの?

43:デフォルトの名無しさん
09/02/15 23:37:34
.NETの奴は構文がみょうちきりんなC#みたいなもんだと思うYO
それ以前もべつに全部VARIANTというわけじゃなくて
整数だの文字列だのといった組み込み型や構造体やクラスぐらい使えたYO

44:デフォルトの名無しさん
09/02/16 00:20:25
>>38
いまどきどの言語でもリストなんてライブラリがあるし

45:デフォルトの名無しさん
09/02/16 00:23:25
>>38
C++はLLだネ☆
STLとか使えるし
匂いだっていいし

46:デフォルトの名無しさん
09/02/16 00:35:11
foreachやラムダ式がないのはいただけないと思う。

47:デフォルトの名無しさん
09/02/16 00:50:29
なにいってんの?ラムダってC++が採用してからパクった言語多いじゃんw

48:デフォルトの名無しさん
09/02/16 00:56:38
リストくらいネイティブで扱えば良いじゃないって最近は思うなぁ
大昔から存在する古典的なデータ構造なんだし

49:デフォルトの名無しさん
09/02/16 00:57:53
>>46
うn
代数データ型もパターンマッチも遅延評価も使えない言語はうんこだよね
たとえばPerlとか

LL?何それ

50:デフォルトの名無しさん
09/02/16 00:58:58
>リストくらいネイティヴで
CPUの勉強でもしてくれ。

51:デフォルトの名無しさん
09/02/16 01:01:22
>50
いや、C言語みたいなCPUやメモリに近い言語ならそれでも良いけどさ…
ある程度の高級言語になってくると気になる。

52:デフォルトの名無しさん
09/02/16 01:02:15
多分「組み込み」と言いたかったのではないだろうかと想像
でもPerlもPythonもリストなんか組み込みで持ってないよ
あれは動的配列

53:デフォルトの名無しさん
09/02/16 01:03:40
ライブラリは言語自体が備えるデータ構造じゃねーだろ

54:デフォルトの名無しさん
09/02/16 01:04:20
>>52
ってことはデータを動的に追加しまくると重くなったりするの?

55:デフォルトの名無しさん
09/02/16 01:04:38
まあ、データ構造そのものではなくて、
データ構造を意識しないで済む型がゴールだよな
リスト、スタック、ツリーetc言ってる時点で古い

56:デフォルトの名無しさん
09/02/16 01:04:54
>>54
あたりまえだけどinsertionがO(N)でインデクスアクセスがO(1)

57:デフォルトの名無しさん
09/02/16 01:05:30
>>55
アルゴリズムのオーダーも意識できない奴はプログラマをやめたほうがいい
どんな言語だろうとそれは同じ

58:デフォルトの名無しさん
09/02/16 01:06:59
>>53
言語仕様をコンパクトにしてライブラリで高度な機能を提供する。
これが正しいプログラミング言語。
もちろんスクリプト言語やら動的言語はこの限りではない。

59:デフォルトの名無しさん
09/02/16 01:07:13
>>55
古い、ではなく(脳内処理が)重い、っていうとLightweightの概念に少し近づく?

60:デフォルトの名無しさん
09/02/16 01:08:33
>>57
その考えが古いよ。
少なくともここで語られているようなスクリプト言語の進化の方向性と
君の考えは異なっているようだ。

61:デフォルトの名無しさん
09/02/16 01:12:23
>>57
アルゴリズム本の良書おしえて

62:デフォルトの名無しさん
09/02/16 01:12:27
>>60
は?
効率がどうでもいいなら連想配列は単なるassociative listとして
実装してもいいわけでハッシュとか要らない
メモリ効率がどうでもいいんならgeneratorとか実装する必要は無い

むしろドン亀スクリプト言語で悪いアルゴリズムを選ぶと、C/C++では
バレなかったかもしれないがモロに影響が出るわけだが

なんか勘違いしてんじゃねーの?


63:デフォルトの名無しさん
09/02/16 01:15:09
>>62
最近アルゴリズムの勉強し始めたのか?
スクリプト言語はアルゴリズムが具体的になんであるべきかは規定していないものが多い。
変数の使われ方から最適なアルゴリズムをコンパイラが選択できるのがベスト。
人間からアルゴリズム時間を見積もる必要がある用途ではそもそも
ここで語られているような言語は向いてない。

64:デフォルトの名無しさん
09/02/16 01:19:49
>>63
> スクリプト言語はアルゴリズムが具体的になんであるべきかは
> 規定していないものが多い。

は?例えばPerlの配列が動的配列でハッシュがハッシュテーブルであることは
Perlプログラマならみんな知ってるし理解していなければならないことだろ


65:デフォルトの名無しさん
09/02/16 01:20:15
>>62
ちょっと冷静になった方がいいかも。

> 効率がどうでもいいなら連想配列は単なるassociative listとして
> 実装してもいいわけでハッシュとか要らない

これは、言語の内部実装じゃないの?
むしろあんたの主張と逆に、アルゴリズムなんか考えなくてもいいようになってる例じゃないか?

> メモリ効率がどうでもいいんならgeneratorとか実装する必要は無い

ただ単に言語の使い勝手の問題として捉えると、これは極論過ぎるだろw
簡単な事を簡単にできるのが大事なことで、選択肢として複雑な事ができるのは悪いことでも
不必要なことでもないだろ。ってなんか書いてて恥ずかしくなってきた。

66:デフォルトの名無しさん
09/02/16 01:23:08
>>65
その通りで、言語側の組み込みないしライブラリのデータ構造だが、
それについて何も知らなければ効率の良いコードは書けないということ。
「アルゴリズムなんか知らなくても/考えなくてもいい」というのは全くの誤りだ。

67:デフォルトの名無しさん
09/02/16 01:23:28
>>61
珠玉のプログラミング か プログラミングの宝箱

68:デフォルトの名無しさん
09/02/16 01:27:11
例えばハッシュテーブルなのに順序性を保障してほしいとかいうどこぞの言語みたいな
馬鹿げた話はアルゴリズムとデータ構造への根本的無知から生じる

69:デフォルトの名無しさん
09/02/16 01:30:48
本に書いてあるデータ構造やアルゴリズムは、基本であって、きわめてプリミティブなもの。
組み込みの抽象データ型なんてのはどうにでも実装できるし、
最近のスクリプト言語では、万人がよくつかう使い方でいかに効率よく処理できるかを
考えて色々組み合わせて実装されている罠。だからあえてリストですとかハッシュですなんていわない。

70:デフォルトの名無しさん
09/02/16 01:31:02
>>68
だから、その時どっち(実行効率? コーディングの簡略・利便?)をとるかってことで
まったく別の路線があるだろw
そこんところはわかって書いてるんだよな?

71:デフォルトの名無しさん
09/02/16 01:34:03
>>70
ん?「ハッシュ」という名前ならハッシュテーブルだろ?
実際には赤黒木なのにハッシュという名前をつけているのならそれは名前が悪い
抽象化したいのなら単にディクショナリとでも呼んでおくべきだ

が、集合が順序付けされているかどうかは、例えばキーを列挙するときに
ソートが必要かどうか、という「実質」に関わってくるのだから、
その内実を知らなくていいということには全くならない


72:デフォルトの名無しさん
09/02/16 01:37:03
>>68
RubyのHashの話だったら、そう変な要求でもない
追加順にリンクをつないでやるだけだから、ハッシュ操作自体のオーダーに変化はない
SortedMapっていうか、赤黒木やB木みたいな整列済みツリーにしろってのは無茶だがw

73:デフォルトの名無しさん
09/02/16 01:37:07
ここまで思いこみの激しいやつが正しく組み込み型の処理時間を計算出来るとは思えないな。
応用ができないやつ。

74:デフォルトの名無しさん
09/02/16 01:38:29
まさか、言語設計や実装をやっているプログラマが何も考えずに
組み込み型を赤黒木やらハッシュやらそのまんまべっちょり実装してるとおもってないよなw

75:61
09/02/16 01:39:59
>>67
トンクス。お金がたまったら珠玉のプログラミング買おぅ
それまで、キッシュイーターでいいや。

76:デフォルトの名無しさん
09/02/16 01:42:08
>>73
> 正しく組み込み型の処理時間を計算出来る
誰もそんなこと言ってねーっつーの極論に走る奴だなw

例えば
if x in foo
がリニアサーチかディクショナリルックアップかぐらい意識しとけって話だよ
>>55は極論過ぎる
例えば集合の性質によって、列挙するコードが変わるという例は挙げたよな?

77:デフォルトの名無しさん
09/02/16 01:47:56
だからゴールっていっとりますがな。
Cプログラムがどんなアセンブリコードに変換されるか考えて、
命令実行時間も出力されたアセンブリ命令から計算できる、
それができないやつはプログラマじゃない。
君が言っているのはそういうこと。

78:61
09/02/16 01:49:00
本物のプログラマって大変だな

79:デフォルトの名無しさん
09/02/16 01:50:00
古いというのはそういうことだ。
組み込み型がスクリプト言語で気持ち悪いとおもうプログラマは殆どいないだろ。
それと同じだよ。

80:デフォルトの名無しさん
09/02/16 01:53:00
>>77
いやそこまで言ってねえよ、勝手に決め付けるなw

ゴールも何も、効率をあえて度外視するとしても、重複の有無だの順序性だの、
機能/使用のレベルで違うものを同一視しようがないだろ
データ構造を全く考えなくても良いという話には絶対にならない

81:デフォルトの名無しさん
09/02/16 02:04:11
例えだよ。
ハードが高速化したのの大部分はソフト開発の生産性向上についやされているのよ。
そもそもスクリプト言語ってのは、ハード性能に甘えて、実行効率よりも生産性やプログラミングの敷居の低さを
狙った方向性から出てきたモノなわけで。少しは想像力をはたらかせてくれよとw

82:デフォルトの名無しさん
09/02/16 02:13:48
>>81
今度は「例え」で逃げるのかよ
ハードがちょろっと進歩しようがO(1)とNPの違いはそれこそどうにもならんだろが
数独パズルでも総当りで解いてろって話だ


83:デフォルトの名無しさん
09/02/16 02:16:30
ごめんごめん組み込みね。

>76
線形探索と辞書のこと?
確かにリストと連想配列の違いは意識した方が良いかも知れないけど…

最初に言いたかったのは、リストやそれに相当するものの生成に関して。
組み込み構文とまでは言わないけど、JavaScriptぐらいには書けて欲しいよ。
(変数名 = new Array(要素,要素,要素...); で書ける)

あとは、リストやそれに相当するものに対するforeach、map、filter(select)
辺りもせめて標準添付のライブラリで持ってて欲しいなぁ、と思う。

84:デフォルトの名無しさん
09/02/16 02:19:26
>>83
その選択(forarch, map, filter..)がものすごく恣意的かもしれないことに
気づいてる?
>>49みたいな人もいるかもしれないよ


85:デフォルトの名無しさん
09/02/16 02:22:53
理解力のないやつだなあ。そのうち知識がついてくれば普通にわかることだからいいのだが。
データ構造/アルゴリズムの基礎を知っていればスクリプト言語の組み込み型の使い方を理解するのに
助けになる。とでも書いておけばいいのに、>>57は視野が狭いとしかいいようがない。
残念ながらアルゴリズムを意識しなくてもスクリプト言語は十分使えるものだ。

86:デフォルトの名無しさん
09/02/16 02:28:34
いや、アルゴリズムだのデータ構造だのは古いとかいう意味不明なレッテル張りを
している電波に突っ込んだだけだが

87:デフォルトの名無しさん
09/02/16 02:33:35
>アルゴリズムだのデータ構造だのは古い
そんなの誰も言ってないって。勘違い大杉。全てのレスに勘違いが入ってるよ、君。
アルゴリズムやデータ構造を意識しなくても一般に使える型に近づけることが
(人間の脳力を最小限にするという意味で)ゴールなの。
現時点の処理系の妥協点が、()だったり[]だったり{}だったりするわけよw
動的コンパイルで分析・最適化できることはハード性能の向上とともに広がっている。
スクリプト言語やその処理系はそれに乗っかって成り立っているもの。
今はわりに合わないと思われることも将来はできるようになる可能性があります。

88:デフォルトの名無しさん
09/02/16 02:36:03
> 今はわりに合わないと思われることも将来はできるようになる可能性があります。

いやだからハード性能で替わるのは定数項であってオーダーは同じだろ
算数もできないのか?

89:デフォルトの名無しさん
09/02/16 02:39:53
ハード性能があがると、コンパイル時に分析できるものが異なる。
JITやらVMなんてハード性能がある程度なきゃそもそも成り立たないモノ。
当然今時のスクリプト言語もね。

90:デフォルトの名無しさん
09/02/16 02:43:52
最近だと配列とリストの違い意識しないのって割と普通なの?

91:デフォルトの名無しさん
09/02/16 02:45:34
いやだから、ハード性能が上がってコンパイル時に分析できるものが増えても
リニアサーチはO(n)だし、バブルソートはO(n^2)だろ

本質的な計算を自分で行わないない/計算量が少ないプログラムなら確かに
どうでもいいだろうし、実際にそういうプログラムは多い
が、そのようなものが全く不要という状態にはならない
だから「プログラマなら」と言ったんだ

手遊びでちょろっとオモチャを書いてる人の話をしていたんじゃないんだぞ

92:デフォルトの名無しさん
09/02/16 02:46:50
int func1 (char * buf1, char * buf2) {
 int sum = 0;
 for ( size_t i = 0 ; i < strlen(buf1) ; i++ ) {
  for ( size_t j = 0 ; j < strlen(buf2) ; j++ ) {
   sum += buf2[j];
  }
 }
 return sum;
}

関係ないけど、別スレで上のC言語のコードでstrlen()をfor(...)内に入れるやつは馬鹿だという奴がいて、
結局、最新のコンパイラでコンパイルすると、strlen()は1度だけ評価されてあとは変数になって
しまうで実行時間は殆どかわらないというのがあったな。コンパイラの進歩はあなどれないよ。

93:デフォルトの名無しさん
09/02/16 02:47:59
>>90
そんなわけねえ

94:デフォルトの名無しさん
09/02/16 02:48:12
>>91
ハードが速くなり、コンパイラ進歩すれば、
もっと適切なデータ構造やアルゴリズムを実行時に選択できるようになります。

95:デフォルトの名無しさん
09/02/16 02:50:18
>>94
ああ、「ボブ、あのプログラム書いといてくれ」とメールすれば済むみたいな奴な
理解したよ、何を言っているかを

96:デフォルトの名無しさん
09/02/16 02:51:25
つか、わざわざスクリプト言語使ってるのに必要もないところで無理に
実行速度なんて考えないよ。遅かったらそのとき考えればいい。
その必要なところに労力をかけて、他は要領よくこなす加減がプロです。

97:デフォルトの名無しさん
09/02/16 05:05:54
> もっと適切なデータ構造やアルゴリズムを実行時に選択できるようになります。
そのアルゴリズムの計算量を教えてくれ。

98:デフォルトの名無しさん
09/02/16 05:32:28
まあ確かに最近はその辺の名前適当だよね。JavaとかC#のArrayListって
配列なのかリストなのかわけわかんねーって思うし。リストはLinkedListか・・うーん。
もともとVectorだったのに同期化ないバージョンはArrayListですとか、ジェネリクス
バージョンはList<T>ですとか、これは概念としてのリスト構造でありアルゴリズムは
配列ですとか、概念とアルゴリズムの名前がかぶっててなんかもうカオスw

でも実態は、どの言語でも使うのは配列・マップ(辞書)でほとんどだし、双方向リストは
途中挿入が頻繁な場合にくらいしか使わないし、あとは各言語のリファレンス見て
ふむふむって感じかなあ。

> もっと適切なデータ構造やアルゴリズムを実行時に選択できるようになります。
インターフェースが同じならできる場合もあるよね。たとえばソートとかは実装が
なにかはあんまり外に出てこないよね。クイックソートかヒープソートかとかは。
例えばマイクロソフトのSTLは、数が少ないとインサーションソートして、数が
多いとクイックソートに切り替えるみたいな内部的に選択している実装。
でもデータ構造の双方向リストと配列とかは、リストはインデックスアクセスは構造的に
作れなくてインターフェースが変わるから、やっぱ別の系統にするしかないと思う。
さらにマップとハッシュマップはインターフェースが同じにできてもイテレータの取得結果が
変わるからこれも別にするしかないよね。

99:デフォルトの名無しさん
09/02/16 13:20:08
遅かったらそのとき考えればいいっていうのは、アルゴリズム(とデータ構造)の知識があるから講じれる手段でしょ
全く勉強してないけど適当にあれこれやってたら速くなったっていうならそれはそれで結構なことかもしれないけど
普通は考えても何も浮かんでこないと思うよ

100:デフォルトの名無しさん
09/02/16 14:03:49
>>96
無視していいかどうかを判断して無視するのがプロ
スクリプトならアルゴリズムのオーダーなど気にせずともよいとか言ってるお前は
DBも常にCOBOL風に全件スキャンするド素人

101:デフォルトの名無しさん
09/02/16 14:20:22
COBOLは全件スキャンは全件スキャンとして書かなきゃならない
PERFORM VARYING ~ END-PERFORM だっけ?
大概のLLでやってることはそうじゃない
例えばリストの中から条件に当てはまるものを抽出して、という処理
(Pythonのfilterとかリスト内包表記のif、Rubyのselect、Perlだと…grepだっけ?)
だとしても、実際の処理は実装・ライブラリにお任せします、ってのがスクリプトじゃない?
まぁ、どの言語も似たような実装になるのは目に見えてるけどさ
…で、内部処理を見るのがプロで見ないのが素人だとしても
それがボトルネックで無いなら、プロでも可読性を選ぶだろ

102:デフォルトの名無しさん
09/02/16 15:16:02
>>101
誰も常に効率を優先させて最適化しろなんて言ってないんだが
むしろ早すぎる最適化は悪で、そんなことは昔からの常識だ

「スクリプトなんだから効率やアルゴリズムやデータ構造なんか
気にする必要は無い」というのがナンセンスだという話
「スクリプトかどうか」は、「効率云々を気にすべきかどうか」とは独立の
無関係な問題だ

「スクリプト~」を過度に強調する奴は、ボトルネックがCPUなのかIOなのか
ネットワークなのかプログラマの脳みそなのか、
本当にプログラミング言語による実行効率の違いなのか、
アルゴリズム自体に改善の余地がないのかも
判断できていない証拠だ

スクリプトなら、ウン100万件のデータが入っているDBから一件データを
抜きたいときに、いつもテーブルスキャンを行うのだろうか?
そんなことは馬鹿げていて、それはスクリプトかどうかとは関係ない

103:デフォルトの名無しさん
09/02/16 19:29:27
>>92
趣旨はわかるが、それでもオレなら
馬鹿説を主張したい。

ループ内で関数呼び出しを追加したら、
最適化は難しくなる。
コンパイラの賢さや機嫌を考えながら
コードを書くのは嫌だ。

104:デフォルトの名無しさん
09/02/16 19:35:50
スクリプトってアルゴリズムを抽象化して
誰でも同じ書き方ができて、そんで平均値(ってかそれなりの速さ)
出せるって事を狙ってるんじゃねえの。

速いことに越したこたねえけど、もっとこう、本質的な部分(目的)に力を注ごうぜ
っていうスタンス。



105:デフォルトの名無しさん
09/02/16 19:36:06
>>92
この最適化って、コンパイラの組み込み関数使う時だけ効く最適化なのかな?

106:デフォルトの名無しさん
09/02/16 19:39:13
遅かったら考えればいいって考えの人には二種類いるんだよ

1. アルゴリズムを学習する気がないけどコンプレックスはある人
2. 必要なアルゴリズムは十分に理解しているが、経験的にいってほとんどの
プログラムは最適化によって十分速くなると考える人

”アセンブラ言語を学習するべきか”とか”関数型言語を学習するべきか”なんて話題を振ると意味も無く
攻撃的になる人いるじゃん。

107:デフォルトの名無しさん
09/02/16 21:39:29
勘違いの馬鹿が多すぎ。
アルゴリズム否定なんて誰もしてないだろ。
ちゃんと意図よめよ、理解力のないクズさん。

108:デフォルトの名無しさん
09/02/16 21:41:51
どうせここ数年で一般的なデータ構造やアルゴリズムを学習した初心者が騒いでるだけなんだろうけど、
他人の知識や能力をあまくみすぎですよ。

109:デフォルトの名無しさん
09/02/16 21:45:04
>>107
とりあえずアンカーつけたら?
文章に内容がないからこのレスの意図はわからん。

>>100とか>>102とか、必死になってる人かも知れんが、そうだとしてこれらのレスも、
プログラムやるんなら最低限、内部実装を意識して書く能力が無いと糞!認められん!
っていうなんとも言えない主張しか伝わらんので、このスレで頑張ってレスしてる意図は
あんまり汲めない。悪いけど。

110:デフォルトの名無しさん
09/02/16 21:46:14
>>109
立場としたら逆の方か。まあどっちにしろ、アンカーつけてわかりやすくしてくれ。
なんかごっちゃごちゃになってる

111:デフォルトの名無しさん
09/02/16 21:53:22
>>92が典型的な例でしょ。
コンパイルの質があがれば、事前に時間のかかる処理を排除できる。
アルゴリズムやデータ構造も応用しだいで組み合わせてつかえば弱点を補完して使うこともできる。
その辺の理解がないやつが特に1人いて暴れていたっだけの話だ。

112:デフォルトの名無しさん
09/02/16 22:23:45
現状アルゴリズムやデータ構造を意識しなくてもいいかどうかと、将来的にはそうなるかどうかって話が混ざり合っててカオス

113:デフォルトの名無しさん
09/02/16 22:24:56
例えば一番単純な例として、配列をn要素ずつ連結リストにm格納すれば、
連結リストと配列の中間的な探索速度を得られる。
理解できますかな?(わらい
ハッシュテーブルもリストで連結したり、ツリーにしたりとかよくやるんだよ。
特にスクリプト言語のように動的コンパイルで、あらゆるユーザがどんな使い方をするかわからないような
組み込み型は、頭の良い言語設計者や処理系の設計者が一般的なケースを研究したりして、
条件によってアルゴリズムを選択したりとか色々と工夫しています。

114:デフォルトの名無しさん
09/02/16 22:25:40
探索・挿入速度

115:デフォルトの名無しさん
09/02/16 22:38:41
>>113
でっていう

116:デフォルトの名無しさん
09/02/16 22:54:00
10m離れた位置での殴り合いみたい。
見てる分には面白いが。

117:デフォルトの名無しさん
09/02/16 23:00:44
見えない敵と戦う人たち

118:デフォルトの名無しさん
09/02/16 23:04:21
>>113
いや主張の意図をやっと理解した
ほんとごめん

「処理系が最適化してくれるからアルゴリズムとか関係ねー」
「総当たりのアホみたいな探索コードを書いても最適化すれば
小人さんが頭の良いコードに書き換えてくれます」
とかいう主張だと思ってずーっと意味不明だったんだけどな

いきなり無説明で「スタックだのキューだのは古い」とか言われても
主張の意図がわかんなかったよ

119:デフォルトの名無しさん
09/02/16 23:04:27
>>116
あるいは、相手の手からボールが離れた瞬間に全力でその軌道から離れて、
「どこ投げてんだ下手糞!」
ってなじりあう負のキャッチボールみたいな。

120:デフォルトの名無しさん
09/02/16 23:07:11
>>118イイ奴だな

121:デフォルトの名無しさん
09/02/16 23:40:55
>>55 != >>133
の悪寒

122:デフォルトの名無しさん
09/02/16 23:41:25
>>105
ループ不変命令のループ外移動は、よく知られた最適化の一つ
ある程度賢い最適化コンパイラならやってくれるはず

123:デフォルトの名無しさん
09/02/17 00:43:49
まとめると

・LLでは処理の裏側のアルゴリズムまで書き込むようなマイクロマネージメント的なコードは書かない
・もっと抽象的なレイヤで書き、使われ方などからアルゴリズム選択などを処理系に裏で丸投げするのがLL
・LLはクソコードを適正化しないが、詳細をスルーできるので普通のコードの作成での脳力削減になる

でおけ?


124:デフォルトの名無しさん
09/02/17 01:12:38
ごめん、もうなにを罵り合ってんのかよくわからないし、つまんないから3行まとめして、次行ってくれるか?

125:デフォルトの名無しさん
09/02/17 01:12:52
ポールグレアムのエッセイで、似たようなことが述べられている
テーマは100年後の言語だが、
計算機資源の無駄遣いもある程度許されるという点では、LLの環境は近い

URLリンク(practical-scheme.net)

126:デフォルトの名無しさん
09/02/17 01:39:26
クラスも継承も仮想関数もテンプレートも例外も名前空間も1960年代の言語にあったし、
なんつーか進歩ねーよな。まあ所詮コンピュータ動かすための文脈的設定ファイルだから
もうやることもねーんだろうけど。コンピュータ言語って数千種類くらいあるんだったっけな。
あとは、ぱくりだらけの俺流に実装しましたみたいなオレオレ糞言語が湧いてくるだけだな。

127:デフォルトの名無しさん
09/02/17 01:42:35
>>126
上から目線と下層階級の臭いが
良い感じにブレンドされたレスだな。

128:デフォルトの名無しさん
09/02/17 02:02:51
人間の脳力を取り扱うのは、もはや計算機科学ではなく、
既に医学や心理学の担当だったりして
手続き型の言語は、もう概念だけ全部まとめてしまって、後の言語のデザインは、
心理学者とラット(プログラマ)に任せちゃえばいいじゃないか?

129:デフォルトの名無しさん
09/02/17 02:06:08
計算機科学が人間の脳力を取り扱ってた時代なんてあったっけ?

130:デフォルトの名無しさん
09/02/17 02:15:41
生産性と読み替えれば、
ソフトウェア工学で扱ってる話題に持ってけるんでは

131:デフォルトの名無しさん
09/02/17 02:15:51
>>126
falseと0を比較するためだけに演算子を追加するという
誰もが想像しなかった進化をした言語があるじゃないかwww

132:デフォルトの名無しさん
09/02/17 05:06:08
>131
どれ?

133:デフォルトの名無しさん
09/02/17 06:40:40
SQLのことだろうか

134:デフォルトの名無しさん
09/02/17 07:44:15
>>127
脊髄にびりびりきちゃった?

135:デフォルトの名無しさん
09/02/17 10:41:51
何を持ってLLと定義するかの議論が欠落してるために堂々巡りかつ水掛け論の様相を呈しているような気がする。

136:デフォルトの名無しさん
09/02/17 11:28:32
外人的には俺らの開発したスクリプト言語に、LLとか名前付けられても・・ばかなの?って
感じなんだろうな。まあ日本のごく一部の人が勝手に言ってるだけだからそもそも知らないだろうけど。

137:デフォルトの名無しさん
09/02/17 11:40:28
心配しなくてもはやってない

138:デフォルトの名無しさん
09/02/17 12:16:28
流行ってないものに、そうそう書籍が出るかよバーカ

139:デフォルトの名無しさん
09/02/17 12:50:32
書籍?何言ってんだこいつ

140:デフォルトの名無しさん
09/02/17 13:50:58
LLなんとかってタイトルの書籍が幾つも並んだ棚を
脳内書店で見たことがあるんだろうな

141:デフォルトの名無しさん
09/02/17 13:55:33
ああ、そっちの方か。”LL"のことね

142:デフォルトの名無しさん
09/02/17 20:40:04
"LL"は今のところRubyだけでいいよ。
国産だし、言葉も国産。Matzだしw
外国の人がつくった数多くの既になじみの言語に"LL"とか今更名前つけてみたところで
これから世界的に流行る見込みなし。

143:デフォルトの名無しさん
09/02/17 20:40:59
ここで華麗にDan Kogai登場

144:デフォルトの名無しさん
09/02/17 21:04:07
LLってLightWeight Languageの略ですよね。
でもLLと呼ばれる言語は総じて、むしろ重い…。
何でLLなんて呼ぶんだろ?と思ったんですが
もしかしてLightなのはプログラマの書くコードの量ですか?

145:デフォルトの名無しさん
09/02/17 22:52:25
本来のスクリプト言語の比較・検討スレと内容がずれるし荒れるだけだから、
スレタイからLLとかはずすべきだろうな。
次スレ立てる奴のセンスに期待

146:デフォルトの名無しさん
09/02/17 23:05:50
パートスレでスレタイ変えたら分かりづらいし、変える必要なんてないだろ
それに、”LL”なんて呼称に粘着しているのは、
FOTRANか、COBOLプログラマで、LLを必要としないだろう人たちだし。

147:デフォルトの名無しさん
09/02/17 23:19:17
スクリプト系言語って書くと長い
略称自体が軽量w で、短く書けるLLで良いかなと思ってる
何か厳密な議論をしたいなら、もっとふさわしい単語を持ち出さなきゃとは思うけど

148:デフォルトの名無しさん
09/02/17 23:26:15
>FOTRANか、COBOLプログラマで、LLを必要としないだろう人たちだし。
LL脳ってすごいね。

149:デフォルトの名無しさん
09/02/17 23:26:47
この世はLLすら使えない時代遅れの馬鹿ばかりとな。

150:デフォルトの名無しさん
09/02/17 23:29:00
LLを使っていると最先端のプログラマって感じがするよなw
C++以前のプログラマにはLLの生産性の素晴らしさ理解できないであろう。

151:デフォルトの名無しさん
09/02/17 23:30:16
>>148
後ろに脳つければいいってもんではない。
その「LL脳」は「LL」より痛い。

152:デフォルトの名無しさん
09/02/17 23:31:00
実はC++などが満足に使えなかった奴の逃げみ(ry

153:デフォルトの名無しさん
09/02/17 23:31:41
LL脳さっそく必死だなwww

154:デフォルトの名無しさん
09/02/17 23:44:32
>Groovyとは ...
>Python,Ruby,Smalltalk等の多くの機能がインスパイヤされ、
>Java開発者がJavaのような構文で使用可能にしたJavaプラットホーム用の アジャイルダイナミック言語 です。
アジャイルダイナミック言語か。

155:デフォルトの名無しさん
09/02/17 23:46:02
> アジャイルダイナミック
厨カコイイ

156:デフォルトの名無しさん
09/02/17 23:47:28
C++を満足に使えるプログラマなんて、そんなにいない

157:デフォルトの名無しさん
09/02/18 00:52:33
Rubyコミュニティの連中だけだろ。
LLなんつって胸張ってるのはw

158:デフォルトの名無しさん
09/02/18 00:54:57
Larryもきてるんだがな
LLなんたらつーイベントに

159:デフォルトの名無しさん
09/02/18 00:59:30
来ればアニメのDVDBOXあげるよって言われたんじゃね

160:デフォルトの名無しさん
09/02/18 01:09:14
ここのLLという用語談義はアンチが気持ち悪すぎる
日本人が作るモノやること全て嫌いならさっさとアメリカにでも移住すればいいのに

161:デフォルトの名無しさん
09/02/18 01:44:57
>>160
> 日本人が作るモノやること全て嫌いならさっさとアメリカにでも移住すればいいのに
その通りだな。そんな奴は日本を出て行ったほうがいい。
ただ問題は、誰も「日本人が作るモノやること全て嫌い」なんてことは言っていなくて、
あえて言うなら「馬鹿な日本人が作るモノやること全て嫌い」という立場に立っていて、
この場にいない「日本人が作るモノやること全て嫌いな奴」を無意味に語ってふんぞり返るお前は
まさにその「馬鹿な日本人」に含まれるってことだ。

162:デフォルトの名無しさん
09/02/18 02:49:05
この人は馬鹿って言葉で昔ひどく傷ついたりしたんだろうか

163:デフォルトの名無しさん
09/02/18 02:57:55
馬鹿な発想だな。

164:デフォルトの名無しさん
09/02/18 09:57:34
現実問題として、最も普及しているLLは
PHP・Javascript・Actionscriptだろう。
結局、用途限定なのがいいということだね。
そして全部Web関連。
で、それで出来ないことはJavaでやると。
RubyとPythonは何でもできるけど、
上記3つに比べると普及していないといえる。
アイデアなんだけど、RubyとPythonは
思い切ってWebを捨てたらどうかと思う。
で、C/C++のヘルプ的な言語になればいいと思う。

165:デフォルトの名無しさん
09/02/18 09:59:07
例えばC言語だとめんどくさくて
C++だと難解すぎることを
C言語+Rubyでやれば
簡単に出来るようにするとかさ。

166:デフォルトの名無しさん
09/02/18 10:17:41
ごめん、俺スクリプトは好きだけど、LL、LL言ってる奴は正直ちょっとキモイ。
あと自称アルファーなんとかとかのWebプログラマーとかは、電波だなあと感じるけど。
俺の周りの奴もそんな感じに思ってるし、それくらいの感覚が普通じゃね?

167:デフォルトの名無しさん
09/02/18 10:29:07
おまえら、熱いよな。俺なんてFlashやれって言われたからActionScript、ツール作れって
言われたからC++、サーバやれって言われたからPHPって感じで必要に迫られてやってるだけで、
言語とかに全然こだわりないんだが。結局なにかしかやらないできないとかが焦燥感なんだろうな。

168:デフォルトの名無しさん
09/02/18 12:11:17
>>167
何が言いたいのかよくわからんが、例えばお前が仕事でたった1種類の言語しか触れなかったとするじゃん。
んで、なんか知らんがこき使われて、一日18時間ほどそればーーっかりいじってると。2年くらい。
そんで毎度毎度のことで飽きてきたりすると、よその言語ではどうなってるのかとか気になったりするべ。

もしそれが5年くらいになったら、そりゃ他の言語を全く触ってない知らないっていう焦燥感も出てくるわな。
そう言う意味?

169:デフォルトの名無しさん
09/02/18 13:05:32
>>164
ActionScriptってJavaScriptの方言なんじゃない?

>>167
>ツール作れって言われたからC++
たぶんだけど、自分用のツールを作るか、日常の諸処雑多なことをするのには便利だよ
そんなものもC++で書いた方が早いってなら別だけど

Winユーザしかいない悪寒

170:デフォルトの名無しさん
09/02/18 13:32:04
>>169
横レスだけど、ASはバージョンによって違う。

AS2はほぼjavascriptと一緒。

AS3はちょっとJAVAっぽくなった。型付けが厳しく求められたり、、、
そしてMSの陰謀によってECMA標準から外れてしまった。

171:デフォルトの名無しさん
09/02/18 14:17:34
>>164
おまえの世界がWebしかないんだろ。
だいたい、C++自体はマルチパラダイムで処理系もライブラリも
ブクブクと膨れ上がっているのに、そのヘルプ的な役割を果たすとか意味が分からない。
品質よりも速度を重視するためのものなんだってば。

172:デフォルトの名無しさん
09/02/18 14:35:11
> RubyとPythonは
> 思い切ってWebを捨てたらどうかと思う。
そもそも汎用言語にWebを捨てたらって何を指すのか分からん。
PHPが急激に伸びたのもなんちゃってPGレベルでも食っていける市場を開拓したからだろ。

173:デフォルトの名無しさん
09/02/18 15:03:12
PHPはWeb特化だな
RubyはPerlと同じくテキスト処理が得意分野じゃね
イテレータとかがちょっと豪華になってるけど分野は被ると思う
Pythonは良くも悪くも汎用スクリプトって感じるが
LinuxだとちょっとしたGUIツールがPython製だったりすることが割とある

174:デフォルトの名無しさん
09/02/18 15:34:27
>>173
このレス見るの何度目だろうw

175:デフォルトの名無しさん
09/02/18 16:43:56
LLの印象。
perlは元々がテキスト処理向けだったのに、pythonやrubyみたく、
グルー言語の方向を目指してご乱心。毎日触っていたら、ものの数秒で痒いところに手が届く。
pythonは、テキスト処理は弱い気もするけど可読性は良い。
rubyだと、いい感じにテキスト処理も糊としても使える。オブジェクト指向の度合いが強い。
実行速度やユーザ数、ユーザの質、ドキュメントの量では、上2つに劣っている。
Groovyは、今後ともJVMでしか動かない。
JavaScript。方言が一杯。
PHP。馬鹿でも、ご飯が食べられる。
Haskel。とても頭の良い人たちが、かしこいことするのに向いている。
土方には門前払いだし、知る必要がなければ、知ってどうにもならない。
最強の定義:=>ご飯が食べられる(日本)
PHP>Perl>>Ruby>>>>>>Python>>>>>>>>>>>>>Haskel

176:デフォルトの名無しさん
09/02/18 18:23:03
Haskellは無限リストが扱いやすいかな
「1~無限大の中で、条件にあてはまる数のn番目は?」なんてことをそのまま書ける
ちょっと触った限り、使い道はそれしか思いつかなかったけど
まあ特化言語と考えたら悪くないんじゃない?

177:デフォルトの名無しさん
09/02/18 18:41:33
特に歴史認識がひどい。

178:デフォルトの名無しさん
09/02/18 18:55:04
>日本人が作るモノやること全て嫌いならさっさとアメリカにでも移住すればいいのに
これがLL脳の恐怖というやつか…。
誰もそんなこと言ってないのに、そこまで拡大解釈、極端な思想に走れるんだ。

179:デフォルトの名無しさん
09/02/18 19:01:18
今更"LL"なんていう日本でしか通用しない用語を蔓延させようとしている連中の方が
よっぽど日本のためにならないし、日本的なものが嫌いだと思うが。

Lightweight Languageなんていわずに、すなおに日本語らしい語呂で広めりゃいいのに、
そこまでして英語圏の文化にしっぽふって、猿まねしながらあこがれているのかと。

180:デフォルトの名無しさん
09/02/18 19:05:11
>>175
最後の行、馬鹿が手を出しそうな度合いでそのまま通用するぞw

181:デフォルトの名無しさん
09/02/18 19:14:43
>>167のいってることは正論だよな。
ソフト開発のプロが、たかが言語ごときでぐたぐたいってる。
そりゃそいつの能力だか脳力がやばいだけだ。
回路設計屋のおれですら、スクリプト言語だけで5種類以上はやれるのだから。
面倒なハードのデバッグにもなかなか使えるのよ。

182:デフォルトの名無しさん
09/02/18 19:44:43
>>180
馬鹿って、自分にとって必要ないことを学習する人のこと
>>181
休暇中のボンクラ学生だとは考えないの?

183:デフォルトの名無しさん
09/02/18 19:47:45
学生なら未来があるからまだマシだ。プロだったらむしろやばい。
おれも暇な学生のときにコンパイラの設計とかの本読んだりしてたおかげで、
マッハで言語が頭にはいるようになったわけだからな。HDLとかでもコード書くわけだし。

184:デフォルトの名無しさん
09/02/18 20:05:14
マッパで言語が頭にはいるだと…

185:デフォルトの名無しさん
09/02/18 20:40:33
>>179
簡易言語?

186:デフォルトの名無しさん
09/02/18 20:50:12
「軽量」っていうとまたファビョる人が多いからな・・・

187:デフォルトの名無しさん
09/02/18 20:51:05
>>183
手続き型なら、どれも基本的な部分は同じじゃない?
関数型や論理型も同じように理解できるならすごいけど
>>185
軽量言語じゃ?
日本がどうとか、ホント、どうでもいいよ。

188:デフォルトの名無しさん
09/02/18 20:51:53
まあ、「軽量」はなあ。
なにが軽量なのか一聴して混乱するし。

189:デフォルトの名無しさん
09/02/18 20:58:51
未来永劫日本以外で仕事をしない人はあまり気にならないのかもな。

190:デフォルトの名無しさん
09/02/18 21:03:52
RubyもPythonもスクリプトの中じゃファットな部類だと思うけどな。

191:デフォルトの名無しさん
09/02/18 21:07:25
高位言語

192:デフォルトの名無しさん
09/02/18 21:07:45
もうお手軽言語でいいよ
英語で Convenient Languages ?
ダサいかも

しかしここで新しい呼び方を決めたとして、結局世間ではLLが使われ続けるわけだがなw
matzやdan kogaiが使い続ける以上、たぶん

193:デフォルトの名無しさん
09/02/18 21:13:00
世間って日本以外で仕事をしない低級プログラマだろ。
ここで「低級」ってのは低水準って意味じゃなくて人間の方の話ねwww
URLリンク(jp.rubyist.net)
Lightweight Languageなんて言葉をちりばめている文章、
なにか気持ち悪いと思わない?
日本人ばかりのコミュニティでなぜ日本でしか通じない日本語を横文字表記??w

194:デフォルトの名無しさん
09/02/18 21:29:17
日本から新しいものを発信しようって考えならいいんだが。
"Lightweight Language"という言葉が世界でブームのような錯覚をおこさせ、
それに乗り遅れちゃいかんみたいに、情弱プログラマや情弱企業を騙そうしていいるのではないか。

195:デフォルトの名無しさん
09/02/18 21:33:02
コンビニ言語w

196:デフォルトの名無しさん
09/02/18 21:45:53
>>193
> 日本人ばかりのコミュニティでなぜ日本でしか通じない日本語を横文字表記??w
日本の伝統といえば伝統。

197:デフォルトの名無しさん
09/02/18 21:52:39
>>194
SmallTalkやprolog、tclのような運命を辿るには惜しい言語
ひとつの言語やIDEしか使えない病弱プログラマは、ブームに乗っかって騙された方がいい。
ビル・ジョイだって、いつまでも言語としてのJavaが続くとは思ってないだろうし。

198:デフォルトの名無しさん
09/02/18 22:14:48
LLは言語環境や仕様がライトかヘビーかでなく、書くコードがライトってことだろ

199:デフォルトの名無しさん
09/02/18 22:21:56
>>198
がいしゅつ

200:デフォルトの名無しさん
09/02/18 22:39:48
ライトなユーザ(職業プログラマ)が使う言語って意味かと

201:デフォルトの名無しさん
09/02/18 22:41:53
WidweStudioは素晴らしいね

202:デフォルトの名無しさん
09/02/18 22:58:08
すごいけど、ほとんど需要なさそう。
VisualStdioが無料化されて、なおさら
使ってる人っているんだろーか

203:デフォルトの名無しさん
09/02/19 01:33:30
>>192
いやmatzはともかく、danは・・いや、なんでもなww

204:デフォルトの名無しさん
09/02/19 08:27:16
壇とかまだ生きてたのか

205:デフォルトの名無しさん
09/02/19 09:35:09
お前が餓死しても彼は死なんよ

206:デフォルトの名無しさん
09/02/19 18:29:23
スクリプト言語なんだから、
略して

スク水。


207:デフォルトの名無しさん
09/02/19 20:25:22
卒研発表で、組み込み用の俺言語製作してる人いた
すごいと思ったけど、Cにコーディング規約適用でいいじゃんとか思った

208:デフォルトの名無しさん
09/02/19 21:05:17
LuaとかTclとかSquirrelとかGaucheとかさ・・・・・需要ある分野だと思うが

209:デフォルトの名無しさん
09/02/19 21:50:11
Guile は普及しなかったなあ。GIMP の Script-Fu ぐらいか?
Guile Emacs プロジェクトがもう一度、生き返ってくれないかなあ。


>>208
Lua は面白いよな。Schemeの影響を強く受けているそうだ。すごくミニマルで
美しい言語だと思う。

[Think IT] 第2回:言語開発者が目標にするパフォーマンス「Lua」 (1/3)
URLリンク(www.thinkit.co.jp)
> Luaの思想は言語のコアとしては選び抜かれた数少ない概念のみを提供し、そ
> こから複雑な概念を「組み立てる」ことにある。Luaはオブジェクト指向言語
> ではないが、テーブルとファーストクラス関数、そして少々のsyntactic
> sugarによってオブジェクト指向の仕組みを非常に巧みに組み立てることがで
> きる。

しかも超高速。

Lua LuaJIT benchmarks | Ubuntu : Intel�ョ Q6600�ョ quad-core Computer Language Benchmarks Game
URLリンク(shootout.alioth.debian.org)


210:デフォルトの名無しさん
09/02/19 23:01:23
guile emacsって何で死んだの?

211:デフォルトの名無しさん
09/02/20 01:04:07
実際問題言語文法なんかよりもライブラリがどれくらい充実してるのかの方がはるかに大きい問題。
XPath簡単に使えるの?Cookieパースできる?スレッドライブラリは?ZipとかSSLとかどうだっけ?
とかそういうとこが結果的に言語の普及率に大きく影響してる。

212:デフォルトの名無しさん
09/02/20 10:56:58
>>210
> guile emacsって何で死んだの?

実は知らない。Emacsを Scheme と Emacs Lisp の両方で拡張可能にするのが困
難だったと、どこかで聞いたような気がするけれど、うろ覚え。

うろ覚えの話が前提だから、真に受けずに聞いてほしいんだけど、たとえ困難
でも SchemeとEmacs Lispを両方動かせるようにしなければ、Guile Emacsの存
在意義はなかったと思う。

Emacs Lisp以外を拡張言語にしたEmacsクローンはすでにいろいろある。
Common Lisp の Hemlock や xyzzy、Scheme の Edwin、など。だけどどれも普
及しなかった。xyzzyもずいぶん寂れた。

言語自体としては、Emacs Lisp より Common Lisp や Scheme がすぐれている
のは大方の賛同が得られるだろうけど、既存の資産やコミュニティを引き継げ
るかどうかが、言語仕様よりはるかに重要だったんだと思う。

あれ、なんか >>211 ともリンクする話になったな。

213:デフォルトの名無しさん
09/02/20 12:56:02
『言語仕様で勝負したが、結果的には血液型程度の差しかなかった』

疑似科学の片鱗を味わったぜ…

214:デフォルトの名無しさん
09/02/20 13:37:57
性格の差が小さかったんじゃなくて経験の差が大きかったんだよ

215:デフォルトの名無しさん
09/02/20 19:18:13
Haskellの習得って、どのくらい期間かかるんだ?
大学の中で、すごく頭が良いだろう教授が研究室でなんかやってた。
興味はあるんだけど、まず卒業が出来ないとどうしようもないしなぁ…。


216:デフォルトの名無しさん
09/02/20 19:59:31
そりゃあ人によるでしょ
他の関数型言語に慣れてるなら、遅延評価とモナドその他の概念を習得さえすれば、ある程度は使えるはず
最近だと高階関数とか、関数型由来の仕様を取り込む言語も増えてきてるから
そういう言語を習得しててもハードルは下がるだろう

217:デフォルトの名無しさん
09/02/20 20:44:49
関数型なんてやったことない。prologだった。
その演習で、毎週3時間くらい居残りした頭だし止めておこう。
きっと銀の弾丸だ。第2のICOTだ。
ソフトウェア産業なんて右往左往してるだけだ

218:デフォルトの名無しさん
09/02/21 00:07:19
>>125の中で
言語がゆっくりと進化するのは、それが本当は技術ではないからだ。言語は表記だ。
プログラムは、コンピュータに解いて欲しいと思う問題の正式な記述なんだ。
だからプログラミング言語の進化の速度というのは、移動手段や通信手段よりは、数学表記の進化に近いだろう。
数学の表記は確かに進化するが、技術の分野に見られるような巨大な飛躍は無い。
...
(1)100年後の言語は、原理的には、現在でも設計できる。
(2)そのような言語は、もし存在すれば、現在でもプログラムを書くのに良い言語かもしれない。
というのが出た直後に(それを受けて?)>126を読むとなんというか味わい深いな。

個人的には、自然言語とコンピュータプログラミングは一致できるかどうかという問題が好きでいろいろ考えているのだが、
結局のところ言語とは考えの露出であって、言語を学ぶことは一定割合で概念を学ぶことと一致している部分がある。
また、言語の進化の極北とは、自分の考えの構造の根幹部をいかに取りだすか、という作業と一致している気がする。

219:デフォルトの名無しさん
09/02/21 00:52:58
(0)言語の進化は遅い。
(1)原理的には、言語の進化は早めることができる。
(2)言語の進化を早めることにはメリットがあるかもしれない。

虚しいと思わないか?

220:デフォルトの名無しさん
09/02/21 03:19:42
100年後の言語か。その言語を使う人々にとっては、Perl、Python、Rubyの差なんて
Cプログラマから見るLisp方言の差ぐらいにしか見えなかったりして
言語だけ進化しても、>>211,>>212のように既存の資産を十分に活用できないと、
新しいモノに移行することって、あんまりメリットがないんだよね。
新興宗教なり、地デジなり、vb.netなり。

221:デフォルトの名無しさん
09/02/21 07:52:49
>>220
その「既存の資産の活用」を可能にするのがJava bytecodeであったり.NETじゃないのか?
Javaは結局マルチ言語のプラットフォームとしては研究レベルに留まり、
Javaの上でスクリプト言語が実装されてるわけだが、.NETはCLRの上に
多数の言語がどかどかと生まれてるわな。

100年後の言語は.NETの上で動くかも知んないぞ。
そうなったらIA32に代わる新たなマシンアーキテクチャになれる、ってのが
MSの目論見なわけで。


222:デフォルトの名無しさん
09/02/21 09:31:53
Perlはもう終り? | | プログラマ2.0日報 | あすなろBLOG
URLリンク(blog.pasonatech.co.jp)

はてなブックマークの反応:Perl使いつられすぎワロタ
URLリンク(b.hatena.ne.jp)



223:デフォルトの名無しさん
09/02/21 12:07:16
URLリンク(www.atmarkit.co.jp)
印刷用ページなら広告抜きで保存できていいね。

224:デフォルトの名無しさん
09/02/21 12:08:16
と思ったら保存できてなかった・・・

225:デフォルトの名無しさん
09/02/21 13:11:08
なあおまいら、LLの変わりにPL(P Language)ってどうよ

226:デフォルトの名無しさん
09/02/21 14:51:16
>>222
自分の好きな物が貶められて平然としてられる人は、そうは居ないんじゃないか。
自分の嫁がブサイクだとしても、他人に言われたくはないだろう。

とはいえ、突っ込みどころ満載だから、釣りなんじゃないかと疑うが。

227:デフォルトの名無しさん
09/02/21 15:03:04
言語を積極的に追ってる人と、ただの道具としてる人との意識の乖離ってことなんだろう

228:デフォルトの名無しさん
09/02/21 15:14:10
小飼も反論してるけど、なんだかなぁ。
「汚いったって英語や日本語ほどじゃない」はないだろ。

229:デフォルトの名無しさん
09/02/21 15:14:47
何を表現するかをより重視する人と、どう表現するかをより重視する人の差だな

230:デフォルトの名無しさん
09/02/21 15:20:36
仕事でPHP、趣味でRuby使っててどちらも悪くないと思っているんだが、
「PHPはもう終わり?」と言われても、「まあそうだよなあ」と思うが、
「Rubyはもう終わり?」と言われると、「何だと?」と思ってしまう

231:デフォルトの名無しさん
09/02/21 16:19:06
>>230
おれも仕事PHP趣味Ruby。
Rubyは始まってもいない。ただ、始まるかどうかも分からない。

232:デフォルトの名無しさん
09/02/21 16:33:26
むしろPHPはさっさと終わってほしい。
仕事で書いていてイライラしてくる。

233:デフォルトの名無しさん
09/02/21 18:02:38
Perl, PHP, Javascriptあたりは書いててイライラするなあ。
メインで使ってないから精神的健康は害してないが。

234:デフォルトの名無しさん
09/02/21 18:46:47
>233
JSはやれば出来る子だと主張したい

235:デフォルトの名無しさん
09/02/21 18:47:19
LLってるびまとはまた別の恥ずかしさだなw

236:デフォルトの名無しさん
09/02/21 19:04:14
で、お前らはRails好きなん?

237:デフォルトの名無しさん
09/02/21 21:29:56
     ,' /
     i .l
.    | 、
    、.\ ヽ
      、 \ . ヽ ._
         丶.   ‐  _
           ` ‐ _  (^o^)(^o^)
                  (ー(,, O┬O
                   ())'J_))
    「俺たちオワタ?」

    「ハジマル前からオワてたよ」

238:デフォルトの名無しさん
09/02/21 21:34:37
やはりスクリプト言語は用途限定でこそ光るものなんだ
RubyとPythonは失格
そのうちLuaにとってかわられるでしょうな

239:デフォルトの名無しさん
09/02/21 22:28:17
javascriptと言いたいところだが、良さそうな実装が見当たらない

240:デフォルトの名無しさん
09/02/21 22:59:11
なんかJavaScriptがマンセーされすぎてるような気がするが、そんなにいいのか?
門外漢からすれば、thisとかselfとかわけわからん
ソースもなんだかぐっちゃぐちゃになったのしか見たことないし
明確なclass(?)宣言が無いのでコメントで補完してるとか、なんだかなーという印象しか無いんだが

241:デフォルトの名無しさん
09/02/21 23:11:09
お前には関係ないから口を挟むな

242:デフォルトの名無しさん
09/02/21 23:18:46
議論も特に進行してないのに口を挟むなってのはおかしくないか
せめてくだらんレスするなって言ってくれ

大体、他の有象無象言語はともかくJavaScriptだけは、ブラウザ相手の
アプリ作ってれば関係ないって事はないな
是非ともJavaScriptの素晴らしい所を語って欲しいもんなんだが

243:デフォルトの名無しさん
09/02/21 23:47:09
javascriptは、さっさと規格を統一すべき
IEで見れたバス時刻表のサイトがFirefoxからは見れないって、どういうこった
規格化されない限りでは、JavaScriptには先がないな

244:デフォルトの名無しさん
09/02/22 00:11:18
ライブラリ使えば?

245:デフォルトの名無しさん
09/02/22 00:16:49
>>242
たとえば、emacsの中にlispが入っていたり、
ブラウザの中にjavascriptが入っていたりするけど、
アプリ毎に別の言語を作るのは無駄だから、
pythonやrubyをそういう所で使えば一番いいんだけど、
どうも使いにくいらしい。よく知らないけど。
で、javascriptなら実績あるしいいんじゃないかって話。

246:デフォルトの名無しさん
09/02/22 00:21:46
>>240
強い型としてのクラスなどなくても問題ないからその点は気にならないが、
for .. inに与えたものが適切なaggregateでないかもしれない、という恐怖に打ち勝つのはなかなか難しい。
Luaも似た実装だけど、この辺はどうやって解決してるん?

247:デフォルトの名無しさん
09/02/22 00:49:02
>>243
言語仕様はECMAScriptとして規格化されている。
「IEで見れたバス時刻表のサイトがFirefoxからは見れない」
というのはブラウザという実行環境による違いだよ。
ここもDOMという規格化はされているが、
それを超えた部分がブラウザごとに異なってくる。

クロスブラウザで統一させるには Java のようにコアライブラリや実行環境も含めて規格化しないと無理だね。

248:デフォルトの名無しさん
09/02/22 01:52:55
>>245
なるほど
組み込み用言語のお話でしたか
javascriptは何となくデファクトスタンダードっぽいってこと以上に組み込みの実績もあるってこと・・・かな?

言語体系や細かいシンタックス等の面ではどうなんだろ
恥ずかしながら今日初めてJavaScriptのそれっぽいリファレンスを入手した。ちょっと読んでみる
URLリンク(d.hatena.ne.jp)

249:デフォルトの名無しさん
09/02/22 06:56:11
thisやselfに相当するものは、ここのスレタイの言語は全部備えてると思うが…

250:デフォルトの名無しさん
09/02/22 07:26:50
JavaScript は this の中身がちょこちょこかわるのがなあ

251:デフォルトの名無しさん
09/02/22 08:51:49
>>249
URLリンク(d.hatena.ne.jp)
とか
URLリンク(d.hatena.ne.jp)
とか

252:デフォルトの名無しさん
09/02/22 09:33:53
>250-251
理解。確かにthisの扱いが違うことは意識せなならんね。
あとselfの他にも、JSは頻出パターンの多い言語だとは思う。
専用の構文を使わずに、既存の要素で色々やることになるし。

ただ俺はPythonの関数もどうかと思うんだよな…。
インスタンスとバインドされた関数(いわばメソッドのようなもの)と
バインドされてない関数が、表記に反して微妙に違うのがなんとも。

まあ、どの言語もやっぱり幾つかの問題はあるか。

253:デフォルトの名無しさん
09/02/22 11:12:38
俺の主観による事前の評判と感想:

- Perl - 汚いと評判で、実際に汚いがそれ以上に馬力があって便利
-- ソースはCobolを見るような気分になってきたが、仕事をやっつけるときに頼れる相棒
- Python - シンプルと評判だったが、#$%&の代わりに__XXX__乱舞でエエェー、クラスの実装でなめるなって感じ。馬力はOK
-- なんか不自然さとか後付感をPerl並に感じるが、パワーはあるので頼れる
- Ruby - 簡潔でエレガントと評判で、これは評判違わずだが馬力がいまいち
-- 簡潔かつ強力だが、馬力の凹凸がまだ激しく自分で結構補う覚悟がいる
- PHP - 言語以前という評判で、実際にも謎仕様多数だが、標準的構成で使える関数が充実+軽い
-- ウェブに超便利。ウェブ以外で使う奴は頭がおかしい

馬力ってのはライブラリの種類とか充実度とかパッケージ配布機構とか
全部含めた言語仕様の外側まで含めた仕事遂行能力のことね。

今はRubyメインPerl/PythonサブでWebだけたまにPHP使用の俺が書いてみる。

254:デフォルトの名無しさん
09/02/22 11:14:03
>>228
えー Perl を日本語でたとえると
あー なんというか んー こういうもどかしさを
んー 随所に感じるというか
あー うざいよね

255:デフォルトの名無しさん
09/02/22 11:27:49
>>254
Perl: 絵文字多数で読みにくい
Python: 妙に句読点とか三点リーダ(…)が多い
Ruby: 漢字が足りない
PHP: 文章になってない

256:デフォルトの名無しさん
09/02/22 11:56:58
ブラウザの組み込みでPHPっていうのがないかな
javascriptってChromでデバッグできる?

257:デフォルトの名無しさん
09/02/22 11:59:49
>Ruby: 漢字が足りない
わろs

258:デフォルトの名無しさん
09/02/22 12:48:59
>>253
>ウェブ以外で使う奴は頭がおかしい

バッチで超便利ですが(;´Д`)

259:デフォルトの名無しさん
09/02/22 12:53:08
>258
どんなバッチで使ってる?

260:デフォルトの名無しさん
09/02/22 13:20:49
>>259
DBから条件を抽出して、ファイルをゴニョゴニョするようなもの
別にPHPじゃなくても良いんだけど、他のライブラリ(Pear、CPAN)とか入れる手間が
他のものより比較的少ない分、他人に依頼しやすい。

261:258=260
09/02/22 13:27:51
言葉足りないから補足

>他人に依頼しやすい。

他人に設定・設置を依頼しやすいってことです。

262:デフォルトの名無しさん
09/02/23 10:10:31
JavaScriptでsprintfが無いのは、何か理由があるの?
スクリプト言語で文字列処理が面倒くさいってのは結構致命的だと思うんだが

大概ソースが汚く、というか読む気をなくさせるのは文字列連結がごちゃごちゃしてる部分だと思うんだ
さらに文字列内での変数展開もないときたら、これはなにかポリシーなのかとも思ってしまうけど、
規格に入らない理由とかあるのかな

263:デフォルトの名無しさん
09/02/23 10:34:18
>262
確かに何でだろうな。
数が少なきゃ、フォーマット文字列.replace()で何とかなるけど、ちと限界あるし。

264:デフォルトの名無しさん
09/02/23 18:39:53
javascript + PHPがおすすめ。
PHPはRubyかPythonに置き換えてもいい。

jsは今後絶対はずせなくなる。

265:デフォルトの名無しさん
09/02/23 18:57:42
>>262
むしろsprintfがあるほうが珍しいのでは。
シェア的には多数派だけど。w


266:デフォルトの名無しさん
09/02/23 19:10:06
>>262
オブジェクト指向だと文字列は普通に+で連結するだけじゃね?
ああ、%2.1dみたいな書式作りたいのか。


267:デフォルトの名無しさん
09/02/23 19:47:12
%2.1dって構文はありなの?

268:デフォルトの名無しさん
09/02/23 20:07:05
Pythonとかの%02dとかは普通にありがたいけどなぁ。
数字を文字に変換しなくても、そのままフォーマット変換できるのは楽は楽だし。
+の連結とは使い勝手が全然違うとオモ

269:デフォルトの名無しさん
09/02/23 20:07:40
>>266
書式もそうだけど、単純に見やすさ、いじりやすさもあるよ。
・・・オブジェクト指向って?
例えばRubyで悪いけど、

tag = '<input type="text" class="' + css_class + '" name="' + name + '" value="' + value + '" />'
tag = %Q'<input type="text" class="#{css_class}" name="#{name}" value="#{value}" />'
tag = '<input type="text" class="%s" name="%s" value="%s" />' % [css_class, name, value]

JavaScriptは一番上の書き方しかできない。
それが一番見やすい・いじりやすいっていう人が多数派なんだろうか

270:デフォルトの名無しさん
09/02/23 20:34:39
いや%dに"2.1"を指定するのはなんか違和感があった
%fならともかく

271:デフォルトの名無しさん
09/02/23 20:35:54
>>269
tag = <input type="text" class={css_class} name={name} value={value} />.toXMLString()

272:デフォルトの名無しさん
09/02/23 20:45:31
xml以外はどうしたらいいんだ?

273:デフォルトの名無しさん
09/02/23 22:32:25
>>272
name = 'John'
str = <dummy>My name is {name}.</dummy>.text()

XMLリテラルキモいw

274:デフォルトの名無しさん
09/02/23 22:54:20
JavaScript に strftime() が欲しい。

275:デフォルトの名無しさん
09/02/23 23:21:46
>>273
<>My name is {name}.</>
でOK
ちょっとだけキモさも和らぐw

276:デフォルトの名無しさん
09/02/24 01:38:44
URLリンク(d.hatena.ne.jp)
URLリンク(hacks.bluesmoon.info)

JavaScriptでsprintfとstrftime

277:デフォルトの名無しさん
09/02/24 12:38:01
>>275
HTMLのSCRIPTタグ中に書けないじゃん。

278:デフォルトの名無しさん
09/02/24 12:56:20
>>277
書けたよ (FireFox 3.0.6)

<script type="text/javascript">
var name = 'John'
var xml = <>My name is {name}.</>
alert(xml) // alert(xml.toString()) と同義?
</script>

E4Xっての初めて知ったけど、IEは対応してないんだ?

279:デフォルトの名無しさん
09/02/24 13:18:05
いつの間にかJavaScript勉強スレになってるな

280:デフォルトの名無しさん
09/02/24 19:10:58
>>278
htmllintとかでチェックすべき。

ブラウザは受け入れるだろうけど、
HTML(SGML)的には不法のはず。


281:デフォルトの名無しさん
09/02/24 22:52:51
XMLリテラルってscalaにもあるみたいね
これらの言語使ってる人、こんなの使ってる? (意味不明)
ヒアドキュメントより更にコードに違和感ありまくりで、あんまり
有り難みがないような気がする

282:デフォルトの名無しさん
09/02/25 00:30:22
>>280

<script type="text/javascript">
<![CDATA[
var name = 'John'
var xml = <>My name is {name}.</>
alert(xml) // alert(xml.toString()) と同義?
]]>
</script>

283:デフォルトの名無しさん
09/02/25 05:25:39
>>282
URLリンク(developer.mozilla.org)

>さらに CDATA セクション (<![CDATA[...]]>) は CDATA リテラルとしてパースされませ
>(HTML の <script> 要素は暗黙の CDATA セクションを作りますが、そこには明示的
>な CDATA セクションを含めることができないため、これは HTML において JS 構文エラーを引き起こします )。

284:デフォルトの名無しさん
09/02/25 08:09:15
>>283
XHTMLで書けばいいだけ

285:デフォルトの名無しさん
09/02/25 08:50:28
> XMLリテラルってscalaにもあるみたいね

V B . n e t  に も あ り ま す

C # に は あ り ま せ (

286:デフォルトの名無しさん
09/02/25 12:39:22
Rhinoってどうよ?

287:デフォルトの名無しさん
09/02/25 23:33:59
importClass(java.io.PrintWriter);
importClass(java.io.BufferedWriter);
importClass(java.io.FileWriter);

var file = new PrintWriter(
      new BufferedWriter(
        new FileWriter("sample.txt")));

file.println("Rhino犀強伝説");
file.close();


288:デフォルトの名無しさん
09/02/25 23:37:32
わざわざ冗長に書き過ぎじゃなかろうか、Rhino知らんけど

289:デフォルトの名無しさん
09/02/26 00:00:53
importClass(java.io.PrintWriter);

var file = new PrintWriter("sample.txt");

file.println("これだけでよかったのか、まだ勉強不足だ");
file.close();


290:デフォルトの名無しさん
09/02/26 00:03:39
それなんてJava、っていうネタじゃなかったのか

291:デフォルトの名無しさん
09/02/26 01:39:17
>>262
String.format()

292:デフォルトの名無しさん
09/02/26 01:53:16
C#?

293:デフォルトの名無しさん
09/02/26 02:05:08
>>291
[JavaScript-C 1.6.1 2008-03-01]

js> print("".toLowerCase)
function toLowerCase() {
[native code]
}
js> print("".format)
undefined

294:デフォルトの名無しさん
09/02/26 10:56:50
もう21世紀だというのに・・フォーマットとか小文字だとか大文字だとか・・だりぃな

295:デフォルトの名無しさん
09/02/26 11:17:15
デフォルトの書式を XML で定義しておくとか。
デフォルトで case insensitive にして必要に応じて case sensitive にするとか。

296:デフォルトの名無しさん
09/02/26 16:57:13
高水準言語

297:デフォルトの名無しさん
09/02/26 21:41:54
VB.NETは進化の方向性を間違えたなって思う。
C#と棲み分けするためにRubyやGroovyのような言語に進化するべきだったと思う。

298:デフォルトの名無しさん
09/02/26 21:47:31
C#やVBのM$言語もLLに入るの?
オープンソースかアカデミックな連中だけで盛り上がってて、
商用お断りみたいに思ってんだけど

299:デフォルトの名無しさん
09/02/26 21:49:45
Java系等のはカス扱いで。

300:デフォルトの名無しさん
09/02/26 22:11:26
>>298
いや入らない。
ただVBはLL方向へ進むべきだったという話をしているだけです。

301:デフォルトの名無しさん
09/02/26 22:21:34
LLの定義論うざい。
そもそもLLはRuby基準で立場が近いかどうかが問題だ。
厳密な定義は必要ないし、そもそもRuby使い以外はLLなんて言葉はつかわない。

302:デフォルトの名無しさん
09/02/26 22:23:42
なんかわけわかんねぇ文章だな。
Rubyに近いほど、よりLL。
あまりにもRubyより簡単すぎたらLLじゃない。

303:258=260
09/02/26 22:35:51
>>294
高校生のとき21世紀には、CADのようにGUIで部品を結線するだけでプログラムが
出来る時代が来ると思っていました。

304:デフォルトの名無しさん
09/02/26 22:44:49
デスクトップ時計とかカレンダーみたいな小物なら
C#ならまさにRADでポトペタ、プロパティ設定だけで
コーディングなしでできるがな。

(もちろん、色々細かいことやろうとしたらコーディングは必要だが)

305:デフォルトの名無しさん
09/02/26 22:55:31
HTML、MXML、XAMLとか画面を作るだけなら
プログラミング言語の出番では無くなりつつあるような。
もちろんポトペタを実現するソフトの力もあるけど。

306:デフォルトの名無しさん
09/02/26 23:55:19
>>303
それって、RPGツクールだけでRPGがとか、
シューティングツクールだけでシュー(ry
格闘ゲ(ry

というのと変わらん妄想な気がする。
結局こったことやろうとすると、ツール上でプログラミングしないといけなくなるんだよな

307:デフォルトの名無しさん
09/02/26 23:58:45
まあ、妄想とはいったけど今の段階ではということで、
30年くらい先は変わるんだと思う。
RPGツクールも新しいのは Ruby乗っかってるし、
ジャンル特化のゲームエンジンにちょっと汎用的なDSL入れた、見たいな構成なんて、
今時のゲーム開発じゃ珍しくない。

web周りがまだ続くんなら、ポトペタ系webフレームワークがでたっておかしくない。

・・・CodeGea(いやなんでもない


308:デフォルトの名無しさん
09/02/27 00:04:15
Plagger とか Yahoo! Pipes とか Popfly とかその辺のこと?

309:デフォルトの名無しさん
09/02/27 01:40:28
どんどん新しい技術が出てくる時代だからね。UI言語みたいなものよりテキスト言語じゃないと融通が
きかなくて対応できないだろうね。
でもいずれ何十年も先に技術も安定して規格化も進めば、UI言語みたいなものも発展できるかもね。

310:デフォルトの名無しさん
09/02/27 02:17:24
用途は限定されるけど、結線でUIを構築するなら、Quartz Composerってのがあるね。
文字列の回転角度などのようなプロパティは、直接指定する必要はあるけど、基本、結線するだけで、リアルタイムで結果を表示してくれるよ。

Mac限定だけど

311:デフォルトの名無しさん
09/02/27 02:21:08
ぶっちゃけGUIとCUIに向きと不向きがあるのと一緒で
何でもポトペタで楽にってのは幻想だと思う

マウスやゲームパッドで漢字の人名を入力することを考えてごらんよ
超面倒くさいだろ?
電卓だって、GUIの電卓よりCUIのがずっと使いやすい

312:デフォルトの名無しさん
09/02/27 02:31:44
グラフィカルな存在を扱うケースでは、グラフィカルに設計できるのが一番では
絵を書くときには誰だって筆を使う
PostScriptを直接書くというケースは多くないだろう

313:デフォルトの名無しさん
09/02/27 02:37:03
>>312
うんだから向き不向きってことね
ダイアログエディタみたいなGUIが向いてるものはどんどんGUI化すればいいが、
実際には既にかなりのものがGUI化されているだろう
それ以上は疑問だね

314:デフォルトの名無しさん
09/02/27 02:41:41
>>311
それはGUIだからじゃなくてマウスだからじゃない?

315:デフォルトの名無しさん
09/02/27 06:29:26
touch(panel/pad)て昔からあるけど
DesktopPC用には普及してないな

316:デフォルトの名無しさん
09/02/27 07:34:35
高いからだろ

317:デフォルトの名無しさん
09/02/27 09:32:58
>>316
そういって参入して死々累々なのがタッチパッドインタフェース。
タッチパッドが悪いというより、なぜか指で操作させようとするのが
敗因だと思うけど。ペン操作は普及したし。


318:デフォルトの名無しさん
09/02/27 09:41:48
タッチパッドはタッチパッドで、結構進化して来てるよ。iPhoneとか、なかなか面白い動きをする。
ペンタブレットはあれはあれで、実は「細かい点の操作」に弱いって欠点があるんだな。
マウスやタッチパッドは、ポイント→その位置から動かさないでクリックって動作がしやすいんだけど
ペンタブレットだとそうも行かない。一応、少しだけ浮いた状態でポインタが出るんだが、それでも狙った位置からはブレやすい。

319:デフォルトの名無しさん
09/02/28 00:38:29
タッチパネルとタッチパッドは別もんだな
タッチパネルは、もし安く高性能なものが普及しだしたら、それなりに便利だと思う
マウスでクリックしすぎると指が痛くなってくるけど、そんなとき画面をペンでポチって
できるのは、作業中の気分転換にいいかもw

320:デフォルトの名無しさん
09/02/28 01:31:43

何の話だっけ?

321:デフォルトの名無しさん
09/02/28 03:01:32
>320
PerlもPythonもRubyも大きなテコ入れをしている件について

322:デフォルトの名無しさん
09/02/28 03:10:31
米国でRuby関連書籍の売り上げが減速か
>2008年第4四半期の売り上げで、前年同期比965%増という大躍進を遂げているのはObjective-C。
>ほかにActionScriptも33%増と好調。逆に落ち込みが激しかったのはRubyで、51%減となっている。
>ほかに落ち込みの大きい言語としては「JavaScript(24%減)」、「Visual Basic(15%減)」、「Perl(25%減)」、「Java(12%減)」などがある。
URLリンク(www.atmarkit.co.jp)

323:デフォルトの名無しさん
09/02/28 04:05:25
まあ別にいらないしな

324:デフォルトの名無しさん
09/02/28 04:06:47
>> 322
ruby本の落ち込みは、railsは一時的なブームだったということかな?
Objective-Cはiphoneアプリの開発言語だよね。macの売り上げも伸びたんだろうね。
phpは相変わらず人気だね。

325:デフォルトの名無しさん
09/02/28 06:11:51
Rubyはソース嫁に辿り着く

326:デフォルトの名無しさん
09/02/28 07:34:42
Rubyは対話式インタプリタだから生きるものかもしれないな。

コード補完機能を備えた優秀な開発環境があれば
別にコードが冗長でもかまわないわけだし。

Pascalみたいにコンパイル速度が速ければ
インタプリタである必要もないし。

Rubyで使い捨て以外のプログラム書く理由がないわ。

327:デフォルトの名無しさん
09/02/28 08:54:46
>>322
iPhoneの影響か。
長らくNeXT及び、その後継であるMac OS Xの専用言語に近い状態だったが、2007年に入り、Apple社の携帯電話iPhoneにおいてCocoa touchフレームワークの記述言語として採用。習得者の人口が増える傾向にある。

328:デフォルトの名無しさん
09/02/28 09:05:04
Railsの流行も落ち着いてきたということだろう。もう4年もたつしな

329:デフォルトの名無しさん
09/02/28 10:28:12
オンラインで読めるマニュアルとかチュートリアル、解説サイトが充実していれば本なんかいらんけどなあ。
ちょっとググレば出てくる情報に3000~円とか出したくないし。

まあ、手元においておきたいときも、ないことはないけど。

本が売れてるって、実は言語(フレームワーク)そのものが使いにくいからじゃね?なんてうがった見方をしてみたり^^;

330:デフォルトの名無しさん
09/02/28 10:40:55
それはうがってるんじゃなくて、(Ruby信者として)もがいてる感じ。

331:デフォルトの名無しさん
09/02/28 11:52:14
本買う行為はお布施だと思えば仕方が無いかな

332:デフォルトの名無しさん
09/02/28 11:57:00
ひたすらに現世利益を求める衆生にはそれがわからんのだな

333:デフォルトの名無しさん
09/02/28 12:12:56
お布施は信者以外には理解不能だからなぁ

334:デフォルトの名無しさん
09/02/28 13:17:15
Rubyとか互換性皆無で一年前の情報がゴミになるからな。
他言語でもRails風フレームワークも増えてきたし、
敢えてRubyにこだわらなくてもいいような。

335:デフォルトの名無しさん
09/02/28 14:14:09
教祖様は気分で仕様変えるし、
メンテナはすぐヘソ曲げるし、
コミュニティの殆どは「誰か働けよ、中傷してやるからよぅw」モードだし、
普通に考えてRubyに価値があるわけないよね。

336:デフォルトの名無しさん
09/02/28 15:27:46
PHPはやはり強いな。
初めにやったもん勝ちなんだよな、こういうのは。

337:デフォルトの名無しさん
09/02/28 18:37:40
Rubyの方が昔からあったような気がする

338:デフォルトの名無しさん
09/02/28 20:32:57
まあ、シェア奪ったもん勝ちってことだろ。

339:デフォルトの名無しさん
09/02/28 22:32:21
>>335
Rubyの教祖様ってPHPをさんざん叩いてた人じゃないの?
当のRubyはそんな有様だから足引っ張ってんのか?ww

340:デフォルトの名無しさん
09/02/28 23:59:35
PHPはウェブアプリのコーディングしてて「こんなのないかな?」っていう
関数は既に用意されてることが多いからやっぱ強い(自作関数だらけにもならんし)。
ヴォキャブラリーの力が圧倒的だから
まあウェブ用途では当面代替になりそうな言語はないね。

341:デフォルトの名無しさん
09/03/01 00:22:09
PHPよか、Rubyの方が柔軟に書けそうに見えるんだけど気のせいか?
パッと見でPHPって、Webで使う用のCにしか見えないんだけど

342:デフォルトの名無しさん
09/03/01 00:32:08
Web用のCだったら、今頃使いまくってるけどな。

PHPは歴史を引きずって関数が増えてるだけ。
末期のBASICを思い出すわ。
DB接続だけで6種類以上あったり、勘弁してくれ。

343:デフォルトの名無しさん
09/03/01 00:34:11
まぁDB周りはクラス作ったりしてまとめたりしてるわ
PostgreSQLとMySQLしかつかってないが。

B→Cときた自分としては、PealやRubyってすごくソースが見づらい。

344:デフォルトの名無しさん
09/03/01 00:36:15
沢山の人が読める
動かせる鯖多い

phpの利点なんて他に無いでしょ
ライブラリなんてpythonだろうがrubyだろうがperlだろうが不自由しませんよ

phpは書きやすくはないと思う。むしろ他より疲れる。
よくも悪くも馬鹿正直な子のイメージ

345:デフォルトの名無しさん
09/03/01 00:45:37
>>344
PHPは書きやすいから沢山の人が読めて、多くの鯖がサポートしてるんだが。

346:デフォルトの名無しさん
09/03/01 00:57:26
PHPとPerlのちがいはなにですか?
PHPの方がゴージャスなのでしょうか。

347:デフォルトの名無しさん
09/03/01 01:04:24
>>345
書きやすくないよ。PHP以外の言語やったことは?

348:デフォルトの名無しさん
09/03/01 01:04:57
Web鯖新調したら動かないって大概Perlで
PHPで書き直すことになって俺の作業がすすまん。。。

349:デフォルトの名無しさん
09/03/01 01:24:37
>>348
普通は逆じゃないか?
サーバ依存のPerlコードなんてどんなのがあるんだろう。
モジュールが入ってないとかそんな問題では。FastCGIとかそういう関係かな。

書き方があんまり古いから、いっそ書き直すってのならわからんでもないが、
PHPの古いコードを書き直すのも大概しんどい作業だから、それは言語のせいではないし。
PHPで書き直す必要のあるシチュエーションがあんまり思い浮かばない。

350:デフォルトの名無しさん
09/03/01 01:41:08
>>349
サーバーの中のことはあまり知らないんだが、今あるWebサーバーを
CentOSに集約する作業で動かないのが出てくる
パーミッションやら権限やらパスやら書き直したんだがやっぱり動かないんだわ

大半はメール、あとはDBやら出力の文字化けたりとかそんなかんじ
バッチの書き直しが俺に来なかったのだけが救い・・・

351:デフォルトの名無しさん
09/03/01 01:57:49
>>350
コード読まずに環境変えて動かんってそれは仕方がない。
Perlのせいではないぞそれ。
むしろPHPの方が、バージョンや設定の違いのせいで書き直しとか動かんとか多い印象。

また、例えば/etc/aliasesいじってメールアカウントを量産するとか、パイプなどで
コマンド直に叩いてるとか、そう言った感じのサーバ依存処理をごにょごにょされまくってたら、
もともとPHPだったとしても多分ひどいことになってるだろ

> サーバーの中のことはあまり知らないんだが
一番の問題はこれじゃないかと。
結局これである程度できてしまうのが、PHPの利点ってことになるんだろうか。
欠点と言うことになるんだろうか。

352:デフォルトの名無しさん
09/03/01 02:37:01
>>351
鯖見てる人がPerl使える人だから上司もそうか、じゃぁ仕方ないで俺に来るんだよね。

メールは、ライブラリ入れてるんだけど動かないっていう状態。 俺はパイプとかさっぱり。
普通にPHPの文法でDBから引っ張ってきてメール送信するように書き直してるだけ。

PHPもDB入れ替えたからSQL全部書き換えなんだが全く手が付けられん状態。。。

353:デフォルトの名無しさん
09/03/01 06:00:02
最近のCentOSではデフォでsendmailとpostfixが両方入ってるしMySQLは3系、4系、4.1系以降で
文字の取り扱いが大きく変わってるからその辺りだろうね。
直すのにそれほどの手間じゃないと思うけどそれを出来ない人に任すような会社であれば
どのみちPHPにしてしまった方がいいかもね。

354:デフォルトの名無しさん
09/03/01 07:07:35
>>341
PHPは誰でも使えるJavaとかC#みたいな感じ。
しかし、仕様の変さでハマりどころの多さVBやVBA並w

355:デフォルトの名無しさん
09/03/01 08:45:27
>>350
馬鹿じゃね

356:デフォルトの名無しさん
09/03/01 09:38:27
全くの素人です
プログラミングを学ぶにはパイソンかルビーのどちらかが良いと聞いて3日ほど調べてるんだけど
ルビーの方がわかりやすい解説を見つけられるんでルビーにします

357:デフォルトの名無しさん
09/03/01 10:04:04
ルビー

358:デフォルトの名無しさん
09/03/01 10:32:40
さあ、ソースコードをコンパイルする作業に戻るんだ。

359:デフォルトの名無しさん
09/03/01 11:02:50
>>356
ルビーに比べたらパイソンの資料が少ないのは否めないな。
レンタルサーバーへのインストールはどっちも少なくてガッカリするが。

360:デフォルトの名無しさん
09/03/01 11:58:25
なんかプログラミングしたいだけならschemeでもやってれば。マジレス

361:デフォルトの名無しさん
09/03/01 12:18:04
パイソンからジャバののちCかルビーからジャバののちCを学ぶルートがよいとありましたので
この二つから選んだ次第です

362:デフォルトの名無しさん
09/03/01 12:34:04
何のルートだw
趣味なら何でもいいんじゃないか。


363:デフォルトの名無しさん
09/03/01 12:54:45
>>359
重要なのは中身さ。
英語ふくめればPythonの濃さは異常だぞ!

濃さ(マニアックさ?)で言えば最強はperlだと思うけどw

364:デフォルトの名無しさん
09/03/01 13:02:14
真にディープなPerl信者は、言語の汚さをどれだけ指摘しても、
全部受け止めた上で「だがそれがいい」って自然体で言ってのけるからな。
指摘に対して必死になりがちなRuby信者やPython信者には無い強さがあるw

365:デフォルトの名無しさん
09/03/01 13:02:31
>>361
やるならforthをやれ

366:デフォルトの名無しさん
09/03/01 13:02:33
basic->asm->Prolog->FORTRAN->Pascal->Lisp->C->PL/I->C++->Smalltalk->Objective-C->Java->Perl->Ruby->PHP->Python->C#->JavaScript<-いまここ

367:デフォルトの名無しさん
09/03/01 13:03:07
ああforthもやったわ

368:デフォルトの名無しさん
09/03/01 13:21:07
やはりパイソンは良いですか
私も読みやすいというのは大きな利点じゃないかとは思ったんですよね
すでにあるものをもう一度一から作るような真似は避けろともありましたし

369:デフォルトの名無しさん
09/03/01 14:24:48
俺のスクリプトのルート
PHP→Python←いまここ
PHPから入ると組み込み関数に頼りすぎて他の言語をやる時に散々なことになる。

370:デフォルトの名無しさん
09/03/01 14:25:04
Pyは初心者にとっては字下げ矯正箸だな
あのインデントが総てにおいて正しい、とまでは流石に言わないが
かなりの場面で通用する、それなりに正しいインデントが身につく

371:デフォルトの名無しさん
09/03/01 17:21:39
いや、そもそもインデントもろくにできないなんて
プログラムできるとかいう以前の問題だろ

俺のスクリプトルート
BASIC→C→C++→VB→VBA→Perl→PHP←いまここ
文字列関数とか連想配列とかどんだけ便利(ry

372:デフォルトの名無しさん
09/03/01 18:29:08
BASIC->C->sh,awk,sed->elisp->Perl->Tcl->Python->Ruby->Java<-今ココ
インデントって...。どんなエディタつかってんだよ
作りたいものがないのに入門したいなら、Cとscheme。異論は認めない。

373:デフォルトの名無しさん
09/03/01 19:11:28
>>372
まあプログラムがどう実行されるかを理解するなら両者が基本だよね。
それ以前のプログラミング手習いの段階なら多分Py,R,JSあたりで打鍵に抵抗なくした方がいいが。

374:デフォルトの名無しさん
09/03/02 09:36:59
レンタルサーバーならさくらインターネットがパイソンもルビーも対応してるようですが
どなたかご利用の方いらっしゃいましたら使用感を教えてください

375:デフォルトの名無しさん
09/03/02 09:43:31
レンタル鯖板いけ

376:デフォルトの名無しさん
09/03/02 09:44:33
RubyもPythonも、インタープリタとして使うだけなら使用感も何もないのでは。
バージョン通りの動きをするだろ。

WEBシステムの実装言語として使うなら、本体よりもむしろFastCGIやmod_**の方の
設定の可否などが大きいはず。そういうことを聞いてるのかな?

377:デフォルトの名無しさん
09/03/02 09:46:38
>>374
レンタルサーバの使用感ならhosting板、
CGIのバックとしての使用感ならwebprog板で訊いて下さい。

378:デフォルトの名無しさん
09/03/02 13:54:25
以下の内容は、某スレに書き込んだものなんだけど、自分には結構面白いやり
取りになったので、いろんな言語でやってみたくなった。

ある大きな連想配列から、いくつかのキーを持つ要素だけを取り出した、部分
連想配列を作りたい。

// PHP版
$request = array('hoge'=>1, 'fuga'=>2, 'piyo'=>...
//これからキーが hoge, fuga の物だけを取り出すとすると、

foreach (array('hoge', 'fuga') as $param) {
$a[$param] = $request[$param];
}

これ、いろんな言語で、なるべく簡潔に書くにはどうしたらいいだろう?


379:デフォルトの名無しさん
09/03/02 14:11:16
>>378
Perlで
my %request = ('hoge'=>1, 'fuga'=>2, 'piyo'=>3);
my %a = (); my @keys = ('hoge', 'fuga');
@a{@keys} = @request{@keys};

ググってサンプルを見ながら適当に。なんかおかしいorもっと簡潔に書けるかも。

380:デフォルトの名無しさん
09/03/02 15:00:14
>>379
Perl って、
・連想配列の引数に、配列を与えられるのか。すげー。
・変数名のプレフィックスが型によって違うから、目がちかちかするのう。

Perl講座 2章 [変数]
URLリンク(www.site-cooler.com)


381:デフォルトの名無しさん
09/03/02 15:02:53
ちなみに、ほかに書き込んだのは

PHP@プログラム板
スレリンク(tech板:341-番)

Pythonのお勉強 Part32
スレリンク(tech板:275-番)

382:デフォルトの名無しさん
09/03/02 15:07:09
JavaScriptは多分愚直にループするしかないかな?
Rubyはなんかメソッドうにょうにょでできそうだけど、俺は知らね。

383:デフォルトの名無しさん
09/03/02 15:08:14
>>380
配列周りでぼんぼことフラット化する癖は……

384:デフォルトの名無しさん
09/03/02 15:32:05
バベル案内
URLリンク(www.aoky.net)

> Perlは夏の台湾の通りの上で破裂したマッコウクジラだ。はらわたがそこら
> 中に飛び散って、車や自転車や歩行者を覆っている。それがPerlだ。本当に
> チャーミングだ 。
(略)
> Perlがリスト処理をできないのは、リストを自動的に平坦にするという救い
> がたく愚かな決断をラリーが初期にしたことによる。そのため(1, 2, (3,
> 4))は不思議なことに(1, 2, 3, 4)に変わってしまう。あなたはこんな風になっ
> てほしいと思ったことはないだろう。しかしラリーがある日たまたま何かの
> 問題でそうなるのが都合が良かったため、それ以来Perlのデータ構造はまっ
> たくの破裂したクジラとなってしまったのだ。


385:デフォルトの名無しさん
09/03/02 15:38:56
>>384
釣れますか?

386:デフォルトの名無しさん
09/03/02 15:55:14
Rubyをよく知らない俺様が通りますよ。

irb(main):001:0> request = {'hoge'=>1, 'fuga'=>2, 'piyo'=>3}
=> {"fuga"=>2, "hoge"=>1, "piyo"=>3}
irb(main):002:0> a = {}
=> {}
irb(main):003:0> ["hoge", "fuga"].map{|x| a[x] = request[x]}
=> [1, 2]
irb(main):004:0> a
=> {"fuga"=>2, "hoge"=>1}

これではforループがmapに変わっただけだな。

387:デフォルトの名無しさん
09/03/02 16:20:28
Rubyは中途半端な私が通りますよ。
request = { 'hoge' => 1, 'fuga' => 2, 'piyo' => 3 }
keys = ['hoge', 'fuga']
a = Hash[*keys.zip(request.values_at(*keys)).flatten]

388:デフォルトの名無しさん
09/03/02 16:26:37
>>387
*keys の * ってなにをするものなの?
良かったら教えて。ググりようがないので。

389:デフォルトの名無しさん
09/03/02 16:38:22
>>388
中を展開すると理解してる。ちょっと違うかもしれないけど。
こうすると分かりやすいと思う。
p [1, 2, 3]
p *[1, 2, 3]

390:デフォルトの名無しさん
09/03/02 16:53:46
グモ

391:デフォルトの名無しさん
09/03/02 16:56:04
>>389
ごめん、やっぱりよく分からない。
p *[1, 2, 3] は動くけど、
*[1, 2, 3] は動かない。どうなってるの?

リファレンスのどこに載ってるか、教えてもらえるととてもうれしい。

URLリンク(www.ruby-lang.org)

392:デフォルトの名無しさん
09/03/02 16:57:47
メソッド呼び出し のところ

393:デフォルトの名無しさん
09/03/02 17:40:45
>>392
> メソッド呼び出し のところ

そういうことか!やっとわかった。ありがとう。
メソッド呼び出し - Rubyリファレンスマニュアル
URLリンク(www.ruby-lang.org)

ちなみに Pythonだと、* で配列の展開、** で連想配列の展開になる。

>>> def hoge(a, b, c):
... return a

>>> hoge(*['a', 'b', 'c'])
'a'
>>> hoge(**{'a':1, 'b':2, 'c':3})
1
4. その他の制御フローツール
URLリンク(www.python.jp)

なるほどRubyにもあったのか。

正直に言うと、Hash[], Enumerable#zip, Hash#values_at とか、全部知らなかった。
Rubyってホントにメソッドが山盛りだな。
まあ俺が無知なだけか。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch