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


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

【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】



1 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 10:48:30 ]
最強のLL=軽量プログラム言語は、どれよ?

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

■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

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

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

■過去スレ
【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1238720336/
【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】
pc12.2ch.net/test/read.cgi/tech/1234635513/
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1215319832/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1209289408/
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1188997302/

52 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 02:11:05 ]
>>50
だから何?

向き不向きならどんなものにもある。

53 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 06:40:07 ]
>>52
だから、「何でもやりたい」ならjavaは別段向いてないのではということ。
(というか非常に向いていない)

個人がやるなら、クライアントアプリか、WEBアプリ、
あるいは、Excelやファイル処理などの簡易なマッチング処理・置換の類、
が最もありがちなのではないかと思われるが、
それら全てにjavaは凄まじく向いていない。

個人が1人でやる場合にjavaが向いているのは、iアプリぐらいかw

54 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 08:39:49 ]
WebにJavaが向いてないとかすげー理論だな

55 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 09:08:47 ]
サーブレットとクライアントとあると思うが。

サーブレットの場合はJavaの利点がよく見えないし、クライアントは
Flashに押され気味だし。

56 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 09:13:30 ]
は…はぁ…
そうですね…

次の方どうぞ

57 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 10:09:12 ]
>サーブレットの場合はJavaの利点がよく見えないし

だったらPerlやPHPだと利点ありまくりなのか?


なんでもやりたいとか言うならPythonやC++くらいでたいていの事はできると思う。

とは言え職業プログラマならJavaやC++くらいできんと話にならん気がするが。

58 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 10:34:10 ]
>>53
せっかくなので、あなたがオススメする

・クライアントアプリ
・WEBアプリ
・Excelやファイル処理

それぞれのオススメ言語おしえてくださいな

59 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 11:02:27 ]
>>58
PHP
クライアント: ×、 Web: ○、Excelやファイル処理: ×

Perl
クライアント: ×、 Web: ○、 Excelやファイル処理: ○

Ruby, Python
クライアント: ○、 Web: ○、 Excelやファイル処理: ○

PerlやPHPでGUIのクライアントアプリ作る人ってあんまりいないね。
Ruby、Python は汎用言語だから全部こなせるけど、GUIのbinding が
より整備されているのは Python だったりする。
他にも OpenOffice.org ではマクロがPythonで書けたりする。

60 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 12:12:51 ]
何でRubyとPython一緒にするかな
Pythonはガチだけど、RubyはGUIクライアントだと×か△ぐらいじゃねえか?



61 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 12:17:12 ]
いやだから、GUIクライアントを簡単に作りたかったらC#でもJavaでも使えって。
中身のコードに関しても、JavaはともかくC#ならかなりコーディングの負荷は軽いぞ。
Windows限定では困るGUIクライアントを本当に作りたいの?

GUIってだけでスレチな気がすごくする。

62 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 12:42:56 ]
GUIが必要になる状況って考えてみると、作ったツールを
プログラムやPCに疎い人間に使わせるときくらいだよなぁ。
自分で使うツールで必要になることって滅多にない。

63 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 12:45:09 ]
PHPだとWinBinderとかあるけどな
適当なIDEが無いんでデバッグがしずらくて1週間で投げたけど

64 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 14:02:28 ]
DropBoxのクライアントやBitTorrentのクライアントはPythonでできた
GUIプログラムだよ。

GUIプログラムって、よほどそのツールキットに精通していない限り
APIリファレンス見て、「こう設定したら期待する動作になるのかな?」
って試しながらプログラム書くことが多くて、その時は IPython という
強力なインタラクティブシェルを使って試しながらプログラムが書ける
Pythonは強い。

65 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 14:07:21 ]
>>64
TortoiseHgもどうやらPythonですな。
UNICODEまわりがまだメタクソだけど、かなりよい感じ

66 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 14:14:43 ]
>>65
Unicodeまわりがメタクソなのはhgの仕様だからなぁ。
ファイル名はバイト列ってフザケてるのかと。

bzrはコマンドライン引数でファイル名を渡す部分でWindowsでは
ファイル名をUnicodeにできなかったけど、次のbzr1.16では
コマンドライン引数をGetCommandLineW()を使って処理するように
なるからそれに対応するtortoisebzrもそれを使う方向に進んでる。

