基本情報 プログラミング 言語の選択と学習方法|午後問題の歩き方
error
この記事は基本情報技術者試験の旧制度( 2022 年以前)の記事です。
この記事の題材となっている「午後問題」は現在の試験制度では出題されません。 ご注意くださいませ。
info
アルゴリズムとプログラミング問題の対策には、新しい擬似言語にリライトした連載「アルゴリズムとプログラミング問題を解くコツ」がオススメです。
もくじ
プログラミング言語の特徴と選び方
基本情報技術者試験の午後試験では、「 C 言語」「 Java 」「 Python 」「アセンブラ ( CASLⅡ ) 」「表計算」の中から、 1 つを選択しなければなりません。プログラミングの経験がない人は、「どれを選んで、どのように学習すればよいのだろう?」と悩んでしまうでしょう。
そこで、この記事では、それぞれのプログラミング言語の特徴を説明し、それぞれの学習方法をアドバイスします。
はじめに、それぞれの言語の特徴を説明しましょう。
「何か 1 つプログラミング言語をマスターしたい」と思っている人は、それぞれの特徴から、自分の好みに合った言語を選んでください。「やってみたい!」と思った言語を選ぶことが重要です。興味がない言語を嫌々学習したのでは、決してマスターできないからです。
C言語 の特徴
C 言語は、 IT 業界の第一プログラミング言語と呼べるものです。英語が世界の共通語であるように、 C 言語は、 IT 業界の共通語であると言えます。
図 1 は、プログラミング言語の人気ランキングを示した TIOBE Index の 2021 年 3 月のランキングを Top 10 まで示したものです。 1 年前の 3 月に 1 位だった Java を抜いて、 C 言語が 1 位になっていることがわかります。
Mar-21 | Mar-20 | Change | Programming Language |
Ratings | Change |
---|---|---|---|---|---|
1 | 2 | call_made | C | 15.33% | -1.00% |
2 | 1 | call_received | Java | 10.45% | -7.33% |
3 | 3 | Python | 10.31% | 0.20% | |
4 | 4 | C++ | 6.52% | -0.27% | |
5 | 5 | C# | 4.97% | -0.35% | |
6 | 6 | Visual Basic | 4.85% | -0.40% | |
7 | 7 | JavaScript | 2.11% | 0.06% | |
8 | 8 | PHP | 2.07% | 0.05% | |
9 | 12 | call_made | Assembly language | 1.97% | 0.72% |
10 | 9 | call_received | SQL | 1.87% | 0.03% |
Java の特徴
Java は、私が知る限り、現在、最もニーズが高い言語です。
ほとんどの IT 企業が、新人研修で Java を取り上げています。それは、配属後の開発の現場で Java が使われることが多いからです。先ほどの TIOBE Index でも、 Java が第 2 位になっています。
実は、ここ数年、ずっと Java が 1 位だったのですが、最近になって人気に陰りが見えてきました。そのため、第一プログラミング言語である C 言語に 1 位の座を受け渡してしまったのです。
Python の特徴
Python は、現在、最も注目が高まっている言語です。
図 2 は、プログラマ向けの雑誌「日経ソフトウエア」 2021 年 3 月号の表紙です。これを見ると、特集記事も、連載記事も、付録の冊子も、ほとんどが Python 関連になっていることがわかるでしょう。それだけ Python が注目されているからです。
先ほどの TIOBE Index でも、 Python が第 3 位になっています。第 2 位の Java との差は、ほんのわずかです。 Python の台頭によって、 Java の人気に陰りが生じたのです。
アセンブラ ( CASLⅡ [CASL2] ) の特徴
アセンブラは、コンピュータのハードウエアを直接操作する命令を記述する言語です。
基本情報技術者試験のアセンブラは、 COMETⅡ (コメット・ツー)という架空のコンピュータを対象とした CASLⅡ (キャッスル・ツー)という架空のアセンブラです。したがって、開発の現場で CASLⅡ を使うことはありませんが、ハードウエアの仕組みとプログラムを関連付ける、という学習効果は、大いにあります。
表計算の特徴
表計算は、プログラミング言語ではありませんが、プログラミング言語の選択肢の 1 つになっています。
基本情報技術者試験の表計算は、 Microsoft Excel ではなく、独自仕様のものです。ただし、セルに数式や関数を入れてワークシートを作成することは、 Microsoft Excel と同様です。 Microsoft Excel を使ったことがあるなら、短時間でマスターできるでしょう。
選択のポイント
それぞれのプログラミング言語の特徴から、言語を選ぶポイントをまとめると、以下のようになります。
- IT業界の第一プログラミング言語を学んでおきたいなら C 言語 です!
- すぐに開発の現場で使える言語をマスターしたいなら Java です!
- 近い将来、開発の現場でニーズが高まる言語をマスターしたいなら Python です!
- ハードウエアの仕組みとプログラムを関連付けて学習したいなら アセンブラ です!
- 試験までの学習時間がないなら 表計算 です!
プログラミング言語の学習方法
次に、それぞれの言語の学習方法をアドバイスしましょう。
ここでは、試験問題のプログラムを読めるレベルになるには、どのように学習すればよいかを示します。 ただし、プログラムを読めるだけでは、試験問題を解くことはできません。試験問題のテーマは、言語で示されたアルゴリズムを読み取ることだからです。 言語とアルゴリズムの学習を、並行して行ってください。
C 言語 / Java / Python の学習方法
C 言語、Java、Python の学習方法は、どれも同じです。それぞれの言語構文を解説した書籍を購入して、そこに示されたサンプルプログラムを作ってください。
プログラムを作るには、専用のツールが必要です。ほとんどのツールは、インターネットから無償で入手できます。ツールの入手方法とインストール方法が示された書籍を選ぶとよいでしょう。
基本構文だけがわかれば OK なので、「はじめての〇〇」や「〇〇入門」のようなタイトルの書籍がよいでしょう。
アセンブラ CASLⅡ [ CASL2 ] の学習方法
アセンブラの学習も書籍で行いますが、実在するコンピュータのアセンブラではなく、基本情報技術者試験の架空のアセンブラである CASLⅡ の書籍を購入することに注意 してください。
CASLⅡのプログラムを作って動作を確認するときは、CASLⅡシミュレータを利用できます。インターネットから無償で入手できる CASLⅡ シミュレータがいくつかあります。図3は、船橋情報ビジネス専門学校が公開している CASLⅡ シミュレータです。プログラムによって、 CPU とメモリの内部がどのように変化するかを、ビジュアルに確認できます。
表計算の学習方法
表計算の学習も書籍で行いますが、 Microsoft Excel ではなく、基本情報技術者試験の表計算の書籍を購入することに注意してください。私の知る限りでは、基本情報技術者試験の表計算のシミュレータはないので、ワークシートやマクロを動作させることはできません。
どの言語の学習も、書籍を購入して行うことになります。
実際に書店に行って、自分に合った書籍を探してください。書籍を最初から最後までを 1 回学習しただけでは、マスターできなくても当然です。少なくとも、同じ書籍で 3 回は学習してください。そうすれば、きっとマスターできます。
擬似言語のことを考慮すると C 言語 か 表計算 がおススメかも
基本情報技術者試験の午後試験には、 C 言語 、 Java 、 Python 、アセンブラ ( CASLⅡ )、表計算の他に、共通に使用される 擬似言語 というものがあります。
この擬似言語は、午後の選択必須問題である「データ構造およびアルゴリズム」で使われるので、読み方を覚えなければなりません。このことから、プログラミング言語では、表計算がおススメだといえます。なぜなら、表計算の問題の後半部は、擬似言語で記述されたマクロ(ワークシートを操作するプログラム)の内容を読み取るものだからです。
「擬似言語を覚えなければならないのだから、それを使える表計算を選ぶのが得策だ」というわけです。図 4 にマクロの例を示します。
擬似言語の構文は、 C 言語 に似ています。 このことから、プログラミング言語では、 C 言語もおススメだといえます。 C 言語をマスターすれば、擬似言語も容易に理解できるからです。
図 5 に擬似言語と C 言語の構文を対応付けた例を示します。
「擬似言語の構文で、黒い三角は C 言語の if 文であり、黒い四角は C 言語の while 文だ」とわかれば、すぐに理解できるでしょう。
Java と Python には、オブジェクトを定義するクラスという構文があります。擬似言語では、クラスが使われません。 C 言語でも、クラスが使われません。この点でも、擬似言語と C 言語は、よく似ています。
以上で、私のお話は、おしまいです。基本情報技術者試験のプログラミング言語の選択に悩んでいる方々に、少しでもお役に立ったなら幸いです。
それでは、またお会いしましょう!
label 関連タグ免除試験を受けた 74.9% の方が、 科目A免除資格を得ています。
基本情報 プログラミング 言語の選択と学習方法|午後問題の歩き方
update基本情報のサンプル問題で Python の基礎知識をチェック | 午後問題の歩き方
update「基本情報 の Python ってどんな感じ?」を解説|午後問題の歩き方
update矢沢久雄さんが執筆! 午後 プログラミング 問題対策の参考書「速習言語」を刊行しました!!
updateこうすりゃ解ける! 2019年度秋期 (令和元年度) 基本情報技術者試験の午後問題を徹底解説
updateこうすりゃ解ける! 2019年度春期 (平成31年度) 基本情報技術者試験の午後問題を徹底解説
updateこうすりゃ解ける! 2018年度秋期 (平成30年) 基本情報技術者試験の午後問題を徹底解説
update午後問題の歩き方 | 試験1週間前にやるべき午後問題の知識チェック (チェックシート付き)
update午後問題の歩き方 | Java プログラミング問題の楽勝パターン(2)オブジェクト指向
update午後問題の歩き方 | Java プログラミング問題の難易度(1)Java基本構文
update『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”
大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。
主な著作物
- 「プログラムはなぜ動くのか」(日経BP)
- 「コンピュータはなぜ動くのか」(日経BP)
- 「出るとこだけ! 基本情報技術者」 (翔泳社)
- 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
- 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数