Python とは

Python(パイソン)とは

Pythonは1991年に米国在住のオランダ人のグイド・ヴァンロッサム(Guio van Rossum)という
プログラマーによって開発されたインタプリタ型式のオープン・ソースの無料で使えるプログラミング言語です。

今ではPythonソフトウェア財団というリリースが管理されていて無料公開されています。
Pythonはコンパイルを必要とせずに実行時に機械語に翻訳されて実行されるプログラミング言語です。

それまでのインタプリタ(VBAやJavaScript)は一行ずつ翻訳しながら実行を
進めていましたがPythonによる翻訳は最初にPythonのソース全体が
翻訳されますので実行時にはオブジェクトとして実行なので開始すると
パフォーマンス良く動作します。

Pythonはまた構造化された複数のプログラミング・パラダイムを
オブジェクト指向としてサポートしていて従来のプログラミング言語
つまりOS/400プラットフォームではオブジェクト・ベースでILE環境で
RPGやCOBOLとの共存を可能にします。
これはILEのオブジェクト指向を最大限に活かすことができオブジェクト・レベルで
Pythonと既存のRPG/COBOLとのシームレスな連携を実現できます。

Pythonが一番の人気

今、すべての開発言語の中でPythonがJavaを抜いて最も人気も高く普及している言語です。

▼2024年度日経クロステックによる調査
言語別普及率
全体の46%がPythonを利用していると答えました。
言語別使用頻度
全体の46%2023年度からはPythonが一位になっています。

Pythonの特徴

  • 読みやすく習得も簡単 これまでのRPG特に RPG III のような古典的なプログラムでは書いた人にしかわからないような個性的な記述になってしまっていましたがPythonでは誰が書いてもわかりやすいソースになるように文法そのものが工夫されています。

    変数(=フィールド)の定義も必要ありませんし段落表示(=インデント)が文法の基準となっていますので段落別に構造化して表記することが文法的に義務づけられていますのでわかりやすく読みやすい言語となっています。

  • 汎用性が高くオブジェクト指向 多くのプラットフォームで実行可能になっておりIBM iもそのひとつです。
    さらにオブジェクト指向で既存のRPG.COBOLとの相互呼出しも可能でIBM iのサービス・モジュール(*SRVPGM)をPythonでILE環境のひとつとして呼び出して利用することができます。

    このことによりIBM i独自のレコード・レベルのアクセスやRPGの演算命令もPythonから使えるようになりました。
    製品 Python.400の解説では ライブラリー・システムとの相互利用についてくわしく解説しています。

  • 動作環境が豊富 多くのプラットフォームでの実行が可能なため使途利用範囲が
    広くなっていますので教育でもPythonを第一に教えることが多くなっています。

  • AIやWeb開発にも適している Pythonと言えばAI開発用に利用されることが多くなっていましたがWeb開発もPython なら驚くほど簡単です。

    事前にApche HTTPサーバーやTomcatを起動しておく必要も全くなく起動するだけでPython自身がWebサーバーとして起動を開始します。

    特にPythonが強いのはWeb開発です。
    JSP & ServletやPHPではプログラム・ロジックと
    HTMLインターフェースが混在していましたのでHTMLやJavaScriptの知識が十分なプログラマーしか開発できませんでした。

    しかしPythonではPythonソースとHTMLテンプレートは完全に
    分離されていますのでWebデザイナーやフロント・エンド開発者と分離して共同開発が可能です。

    またPythonによるWebの実行はこれまでのJavaやPHP,CGIに比べても驚くほど簡単です。

    これまでのようにHTTPサーバーの知識や準備も全く必要なく
    ただPythonプログラムを動作させるだけで
    Webとして稼働するのです。

  • Pythonの可用性 Pythonが普及し始めたのは AIの開発によく利用されて普及しました。
    今ではあらゆるプラットフォームで多岐にわたって多くのライブラリーが無償で公開されています。
    JavaではMicrosoftのライブラリーさえ当時のSunMicroは拒みました。
    Pythoonはこれとは逆に世界中にライブラリーが溢れており企業でも
    新しい用途の開発に使える可用性に富んでいます。
    社内にPythonを普及しておけば社内の利用範囲は
    将来的にも広がっていくことは間違いありません。

Pythonのポリシーは簡単さです