67 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 14:23:47 ]
素人が前スレとここまで読んで判定すると、Pythonの圧勝です

68 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 18:19:11 ]
ちょっと見たけど{}がない分いいかも、と思ったが
行末に:付いたり付かなかったり意味不

69 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 19:20:30 ]
>>68
行末に : が付くのは、新しいブロックが始まる前(=インデントが増える
直前)で統一されていると思うけど?

70 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 23:24:24 ]
なんで文法がVBで、出来ることがC++っつう理想言語が出来ないんだろうね?
if i=0 then j=0 else j=1;
これくらい共通にしろっての
インデントも{}も==も:も、なんで無駄なものを付けたがるんだ?



71 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 23:27:43 ]
Webは技術よりもコンテンツだからな。んだからWebスクリプトプログラマーなんてアニメーター
同様カス扱い。

72 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 23:28:41 ]
英語とドイツ語でこれはペンですくらい共通にしろって言ってるようなもんだぞ

73 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 23:56:09 ]
>>70
文法がVBはやだなあ

Sub Hoge
End Sub

For i=0 to 10
Next

If a = 0 Then
b = 1
Else
a = 0
End If

どの辺がどう無駄のない文法なのかkwsk

74 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 00:47:01 ]
BASICから覚えてきたはずなんだが、今見ると区切りが無くて見づらいな

75 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 02:36:59 ]
C#でいいんじゃない。

76 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 03:45:31 ]
一口にBASICっつーても色々方言があるけどな

77 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 03:57:05 ]
10 CONSOLE,,,1
20 CLS 3
30 X=INT(RND(1)*7+1)
40 Y=INT(RND(1)*7+1)
50 Z=INT(RND(1)*7+1)
60 LOCATE 10,10:COLOR X:PRINT X
70 LOCATE 15,10:COLOR Y:PRINT Y
80 LOCATE 20,10:COLOR Z:PRINT Z
90 IF INKEY$=" " THEN GOTO 100 ELSE 30
100 IF X=Y AND Y=Z THEN PRINT "OOATARI!!":END
110 IF X=Y OR Y=Z OR Z=X THEN PRINT "ATARI!":END

…いや、ネットに転がってたからw 懐かしい。
そのうち、25 とか 105 とか の行番号で処理を差し込んだりするんだよなこれ。

78 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 04:15:16 ]
N88あたりか、それ?
懐かしさと同時に、読みにくさも思い出すなw

今のBASICの規格だとIF〜END IFやDO〜LOOPはサポートすることになってるし
WHILE〜WENDはその後のほとんどのBASICがサポートするようになったし、VBもEnd Ifを持ってるのもあって
今のBASICならGOTOで書いたりはしないだろうけど

79 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 06:34:21 ]
>>69
Pascal(Delphi)の then とか do だと思えば納得ですな。
しかし、Rubyとか慣れてると、なんでいらないところにいるのん?と思わんこともある

80 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 06:36:09 ]
>>73
Rubyっぽくしたら落ち着くのでは?

sub hoge
end

i.times(10)

next

if a == 0
 b = 1
else
 a = 0
end



81 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 06:38:33 ]
ぼくがJavaのひとに「ガツン」と申し上げられて思ったこと - 梅雨ですな - ずっと君のターン
d.hatena.ne.jp/technohippy/20090613#codes


Google App EngineのGreetingモデル定義 の Pythonコード

from google.appengine.ext import db

class Greeting(db.Model):
author = db.UserProperty()
content = db.StringProperty(multiline=True)
date = db.DateTimeProperty(auto_now_add=True)

一方Javaは…

package guestbook;

import java.util.Date;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import com.google.appengine.api.users.User;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Greeting {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;

82 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 06:39:22 ]
    @Persistent
    private User author;

    @Persistent
    private String content;

    @Persistent
    private Date date;

    public Greeting(User author, String content, Date date) {
        this.author = author;
        this.content = content;
        this.date = date;
    }
    public Long getId() {
        return id;
    }

    public User getAuthor() {
        return author;
    }

83 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 06:40:06 ]


    public String getContent() {
        return content;
    }

    public Date getDate() {
        return date;
    }

    public void setAuthor(User author) {
        this.author = author;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public void setDate(Date date) {
        this.date = date;
    }
}

Python圧倒的すぎワロタ

※インデント崩れたスマソ・・・

