【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】at TECH
【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】 - 暇つぶし2ch711:デフォルトの名無しさん
09/07/18 13:43:50
括弧の省略は

・省略した方が明らかに読みやすいと思われるケースがある
puts("hello ruby")
puts "hello ruby"

・言語内DSLにとっては、省略が効いたほうが有利なことがある
例えばrake(Ruby版make)だと
task :default => [;test]
task :test do
 ruby "test/unittest.rb"
end

などなどの事情もあるわけだから、
たぶんコーディングスタイルのレベルで対応するべき問題ではないか

712:デフォルトの名無しさん
09/07/18 13:44:50
rubyの場合省略不可にするとプロパティ構文とか導入しないとめんどくさそうではある

713:デフォルトの名無しさん
09/07/18 14:12:53
requireだろうがattr_accessorだろうがカッコ付きでいいじゃん、と
割り切ればいいのでは?

714:デフォルトの名無しさん
09/07/18 14:16:26
括弧の省略が嫌いならPythonに改宗すると幸せになれるよ

715:デフォルトの名無しさん
09/07/18 14:17:07
今度は、ブロックにカッコつけるとかなんとかで(r

716:デフォルトの名無しさん
09/07/18 14:24:06
>>711
puts( "hello ruby" )

717:デフォルトの名無しさん
09/07/18 14:26:53
括弧論争は、シェルスクリプトの延長でRuby書いてる人と、
CやJavaの延長でRuby書いてる人との対立な気がする。

718:デフォルトの名無しさん
09/07/18 14:31:32
文字列の出力くらい
"hello ruby"
だけでいいじゃない

719:デフォルトの名無しさん
09/07/18 14:38:39
Pythonの場合「関数呼び出しの括弧を省略できない」というのは
結果的にはそう見えるんだが、その中身を考えるとその表現は違う気がする

まず関数にバインドされた変数/フィールドがあって
括弧を付けるのは、その関数に対して「呼び出し」を試みる操作だからね

括弧をつけると、変数/フィールドにバインドされてるのが
・関数なら、関数の処理を行い結果を返す
・クラスなら、インスタンスを生成しそれを返す
・他にも、呼び出しが可能なオブジェクトにバインドされていればそれぞれの挙動を示す
・呼び出しに対応していないオブジェクトの場合、例外を発生させる

720:デフォルトの名無しさん
09/07/18 14:51:19
()ありの場合は
関数的に使い、かつ引数なし
メソッドチェーン
引数が複数

それ以外のときは()省略。俺はこれがシンプルなルールだし、
可読性も高いと思ってる。
ちなみに俺はC→C++→Python→Rubyの順で習得したけど、結構省略派。
性格的にも学歴的にも理系。

Pythonはint()とかlen()が関数なのにダックタイピングしようとしてる所が好きじゃない。
self、インデントは全然許せるが、インスタンス変数をprivateにすると、self.__var
ってなったりするのが、激しく嫌いかな。あと動的言語なのにglobal宣言とかね。

でも、()を省略したくないような人なら()以外の面でも、
RubyよりPythonの方が好みだろうね。

721:デフォルトの名無しさん
09/07/18 14:53:29
PythonとJSで呼び出し時に括弧が省略できないのは
メソッドが関数の代入されたプロパティとして実装されているから,って認識でOK?

722:デフォルトの名無しさん
09/07/18 14:54:20
括弧省略ルールは、Scalaのが明解だな。
後発だけに。

723:デフォルトの名無しさん
09/07/18 15:04:00
()を省略すると、
f = hogehoge.func
って書いたときに、fが何を表すのか不明になる。

724:デフォルトの名無しさん
09/07/18 15:17:14
そもそも、Pythonは関数・メソッドが完全にファーストクラスだから、
名前が変数名なのか関数名なのかで呼び出す・呼び出さないを
分けられない。
def foo(): pass
bar = foo
del foo
bar()

725:デフォルトの名無しさん
09/07/18 15:17:53
()なしは変数なのか関数なのか、一見でわからなくなるからやめて欲しいわ

726:デフォルトの名無しさん
09/07/18 16:33:49
def __call__():
でなんかなるんだっけ


727:デフォルトの名無しさん
09/07/18 17:32:22
様は読めればいいわけですね。
省略する人は、Lisp嫌いですか?

728:デフォルトの名無しさん
09/07/18 17:41:02
育ちによって、
hoge = func1
を「変数hogeにメソッドfunc1を呼び出した返値を代入する」と読んだり、
「変数hogeに関数func1を代入する」と読んだりするわけだ。

729:デフォルトの名無しさん
09/07/18 20:03:43
「hogeはfunc1と同等」とか「hogeはfunc1と同一」もあるかも知れないぞ

730:デフォルトの名無しさん
09/07/18 20:23:53
Pascalは代入が := で = が同一判定だね
C言語とかと一緒にやろうとすると見事にハマるw

731:デフォルトの名無しさん
09/07/18 20:32:11
>>730
どちらかといえばそっちの方が好みだな。
一般的に = は等号という意味が定着してるんだから
プログラミングにおける代入という新しい概念には新しい記法を与えるのが自然。

正直、代入を'='にしたのはCの負の遺産だと思う。

732:デフォルトの名無しさん
09/07/18 20:35:20
つーてもBASICとかでも = を代入に使うけどな
BASICだと同一判定も = だけどさ

733:デフォルトの名無しさん
09/07/18 21:11:28
FORTRAN 以来の負の遺産だな。

734:デフォルトの名無しさん
09/07/18 23:04:17
>>731
その考えはある意味正しいと思う一方で、
代入操作は比較的頻繁に行われることを考えると
短いトークンを与えようとするのは実用上正しいとも思う

735:デフォルトの名無しさん
09/07/18 23:52:28
確か、C言語で代入に短いトークンを割り当てたのは、
比較より代入のほうが多い、という判断があったからなんだけど、
サンプリングが偏ってた、って何かで読んだような。

736:デフォルトの名無しさん
09/07/18 23:56:54
Perlが出るまでは、~ とかその他記号も空いてた様な気もする
イメージ的に=の要請が強かったのかなあと思う
その頃から別に、代入に=で違和感なかったんじゃね?

737:デフォルトの名無しさん
09/07/19 00:34:02
!=ってのもあるんだから、比較を==にして文字数を合わせた方が収まりが良い

738:デフォルトの名無しさん
09/07/19 00:36:33
>>736
~はbitwise not

739:デフォルトの名無しさん
09/07/19 00:49:53
代入はSmalltalkみたいに、専用の文字(「←」とか)を用意するのがよい。
今なら、Unicodeに入れてもらえばなんとかなるだろ。

740:デフォルトの名無しさん
09/07/19 00:59:00
いらんですよ、そんなもん

741:デフォルトの名無しさん
09/07/19 01:05:03
APLでもやってろよww

742:デフォルトの名無しさん
09/07/19 01:34:37
いや、内部コードUTF-8全盛のこの時代、決して非現実的ではないので、思考停止はいくない

単純に、欧米圏の人間にフォントを入れてもらえばいいだけさね
頑張れMicrosoftおよびその他ディストリビュータ

743:デフォルトの名無しさん
09/07/19 01:36:38
入力が面倒

744:デフォルトの名無しさん
09/07/19 01:40:43
そろそろ欧米圏の人間にも、IMEのなんたるかを知ってもらういい機会になるかもよ
悪平等の見本みたいな意見だがなw
だが、いい加減英語アルファベット+αがグローバルスタンダードと思っていられても困る

745:デフォルトの名無しさん
09/07/19 01:43:25
-> pointer
<- assign

746:デフォルトの名無しさん
09/07/19 01:56:01
すまんが、釣りは昼間にやってくれんかねw

747:デフォルトの名無しさん
09/07/19 02:02:33
夜釣りには夜釣りの良さがあるんだぞ

748:デフォルトの名無しさん
09/07/19 02:09:22
そこでfortressですよ。

749:デフォルトの名無しさん
09/07/19 02:12:39
とりあえず代入は = でいいと思う。
= のどの言語でも、そこには不満ないw

750:デフォルトの名無しさん
09/07/19 02:31:45
ここで比較の=と代入の=と代入の:=がある恐ろしい言語が

751:デフォルトの名無しさん
09/07/19 02:35:23
正格評価と遅延評価で代入演算子が異なる言語もあるでよ

752:デフォルトの名無しさん
09/07/19 03:26:56
= の一般での意味をかえてもらえば解決


753:デフォルトの名無しさん
09/07/19 04:18:37
define変数定義 :=
assign =!
equals =
not equals !=

754:デフォルトの名無しさん
09/07/20 02:45:04
空文字列やゼロが偽って話は聞いてたけど
"0"(ゼロ)って文字列が偽だなんて聞いてねえよ…

755:デフォルトの名無しさん
09/07/20 06:46:43
>>754
PerlとPHPかな。他にもあるんだろうか。
その二つしか使わないおれはなんかそれに慣れちゃったな。

756:デフォルトの名無しさん
09/07/20 11:03:51
===

757:デフォルトの名無しさん
09/07/20 14:33:14
>>756
null === false #=> false
なのでそいつもちょっと。

帯に短しタスキに長しと。(ちょっとちがうか)

758:デフォルトの名無しさん
09/07/20 17:29:17
isset(), empty(), is_numeric()

759:デフォルトの名無しさん
09/07/20 18:16:32
if(!isset($var) || empty($var) || !is_numeric($var)){}

こうでつか?

760:デフォルトの名無しさん
09/07/20 19:45:02
PHP、DSLとしては別に悪い言語じゃないと思うが
ネームスペースとかタイプヒンティングとか大規模開発向きの機能が中途半端なのがなんとも。
タイプヒンティングなんかarrayとオブジェクトだけとかいう謎の仕様だし。
ある程度の規模を越えたところで辛くなってくるんだよなあ。
比較演算が曖昧すぎてつまらんバグ起きやすいし。

761:デフォルトの名無しさん
09/07/20 19:57:14
>>690
関数でもどっちみちソース追うよ。
この手のは最初に入った言語の影響や慣れってのが大きいよ。


762:デフォルトの名無しさん
09/07/20 20:06:37
>>754
真面目にそれ何ていう言語?
もし俺も使ってたら気をつけないと…


763:デフォルトの名無しさん
09/07/20 20:54:16
perlだろ

764:デフォルトの名無しさん
09/07/20 20:55:44
PerlかPHPっていってるそばから…
なんか無性にイラついてきた。
>>762めー!俺は絶対にお前を許さんからな!

765:762
09/07/20 22:19:13
>>764
      iヽ       /ヽ
       | ゙ヽ、    /  ゙i
        |   ゙''─‐'''"    l
     ,/               ゙ヽ
     ,i゙    /         \ ゙
     i!     ●      ● ,l そんなこと言われても
     ゙i,,   *   (__人__)  ,/     わて猫やし…
      ヾ、,,          ,/
      /゙ "         ヽ
    /             i!
  (⌒i    丶  i   !   i!.,
    γ"⌒゙ヽ  l   l  γ'.ヽ
     i     i,__,,ノ   i,__,,ノ_,,丿
     ヽ,_,,ノ"~´ ̄  ̄      


766:デフォルトの名無しさん
09/07/20 22:19:34
鰻まだ売ってるところを教えてくだされ

767:デフォルトの名無しさん
09/07/20 22:20:41
土用はまだじゃなかったっけ

768:デフォルトの名無しさん
09/07/20 22:24:29
猫はどんなプログラム言語使ってんだよ

769:デフォルトの名無しさん
09/07/20 22:24:49
今年は二回有る

770:デフォルトの名無しさん
09/07/20 22:27:11
>>769
おお。知らんかった。thx
URLリンク(ja.wikipedia.org)

771:デフォルトの名無しさん
09/07/21 01:10:07
自分はPerlとCのさわりがわかるくらいだけど、Perlの事が書いてる本をよんだりしてると
今まではPerlが最良の選択肢出会ったけど、今後はRubyにシフトするであろう
みたいなことが書いてあるのを何度かみた。
Rubyってそんなにいいの? なにがいいの?
自分はWeb屋だから、Rubyがまだ選択肢に入らないんだけど、選択肢に入るようになるのであれば勉強しておきたい。

Web屋に対してのRubyの利点を教えてくれ

772:デフォルトの名無しさん
09/07/21 02:29:33
Python>Ruby>PHP>Perl

773:デフォルトの名無しさん
09/07/21 06:09:53
WebとしてのRubyも廃れつつあるんじゃないか?と思う。
ちょっと前になにがなんでもRoRってノリな時代があったのは確かだが。

日本だとやっとPythonが地味に伸びてきているし、世界的にあいかわらずPHPは多いし。

774:デフォルトの名無しさん
09/07/21 06:23:15
>>772
その順位は結構妥当だなと思ってしまった。
PHPを叩くPerlerが多いけど、PerlよりPHPのほうがまだましというのが正直な感想。

775:デフォルトの名無しさん
09/07/21 12:30:46
>>774
なんでやねん。

{Perl,Python}>Ruby>>PHP
だろ。jk


776:デフォルトの名無しさん
09/07/21 12:34:43
Perler以外の全方位から叩かれるPerl、という感じだな。

777:デフォルトの名無しさん
09/07/21 12:36:59
しかしPythonが不自然なまでに叩かれないのを、Python自体の功績のみと思うべからず
知らなきゃ叩けない

778:デフォルトの名無しさん
09/07/21 12:42:41
Pythonは微妙だなあ。
ウェブは PHP/Java, ちょっとしたツールは Java, 性能要求が厳しれば C/C++ という鉄板の中で立ち位置がよくわからない。

779:デフォルトの名無しさん
09/07/21 12:44:08
Googleが使ってる→普及させる気満々

780:デフォルトの名無しさん
09/07/21 13:14:07
>>771
Web屋限定じゃないけど、単に時代遅れになってるってことじゃないの?
テキストの読み書き検索なんかに特化していたため、
単純な一個の掲示板を作るのには便利だったけど、
スカラー、配列以上のデータ構造になるとリファレンスを勉強しないと使えない。
オブジェクト指向になると「blessって何?」みたいな無理矢理な増築でわけわかめになってる。

781:デフォルトの名無しさん
09/07/21 13:19:12
Pythonは良くも悪くも中庸だと思うよ
プログラミング言語、と呼ばれるほどガチガチでもなく
スクリプト言語、という言葉から連想するほどテキトーでもない

>775
PHPは言語として問題があってもWeb特化っていうアドバンテージがあるし
PythonはPerlとは全く別方向のスクリプトとして需要はあるだろう
Rubyが名前通りPerlの進化系として使えるから、Perlの需要って過去資源だけだと思うんだが

782:デフォルトの名無しさん
09/07/21 15:46:31
Rubyの場合、松本からしてPHPを叩きまくってるだろ。

783:デフォルトの名無しさん
09/07/21 15:48:32
Rubyは明らかにRailsのブームが終了したな。そもそもウェブの開発に時間がかかる部分は、言語機能でどうにかなるようなもんじゃない。

784:デフォルトの名無しさん
09/07/21 15:50:43
まあ、自由に言語を選択出来る場合なら、PHPを選ぶはずはない罠。PHPは話にならない。

785:デフォルトの名無しさん
09/07/21 15:53:26
Ruby鎮静化の責任の一旦は日本のユーザーにもあると思うけどな。
自国製の言語をまともに評価できず、海外に評価されて逆輸入の形でしか受けいれなかった。
結局、そうこうしてるうちにユーザー文化が十分に育まれず
十分勝機のあったPythonの侵食を許してしまった。

786:デフォルトの名無しさん
09/07/21 16:10:56
早く……しないと間に合わない系の話に釣られない民度の高さを評価すべき

787:デフォルトの名無しさん
09/07/21 17:39:37
ウェブは Python, ちょっとしたツールは Python, 性能要求が厳しれば Python という立ち位置

788:デフォルトの名無しさん
09/07/21 18:05:10
Web - PHP
適当 - Perl
速度 - C
綺麗ならよし - Python
好き勝手やれ - Ruby
お前の世界だ - Lisp
分散処理なら - Earlang
とりあえず新しい - D
Wolfram - Mathematica
俺は嫌い - Java
Javaとくっつきすぎな - Scala
なんか面白そうな - OpenCL
なんじゃそりゃ - white space

789:デフォルトの名無しさん
09/07/21 18:39:35
>>781
>Rubyが名前通りPerlの進化系として使える
使えない。

がんばってなんとかそのように使う人も
いるだろうが、そんな人ばかりではない。


790:デフォルトの名無しさん
09/07/21 18:41:52
>>787
s/Python/Perl/g

RubyとPHPはちょっとキツいな。w


791:デフォルトの名無しさん
09/07/21 18:45:26
Perlが普及してしまったのは歴史の誤ちだよなあ。
unixのシェルスクリプト強化版みたいなポジならよかったのに。
ウェブの普及がもう少し遅くてCGIの言語選択肢が広ければ、
いや他の言語がもう少し早く登場してくれていれば…と悔やまれてならない。

792:デフォルトの名無しさん
09/07/21 19:25:06
>ウェブの普及がもう少し遅くてCGIの言語選択肢が広ければ
>いや他の言語がもう少し早く登場してくれていれば

どっちも起こらなかったと思う
Perlが糞だったからこその展開

793:デフォルトの名無しさん
09/07/21 19:27:29
Webの発達にperlの発達がついていけなかった。
perlの発達を待つよりも、pythonやrubyに乗り換える方が早くて楽だった。

794:デフォルトの名無しさん
09/07/21 19:32:14
Pythonってそんなにいいかなあ?俺はRubyのが好み。
Google言語ということもあってそこそこ勉強したが、
オブジェクト指向やり始めると途端にに気持ち悪くなるから好きになれん。
ってか、一度Rubyistになった人なら、そうそうPythonに寝返ることはないと思った。

PHPなら普通に使うけどね。

795:デフォルトの名無しさん
09/07/21 19:33:17
>>786
日本人は釣られる時は世界屈指に釣られまくるよ。
世界よりも国益よりも善悪よりも、周囲の顔色が一番大事な民族性だから、
一旦周囲が特定の空気に包まれたら、その集団ヒステリーたるや物凄い。
一方、今はまだ周囲に無い世界の潮流とかの話になると、お互いに対する様子見で牽制しあって
なかなか動かない。
これを「釣られない」「民度の高さ」と表現すれば聞こえはいいけど、現代ではこの民族性は
国際競争における宿命的な負けフラグにもなってるな。

796:デフォルトの名無しさん
09/07/21 19:45:23
Pythonに寝返ったRubyistですが何か質問ありますか?

797:デフォルトの名無しさん
09/07/21 19:47:30
>>796
何千行、どんなコード書いた?

798:794
09/07/21 19:56:15
まじかーいw
まあ実は俺はPy=>Rubyなんだが。

Pythonのどういうところが好きで、Rubyのどういうところが嫌いか聞きたい。

799:デフォルトの名無しさん
09/07/21 20:32:12
ちょwRubyの本買ってきた俺ボコボコの予感www

800:デフォルトの名無しさん
09/07/21 21:10:11
書き始めはRubyが楽なんだけど
ある程度の長さになるとPythonで書こうかなって思うなぁ

Perlは使い道が思いつかない

801:デフォルトの名無しさん
09/07/21 21:37:24
Pythonはモジュールが書きやすいと思う。
でも、len()とかって未だ慣れないなぁ。


802:デフォルトの名無しさん
09/07/21 21:46:54
俺も変数名を打った後に「ああlen()か…」って思いながら←キーを数回叩く
Python的発想からすると戻り値が数値であることをlen()が保証してくれるってのは
素直に好きなんだけど、書く時には相変わらず慣れない

803:デフォルトの名無しさん
09/07/21 21:50:26
URLリンク(d.hatena.ne.jp)

804:デフォルトの名無しさん
09/07/21 22:19:03
>>> s = 'python'
>>> len(s)
6
>>> s.__len__()
6
>>> 'python'.__len__()
6


805:デフォルトの名無しさん
09/07/21 22:21:58
つーか、Blenderとか3DソフトはやけにPython。

806:デフォルトの名無しさん
09/07/21 23:22:48
速度が求められてるからじゃないの

807:デフォルトの名無しさん
09/07/21 23:30:51
速度を重視するならLLは有り得ないと思う
単に拡張を取り入れる時点でpython以外に
十分に成熟している
扱いやすい
埋め込みが楽な言語
が無かっただけではないかなとか適当な事を言ってみる

808:デフォルトの名無しさん
09/07/22 00:27:28
Pythonは昔のTclのように拡張言語としても使われ出してるね。

それから、Webとの親和性が高いアプリの拡張には、JavaScriptなどのECMAScript系が多い印象がある。
EmacsがLispでどんどん拡張できたように、MozillaもJavaScriptで拡張できたりしてるし。

あと、RubyもJRubyとかIronRubyとかあるから、
実は同じようなことが簡単にできるんじゃないかと思う。

809:デフォルトの名無しさん
09/07/22 01:29:20
安定しているからだよ。
言語仕様も、埋め込みや拡張に使うCのAPIも、Pythonは
Rubyよりもバージョン間の互換性に気を遣っているし、
バージョン間で動作が異なる場合もできるだけ以降を支援する。

書くときの気持ちよさはRubyが上でも、書きやすさは大して差が無く、
読みやすさ・メンテのしやすさ・バージョンアップへの対応しやすさは
圧倒的にPythonが上だもん。
書くときの気持ちよさも、PythonがあえてRubyのような書き方を採用しない
合理主義を理解するとRubyがアホらしくなるし。

810:デフォルトの名無しさん
09/07/22 01:55:30
>>809
なんか、今までの中で一番納得

811:デフォルトの名無しさん
09/07/22 02:19:53
ウェブの発達って、何も変わってないジャン。HTTPもHTMLも10年前も今も変わってないんだから。
Ruby(=Rails)が一時期流行ったのは、Web2.0とかのしょうもないドットコムバブルの再来願望に乗っかっただけだろ。

812:デフォルトの名無しさん
09/07/22 02:23:30
なんもわかってないな

813:デフォルトの名無しさん
09/07/22 02:23:35
HTML ver5も出るし、何も変わってないわけじゃーないけどね
Ajaxもあるし、

814:デフォルトの名無しさん
09/07/22 02:42:14
HTML5だろうがXHTMLだろうが、サーバ側の言語から見れば何の違いもないから。Ajaxは最後のアウトプットがHTMLからJSONだとかXMLだとかに変わっただけ。

815:デフォルトの名無しさん
09/07/22 02:49:02
つまり、開発側も変わってるし
ユーザー側が見るものも変わってるって言ってるんだろそれ?

816:デフォルトの名無しさん
09/07/22 04:21:34
>>804
$ cat test01.py
class MyClass:
        def __len__(self):
                return 'Hello'
obj = MyClass()
print obj.__len__()
print len(obj)
$ python test01.py
Hello
Traceback (most recent call last):
  File "test02.py", line 6, in <module>
    print len(obj)
TypeError: __len__() should return an int

817:デフォルトの名無しさん
09/07/22 06:56:43
>>809
>書くときの気持ちよさはRubyが上でも、書きやすさは大して差が無く、
>読みやすさ・メンテのしやすさ・バージョンアップへの対応しやすさは
>圧倒的にPythonが上だもん。

そんなことないけどなあ。両方使った素直な感想として。
おまえ、Pythonしかろくに使ったことないだろ。

Pythonのほうが読みやすくてメンテのしやすいという具体的な例を出してみな。

818:デフォルトの名無しさん
09/07/22 07:21:32
Pythonを使ってる人にとって、Perlの亜流は不要という。

819:デフォルトの名無しさん
09/07/22 07:38:44
>>817
Pythonの方が、メソッドチェーンみたいな一行にゴチャゴチャ詰め込む文を
誰も使わない。a = b は必ず a に b を代入しているのでbが関数かどうか
調べなくて良い。名前空間が大事にされているので、何かの require したら
勝手に既存の型にメソッドが追加されてしかもそのメソッドがどのrequireから
持ち込まれたのか判らないって事がない。

Rubyでも判りやすく書けるとかじゃなくて、Pythonは判りやすく書く方法が
文化として定着しているため、ワザと読みにくくされていない限り誰のコード
でも読みやすい。

820:デフォルトの名無しさん
09/07/22 07:43:30
=> が嫌い

821:デフォルトの名無しさん
09/07/22 08:17:18
Rubyからすると self.__ のせいでどうしても長くなりがち
メソッドチェーンを使わないんじゃなくて長くなるので使えないと見えてしまう

最後の2行は、Rubyもそうだと思うが
「○○でも判りやすく書ける」なんて言葉、Perlでぐらいしか聞かない

822:デフォルトの名無しさん
09/07/22 08:23:34
おまいら、Lispを忘れてませんか?


823:デフォルトの名無しさん
09/07/22 12:09:37
LispはLispで需要があるからいいの。
新たなパラダイムが生まれても、自分で実装できるし

824:デフォルトの名無しさん
09/07/22 13:04:43
Lispはなんか別格だよね

825:デフォルトの名無しさん
09/07/22 13:16:00
別格はforth


826:デフォルトの名無しさん
09/07/22 13:23:54
Lispネタは前も出たけど、あまり盛り上がらなかった。

827:デフォルトの名無しさん
09/07/22 13:35:24
Lisp系言語が活用されてるのって、Emacs Lispくらいしか思いつかない。
Lisp製の有名アプリなんてとんと聞かないし。
あとは研究用の教材くらいかなあ。

828:デフォルトの名無しさん
09/07/22 13:36:44
AutoCAD を知らんのか

829:デフォルトの名無しさん
09/07/22 13:45:56
マイクロソフトのエイジオブエンパイアは
NPCの作成言語にlispを使っていたと思ったが

830:デフォルトの名無しさん
09/07/22 14:00:38
一方Civilization4はPythonを使った

・・・いやあれはまあUI絡みの部分が多いがな

831:デフォルトの名無しさん
09/07/22 14:46:48
LLがLispのLか

832:デフォルトの名無しさん
09/07/22 14:57:39
>>827
GIMPのAddinはLispでは?

833:デフォルトの名無しさん
09/07/22 16:01:15
単に 827 の無知でした (^-^)

834:デフォルトの名無しさん
09/07/22 16:25:30
まあ、応用例がしょぼいのは否めないが。
PHP -> ウェブデファクトスタンダード
Python -> Google 社内デフォルト
Ruby -> Ruby on Rails
Perl -> CGI の権威
Lisp -> AoE の NPC 作成言語

835:デフォルトの名無しさん
09/07/22 16:30:01
>>834
恥ずかしくないか?

836:デフォルトの名無しさん
09/07/22 16:35:41
むしろ俺の中でPerl/CGIは
Perlの印象もCGIの印象も悪くしたイメージしかない

837:デフォルトの名無しさん
09/07/22 16:37:19
I think so.

838:デフォルトの名無しさん
09/07/22 16:40:05
WebでのJavaScriptと同じ現象?

839:デフォルトの名無しさん
09/07/22 17:25:21
いや、どちらかというとラーメン屋に置いてある漫画本と同じ現象。

840:デフォルトの名無しさん
09/07/22 17:37:45
>>819
>Pythonの方が、メソッドチェーンみたいな一行にゴチャゴチャ詰め込む文を
>誰も使わない。
べつに1行でもいいんじゃない?読みやすければ。
Rubyは1行で書いても十分読みやすいよ。
それにPythonだって内包表記だっけ?あれ使って1行にごちゃごちゃ書いちゃうじゃん。

> a = b は必ず a に b を代入しているのでbが関数かどうか
>調べなくて良い。
これは意味分かんない。だれか解説して。

> 名前空間が大事にされているので、何かの require したら
>勝手に既存の型にメソッドが追加されてしかもそのメソッドがどのrequireから
>持ち込まれたのか判らないって事がない。
これは善し悪し。スタイルの違いだけ。
オープンクラスを思いっきり利用したほうが便利なことも多いことはRubyを使えばわかるんだけど、
それがわかってないみたいだからこいつはRubyをちょろっとかじっただけみたいだな。

>Rubyでも判りやすく書けるとかじゃなくて、Pythonは判りやすく書く方法が
>文化として定着しているため、ワザと読みにくくされていない限り誰のコード
>でも読みやすい。
べつにRubyでもほかの言語でも同じだと思うけど。なんでPythonだけが特別だと思うんだろう。

841:デフォルトの名無しさん
09/07/22 17:44:03
俺を怒らせたね?

842:デフォルトの名無しさん
09/07/22 18:06:32
>>840
おそらく自前で関数を書いたり他人の書いたスクリプトのメンテやったことないのかと
全部判ってるって状態での開発?そんな楽な職場あるんだったら就職したいわぁ

843:デフォルトの名無しさん
09/07/22 18:11:30
趣味でも仕事でも使える素敵な言語
それは


844:デフォルトの名無しさん
09/07/22 18:11:57
C++

845:デフォルトの名無しさん
09/07/22 18:34:22
ウェブの場合、コンテンツが大事なんであって、どんな言語使おうとコンテンツに影響はないんだよな。
結局HTMLを吐くだけだから。
だから、PHPみたいな明らかなウンコ言語が一番普及してる。

846:デフォルトの名無しさん
09/07/22 18:35:19
RubyはPythonに比べて汚くて見づらいねって話だろ?そりゃそうだろ。

847:デフォルトの名無しさん
09/07/22 18:37:39
スタイルだけならアセンブラが一番キレイ


848:デフォルトの名無しさん
09/07/22 18:45:50
しかし、HTMLにコードを埋め込めるのが売りだったはずのPHPで、
それを全否定するかのようなフレームワークが主流になっているのが、どうしても理解できない。
テンプレートすらPHP的な書き方じゃないのが主流になってるし。
それなら結局Webでも言語関係無くない?と思うんだけど、PHP信者の意見を聞きたいわ。

849:デフォルトの名無しさん
09/07/22 18:46:23
>>845

「○○の場合、××が大事なんであって、どんな△△使おうと××に影響はないんだよな。」

これコピペパターンに登録しとくか。

850:デフォルトの名無しさん
09/07/22 18:52:09
>>848
言語的な扱いよりも環境作りやすい、移植しやすいとかそういう用途を優先してるんじゃね?

851:デフォルトの名無しさん
09/07/22 18:53:17
>>848
HTMLにPHPコード直書きだと
触れないって怒る自称Webクリエイターがいるから

だからプログラマーもそれじゃ触らせないよってことになって今の状態


852:デフォルトの名無しさん
09/07/22 18:54:41
>>848
MVC

853:デフォルトの名無しさん
09/07/22 18:57:30
>>849
詭弁のガイドラインですね

>>845 はいいこといってるんだけどなぁ


854:デフォルトの名無しさん
09/07/22 19:00:43
RubyとPythonで読みやすさ論争やっても宗教論争にしかならないけど、
言語仕様の安定性は普及度の違いにかなり影響してそうだな。
後は英語の一次情報充実度合いとか。

855:デフォルトの名無しさん
09/07/22 19:00:52
>>848
俺もフレワ開発してるが、ある程度の規模になると PHP のコード埋め込みなんか大して使えん
というかまず使わない。ほぼ <?php の中で echo だわ。無理に埋め込み式にすると
色んな言語触ってる奴はスタイル的に違和感覚えるしそれほどメリットがあるわけでもない。
テンプレートはある程度内容を制御できるのとキャッシュとか細かい機能があるから
結局はSmartyみたいなエンジン使う。だから言語機能としてPHPである必要はない。

それでもPHPを使うのは普及度が高くてデプロイに手間がかかることが少ない、
ウェブに特化した関数やらライブラリやらが充実しててそこそこ保守されてる、
そこそこ性能も悪くない、情報もそこそこある、
など積極的にというより無難さによるところが大きい。
欠陥は多いが、かといってわざわざ乗り換えるほどのスクリプト言語もない。

856:デフォルトの名無しさん
09/07/22 19:01:32
>>853
そうか?

> コンテンツが大事なんであって、どんな言語使おうとコンテンツに影響はない

> だから、PHPみたいな明らかなウンコ言語が一番普及

の間に何の論理的な繋がりもないぞ。
何が「だから、」なんだか。

857:デフォルトの名無しさん
09/07/22 19:02:33
>>849
登録してもいいと思うけど、それって単に物事の切り込み方としての定番であって、
成り立っていれば有効、成り立っていなければ無効、っていうごく普通の話だよ。

858:デフォルトの名無しさん
09/07/22 19:04:01
>>855
極端な話、Smartyを使うためにPHPを使うという逆転が起こってても不思議はないかもね。
他の言語のテンプレートエンジンって、露骨に不便なの多くね?

859:デフォルトの名無しさん
09/07/22 19:17:43
> コンテンツが大事なんであって、どんな言語使おうとコンテンツに影響はない

> だから、PHPみたいな明らかなウンコ言語が一番普及
は矛盾しないってことが言えるだけ

860:デフォルトの名無しさん
09/07/22 19:45:31
Web開発で何を選んでも同じだから、単価の安いPHPを使うってだけだな。

861:デフォルトの名無しさん
09/07/22 19:59:34
>>842
Rails使ってるけど、Railsなんて既存のクラスに大量のメソッドを追加している。
でもそれが便利だから、世界中のみんなが喜んで使ってるし、別に困ってない。

なんかPythonのやり方しか知らないやつが他の言語を批判してるだけじゃん。

862:デフォルトの名無しさん
09/07/22 20:57:38
コンテンツ云々の方々は>>1を100回読むべき

>ここでいう「軽さ」はプログラマの負担の軽重を指し、

863:デフォルトの名無しさん
09/07/22 21:12:06
>>861
大量に作って、大量に捨ててるんじゃないの? >rails

864:デフォルトの名無しさん
09/07/22 21:19:41
Railsの互換性のなさは数年後、地獄を迎える

865:デフォルトの名無しさん
09/07/22 21:19:44
最初に書くのは楽でも、山ほどテストコード書かなきゃならないのなら、
プログラマの負担が軽いとは言えないのでは?


866:デフォルトの名無しさん
09/07/22 21:22:34
>>864
そのうち収束するんじゃないの?

867:デフォルトの名無しさん
09/07/22 21:24:33
>>865
Javaで書いたからってテストコードの量が減る訳でもないんじゃないか

868:デフォルトの名無しさん
09/07/22 21:25:22
PHPの関数名の節操の無さも限界越えてるけどな

869:デフォルトの名無しさん
09/07/22 22:35:46
実際に使ってる奴がいるからとかいう世俗的な話には興味ないな。
純粋に言語の仕様で戦って欲しい。

それが新しい言語の礎となる。

870:デフォルトの名無しさん
09/07/22 22:41:25
世俗的を排除すると、究極的には
0
とかでいいじゃん。0がすべて。0以外は必要ない。
この言語が出来ること、言語の目的は、0の存在を示すこと。

871:デフォルトの名無しさん
09/07/22 23:00:56
最近のアイちゃんは本当に賢いな

872:デフォルトの名無しさん
09/07/22 23:05:42
言語の進化って書き手が楽になるようにとか、保守性あげようとかでしょ?
何が必要なんでしょうね

873:デフォルトの名無しさん
09/07/22 23:10:45
>>827
>あとは研究用の教材くらいかなあ。
Maximaとか?

874:デフォルトの名無しさん
09/07/23 08:24:53
>>863,864
話をそらすな。
Pythonは名前空間を大事にしているけどRubyはそうじゃないからRubyよりPythonのほうが
優れている、という主張に対する反論なんだから、Railsの互換性の話とかは今は関係ないだろ。

もとの話はこれ↓
>>840
>> 名前空間が大事にされているので、何かの require したら
>>勝手に既存の型にメソッドが追加されてしかもそのメソッドがどのrequireから
>>持ち込まれたのか判らないって事がない。
>これは善し悪し。スタイルの違いだけ。
>オープンクラスを思いっきり利用したほうが便利なことも多いことはRubyを使えばわかるんだけど、
>それがわかってないみたいだからこいつはRubyをちょろっとかじっただけみたいだな。


875:デフォルトの名無しさん
09/07/23 08:28:41
で、これって結局どうなった?

>>840
>>Pythonの方が、メソッドチェーンみたいな一行にゴチャゴチャ詰め込む文を
>>誰も使わない。
>べつに1行でもいいんじゃない?読みやすければ。
>Rubyは1行で書いても十分読みやすいよ。
>それにPythonだって内包表記だっけ?あれ使って1行にごちゃごちゃ書いちゃうじゃん。

Pythonでも内包表記つかえばRubyみたいにごちゃごちゃして読みにくい?
それともPythonなら1行にごちゃごちゃかいてもRubyより読みやすい?

876:デフォルトの名無しさん
09/07/23 08:32:30
>オープンクラスを思いっきり利用したほうが便利なことも多いことはRubyを使えばわかるんだけど、
Railsの互換性の話とかは関係あるだろ


877:デフォルトの名無しさん
09/07/23 09:51:56
>>875
Pythonでは普通内包表記を使うことですっきり書き下せるときだけ
内包表記を使うから、複数の文に分けた方が判りやすい文を
ゴチャゴチャ詰め込んでるの見たこと無いよ。

Rubyは書くときの楽しさ、Pythonはすっきりさ重視。

878:デフォルトの名無しさん
09/07/23 09:56:02
┐(´д`)┌

879:デフォルトの名無しさん
09/07/23 09:56:28
>>876
Python系のバージョン間の互換性を大切にする文化は、
名前空間を大事にしているから可能って部分あるよね。

urllib がダメになったら urllib2 作ったりw
で、Deprecation Warningを消せた人のみPy3kにアップグレード可能

880:デフォルトの名無しさん
09/07/23 10:28:30
Python++がほしいなあ。

881:デフォルトの名無しさん
09/07/23 11:51:34
Rubyってなんで楽しいの?

882:デフォルトの名無しさん
09/07/23 11:59:43
楽しくはないんだけど、
言語仕様の貧弱さを「楽しさ」という曖昧な要素で補うPR戦略を取ったところ、
いつのまにか既成事実化してしまい、それに乗せられたユーザーが残って共同幻想を形成している。
というのが最新の分析。

883:デフォルトの名無しさん
09/07/23 12:01:04
足りないものは自分で作れっていう死ね

884:デフォルトの名無しさん
09/07/23 12:39:59
Rubyは楽しくないと言うと
周囲に「分かっていないなぁ」と馬鹿にされるので
「楽しいです」と言ってます

885:デフォルトの名無しさん
09/07/23 12:45:04
>>884
Rubyの「楽しい楽しい詐欺」は非常に巧妙に日本人的なユーザー心理を突くんだよね。
周りがそういってるからなんとなく、みたいな。
10人Rubyが楽しいという人がいたら、そのうち8,9人は884みたいな人だと言ってもいい。
ある意味PR戦略としては高く評価できる。

886:デフォルトの名無しさん
09/07/23 13:02:47
>>840
Rubyのメソッドチェーンで読みにくいと思ったことはないんだけど、具体的に
どんなコードで読みにくいと思ったの?


887:デフォルトの名無しさん
09/07/23 13:04:12
おまいら
パイチョンの日本語処理はどんな具合ですか?


888:デフォルトの名無しさん
09/07/23 13:24:54
衆議院議員をめざしている人が、
本当のところどう思っているのか、
きいてみよう。
URLリンク(moderator.appspot.com)
"名前を連呼するだけの選挙宣伝カーを、「スパム認定」して禁止しませんか?"
Lambda  


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