Pythonは最も簡単、シンプルを第一のポリシーとしています。
最も簡単なことを第一の優先とすることで開発された言語です。

RPGフリー・フォーマットに似た簡単さ

Pythonは RPGのフリー・フォーマットに良く似た言語でENDIF などが不要です。
インデント(=段落)が条件句を示しますので誰が見てもわかりやすい表現になります。

▼ILE-RPGフリー・フォーマット
▼Python で書くと

Pythonの人気の理由

簡単に開発できて誰にでも他の人のソースを理解しやすいという点と実行プラットフォームの範囲が広いのでPythonさえ教えておけば多方面で役に立つ。
学ぶ方もPythonをマスターしておけば応用が利くという点で学校でもこぞってPythonを教えようとしますし学生も積極的にPythonを学習する傾向にあります。
それでますますPythonのプログラマーは増えています。

  • 簡単で初心者向けである
  • 多くのプラットフォームで使われている
  • ライブラリーが豊富
  • 汎用性が高い
  • 年収が高い
  • グローバルな言語
  • 学習情報量が豊富

RPG III経験者にでも書けるやさしさ

本当にあった話ですがあるRPG IIIを20年開発していただけの
初老のIBM iプログラマーが会社からのWeb化の命令で
わずか半年足らずでPythonによるWebシステムを作り上げたことがあります。
これほどPythonは学習しやすく多くの人に受け入れられているのです。

Pythonの学習

Pythonを学習する機会はどこにでも溢れています。

  1. InternetでインターネットでPythonを検索すれば多くの学習記事を見つけることができます。

  2. YouTube でYouTubeでもPythonの導入から紹介動画はあふれています。
    手軽に学習することができます。

  3. 書店で書籍でも書店やAmazonでPythonの入門書籍はどれを選ぶか迷うほど溢れています。

  4. Python.400マニュアルPython.400のオンライン・マニュアルでは
    IBM i開発者のためのPythonの使用方法がくわしく解説されています。

お勧めのPython入門書

インターネットで個人が公開している入門サイトは個人的な偏りや漏れや誤りもあります。
正しい偏りのない知識はやはり出版された書籍で学習することをお勧めします。

概念をわかりやすく直観的に説明している入門書と仕様を漏れなく正確に紹介している解説書の両方を揃えることが必要です。

O'REILLY Pythonチュートリアル第4版
オライリー・ジャパン発行 ¥1,980
IT出版物として定評のあるオライリーの刊行物として信頼ある入門書
O'REILLY 入門Python 3 第2版
オライリー・ジャパン発行 ¥4,180
少し分厚い書籍だがPythonの仕様について漏れなく記載されている
参照書籍として必要

IBM iでのPythonの利用

IBM はオープン・プロジェクトのひとつとして
OS Ver7.1からライセンス・プログラムの一部として
導入されてIBMユーザーでもPythonを使えるようになりました。
OS Ver7.1~7.4 まではPythonも IBM iにプレ・インストールされていました。

  • PASE環境でAIX互換を利用 IBM iにはPASE環境というAIXと互換の仮想プラットフォームがあります。
    ( AIXとは IBMが販売しているUNIXシステムのことです)
    Pythonは UNIXつまりAIXの上で動作しますのでIBM iのAIX互換の
    PASE環境の上で修正なしに動作させることができます。

    このようにIBM iは今現在、既にオープン環境を保有しているオープン・システムなのです。

インストール

Pythonのインストーラが専用インストーラ(yum)が提供されたためにOS Ver7.5ではPythonの
プレ・インストールはなくなりましたが(株)オフィスクアトロでは SystsmManager APIを
使ってPythonを OS Ver7.5~のIBM iにもインストールできるインストーラを開発しました。

これはIBMが従来から OS/400にライセンス・プログラムを
導入してきたものと同じAPIによる正規のインストール方法です。
これによってどのOSリリースでも GO LICPGM でPythonが
導入されていることを確認することができます。

(株)オフィスクアトロではこのように
従来のOSリリースにわたってPythonがIBM iで使えるように
準備しています。

導入はHitPackで簡単です。

Pythonインストーラ(yum)では導入に25分以上かかりますが
SystemManagerによるインストールはわずか数分で導入できます。

アンインストールもGO LICPGMで簡単にできます。