株式会社わくわくスタディワールド

株式会社わくわくスタディワールド

プログラミング言語と情報処理技術者試験

情報処理技術者試験は,最初に登場したときには,「プログラマのための認定制度」としてスタートしました。
試験センターの「第二種情報処理技術者認定試験」「第一種情報処理技術者認定試験」の記述にもあるとおり,第二種が一般プログラマ-,第一種がシニアプログラマという位置づけです。

ですので,初期の試験は,第二種情報処理技術者試験(今の基本情報技術者試験)以外に第一種情報処理技術者試験(今の応用情報技術者試験)でもプログラミング言語の出題がありました。

昭和44年度に情報処理技術者試験が創設されてから今までの,出題されるプログラミング言語の変遷は,次のようになっています。

<第一種情報処理技術者試験>
昭和44年~昭和51年
 FORTRAN,ALGOL,COBOL,PL/I,アセンブラ言語のうちから一言語を選択
昭和52年~平成4年
 アセンブラ言語は必須とし,その後FORTRAN,COBOL,PL/Iからのうちから一言語を選択
平成5年~平成6年春期
 C言語を選択に追加
※平成7年以降は,プログラミング言語の出題はなくなります。


<第二種情報処理技術者~基本情報技術者試験>
昭和44年~昭和51年
 FORTRAN,ALGOL,COBOL,PL/I,アセンブラ言語のうちから一言語を選択
昭和52年~平成6年春期
 FORTRAN,COBOL,PL/I,アセンブラ言語のうちから一言語を選択(ALGOLがなくなる)
平成4年度秋期~平成6年春期
 C言語を選択に追加(C,FORTRAN,COBOL,PL/I,アセンブラ言語となる)
平成6年度秋期~平成12年
 C,COBOL,Fortran 及びアセンブラ言語(CASL)のうちから選択(問題は2問)
 (PL/Iがなくなる)
平成13年春期
 C・COBOL及びアセンブラ言語(Fortranがなくなる)
平成13年秋期~平成20年
 Javaを選択に追加
平成21年~現在
 C,COBOL,Java,アセンブラ言語,表計算ソフトのうちから一言語を選択
 (表計算ソフトが追加)

こうやって眺めてみると,40数年の間に,プログラミング言語の出題は,どんどん変わって行っていますね。最初から今まで残っているのは,COBOLとアセンブラ言語だけで,いろいろ加わったり削除したりしています。

整理していてはじめて知ったのは,昔の第一種情報処理技術者試験では,一時期(昭和52年~平成6年)は,アセンブラ言語が必須だったことです。
アセンブラがすべての基本,ということだと思いますが,しっかりアセンブラについて知っていることが大切だと,当時の作問者が考えていたことがうかがい知れます。

よく,基本情報技術者試験の受験者に,「プログラミング言語は何を選んだらいいですか?」というのを聞かれますが,将来性を考えると,今でもアセンブラ言語が一番いいように思います。
コンピュータの仕組みや動きを知るためには,一番低次元(コンピュータに近い)言語ですし,一度アセンブラの動きを知っておくと,その他の言語を学ぶ時の助けになります。

私自身は,C言語のあとにアセンブラを学びましたが,アセンブラでメモリの番地を意識することができていれば,C言語のポインタの理解にも苦労しない気がしました。
C言語をやっていて,ポインタの概念が分からないという人は,一見遠回りでも,アセンブラ言語の勉強をしてみるといいと思います。特に,情報処理技術者試験のアセンブラ言語(CASLII)は,仮想端末用の簡略化した言語ですので,学びやすいと思います。

ちなみに,現在選択できるプログラミング言語の,それが選択されている意図は,次のようなものだと私は考えています。

C言語
今でも使われている言語で,構造化したアルゴリズムを記述するのに向いている。
ポインタの概念や,典型的なアルゴリズムについての問題が出しやすいため,プログラマの適性を試しやすい。

COBOL
昔からある言語で,今も一定数の需要がある事務処理用言語。
概念が古くなっていて,次に削除されるならこの言語だとも思うけど,昔ながらの会社や専門学校では積極的に教えるので,しばらくは残りそう。

Java
一番使われている言語で,オブジェクト指向のプログラミングに向いている。
クラスや継承,ポリモーフィズムの問題などが出しやすく,基本的なプログラミング能力だけでなく,オブジェクト指向の理解も問うことができる。

アセンブラ言語
現実には使われていないけど,コンピュータの動きを学ぶために最適な言語。
命令が少なく,概念が理解できれば解けるため,実は一番習得には時間がかからない。
本来,プログラミング言語の学習のためには,一番おすすめしたい言語だと思われる。

表計算ソフト
プログラマでない人でも,基本情報技術者試験に合格できるようにという意図で追加された言語。
プログラミング言語そのものの知識は問われないが,プログラマに必要な論理的思考は結構問われる。
試験問題の文章がかなり長く,どんどん難化していっている言語でもある。


いずれにしても,IT関連の技術者として生活していこうと思うなら,プログラミング言語はしっかり学習していくことが大切です。
「今流行っている言語だから」「この言語をやっておくと就職しやすそう」というのは,実はあまり関係ありません。プログラマを募集しているときに,「表計算で受かりました」というと評価は落ちるかもしれませんが,それ以外だったら何を選んでも,特に影響はないと思います。
実際にプログラミングを仕事で続けていく場合には,一言語しか使わないということの方が少ないからです。

プログラミングの問題は,もともと情報処理技術者試験試験の根幹だった,大事な分野です。
しっかり向き合って,マスターしてステップアップしていきましょう。