意識低い系ドットコム

漫画の感想、IT業界のよもやま話、古銭収集など、雑多な話題を意識低くお届けします

初心者のためのプログラミング学習用言語「PG0」を試してみた!必要最小の言語仕様でわかりやすい

「プログラミングを始めてみたいんだけど、言語が多すぎてどれを選べばいいかわからない!」

と、なかなか最初の取っ掛かりがつかめなくて困ってる人って多いと思います。

 

プログラミング言語って有名どころだけでも、

C言語、C++言語、C#、VisualBasic、Java、JavScript、Python、Ruby、PHP、Perl・・・

などなど、わんさかあります。言語毎に特性や得意ジャンルなどに差があって、これでは確かに初心者は最初に何を選べばいいか迷っちゃいますよね。

 

僕も昔プログラミング勉強した時はC言語から入ったんですが、この言語は使いこなせれば強力ではあるものの、とても取っつきづらくて苦戦しました。

 

じゃあ最初はどんな言語を選べばいいんだって話ですが、プログラミング未経験の人は実践的な言語はあえて避けるのも手です。

 

「PG0」という学習用に作られた言語があるんですが、こういう言語でまずはプログラミングで最低限必要となる基本構造(順次、分岐、反復)の感触だけでも掴めれば、後々実践的な言語を学ぶ際のハードルがかなり下がるかと思います。

 

今回の記事では、プログラミング学習用言語「PG0」の導入方法やメリットをわかりやすく説明します。

 

「PG0」は下記リンクの窓の杜または公式サイトからダウンロードできます。

 

 

 

インストールするだけで環境作成完了

通常であれば、プログラミングの開発環境を構築しようと思うと、

  • ライブラリが足りないだとか
  • 環境変数の設定が必要だとか

やることが多くて、実際にプログラムのコードを書くまでに挫折しちゃう人も多いと思うんですよね。

 

その点「PG0」はダウンロードしたファイルをダブルクリックして、インストール先を決めるだけ!*1

 

簡単に始められるのが魅力です。 

 

 

チュートリアルが便利!

「PG0」を初回起動時、以下のような画面が表示されて、チュートリアルを開くことができます。

 

プログラミング学習用言語「PG0」の起動画面

初回起動時の画面

※上の画面で「いいえ」を選択しても、「メニュー」→「ヘルプ」からチュートリアルを開くことができます。

 

チュートリアルは、画面の各部(エディタ部、変数部、コンソール部)の説明やプログラムの実行の仕方が書いてありますが、それ以外にも、

  • 変数とは何か?
  • 順次、分岐、反復処理とは何か?

といった、プログラミングの基礎中の基礎の概念についても丁寧に説明してくれているので、プログラミング完全初心者の人でも安心です。

 

 

シンプルな言語仕様

「PG0」の言語仕様はとにかく「シンプル・イズ・ザ・ベスト!」。これに尽きます。

 

※公式サイトより引用

言語仕様
PG0は、プログラミングの基礎となる順次、分岐、反復を組み合わせてアルゴリズムを考えることに特化しています。
型は「整数型」と「配列」、分岐は「if、else」のみ、反復は「while」のみとなっています。

プログラムの書き方はC、C++、C#、Java、JavaScriptなどに近いためPG0で基礎を学ぶことで、それらのプログラミング言語の学習の助けになります。

 

公式サイトから引用しましたが、学習のための必要最小限度の言語仕様にまとめられていて、覚えることが少ないです。

 

例えば変数の型一つとっても、C#言語の場合は、

 

C# の型と変数 - C# 言語のツアー | Microsoft Docs

  • 値型
    • 単純型
      • 符号付きの整数: sbyteshortintlong
      • 符号なしの整数: byteushortuintulong
      • Unicode 文字: char
      • IEEE バイナリ浮動小数点数: floatdouble
      • 高精度 10 進浮動小数点数: decimal
      • ブール値: bool
    • 列挙型
      • enum E {...} 形式のユーザー定義型
    • 構造体の型
      • struct S {...} 形式のユーザー定義型
    • null 許容値型
      • null 値を持つその他すべての値型の拡張子
  • 参照型
    • クラス型
      • その他すべての型の最終的な基底クラス: object
      • Unicode 文字列: string
      • class C {...} 形式のユーザー定義型
    • インターフェイス型
      • interface I {...} 形式のユーザー定義型
    • 配列型
      • 1 次元または多次元、たとえば int[] および int[,]
    • デリゲート型
      • delegate int D(...) 形式のユーザー定義型

 

と、これだけの種類があります。初心者の人は何が何やらわからないと思います。

 

その点、「PG0」は変数の型は整数型と配列型(複数の変数を集めたもの)、これだけです。

 

学習初めの頃にいろんな知識をわーっと詰め込まれたって頭が混乱するだけで全然覚えられないと思うんですよね。「PG0」の必要最小限度の言語仕様はまさに学習にうってつけです。

 

 

実際にコードを書いてみる

試しに簡単なコードを書いて、ステップ実行(プログラムを1行ずつ実行するモード)で動かしてみました。

 

【プログラムの説明】

  • 毎月5万円ずつ積み立てて利回り4%で運用した時の資産額をシミュレーションするプログラム
  • 10年目の積立額600万円に対して資産総額約750万円と順調に増えているが、10年目に不況イベント到来

 

f:id:ken530000:20200418183026j:plain

ステップ実行

 

画面内の水色が現在実行しているコードを表しています。使用した変数が自動的に画面右にモニタリングされるので、わかりやすいですね。

 

あと、構文がC言語ライクなのも良いです。現在主流の言語の多くはC言語の影響を受けているので、このタイプの構文に慣れておくと実践向けのプログラミング言語を学ぶときにも楽だと思います。

 

 

PG0の『次』の言語は何を選べばいい?

PG0でプログラミングの基礎を学んだら、次はシステム開発の実務で使うような言語の習得を目指しましょう。

 

問題はどの言語を選ぶかですが、それぞれのプログラミング言語は、

  • C言語:組み込み系業界
  • PHP:Web系業界
  • Python:AI関連

とそれぞれ得意としている分野が違うので、入りたい業界が決まっているという人はそれを基準に選ぶといいかもしれません。

 

もしくは、プログラミング言語の人気度で選ぶのも手です。人気のある言語はネット上で情報豊富で学びやすいうえに、就職の際にも有利です。

 

当ブログで独自にプログラミング言語の人気度を測った記事があるので、読んでみてください。 

www.ishikihikui-kei.com

 

 

学ぶ言語を決めたら、次にすべきは読みやすい入門書の入手。下の記事では、初心者向けプログラミング入門書をシリーズ毎に比較しています。 

www.ishikihikui-kei.com

 

*1:ソフトウェア発行元未記載なので、Windows Defenderの警告メッセージが出ることがあります。