Pythonの開発手段としての多様性

仕事上Pythonだけを使いたい(主の仕事が研究であるため).

Pythonが良いのは,研究の仕事,開発の仕事のどちらにもそれなりに実用性が耐えうる(と思われる)点にあります.
(主が研究でなければ,JS, C#, Java, C++の方が良いかも知れません.)

Pythonメリット

  1. 科学計算,特にAIの研究/開発に強い.
  2. Pythonがあれば多彩な仕事に対応できる
    • 後述の用途に著名なモジュール/拡張が揃っており,Bestとは言えないまでもBetterな開発ができるので,2nd言語としても適切(AI, DataMining系なんかはBest).
  3. 卒論でPython使用者が多い。って事は、「Pythonならコーディングできる」となると、不足するSE/PG不足を補填に繋がるかも(2022.01.29追記)
  4. 研究コードをそのままプロダクト化できる。CythonでC言語化、Rustも内部で使える。Small開発がBigにもできる(2022.01.29追記)
  5. 現在のTypeHintによる型が弱いが、この導入は将来の型制約の実現をスムーズにする布石だろう。結果、TypeScriptやJavaら静的型付け言語と型に関しては遜色なくなる可能性がある。(2022.01.29追記)
    (型導入は大きな改変が必要らしいのと、Python開発者らは変革に慎重。Python3が2008年に登場してPy2廃止(2020.1.1)まで約12年間も長期設けた、その分Python開発は遅くなるので、気長に待つしか無い)。

研究面

  • 深層学習(AI): Tensorflow, Chainer, PyTorch他,AIの主モジュがある.
  • 機械学習,強化学習: scikit-learn他,主がある
  • 解析ツール(DataMining): Jupyter-Notebook
  • 自然言語処理, Textmining: MeCab, CaboChaなど使えます.
  • 画像処理/認識: OpenCV他多彩.
  • GIS: QGISというFree GISの主開発言語がPython
  • シミュ: PySim

開発面

Desktopアプリ(=Win,MacOS,Linux)開発

GUIにQt, Gtk, Kivyを使い,Cythonで固めてPyInstallerで配布

AndroidOS/iOS開発

GUIにKivyを使いBuildozerで配布

WebApp開発-ServerSide:

  • Django, Flaskなどフレームワークもあり,PHP, Rubyに比べてシェア少ないですが,十分かと.

WebApp開発-ClientSide:

  • Brython, JavaScriptをPythonで代替.面白そう,実用性はどうなんでしょう.

Excel

  • 読み書きできるのはpandas他多数あります.主要なのみ. Excel-Addonとして使用できるといった先進版を主に.

PyXll

  • 有料.

xlwings

ExcelPython

  • 開発が2015年ver2.0.9で停止(2019.6.21現在).