アカウント名:
パスワード:
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言語が最も優れていることになっちゃうぞ。
おっと、blessの悪口はそこまでだ。当時のperlモンガーは必死に、この手作り感満載なオブジェクト指向が最高だよなーって言ってったけか。
bless もきっちり書籍を読み込まなきゃ、どういうものか理解できなかったな。manpageやネットのサンプルコードを読んだだけでは、仕様が意味不明。
ところがselfになれると、自分自身とはいえ勝手にメンバ変数や関数を参照されるのが気持ち悪く感じるようになって、C++書く時も、無駄にthis->を書きまくるようになってしまった。
Pythonは合理的だけど、Metaclassとか多重継承って他の言語に比べて格段に難しいだろう。
C、C++、C#、Java、JavaScript、Perlが似てるならpythonも似てると思う。pythonは予想外の動きすることもあるから、実際書いてみると侮れないけどね。
あなたにはこの言葉を贈ろう
プログラムは思った通りには動かない。書いたとおりに動く。
思った通りに動かないことを言っているのではなく、(他の言語の経験などから)予想した動きと違うことがあるのを言っているのだと思います。
同じことだよ。既に経験した事が外でも通用するとは限らないことが分からなかったから「(他の言語の経験などから)予想した動きと違う」と考えるのだから。過去の経験からどう予測しようとも「書いたとおりに動く」んだよ。
俺もほぼ同じ境遇で草。pythonが難しく感じる要因の一つとして、そこらのブログがpythonのバージョンについて断りもなしに記事を書くので情報が錯綜してしまう、という説を聞いた。
詳しくないけど、pythonって機械学習で注目されてるだけで、他にどんな素晴らしい使い道があるんでしょう。
個人的には汎用なシェルスクリプト言語として使ってますね。
規模の大きいモノを書く気はしませんが、ファイルフィルタとか.xlsで結果出力とかそんな感じで普段使いにピッタリです。
スクリプトファイルを作るんならいいけど、コマンドラインでワンライナを書くなら改行が必要なPythonはあんまり向かないな。まあBashでもPerlでもNode.jsでもいいんだけど、シェルの構文だけでは記述が厳しいワンライナーはRubyで書くのが楽だわ。Perlとかの制御構文よりRubyのブロックの方が相性いい気がする。
おっしゃるとおり、ワンライナー程度であればPythonは不向きですよね。もう少し色々やりたい時にご登場願うことになると思います。
機械学習で注目されてる「だけ」って・・・。
Perl よりましなスクリプト言語。# Ruby は OS 標準で入ってないんですよね…
そらRubyは大体日本国内がおおいのでLinux標準にゃならんよPerlのどこがダメなのかがわからないPerlがダメなんじゃなくって適当に書いてた奴が悪いだけじゃ
perl と Python はある種思想が逆なので相容れないとは思う。
Python は、誰が書いたコードでも誰でもちゃんと読めることを目指している。一方、perl は自分が先週書いたコードですら読めない。
それは、あなたの能力がとてつもなくひどいか、ひどいコードを書く天才かのどちらかだと思う。
書き方に依るのでは
Python はコードの自由度が低いのだ、PerlやRubyみたいに、適当に書くってのが難しい。書いた人間の特注も出にくい。
結果として何やってるかわかるコードしか残せないし、説明なくコード渡されてもだいたい読める。
内包表記のネストで夢のワンライナーですよ。しかも一個の内包表記の中に三つの内包表記があってとかもう最高(な難読性)。まあよくあるループを一行で書きたくなる言語ですね。
Pythonは内包表記を捨てて、JavaのStream APIを見習うべき。
内包表記なんかで喜んでいるようじゃまだまだですよ。早くitertools, functools, operatorモジュールを使いこなそうね。
〇〇がダメなんじゃなくって適当に書いてた奴が悪いだけじゃ
テンプレ
本気?いやネタだよなぁ・・・危うくつられるとこだった。
perlは適当に書けるのが特徴。利点でもあり欠点でもある。使い捨てのテキスト処理を書くのに重宝してるけどそれ以外には使いたくないわ。
数値計算用のライブラリが充実している。それがRubyとの最大の違いで、機械学習に使われている理由
まさにこれ。FORTLANやMATLABの代わり。コードの書くことが仕事のITエンジニアではなく、元の言葉通りの意味でのエンジニアにお勧め。2,3流プログラマが書いたCより、Pythonのライブラリの方が速いことが多い。
最近のFortranは色々出来て楽しいからなあ手軽さでPython(NumpyやScipy)で済ましてしまうことも多々ありますが、Pythonで高速化の為にループを使わないように気を配るくらいなら、もうFortranで良いんじゃないかと思うこともあります
プログラマではないエンジニアの身としては、自分で作るときはPythonで済ましておいて、速度が必要になったら専門家に作り直してもらうことの方が多いです。速度が必要な時は並列化率とか同期コスト意識しないといけないので、素人には厳しいです。
ちょっと前はスクレイピングだった。その前は、アプリのプラグインとかかな。
機械学習に限らず統計処理とか数学一般に強いと思う。
Matzが 数学が苦手と公言したせいか Ruby はこの辺は遅れていると思う。
pandasライブラリとか、DataFrameそのものが出てきて、まさにR言語の代わりに使ってるのよね。
そんだけやってりゃ諦めるほど難しくはないと思うけどなあ。挙がってる言語見た目は似てるかもだけど基底の発想が全然違うのが多いぞ。
タプルとかデコレータとか独特なものは結構あるんじゃないでしょうか。for文にelse節があるとか。他から来た人はたいていジョークだと思うよね。学ぶ=独学で、外形しか追っかけないなら結構つらいものがあるかも。
先にRubyを覚えたおかげで、「例のあれってPythonに無いんだ…」みたいな経験をすることが多く。Perl/Rubyが得意とするような、テキスト弄り回しはあまり向いてないような。
>pythonは学習コスト高すぎ同意。おまじない多すぎ。バージョン差異ありすぎ単にライブラリを使うためコピペでつかうものだあれは。そのライブラリはCとかで書いてあるのだろう背乗り言語と呼んでやろう
流行のライブラリだのフレームワークだの使うために、少しずつ違う言語をいくつも学びなおす。HaskellやPrologで新たな悟りを開くなんて余裕はない
HaskelとかLispならともかくPythonが似てないって、電卓はWindows 7までまったく変化がないと思っていた口かね
perl4 が書けるなら、OOPじゃない python も書けると思う。packageやOOPを使ったpythonは、perl5以上に学習コストが高いわ。
半年もしたら、全く別のライブラリに取って代わられ、バベルなしではやっていけないような言語ってどうなんだか。とっととwebassemblyによって、消えて欲しいに一票。
みんなコボルやフォートランはマスターしてるんだな!!
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
学びたい=今はまともに使えない (スコア: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)
おっと、blessの悪口はそこまでだ。
当時のperlモンガーは必死に、この手作り感満載なオブジェクト指向が最高だよなー
って言ってったけか。
Re: (スコア:0)
bless もきっちり書籍を読み込まなきゃ、どういうものか理解できなかったな。
manpageやネットのサンプルコードを読んだだけでは、仕様が意味不明。
Re: (スコア:0)
ところがselfになれると、自分自身とはいえ勝手にメンバ変数や関数を参照されるのが気持ち悪く感じるようになって、C++書く時も、無駄にthis->を書きまくるようになってしまった。
Re: (スコア:0)
Pythonは合理的だけど、
Metaclassとか多重継承って他の言語に比べて格段に難しいだろう。
Re:学びたい=今はまともに使えない (スコア:2)
C、C++、C#、Java、JavaScript、Perlが似てるならpythonも似てると思う。
pythonは予想外の動きすることもあるから、実際書いてみると侮れないけどね。
Re:学びたい=今はまともに使えない (スコア:5, すばらしい洞察)
あなたにはこの言葉を贈ろう
プログラムは思った通りには動かない。書いたとおりに動く。
Re:学びたい=今はまともに使えない (スコア:1)
思った通りに動かないことを言っているのではなく、(他の言語の経験などから)予想した動きと
違うことがあるのを言っているのだと思います。
Re: (スコア:0)
同じことだよ。
既に経験した事が外でも通用するとは限らないことが分からなかったから「(他の言語の経験などから)予想した動きと違う」と考えるのだから。
過去の経験からどう予測しようとも「書いたとおりに動く」んだよ。
Re:学びたい=今はまともに使えない (スコア:1)
俺もほぼ同じ境遇で草。
pythonが難しく感じる要因の一つとして、そこらのブログが
pythonのバージョンについて断りもなしに記事を書くので
情報が錯綜してしまう、という説を聞いた。
Re: (スコア:0)
詳しくないけど、pythonって機械学習で注目されてるだけで、他にどんな素晴らしい使い道があるんでしょう。
Re:学びたい=今はまともに使えない (スコア:2)
個人的には汎用なシェルスクリプト言語として使ってますね。
規模の大きいモノを書く気はしませんが、ファイルフィルタとか.xlsで結果出力とかそんな感じで普段使いにピッタリです。
ほえほえ
Re: (スコア:0)
スクリプトファイルを作るんならいいけど、コマンドラインでワンライナを書くなら改行が必要なPythonはあんまり向かないな。
まあBashでもPerlでもNode.jsでもいいんだけど、シェルの構文だけでは記述が厳しいワンライナーはRubyで書くのが楽だわ。
Perlとかの制御構文よりRubyのブロックの方が相性いい気がする。
Re:学びたい=今はまともに使えない (スコア:2)
おっしゃるとおり、ワンライナー程度であればPythonは不向きですよね。もう少し色々やりたい時にご登場願うことになると思います。
ほえほえ
Re:学びたい=今はまともに使えない (スコア:1)
機械学習で注目されてる「だけ」って・・・。
Re:学びたい=今はまともに使えない (スコア:1)
Perl よりましなスクリプト言語。
# Ruby は OS 標準で入ってないんですよね…
Re: (スコア:0)
そらRubyは大体日本国内がおおいのでLinux標準にゃならんよ
Perlのどこがダメなのかがわからない
Perlがダメなんじゃなくって適当に書いてた奴が悪いだけじゃ
Re:学びたい=今はまともに使えない (スコア:3, おもしろおかしい)
perl と Python はある種思想が逆なので相容れないとは思う。
Python は、誰が書いたコードでも誰でもちゃんと読めることを目指している。
一方、perl は自分が先週書いたコードですら読めない。
Re: (スコア:0)
それは、あなたの能力がとてつもなくひどいか、ひどいコードを書く天才かのどちらかだと思う。
Re: (スコア:0)
書き方に依るのでは
Re: (スコア:0)
Python はコードの自由度が低いのだ、PerlやRubyみたいに、適当に書くってのが難しい。書いた人間の特注も出にくい。
結果として何やってるかわかるコードしか残せないし、説明なくコード渡されてもだいたい読める。
Re: (スコア:0)
内包表記のネストで夢のワンライナーですよ。しかも一個の内包表記の中に三つの内包表記があってとかもう最高(な難読性)。
まあよくあるループを一行で書きたくなる言語ですね。
内包表記はクソ (スコア:0)
Pythonは内包表記を捨てて、JavaのStream APIを見習うべき。
Re: (スコア:0)
内包表記なんかで喜んでいるようじゃまだまだですよ。
早くitertools, functools, operatorモジュールを使いこなそうね。
Re: (スコア:0)
〇〇がダメなんじゃなくって適当に書いてた奴が悪いだけじゃ
テンプレ
Re: (スコア:0)
本気?いやネタだよなぁ・・・
危うくつられるとこだった。
Re: (スコア:0)
perlは適当に書けるのが特徴。
利点でもあり欠点でもある。
使い捨てのテキスト処理を書くのに重宝してるけどそれ以外には使いたくないわ。
Re:学びたい=今はまともに使えない (スコア:1)
数値計算用のライブラリが充実している。
それがRubyとの最大の違いで、機械学習に使われている理由
Re: (スコア:0)
まさにこれ。FORTLANやMATLABの代わり。
コードの書くことが仕事のITエンジニアではなく、元の言葉通りの意味でのエンジニアにお勧め。
2,3流プログラマが書いたCより、Pythonのライブラリの方が速いことが多い。
Re: (スコア:0)
最近のFortranは色々出来て楽しいからなあ
手軽さでPython(NumpyやScipy)で済ましてしまうことも多々ありますが、
Pythonで高速化の為にループを使わないように気を配るくらいなら、もうFortranで良いんじゃないかと思うこともあります
Re:学びたい=今はまともに使えない (スコア:1)
プログラマではないエンジニアの身としては、自分で作るときはPythonで済ましておいて、速度が必要になったら専門家に作り直してもらうことの方が多いです。
速度が必要な時は並列化率とか同期コスト意識しないといけないので、素人には厳しいです。
Re: (スコア:0)
ちょっと前はスクレイピングだった。
その前は、アプリのプラグインとかかな。
Re: (スコア:0)
機械学習に限らず統計処理とか数学一般に強いと思う。
Matzが 数学が苦手と公言したせいか Ruby はこの辺は遅れていると思う。
Re:学びたい=今はまともに使えない (スコア:1)
pandasライブラリとか、DataFrameそのものが出てきて、まさにR言語の代わりに使ってるのよね。
Re: (スコア:0)
そんだけやってりゃ諦めるほど難しくはないと思うけどなあ。
挙がってる言語見た目は似てるかもだけど基底の発想が全然違うのが多いぞ。
Re: (スコア:0)
タプルとかデコレータとか独特なものは結構あるんじゃないでしょうか。
for文にelse節があるとか。他から来た人はたいていジョークだと思うよね。
学ぶ=独学で、外形しか追っかけないなら結構つらいものがあるかも。
Re: (スコア:0)
先にRubyを覚えたおかげで、「例のあれってPythonに無いんだ…」みたいな経験をすることが多く。
Perl/Rubyが得意とするような、テキスト弄り回しはあまり向いてないような。
Re: (スコア:0)
>pythonは学習コスト高すぎ
同意。おまじない多すぎ。バージョン差異ありすぎ
単にライブラリを使うためコピペでつかうものだあれは。
そのライブラリはCとかで書いてあるのだろう
背乗り言語と呼んでやろう
Re: (スコア:0)
流行のライブラリだのフレームワークだの使うために、少しずつ違う言語をいくつも学びなおす。
HaskellやPrologで新たな悟りを開くなんて余裕はない
Re: (スコア:0)
HaskelとかLispならともかくPythonが似てないって、電卓はWindows 7までまったく変化がないと思っていた口かね
Re: (スコア:0)
perl4 が書けるなら、OOPじゃない python も書けると思う。
packageやOOPを使ったpythonは、perl5以上に学習コストが高いわ。
Re: (スコア:0)
半年もしたら、全く別のライブラリに取って代わられ、バベルなしではやっていけないような言語ってどうなんだか。
とっととwebassemblyによって、消えて欲しいに一票。
Re: (スコア:0)
みんなコボルやフォートランはマスターしてるんだな!!