パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Python、2 年連続 TIOBE Index で最もレーティングを伸ばしたプログラミング言語に」記事へのコメント

  • by Anonymous Coward on 2022年01月08日 18時36分 (#4181812)

    時代に取り残されたお爺さんには何が良いのかわからない

    • venv、pip、poetry 等と環境系は整ってはいるけど、逆に増えすぎてて最初は戸惑う。誰か経験者がいれば、そこら辺は各ツールの現状と個人的な好みを加えつつ整備してくれる。

      たが、python の経験が少ないとそこら辺が大変。動かし方やビルド環境が落ち着くまでに色々かかる。C/C++ がメインだった人は完全に慣れるまで半年ぐらいかかる。

      他言語経験者だった場合は、一度、開発体制の歯車がカッチリ合うと早い。

      依存関係としては、ライブラリなどが多いと API の動作変更や削除など 意図しない変更を避けるために、プログラム事に全てを囲っておかないと危ない。 別の言い方をすると、一プログラム事の venv かな。 そうしないと、静的リンクが出来ないので、こっちのプログラムは動くけど、あっちが動かなくなったがある。 C++ や C でも動的ライブラリを使うと起きる問題だけど、静的ライブラリで逃げられる。 これは、緩いライブラリ API の塊で、グループの数が多かった場合に陥る問題。 この為に特別な処理をいれる必要があった。

      言語としてはやりたいことは google で探すと、大体解説と共に載っている。 細かい一つ一つの実装は大体これで見付かる。

      pytest が秀逸でテストを書きやすい、付け足しやすい。 unittest の patch で関数呼び出しの戻り値を入れ換えたり、 特定の関数に渡す引数を調べられたりして、取っても強固。 C/C++ もあれこれあるけど、色々と手間がかかるし、低レベル関数乗っ取りはかなり無理。

      シェルスクリプトよりも書きやすくて、それなりの速度で動けば良い所だと手軽。 C/C++ だと構造体やクラスを作るところを dict で済ませられる事も多い。

      json ライブラリも便利。 ファイルに json で読み書き。内部構造としても、json のまま保持したりする。 ある意味、データとコードが同じになるので、テストで使う json データも 直打ちだったり、ファイルから読み込んでも一、二行で済むので楽。 別の言い方をすると、最悪の場合、プロジェクト毎に書かれている C/C++ の 設定ファイルの書式と各種 API を書くような人は Python ではいない。 Pytho では json で読んで、必要な dict キーがあるかの検査をする程度。

      ただ、型指定は弱い。 typing と言って、変数型や関数の戻り型を指定できるが、言語としては無視している。 意図していない型で渡して、例外の原因になっている事もある。 酷いのだと、デバッグに print を入れたら、そこで例外が投げられるようになって 余計何が起きているのか分からなくなったり。 スクリプト言語主体の人達はそこら辺が寛容すぎて間違ったものが渡されていてもなかなか気にしない。 静的型言語主体の人達はどんな型が渡されるかとても気になって、気になってしょうがない。

      長くなったが、一言でまとめると「開発環境がこなれて安定し、利用者が慣れてると、 とっても便利。短い行数で意図する事が出来るので、慣れると作業が早くなる。」

      元、C/C++ を主体にしていた者が、ここ一年程 Python だけの環境で作業した感想。

      親コメント
    • by Anonymous Coward on 2022年01月08日 20時23分 (#4181854)

      ・WindowsをUNIX-Like OSと同列にファーストクラスの環境として扱っている。
      ・環境隔離(venv)を標準で持っている。
      ・標準ライブラリが充実している。nodeのleftpadみたいな小指のツメほどのライブラリとかで、ちょっとしたプログラムで数十のサードパーティライブラリみたいなことにならない。
      ・型の硬さが程よい。rustとかgoほどガチガチではないが、lsp使ってればスイスイ補完されるぐらいにはしっかりしている。
      ・I/Oバウンドなプログラムはasyncで平行性上げられる。

      コマンドラインツールからWebアプリまで汎用性があってバランスが良いってのが良いところですかね。
      実行時のパフォーマンスが必要ならrust、開発効率ならpython。
      標準でパッケージング機構もってるってのもポイントか。cargoやpipのように、配布まで含めて面倒見てくれる言語でないと使う気しない。

      親コメント
      • by Anonymous Coward

        C/C++言語も標準ライブラリ増やせばいいのに
        とくにデスクトップ用やサーバ用で使う場合、CPUもメモリも有り余ってるんだから、
        標準ライブラリ増やして、車輪の再発明をなくし使いやすくすればいいのにね

        • by Anonymous Coward

          C++はだいぶ標準ライブラリ増えてるぞ
          Cはフリースタンディング環境で無用の長物が増えるだけだし…

          • by Anonymous Coward

            Windowsで使うMSVC限定でどんどん使いやすくなってる感じがするな
            UNIXやら機種問わない使い方する場合便利になってるとは思えない

        • by Anonymous Coward

          これ読んでて思ったけど
          マジンガーZとウマ娘位の世代格差があるよな
          必死にCに変換して会話しようとするオジサンかわいそう

      • by Anonymous Coward

        Rubyは長年、windows捨てすぎなのよな。
        昔のActivePerlも、やっぱwindows捨てていたし。DBなんかに繋げなかった。

        • by Anonymous Coward

          Windowsでしか動かないActivePerlがWindows捨ててるって意味わからない、

          • by Anonymous Coward

            WSL使えば済む時代にわざわざActivePerlなんて入れないし。

          • by Anonymous Coward

            CPANやGEMで引っ張ってくると、Windowsは動きませんという現象
            大抵DEVKITを求められて、そのへんのデバッグが必要になってくる
            DEVKITが必要になる時点で、移植性がどうよという

    • by Anonymous Coward

      とりあえずPythonに因んでスパム [wikipedia.org]でも食べときましょ。

    • by Anonymous Coward

      プログラミングしたいけど言語は何がいい?と聞かれてPythonと答える勇気はない

      • by Anonymous Coward

        自分で言語を選べるレベルなら何でも好きにすれば良いと思うけど、
        普通にSIerに入って食っていこうとするなら何が最適なんだろ。
        一昔前ならJava一択で幸せになれたと思うんだけど、今はなんかモヤモヤしちゃう。
        かといってC系統でもないと思うし、あえてCOBOLの茨路を歩く人生はやだなぁ。

        • by Anonymous Coward

          正解はSIerに入らないことかと・・

          • by Anonymous Coward

            うーん、IT土方とか揶揄されるけど、理系コミュ障にとってはベターな選択肢の一つだと思うんだよね。
            それなりの会社なら普通の30代でも6~700万位は稼げるようになる可能性高いし。
            他の理系研究職程要求水準が高くない割に汎用性があるので、マシな方ではないかと。

            ベンチャーとかだと、自分たちで立ち上げてボードメンバーに入っていれば大きく報われる可能性もあるけど、
            あとから入ると待遇とか福利厚生が微妙だったり、要求される能力の割に報われない感じ。
            ただ、業界引っ張る程の力量があれば、好きなだけ稼げるとも思う。

            • SIerでコミュ障はダメだろ。人と関わらなくていい商売じゃない。

              親コメント
            • by Anonymous Coward

              40代にもなると続けられない。
              タクシー運転手でもやるか。

              • by Anonymous Coward

                むしろ40代は一番稼げる時期じゃない?勿体ないぞ。
                20代からプログラマを初めて、50代になった小生だが。
                で振り返ってみたら、プログラマとしては40代が一番有能だったよ。

              • by Anonymous Coward

                40代だとどうしてもベンダ管理とかに回されることになるんだけど、言語は何でもいいのでプログラムが書けるだけでアドバンテージは大きいよ。
                じゃないとベンダに好き勝手言われて工数ぼったくられても、ただのコーディングミスを屁理屈で言いくるめられようとしても言い返せない。
                # むしろ開発できない人間にベンダ管理を担当させる方が頭おかしいと思うんだけど、それが日本の開発現場。

              • by Anonymous Coward

                > むしろ開発できない人間にベンダ管理を担当させる方が頭おかしいと思う
                王様や大統領にウイルスの知識がなくても政策は出来るんだよ
                開発以前の管理力不足ですよ
                部下の連帯責任でもあるよ

        • by Anonymous Coward

          Python辺りが十分に操れるのなら、入社後にその業務で使う言語をマスターするので十分だろう。
          いくつかの微妙な言語よりもPythonなら十分にコーディング能力を評価できるし、Pythonが業務に直結する会社も少なくない。

          相手方の人事がPythonの意味を理解できないなんて事がなければ。

      • by Anonymous Coward

        わしゃーぷろぐらみんぐしたいけどげんごはなにがいいって問いに答える勇気がそもそもない

        • by Anonymous Coward

          プログラミングの目的を指定されていないなら自分の使える言語を答えておけばいいのでは?

          • プログラミング関連の書籍は読まなくなりました。本屋にも滅多に行きません。
            Webを見た方が早い。日本語でも情報が沢山あります。そして最新の情報は全部英語。
            書籍はたまに洋書を買うぐらいで、日本語の本は買わなくなりました。日本語訳が出る頃には時代遅れになってるからです。

            日本の本屋でやたらとpythonが推されてると感じるのは、ネット検索さえできない初心者にしか書籍が売れない、
            その手の初心者は「python入門」みたいな「なんか知ってる単語」+「入門」という形の本を好んで買う、という事かもしれません。

            親コメント
            • by Anonymous Coward

              10年前なら「Webを見た方が早い」と言えるけど、今どきは「いかがでしたか」ブログと謎機械翻訳サイトとプログラミングスクールのゴミに埋め尽くされてまともな情報得るの困難になってない?

              かと言って書籍が復活したわけでもないのでシンプルにまともな情報源がなくなった

              • by Anonymous Coward

                いかがでしたかブログと共に育ってきた世代ならゴミの避け方も心得てるんだけど今からネット始める層にはきついだろうなー
                アフィリエイトがいろいろとネットの価値を破壊してきたと思う。反社の収益源にもなってるし法規制が必要。

              • by Anonymous Coward

                とりあえず、トップにジャンボトロンが出てくるサイトを避けるようなサイト、無駄Q&Aサイトを避けるようにしている。
                まあ、そうなるとQiitaかよく分からない個人blogしか残らないけれど、大体それで求める答えは得られる。

              • by Anonymous Coward

                > ゴミの避け方も心得てる
                初めからゴミ漁りしかしてないだけじゃん

                運営が反社だと分かってるなら規約違反なので、アフィ業者とサーバー屋に詳しく通報すればいいよ、犯罪なら警察にチクってもいいし。

    • by Anonymous Coward

      アプリケーション、処理対象が定まればそれに適切なプログラミング言語も自然と定まる
      うちは組込、数値計算関連なので必要とあらば今でもFORTRANを使う
      MATLABやMathematicaは普通に使う
      他の特定用途向けライブラリに依存するような開発はしないのでPythonを使う機会は無い

      • by Anonymous Coward

        FORTRANすっきやで❤

        (*´ω`*)

        • 同じく。ただ新しい仕様のFortran本が少ないのが残念なところ。
          なので最近はPythonに浮気気味です。Fortranを除く他言語よりは複素数が使いやすいので。
          でも数式と同様に書ける点ではFortranの方がやっぱり書きやすいですね。そういう目的の言語ですし。

          親コメント
          • by Anonymous Coward

            Pythonを使うことが要件でなければJuliaがおすすめ。

    • by Anonymous Coward

      10年以上前から使っていますが、数値計算用ライブラリが揃っているのが当時からのメリットですよ。
      Pythonが無かったら(あるいはnumpyが無ければ)RとかMatlabがもっと使われていたと思う。

      • by Anonymous Coward

        Pythonという言語の存在を知ったのは
        ダウンローダーのIria(後のIrvine)のスクリプト
        20年前か…

      • by Anonymous Coward

        制御用の数値計算でMATLABをばりばり使ってましたが、今はPythonの方が多いですね。
        最近はAI系でPythonを避けられないこともあって、顧客企業にPythonで提案して困ることが無くなったのも大きい。

    • by Anonymous Coward

      非プログラマーでも扱いやすい点が良さげ。VBAの代わり。

      • by Anonymous Coward

        C++程ではないと思いたいが、昔Joel on softwareで言われていた「コード片から確定できることが何もない」になりつつある。
        書いて極楽、読んで地獄なんだよ。lispもマクロを多用するとそうだったしな。

        • by Anonymous Coward

          foo = Bar()
          foo.hoge = 'hogehoge'
          しかしBarクラスにはhogeなどという属性は存在しないのだみたいな。

    • by Anonymous Coward

      ディープラーニングでよく使われてる

犯人はmoriwaka -- Anonymous Coward

処理中...