• 特集
  • 番組
  • トピックス
  • 学び
プレミアムを無料で体験

人気プログラミング言語、PythonがJavaを抜き2位に--GitHub「Octoverse」レポート

226
Picks
このまま本文を読む
本文を読む

コメント


のアイコン

注目のコメント

  • badge
    東京大学 大学院情報理工学系研究科電子情報学専攻 教授

    「人気」という言葉が適切かどうかはわかりません。使われる頻度が多いのは下記が大きな理由だと思います。

    コンピュータサイエンス系のコード(機械学習とか、深層学習とか、統計処理とか)を中心として、Pythonで書かれる事が多く、それをベースに作ろうとすると自分もPythonになる。

    ライブラリ・パッケージがとにかく充実している。なので、自分が本当にやりたいことに集中してコーディングができる。

    上記の理由により、身の回りに相談できる人が多い。また、ネットで検索してもすぐに所望の情報がヒットしやすい。Googlabilityと言うそうです。

    Pythonがプログラミング言語として特に他言語より設計が優れているということではない(もちろん、よくできていますよ。ほかの言語がだめとか、そういうことではないという意味)。ただ、いまプログラミングを学ぶなら自分もPythonをおすすめします。


  • 保険会社(フランス) Data engineer team leader・道産子

    PythonとJavaを含めたJVM言語の両方を実務で使っていますが、当然ですがそれぞれにメリットデメリットがあります。

    深層学習を含めた機械学習はもちろん、最近では自然言語処理もPythonからまず優れたライブラリが出るので、これらの処理をするのであればPythonが第一の選択肢になるのは当然だと思います。GitHubでのランクアンプはこれらの処理が趣味や仕事でも普通に使われるようになった事の影響だと思います。

    他方でSparkやKafkaといったビッグデータに使われる基盤技術の多くはJavaやScala等のJVM言語で書かれています。もちろんPython等もこれらの技術を利用する事が出来ますが様々なブリッジを介するためパフォーマンスが重要な場面やソースコードまで分け入るときはJavaやScalaの知識が必要なのが実際です。

    ざっくり言えばデータサイエンティストにはJavaでの開発経験はあまり役にたたないかもしれませんが、データエンジニアにはJavaでの開発経験は便利な武器になると思います。

    またプログラムはともかく、もう一つ大きな開発プロジェクトという括りではPythonは歴史的にJavaの世界でのMavenの様な規約に基づく標準的なプロジェクトライフサイクルの実装を持つ機会がありませんでした。テストや依存性管理に関しては個別のツールが存在しますが、それをまとめて実行するとなると秘伝のタレの風味も漂う手作りのMakefileが広く使われているのが実際です。

    ツールのないところには文化も育たないわけで、プロジェクトで様々な分野の人が集まるとJavaのプロジェクト経験のある人には比較的均一なプロジェクト構造の体裁や作法が期待出来る一方で、Pythonの世界から来た人は本当に作法も様々で、皆が同じコードベースで働くためのオンボーディングにはPythonの方が一手間かかるなというのが実感です。

    他にも依存性管理ツールが未だに標準争い中、PyPIレポジトリのためのパスワードを安全に扱う方法がない、時刻の扱いなど基本的な部分にプラットフォーム依存が存在する、等々、業務で使うとなるとPythonには案外色々な落とし穴が存在するのも事実です。


  • 自営業エンジニア

    プログラマーの視点からいうと、初学者の入り口は何でもいいが、ある程度プログラミングに首を深く突っ込むなら、c/C++は最低限、基礎知識として知っておいた方がいい。Javaはもう役目を終えた感はあるのでいいよ。仕事ではまだ使われるとは想うけど、趣味でプログラミングするなら、Javaを選ぶ理由はないね。
    自分は、仕事では、cから始めたが、結局今でも仕事でも趣味でも使えるスキルだし、覚えておいて損はない。


アプリをダウンロード

NewsPicks について

SNSアカウント


関連サービス


法人・団体向けサービス


その他


© Uzabase, Inc

マイニュースに代わり
フォローを今後利用しますか