84 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 06:53:15 ]
言語思想が違うから一概にどーこーと言うのはないが、
Pythonは実用主義な言語だからそういうモノだと思うしかないな。

Javaのコードも実際は補完がバリバリ効くから、コードを打つのは苦痛では
ないだろうけど、コードの可読性でPythonに勝てる言語はそうそうないワケで。

85 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 07:25:28 ]
>79
あのコロンのお陰で、エディタの補助にありつけたりするから要らないとは言えないなぁ

86 名前:デフォルトの名無しさん mailto:sage [2009/06/15(月) 21:35:49 ]
LLの場合、メソッドの引数の型がわからないから
未知のライブラリはコメント頼りになる。

静的型付けだと、引数の型からなんとなく仕様が想像できる場合がある。

87 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 00:17:40 ]
補完が強力なエディタはどれ?やっぱEclipse?

88 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 00:18:20 ]
あぁごめ、>>87はPythonでの話

89 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 01:04:11 ]
>86
たまに変数名で分かるライブラリもあるけどな

90 名前:デフォルトの名無しさん mailto:sage [2009/06/17(水) 02:02:49 ]
>>84
Javaのコード補完の効き方と、
Pythonのコードの補完の効き方はかなり近いっしょ。

自分で定義したクラスやメソッドなどのコメントまで
補完時に見れるという点まで含めて。



91 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 09:58:10 ]
Python は、ブロックが分かりにくいな。
インデントでやっているが、
ブロックの尻を明示する句や記号が無いから、
尻切れトンボみたいで気持ち悪い。

92 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 11:20:28 ]
さんざん既出だが、スクリプトの始めの方に
end=1
と書いておいて、あとはブロックの終わりとか
目印代わりに「end」と書けばいい。

93 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 15:37:40 ]
俺も気持ち悪いと思ってたが
しばらくLispやってたら帰って来たら慣れてた

94 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 15:50:42 ]
# ここからブロック1

# ここまでブロック1

これで解決

95 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 16:08:44 ]
>>92, 94
文法じゃないから、抜けててもチェックできないし、
書く人毎に違ってたら嫌じゃん。

96 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 16:43:04 ]
>書く人毎に違ってたら嫌じゃん。

コード規約完全否定か

97 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 19:27:46 ]
>>96
組織とかグループごとに独自のコード規約があって、
ブロックの書き方がそれぞれ毎に違ってたら意味無いじゃん。


98 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 20:15:10 ]
Pythonの規約って標準化されたものないのか?
Javaは殆ど規約一本化されてるし
PHPもフレームワーク毎に規約あるぞ
仮になくてもせめて社内で統一くらいしろよ

99 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 20:16:38 ]
PEP 8

100 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:02:32 ]
Pythonはインデントを強制するのが規約



101 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:12:53 ]
インデント強制は規約と言うより言語仕様。
公式規約はPEP8がある。
乱立はしていない。

Javaとかになれてる人には色々最初は気持ち悪いかもしれないけど、
使っているうちにそれがすごく合理的だと理解して慣れていくよ。

102 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:50:49 ]
他人のコードを読むのが一番ラクな言語はPythonだと思うが。

103 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:58:52 ]
Pythonはエスペラント語のようなもんで
いくら読みやすくてもみんな知らないから読めない

104 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 22:12:42 ]
これほど共感できない例えも珍しい

105 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 22:17:10 ]
Pythonは実行できる擬似コードと言われるくらいで、
Pythonを知らない人にも読みやすいコードが多いよ。

106 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 23:03:38 ]
Pythonが読みやすいってのは
RubyがJavaより生産効率いいってくらい基準があいまいな話だと思う

107 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 23:42:35 ]
とりあえず漏れの場合はRubyやJavaと比較するならば、Pythonの方が読みやすい。

つか個人的にRubyはJavaを意識する前にPythonよりも生産性を上げてから言うべきだろうに。

108 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 23:55:40 ]
Pythonはまだ仕様が固まってないから、6.0くらいまでは様子見すべき。

109 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 00:16:03 ]
PerlやRubyは、同じ処理をするのにいろんな書き方があるけど、
Pythonはそれを極力避けているから、多少冗長になっても
誰が見てもわかりやすいコードになるのがウリじゃなかったっけ?

110 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 05:38:48 ]
紛らわしければpassを使えばよいのに(python-mode派)。



