aish 曰く,"日本でのメジャー度は今ひとつなプログラム言語 Python 。失地を挽回すべく、日本のPython者達が立ち上がった!というわけで、我々日本Pythonユーザー会(PyJUG)網元衆は、日本語によるPython情報を提供すべく、サイトを構築したのでありました。"
Python,Ruby比較リンク(Re:Rubyよりもイケてる?) (スコア:3, 参考になる)
Do you have any opinions about the Ruby language, especially compared to Python?にあります。
その翻訳が、
あんたRubyにいいたいことがあるんじゃないんですか? とくにPythonと比べてみて。
にあります。
Rubyホームページ内の
Rubyと他言語の比較
で、言語仕様について比較がされています。
あと、ruby-talk MLの
Ruby as opposed Python?
というスレッドで比較してるみたいです。
本家/.でも、
Why not Ruby?
なんて記事が。
私はRubyをほとんど知らない(本を2,3冊読んだくらいで、まともにプログラミングに使っていない)ので比較する気も能力もありませんが、
まあこんな風に言う人もいるということで紹介まで。
Re:せっかくなので蛇使いさんに質問 (スコア:3, 参考になる)
EmacsのPythonモードではclass、def、if、for、whileなどのブロックがネストされるところの次の行でTABを叩くと自動的に直前のコードのネストの深さより一段深く下げるようになってます。たとえば、
if hoge == arege:
(TABでここにくる)
こんなかんじです。ただし、ブロックの終わりの指定はユーザに委ねられています。あんまり深いネストを作ると、自分でもよくわからなくなりがちです。こういうときは新しく関数とかクラスを用意する方が得策です。そういう点では綺麗なコードを書かされている、という意味にも繋がるかもしれません。
# ちなみに、インデント機能に頼りまくっている軟弱者です(w
トリッキーなPythonの呼び出し方 (スコア:2)
PythonML JPでは割と知られているみたいですが、
#!/bin/sh
"exec" "python" "$0" "$@"
... 以下コード
とやると/usr/bin/envを呼ばずにshが$PATHからpythonインタプリタを引っ張って来るみたいです。これをするのは、BeOSだと/usr/bin/envが無いから、らしいです。(Beには/bin/envにある)
Re:Rubyよりもイケてる? (スコア:2)
って言うと酷いので、ぶら下がりelseからバイバイできることと、Emacs上のPythonモードでC-c C-cで即実行できるところでしょう。あとは(パブリックアクセスしかできんけど)OOとして書けるところです。
まとめれば、Emacs上で使うとすこぶる快適に開発ができて、オブジェクト指向に書けるということです。
「ハッカーになろう」を読むと、Pythonをプログラミングの学習に使うことを薦めていますね。
Re:Python,Ruby比較リンク(Re:Rubyよりもイケてる?) (スコア:2)
「あんたRuby...」の
ってのはちょっと日本だと事情が違いますね。洋書はけっこうある感じですね。(O'ReillyのPrograming Python 2nd)はでかくて、可搬性がないけど。日本語リソースがまだまだ少ないってのが日本のPython事情だと考えられますね。(てめえが書けゴルァと言われそう。)
和書では、ピアソンの「Pythonプログラミングリファレンス」がわかりやすいと思います。理由は、一番手垢で汚れているからですが(笑)
Re:好きになれるかも (スコア:2)
Re:せっかくなので蛇使いさんに質問 (スコア:2)
>ブロックがネストされるところの次の行でTABを叩くと自動的に直前の
>コードのネストの深さより一段深く下げるようになってます。
これは自分でタイプしていく場合の話で、たいていのEmacsの言語モードで類似の機能は実装されていますよね。
他所のコードから貰ってきてペーストする場合にインデントがそこだけまるごと深く/浅くなるけど、どうするの、というのが元の質問の意図だと思います。
でも、それ(元の質問)って、何もPythonに限った問題ではないと思うのですが?
"Quidquid latine dictum sit, altum videtur."
Re:せっかくなので蛇使いさんに質問 (スコア:2)
ペーストした場合も同じで、要は、ペーストしたコードの各行でTABを打てば、適切な深さまでインデントしてくれるよ、ということなのですね。どこからインデントを浅く(Python用語ではoutdentでしたっけ?)しはじめるかの判断はユーザー任せだけれども。
それも大抵の言語モードでサポートされているであろう機能なので、やっぱり元の質問はPythonのインデントの使い方に固有の事情とは言えないんじゃないかなぁ、と思います。
"Quidquid latine dictum sit, altum videtur."
Re:できるかな (スコア:2)
ごん太くんは?
char *A;
モータースポーツ部 [slashdot.jp]
Pythonコミュニティだと (スコア:2)
上の方にある過激なアンチ主張といい、やけに敵対されてるなぁとは感じます。
Python方面は Zope しか知らないんで、元記事のような認識が普通なのか特殊なのかイマイチ判別しがたい。
-- wanna be the biggest dreamer
>見映えが本質に影響を与える (スコア:2)
「表層が本質を規定する」
というポストモダン(コンテンポラリー)の標語があったな。
-- wanna be the biggest dreamer
Re:Pythonコミュニティだと (スコア:2)
Python界で Ruby は言い知れぬ圧迫感がありそうで躊躇してたんですが、大丈夫そうですね。
僕は言語は仕事によって最適なのを選ぶようにしたいのでそのうち Python もいじるかも。
言語の機能的な部分は Ruby と比べて変わりないのでこの点では Python を使う理由はないのですが、Python は構造化されてるな、という印象があります。コミュニティ・ライブラリまで含めて。
システム作るのに向いてそう。
大規模になると Java が出てくるから、小中規模くらいの。
-- wanna be the biggest dreamer
Re: せっかくなので蛇使いさんに質問 (スコア:2)
1) C-yなどで適当に挿入
2) C-c < または C-c > でインデントを修正
でok。
C-yで挿入すると、先頭にマークがついて、
カーソルは最後にくるので、そのままインデント調整の対象にできます。
たぶんC-x iなどでも同様ですが、不安があれば最初にC-SPCを押して安心しましょう。
Pythonがカバーする分野 (スコア:1)
Jythonなどとゆうものもあるので、Pythonで書いちゃって上司には後で、「Java で作りました」って報告するってのもよし。
Rubyよりもイケてる? (スコア:1)
Rubyと比べてどの辺がイケてますか?
使ってる方、熱いアピールをカモンカモン!
--- (´-`)。oO(平和な日常は私を鈍くする) ---
好きになれるかも (スコア:1)
{
foreach my $myvar (@listvar)
{
if($myvar eq 'nanika')
{
$flag = 'on';
last;
}
}
}
などという記述の仕方をしているボクなら、好きになれるかもですの。(逆に、気をつけている限りは触らなくても同じ?)
ところで、これはダウンロードしてインストールして使うものですの? FreeBSD(98) で使えるかなあ。
そのうち、Ruby とともに「触ってみる」ことにしてみるですの。
こういったユーザのみなさんの活動が、ボクみたいな「よく知らない人」への啓蒙となる一例でしたです(^^;
-------- SORAMINE Yukino
せっかくなので蛇使いさんに質問 (スコア:1)
私は普段Rubyを使っているのですけど、都合でPythonをかじったことがあります。インデントがループやブロックで使われる言語ということも知ったのですけど、他のPythonコードをコピーしてペーストしようとすると、そこだけインデントが乱れます。で、修正しようとして多量のtabを入力したりスペースを入力したり。
ということでその時以来Pythonは手を出してません。Pythonがメインの方ってこのあたりをどう処理されているのかが不思議です。EmacsのPython-modeとか使えば適当にインデント処理してくれるんでしょうけど、自分で考えてインデントを調整しないといけなくのではと思っています、実際そんな感じでした。
それともエディタのインデント機能に頼るなんて軟弱?
-- やさいはけんこうにいちば〜ん!
できるかな (スコア:1)
私がPython本を買ったワケ (スコア:1)
私はコレでPython本買いました。
結局Python本も買ってから忙しくなってオブジェになっちゃってるのですが、Zopeとか、Pythonで出来る事はめちゃ面白そう。
という事でPyJUGの活動に期待しています(_ _)
Python Compared to Other Languages (スコア:1)
Bruce Eckel doesn't think Ruby is worth learning.
しかないのは、何とかならないものかな。
Re:Rubyよりもイケてる? (スコア:1)
おそらく「begin~end」が好きならRubyが、「{~}」が好きならPythonがあうのではないでしょうか?
インデント法も統一されてるから、余計なこと考えずに済むし(逆に自分好みの記法ができないって場合もある。)
ただOO的にはRubyのほうが理想的(悪く言えば理想論的)なんじゃないでしょうか?
Pythonにはオブジェクト以外の型(Javaで言うプリミティブ型)が多いですし。
Re:Rubyよりもイケてる? (スコア:1)
両方ともRubyにも備わっていると思います。
Pythonのいいところは、ライブラリの多さ、ってのはどうでしょう。
Rubyな方々も頑張られてますが、やはりpythonの方がライブラリ多いですよね。
Re:せっかくなので蛇使いさんに質問 (スコア:1)
ブロックが予約語や括弧の類で判別できる言語(RubyやCやC++やらいっぱい)だと、そういう文字を使ってだいたい自動でインデント調整ができるのですけど、Pythonだとそうもいかなそう、という部分です。
-- やさいはけんこうにいちば〜ん!
Re:Rubyよりもイケてる? (スコア:1)
これについては、現在対応が進行中.次のPython 2.2 では、組み込み型もクラスのように継承したりできるようになる予定です.
Re:せっかくなので蛇使いさんに質問 (スコア:1)
たぶん、オブジェクト指向言語でたくさんのコードをコピー、階層の違うブロックへペーストして利用しなければならない状況というのが、現実にはほとんどないからなのだと思います。
Re: せっかくなので蛇使いさんに質問 (スコア:1)
エディタの使い方を工夫しましょう。
vi なら例えば、ペースト後に
1) インデントしたい範囲の先頭で ma
2) 範囲の末尾へ移動 (たぶん } 数回で済む)
3) >'a
とやれば、1つ分インデントされます。
Emacs なら indent-region を使えば一発かな? (未確認)
意図と違うんス (スコア:1)
僕は使えるものは何でも使う主義なので、今まで触れたことがなかったPythonの評判を聞きたかっただけです。
まあ、誰にでも言語の好き嫌いってありますよね。
僕はVisualBasicが嫌いです。でも仕事で一番使ってる。(T_T)
--- (´-`)。oO(平和な日常は私を鈍くする) ---
Re:せっかくなので蛇使いさんに質問 (スコア:1)
>しなければならない状況というのが、現実にはほとんどないからなのだと思います。
それを「ほとんどない」ってのは言えないように思えるのは
俺だけでしょうか? #OOPかどうかはさておくとしても
3行くらい似たコード(同じコードでなくてもいい)が複数箇所に
「一切」出てこないソースって、ちょっと想像できないんですけど…。
それともそういう言語なんでしょうかPythonって?あ。使ったことないです。
まぁvi(やvim)でさほど面倒でもなく修正できそうだとは思いますが、
ただcbみたいなツールを用意できない(ってことだよね?)ってのは辛いかもとも思います。
#あと個人的には好きになれそうにないノリだなあ(^^;。
Python使うのは、やっぱり、Zopeを使うためという方多 (スコア:1)
だからというのはないだろうか?
昔、Zopeの存在を知った後、Pythonを使おうと
思ったが、Rubyから離れられず、挫折経験あり。;P
---moto
Re:Rubyよりもイケてる? (スコア:1)
俺のPCにPythonが入ってる理由はPySolを遊ぶためだけ(藁
Re:Pythonがカバーする分野 (スコア:1)
それも、JavaとPythonどっちか!?というよりは、Javaも使いつつ、「イージーJava」としてPythonも使う、という感じで。
いまJavaでやられているプロジェクトのうち、Python / Zopeでやれば、実はわりとかんたんにできちゃう、というものはけっこうある気がします。
Pythonの急所 (スコア:1)
コピーペーストがやりづらい……と言うわけではなくて, Tabという見えない属性でソースが縛られるのがどうも怖い……
ということで,とりあえずRubyから触ってます.
MS-Win&Delphi使いに嬉しいAppoloもあるし.
#あ,PythonだとAppoloみたいなのってどんなのがあります?
とりあえず Ruby王道編(^^;をやっつけて,それからPythonの解説本も読んでみようかな……
Re:Pythonコミュニティだと (スコア:1)
て python を批評するのは当然だし勉強にもなるので、や
めて欲しいなんて思いません。いずれは ruby も使ってみ
たいし。
ただ、ruby 信者(まつもとさんじゃないよ)の発言にげん
なりする事はありますが… (反面教師としては有用)
外国だと、python があるのに歌い文句が似ている ruby
を持ち出すのは車輪の再発明だと思われてるんじゃないで
しょうか。
Re:Pythonコミュニティだと (スコア:1)
また、Pythonコミュニティで Ruby が嫌われてるか、というと、それは別にないと思います。python-ml-jpでRubyの話が出ることはめったにありませんし。
私も質問 (スコア:1)
『Delphi Pascalで言うproperty,Rubyで言う仮想属性って無いの?』
と思いました.
それに,なんとなくクラスに関する機能が貧弱……というよりは何か霞をつかむような感じが
・完全なプライベート変数が存在しない
・インスタンス/メソッド・オブジェクト
このあたりはなんとなく不思議ですね.
Re:Pythonの急所 (スコア:1)
許容範囲に入るかどうかですね。
(私はこれが好きなので python を使ってますが)
> MS-Win&Delphi使いに嬉しいAppoloもあるし.
> #あ,PythonだとAppoloみたいなのってどんなのがあります?
http://www.multimania.com/marat/delphi/python.htm
これかな?
Re:私も質問 (スコア:1)
kyle@職業蛇使いです。
ありますよ。たとえば、現在時刻を 取得するプロパティ Clock.curtime。
class Clock:
def __getattr__(self, key):
if key == "curtime":
import time
return time.localtime(time.time())
return getattr(self, key)
clock = Clock()
print clock.curtime
"__" のつくメソッド定義で、 いろんなことができます。 演算子オーバーロードとか。
"_" を使えば継承には問題が 出ないようになっているので、 あとは慣れの問題です :-)。 いずれ平気になっちゃいます。
何が分からないのかが分かりませんです。
今後とも Python をよろしく。
ついでに (スコア:1)
Ruby でやろうとしたら、 一・二行目で無限ループに おちいりました。 Ruby って "#!/bin/sh" を理解するのね。
なにげに余計よ > されど愛しの Ruby
Re:私も質問 (スコア:1)
ふむふむ.あとでよく見てみよう
#代入もOKですよね?
>"_" を使えば~~~
確かに,『あえて』犯さなければ問題ないですかね.
あとはモラルの問題か……
>>・インスタンス/メソッド・オブジェクト
>何が分からないのかが分かりませんです。
あっと,失礼.
これは『分からない』ではなくて,『なんとも不思議な機能だな』と言う意味です. オブジェクトを生成した後に,あとから(動的に)ぺたぺたつけられる感覚がなんとも……
自分好みにクラスをカスタマイズする感じですかね?
このような機能はPython以外に見たことないです.
では.
ご回答どうもありがとうございました.
Re:Pythonの急所 (スコア:1)
見栄えが本質に影響を与えるのはなんとなく怖い……
#まあ,馴れでしょうけどね.
Re:実装言語でいうと (スコア:1)
ZopeやCML2なんかもやはりこうした手法で作られています。Zope以外にもPythonで書かれたアプリケーションサーバの類いがやたらたくさんあるのは、このテの動的処理分野にPythonが強いことの証なのではないかと。
Re:私も質問 (スコア:1)
Ruby には特異メソッドがありますし、 JavaScript などでは、クラスがなく、 インスタンスしかありません(テンプレートベースとか言うんだっけな)。 インタプリタ型の OO 言語では、こういう 実装は簡単ですから。
むしろ C++ とかが、柔軟性なさすぎなんです。
Re:Python,Ruby比較リンク(Re:Rubyよりもイケてる?) (スコア:0)
英語圏でもすばらしい(<希望的観測)本が山ほど出るそうです。
Re:できるかな (スコア:0)
最初の Programming Python の二分冊の翻訳ひどすぎ。
第二版の翻訳出すときは、たのむから訳者だけは変えてほしい。
Learning Python 「はじめてのPython」のほうはいい訳です。
やめてくれ (スコア:0, フレームのもと)
Ruby使いの人がPython話に割り込んでRubyの宣伝するのには毎度ウンザリですね。やめてもらいたい。
以前PythonのMLでmatzさん(Ruby作者)が、あらゆる話題にこじつけてRubyを持ち出すのに辟易しました。
彼はRubyカンファレンスでPython嫌いを公言してますし、明らかに悪意があったものと思います。
-1 (スコア:0)
Re:せっかくなので蛇使いさんに質問 (スコア:0)
Re:-1 (スコア:0)
Re:やめてくれ (スコア:0)
pythonでもrubyでも、vimでもemacsでも、linuxでもBSDでも、oracleでもSQL serverでも。
ただ、自分がどうかは、案外自覚できないもんだけどね<g>
Re:Pythonの急所 (スコア:0)