アカウント名:
パスワード:
C、C++、C#、Java、JavaScript、Perlは文法似てるので、どれかを習得すれば他もとっつきやすいんだよね。pythonは学習コスト高すぎだわ。無能技術者なので3回くらいpythonを学習しようとしてあきらめてる。
うーん、表面的な文法の似てるかどうかで判断しているだけで、もう少し精進しましょう、とアドバイス差し上げたくなる。
どちらかというと、裏側にあるオブジェクトモデルの設計思想の差とかの方がはるかに大きい。
その中ではJavaScriptがダントツで異端児だし。Cはプリミティブすぎて、オブジェクトモデルと呼べるようなものも自分で作り上げなきゃいけない感じ。C#やPython3は、後発だけあって、合理的ですっきりした設計。Perlはカオス。
全く同意
そのうえ、JavaScriptは産年によって結構できが違うからね。今年のJavaScriptは例年にない素晴らしい出来です。みたいな。# 今日ボージョレ解禁らしい。
Python も class はあるけど、実態はプロトタイプ型のオフジェクト指向言語だからな。JavaScriptと同じ。あれをクラス型だと思ってると、いろいろ面倒がおこる。
個人的には、pythonも結構js寄りの印象。なんとなーく、ファーストクラスじゃない感が付きまとうような。
self と _ と __ だらけで、perl と同じぐらいカオスじゃないですか。あれはマニュアル必読で、「なんとなく」では理解できないよ。bless みたいなもの。
プログラミング言語に限らず、マニュアルすら読まずに使えるくらい学習曲線の立ち上がりが早い技術は、大抵は頭打ちになるのも早い。
そういうとっつきやすさの誘惑に惑わされちゃいけないよ。
そういうものを、「合理的ですっきり」と言わないって。コストの高さを引き合いに出すならば、C言語が最も優れていることになっちゃうぞ。
なんで「AなものはBである」という命題から「AでないものはBではない」が導かれるんだ?
あと、別にC言語はそんなに学習コスト高くないぞ。覚えること少ないし。学習した後、使うときに気を遣わないことが多すぎるだけ。扱うのは簡単だけど、簡単に自分の足を撃つことができる銃、それがC言語。
OOPを使わなければ、pythonも扱うのは簡単だと思いますよ。pythonのOOPは後付け感が強い。もしゼロからやり直せるなら、合理的な人はこんな設計にしないだろう。
どの言語と比較して後付け間が強いと感じているのかわからないけど、クラス自身もファーストクラスオブジェクトとして扱えるようにするなら、こんなもんじゃないかな。
__を多用するのは、単に予約語や演算子を追加して文法が肥大化するのを嫌う作者の嗜好だと思う。
だから名前空間が衝突して、メソッド名とインスタンス変数は同名にできないという。JavaScriptを異端児と評しておきながら、Pythonを合理的とするところが不思議。
> だから名前空間が衝突して、メソッド名とインスタンス変数は同名にできないという。> JavaScriptを異端児と評しておきながら、Pythonを合理的とするところが不思議。
メソッド名とインスタンス変数の名前空間が同じなのは C++ も同じなので、その部分は別に異端ではない。# メソッドをインスタンス変数に代入して、alias っぽく使うこともできる
python は文法が奇異に見られるけど、動作的にはC++とJavaから類推できることが多いです。
そういう時なら、もうC#を使えばいいわ。perlは嫌いではないけれど、OOPするなら別言語を使う。pyhonも嫌いではないけれど、OOPが必要な規模では別言語を使いたくなる。
おっと、blessの悪口はそこまでだ。当時のperlモンガーは必死に、この手作り感満載なオブジェクト指向が最高だよなーって言ってったけか。
bless もきっちり書籍を読み込まなきゃ、どういうものか理解できなかったな。manpageやネットのサンプルコードを読んだだけでは、仕様が意味不明。
ところがselfになれると、自分自身とはいえ勝手にメンバ変数や関数を参照されるのが気持ち悪く感じるようになって、C++書く時も、無駄にthis->を書きまくるようになってしまった。
Pythonは合理的だけど、Metaclassとか多重継承って他の言語に比べて格段に難しいだろう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
学びたい=今はまともに使えない (スコア:2)
C、C++、C#、Java、JavaScript、Perlは文法似てるので、どれかを習得すれば他もとっつきやすいんだよね。
pythonは学習コスト高すぎだわ。無能技術者なので3回くらいpythonを学習しようとしてあきらめてる。
Re:学びたい=今はまともに使えない (スコア:4, すばらしい洞察)
うーん、表面的な文法の似てるかどうかで判断しているだけで、もう少し精進しましょう、とアドバイス差し上げたくなる。
どちらかというと、裏側にあるオブジェクトモデルの設計思想の差とかの方がはるかに大きい。
その中ではJavaScriptがダントツで異端児だし。
Cはプリミティブすぎて、オブジェクトモデルと呼べるようなものも自分で作り上げなきゃいけない感じ。
C#やPython3は、後発だけあって、合理的ですっきりした設計。
Perlはカオス。
Re:学びたい=今はまともに使えない (スコア:4, おもしろおかしい)
全く同意
そのうえ、JavaScriptは産年によって結構できが違うからね。
今年のJavaScriptは例年にない素晴らしい出来です。みたいな。
# 今日ボージョレ解禁らしい。
Re:学びたい=今はまともに使えない (スコア:1)
Python も class はあるけど、実態はプロトタイプ型のオフジェクト指向言語だからな。JavaScriptと同じ。
あれをクラス型だと思ってると、いろいろ面倒がおこる。
Re: (スコア:0)
個人的には、pythonも結構js寄りの印象。
なんとなーく、ファーストクラスじゃない感が付きまとうような。
Re: (スコア:0)
self と _ と __ だらけで、perl と同じぐらいカオスじゃないですか。
あれはマニュアル必読で、「なんとなく」では理解できないよ。bless みたいなもの。
Re: (スコア:0)
プログラミング言語に限らず、マニュアルすら読まずに使えるくらい学習曲線の立ち上がりが早い技術は、大抵は頭打ちになるのも早い。
そういうとっつきやすさの誘惑に惑わされちゃいけないよ。
Re: (スコア:0)
そういうものを、「合理的ですっきり」と言わないって。
コストの高さを引き合いに出すならば、C言語が最も優れていることになっちゃうぞ。
Re: (スコア:0)
なんで「AなものはBである」という命題から「AでないものはBではない」が導かれるんだ?
あと、別にC言語はそんなに学習コスト高くないぞ。覚えること少ないし。
学習した後、使うときに気を遣わないことが多すぎるだけ。
扱うのは簡単だけど、簡単に自分の足を撃つことができる銃、それがC言語。
Re: (スコア:0)
OOPを使わなければ、pythonも扱うのは簡単だと思いますよ。
pythonのOOPは後付け感が強い。もしゼロからやり直せるなら、合理的な人はこんな設計にしないだろう。
Re: (スコア:0)
どの言語と比較して後付け間が強いと感じているのかわからないけど、クラス自身もファーストクラスオブジェクトとして扱えるようにするなら、こんなもんじゃないかな。
__を多用するのは、単に予約語や演算子を追加して文法が肥大化するのを嫌う作者の嗜好だと思う。
Re: (スコア:0)
だから名前空間が衝突して、メソッド名とインスタンス変数は同名にできないという。
JavaScriptを異端児と評しておきながら、Pythonを合理的とするところが不思議。
Re: (スコア:0)
> だから名前空間が衝突して、メソッド名とインスタンス変数は同名にできないという。
> JavaScriptを異端児と評しておきながら、Pythonを合理的とするところが不思議。
メソッド名とインスタンス変数の名前空間が同じなのは C++ も同じなので、その部分は別に異端ではない。
# メソッドをインスタンス変数に代入して、alias っぽく使うこともできる
python は文法が奇異に見られるけど、動作的にはC++とJavaから類推できることが多いです。
Re: (スコア:0)
そういう時なら、もうC#を使えばいいわ。
perlは嫌いではないけれど、OOPするなら別言語を使う。
pyhonも嫌いではないけれど、OOPが必要な規模では別言語を使いたくなる。
Re: (スコア:0)
おっと、blessの悪口はそこまでだ。
当時のperlモンガーは必死に、この手作り感満載なオブジェクト指向が最高だよなー
って言ってったけか。
Re: (スコア:0)
bless もきっちり書籍を読み込まなきゃ、どういうものか理解できなかったな。
manpageやネットのサンプルコードを読んだだけでは、仕様が意味不明。
Re: (スコア:0)
ところがselfになれると、自分自身とはいえ勝手にメンバ変数や関数を参照されるのが気持ち悪く感じるようになって、C++書く時も、無駄にthis->を書きまくるようになってしまった。
Re: (スコア:0)
Pythonは合理的だけど、
Metaclassとか多重継承って他の言語に比べて格段に難しいだろう。