111 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 06:52:21 ]
pythonって、どうやってコピペすんの?インデント崩れるんだけど

112 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 06:53:36 ]
>>111
replace(" ", " ")

113 名前:112 mailto:sage [2009/06/21(日) 06:54:19 ]
あわわ
replace(" ", "&nbsp")


114 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 07:05:01 ]
>Pythonはまだ仕様が固まってないから、6.0くらいまでは様子見すべき

それを言い出したらRubyなんて100.0くらいまで使えない希ガス。



115 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 13:49:43 ]
>>99 >>101

PEP 8 ってこれで全部?
oldriver.org/python/pep-0008j.html

ざっと見たところ、ブロックの終わりを示す語句(記号)についての記述がないようだけど……


116 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 13:55:07 ]
>>115
つまり、 end = 1 とかは使わないで普通にインデント解除するのが
標準コーディング規約

117 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 14:02:18 ]
>>41
コード書くときの自動補完は、言語が静的型付かどうかに大きく使い勝手が
左右される。RubyやPythonみたいな動的言語だと、変数名が任意の
オブジェクトへのラベルに過ぎないので、適切なメンバを
候補として提示することが本質的に不可能。

WindowsでもLinuxでも、クライアントもサーバもってことなら、
Mono 2.4 + MonoDevelop 2の出来がびっくりするくらいいいので、
(多言語・多プラットフォーム・REPL等。 ただし、GTK#で日本語は地雷)
1回さわってみるのをおすすめ。
商用サーバでもLinux + Mono + ASP.NETって増えてきてるしね。

118 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 14:10:15 ]
インデントを戻すタイミングについて、エディタに知らせる方法が問題なのかな?
pass でいいんじゃなかった?

119 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 14:19:13 ]
>>106
読みやすさに明確な基準は持たせにくいからね。
でも、複数の言語を知っている人はやっぱりPythonは読みやすいと感じるよ。
dankogai も、
--
私ははっきり言って Python の哲学は好きになれない。でも Python のコードは好き。
「動く pseudocode 」としてのチャンピオンは、今や Python だ。Python はもっと知られ、
もっと使われて良い。 Pythonistas のみならず、 Perl Mongers のためにも、 Rubyists
のためにも。
--
とか言ってる。

120 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 14:59:04 ]
pythonのコードが読みやすいことは認めるが
dankogaiを引き合いに出すのはやめてくれ
まるで「東スポにそう書いてあった」といわんばかりだ



121 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 17:13:48 ]
この件は、誰を引き合いに出しても信頼性は変わらない

122 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 17:48:17 ]
まぁそういうことだね。
「それ」にある程度重きを置く場合、Rubyは使えない。到底。

123 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 18:20:14 ]
フランス人がフランス語は美しいって言ってるレベルの話だろこれ
フランス語がわかる奴じゃないと意味解らんから無駄って話

124 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 18:52:05 ]
そういう話だということにすると救われるんですね。

125 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 19:16:31 ]
この手の話は20年前からまったく進歩がない

126 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 19:23:10 ]
インデントの規則が決まってるからPythonは見やすいってのなら
コード規約に従って書いた他の言語だって同じように見やすいんじゃないかと思うが

127 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:05:06 ]
>>126
インデントだけじゃないよ。
予約語が少ない、特殊変数が無い、ビルトイン関数・変数が少ない、
式を複雑に組み合わせないで文に分けている、etcetc...

128 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:09:56 ]
で、結局、 Python は、ブロックの終りを示す語句・記号が無くて、
気持ち悪いことに変わりないと。

文法にないどころか、標準のコーディング規約にすら無いから、
end = 1 とか、コメントとか、結局、独自の工夫をするしかなから、
統一的にはできないと。

標準に従うなら、むしろ、ブロックを閉じちゃいけないから、
ブロックを閉じないと気持ち悪く感じる人は、
選択肢に入れられないと。

129 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:13:59 ]

ヴァカ?

130 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:20:24 ]
ブロックはちゃんとアンインデントで閉じるだろ、閉じる記号が文字としては無いってだけで



131 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:23:12 ]
Python は,ブロックを閉じる記号がないから
気持ち悪いことには変わりない。

132 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:23:40 ]
所詮慣れの問題なのにこんだけ熱く語れるってのはなんだかなあ
おれがPythonで気持ち悪いのは、インデントよりもむしろ文字列リテラルの方だったりする。

u'ユニコード文字列'

とか

"""コメント
コメント
コメント"""

ってなんだよ

133 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:24:31 ]
だって、気持ち悪いんだもん。
しょうがないじゃん。

134 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:26:53 ]
"""
文字列
"""
はRubyにもあったような…
まぁ、確かに範囲コメントはちょっと欲しいかも

135 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:27:21 ]
ユニコード辺りはああいうモンと諦めている。

"""のl機能は便利だと思うけど。
ドキュメンテーション文字列もほどよいいい加減さがあって好きだが。

136 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:30:56 ]
Pythonのu'文字列'は歴史がそうさせるので仕方ないだろう。
r'文字列'は随分とコードが読みやすくなるのでいいと思う。

137 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:31:09 ]
気持ち悪い気持ち悪い言ってる人はこちらのスレで存分にどうぞ。

Pythonに見られるインデントによる制御構造の是非
pc12.2ch.net/test/read.cgi/tech/1169473442/l50

てか、数学の記法とか、普通の箇条書きとか、インデントを戻すことで
リストの終了を示してるけど、そういうものが全て気持ち悪いんだろうか?

138 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:47:34 ]
箇条書きの場合は、ネストを深くする毎に頭の記号を変えるとか、
番号の後ろに番号を加えるとかするから、違うん感じがする?
数学のは、どういう事か分からないけど、
関数型言語(ML系、Haskell)とか、Prolog のは、気持ち悪いな。

LISP は、括弧だから(・∀・)イイ!

139 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:51:05 ]
>>138 書き間違ったので修正します。

箇条書きの場合は、ネストを深くする毎に頭の記号を変えるとか、
番号の後ろに番号を加えるとかするから、違う感じがする。
数学のは、どういう事か分からないけど、
関数型言語(ML系、Haskell)とか、Prolog のは、気持ち悪いな。

LISP は、括弧だから(・∀・)イイ!
ブロックの閉じる記号がないから気持ち悪いという文脈で
LISP が出てくるのが、理解できなかった。
LISP は、全部きっちり括弧で括るから、 Python とは全然違うのに。

140 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:16:26 ]
end があっても、 Pascal は気持ち悪くて、 Ruby はいいんで、
ブロックだけの問題じゃない気がしてきた。



141 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:35:42 ]
歴史だから仕方ないっていいわけになってないけど

142 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 22:19:43 ]
>139
しかし閉じ記号をブロックの中身に書いちゃうのは、それはそれで…

143 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:28:04 ]
Cかschemeが最強だと信じている。LLは複雑怪奇すぎ

144 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:37:10 ]
一時期Scheme勉強して、Pythonに戻ったら
map の前と後ろのどっちに ( つけるか毎回迷って困ったw

145 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 03:06:16 ]
そういえばSchemeのmapとかCommon Lispのmapcarって、
何で関数引数が前なんだろう?
Rubyのブロック構文に慣れた身としては、
でかいlambdaを渡す時には非常に読みづらくなる気がするんだが・・・・・

146 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 03:42:58 ]
>>145
map は引数として任意の数のリストを取れるので、
必須の引数である関数は必然的に一番最初になります。
あとまあ、その結果として apply と相性がいいとか部分適用しやすいとか。

でかい lamabda を直接書くと読みづらいのは確かだけど、
逆に読みづらくなるほどでかいなら適当にくくりだすかなあ。
さもなければ dolist 使うか。

147 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 04:50:16 ]
あーなるほど感謝。やっぱりそれなりの理由と作法があるのか

148 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 07:51:45 ]
Rubyのあの構文は、引数として渡す関数はたかだか1個、という前提に
最適化したものだからね。

149 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:44:07 ]
まあ、Pythonしか使わない人(もしくはRubyしか使わない人)にはそれが見やすいのかも知れないけど、仕事上いろんな言語を使う必要がある場合、PythonやRubyは特殊で非常に見づらい。

150 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:54:32 ]
色んなって…色んな、がどんな言語かによるだろうに



151 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:02:07 ]
map(lambda x,y:x+y,[1,2,3],[4,5,6])
PyhtonのmapはRubyとは違ってLispのと同じような感じだが

152 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:09:07 ]
C/C++ Java C# Perl PHP JavaScriptなどメジャーな言語。






[ 続きを読む ] / [ 携帯版 ]

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

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