令和 4 年度 第 1 次試験問題 経営情報システム 第三問 解答と解説

解答

 

4.

 

解説

 

 プログラミング言語についてです。世の中には本当に様々なプログラミング言語があります。私自身、プログラミング言語を使った開発経験が長いですが、使用したこともない言語が山のようにあります。

 全部を全部、まとめて紹介すると、ボリュームがありすぎるので、ここでは控えます。問題からひとつずつ学んでいきましょう。

 

1.JavaScriptJava のサブセットであり、HTML ファイルの中で記述され、動的なWeb ページを作成するために用いられる。

 超有名な引っかけ問題です。名前に騙されて、JavaScript は、まるでJavaのサブセット、まあつまりは互換性がある言語と勘違いされがちですが、 下記、Wikipedia にもあるように、Javaとは異なる言語です。その他の記載については、合っていますが、Javaのサブセットというのは誤りです。

 

JavaScript(ジャバスクリプト)は、プログラミング言語であり、HyperText Markup Language(HTML)やCascading Style SheetsCSS)と並ぶ World Wide Web(WWW)の中核技術の一つである。

プロトタイプベースオブジェクト指向スクリプト言語であるが、クラスなどのクラスベースに見られる機能も取り込んでいる。

利用される場面はウェブサイトウェブアプリケーション、バックエンド、デスクトップアプリケーションモバイルアプリケーションなど、ウェブブラウザからサーバ、デスクトップからスマートフォンまで多岐にわたっている。

Javaと似た名称を持つが、異なるプログラミング言語である(#歴史を参照)。

概要

JavaScriptWebブラウザNetscape Navigatorに起源を持ち、現在では様々な用途に利用されるプログラミング言語である。

JavaScriptの言語仕様はECMAScriptとして標準化され、実装は各種のJavaScriptエンジンによって提供されている。JavaScriptエンジンの例としてChromium系ブラウザのV8Mozilla FirefoxSpiderMonkeySafariJavaScriptCoreが挙げられる。

言語仕様を定義するECMAScriptのほかに、WebブラウザへアクセスするためのAPI仕様にDOMなどがある。これらはECMAScriptから独立しており、JavaScriptからも独立した概念である。

プログラミング言語としての特徴

JavaScriptは以下のような様々なスタイルのプログラミングが可能である。

これらを可能にしているプログラミング言語としての特徴に、以下のことが挙げられる。オブジェクト指向の面では、JavaScriptのオブジェクトはクラスベースではなくプロトタイプベースである。関数型の面では、第一級関数をサポートし関数を第一級オブジェクトとして扱える。

AptanaEclipseNetBeansIntelliJ IDEAなどの統合開発環境JavaScriptをサポートしており、大規模開発が可能になっている。さらにExt JSなどの本格的なGUIライブラリの登場により、デスクトップアプリケーションと遜色ないユーザインタフェースの構築が可能になった

 

 

JavaScript」『フリー百科事典 ウィキペディア日本語版』。2023年2月9日 (木) 10:41 UTCURL: JavaScript - Wikipedia

 

2.Perl は日本人が開発したオブジェクト指向言語であり、国際規格として承認されている。

Perlは、下記にあるように日本人が開発した言語ではありませんし、オブジェクト指向言語でもありません。Perlは、ラリー・ウォールにより開発されました。

日本人が開発されたオブジェクト指向言語といえば、Rubyです。Rubyは、Perlの次の誕生石という由来でRubyと名付けられた言語であり、Perlとは似た部分があります。

よって、誤りとなります。

 

 Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語sedawkシェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられている。

 

言語処理系としてのperlはフリーソフトウェアである。Artistic LicenseおよびGPLのもとで配布されており、誰でもどちらかのライセンスを選択して利用することができる。Linux/UNIXWindowsmacOSなど多くのプラットフォーム上で動作する。

特徴

 

 

Perl」『フリー百科事典 ウィキペディア日本語版』。2022年12月27日 (火) 13:52 UTCURL: 

Perl - Wikipedia

 

 

3.PythonLISP と互換性があり、機械学習などのモジュールが充実している。

最近大人気のPythonですね。機械学習などAIに活用されたり、大規模データを扱うプログラムに利用されるなど、昨今人気が高い言語です。

LISP言語を参考にした部分もありますが、互換性や言語の関連は特にありません。よって、誤りです。 

 

Python(パイソン)はインタープリタ型の高水準汎用プログラミング言語である。

概要

Pythonは1991年にグイド・ヴァン・ロッサムにより開発されたプログラミング言語である。

最初にリリースされたPythonの設計哲学は、有意なホワイトスペース(オフサイドルール)の顕著な使用によってコードの可読性を重視している。その言語構成とオブジェクト指向のアプローチは、プログラマが小規模なプロジェクトから大規模なプロジェクトまで、明確で論理的なコードを書くのを支援することを目的としている。

Python動的に型付けされていて、ガベージコレクションされている。構造化(特に手続き型)、オブジェクト指向関数型プログラミングを含む複数のプログラミングパラダイムをサポートしている。Pythonは、その包括的な標準ライブラリのため、しばしば「バッテリーを含む」言語と表現されている

Pythonインタプリタは多くのOSに対応している。プログラマーのグローバルコミュニティは、無料のオープンソース  リファレンス実装であるCPythonを開発および保守している 。非営利団体であるPythonソフトウェア財団は、PythonとCPythonの開発のためのリソースを管理・指導している。

特徴[編集]

Pythonインタプリタ上で実行することを前提に設計している。以下の特徴をもっている:

言語

Pythonには、読みやすく、それでいて効率もよいコードをなるべく簡単に書けるようにするという思想が浸透しており、Pythonコミュニティでも単純で簡潔なコードをよしとする傾向が強い

設計思想

Pythonの本体は、ユーザがいつも必要とする最小限の機能のみを提供する。基本機能以外の専門機能や拡張プログラムはインターネット上にライブラリとして提供されており、別途ダウンロードして保存し、必要なツールはこのツールキットからその都度呼び出して使用する

Pythonでは「あることをなすのに唯一の良いやり方があるはず」という哲学がある(参考: Perl「やり方は一つじゃない」)。

Pythonではプログラムの文書化(ソフトウェアドキュメンテーション)が重視されており、言語の基本機能の一部となっている。

 

Python」『フリー百科事典 ウィキペディア日本語版』。2023年2月6日 (月) 15:47 UTC

URL: Python - Wikipedia

 

4.R は統計解析向けのプログラミング言語であり、オープンソースとして提供されている。

 R言語は、統計解析向けに開発された言語であり、C言語Schemeなどの影響から開発された言語である。オブジェクト指向にも対応したマルチパラダイム言語です。

この選択肢の通り、オープンソースとして提供されています。この文章が正解となります。

 

 

R言語(アールげんご)はオープンソースフリーソフトウェア統計解析向けのプログラミング言語及びその開発実行環境である。ファイル名拡張子は.r, .R, .RData, .rds, .rda。

R言語ニュージーランドオークランド大学Ross IhakaRobert Clifford Gentlemanにより作られた。現在ではR Development Core Teamによりメンテナンスと拡張がなされている。

R言語ソースコードは主にC言語FORTRAN、そしてRによって開発された。

なお、R言語の仕様を実装した処理系の呼称名はプロジェクトを支援するフリーソフトウェア財団によれば『GNU R』であるが 、他の実装形態が存在しないために日本語での慣用的呼称に倣って、当記事では、仕様・実装を纏めて適宜にR言語や単にR等と呼ぶ。

特徴

R言語は文法的には、統計解析部分はAT&Tベル研究所が開発したS言語を参考としており、またデータ処理部分はSchemeの影響を受けている

 

言語仕様

Rはマルチパラダイムプログラミング言語である。広義の関数型言語の一つであるSchemeの影響を受けていて、リストを基本にした内部処理・遅延評価静的スコープなどの特徴をもつ。インスタンス生成などオブジェクト指向機能ももっている。手続的な表記法にはCの影響がある。いわゆる「Hello, world」プログラムのコードと実行結果は以下とおり。

> print("Hello world")
[1] "Hello world"

 

R言語」『フリー百科事典 ウィキペディア日本語版』。2022年12月28日 (水) 14:35 UTC

URL: R言語 - Wikipedia

 

 

5.Ruby はビジュアルプログラミング言語であり、ノーコードでアプリケーションソフトウェアを開発することができる。

上の方ですでに話題を出しましたが、Rubyは日本人が開発したオブジェクト指向スクリプト言語です。ノーコードでアプリケーションソフトウェアを開発するようなビジュアルプログラミング言語ではありません。

 

Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発されたオブジェクト指向スクリプト言語スクリプト言語とはプログラミング言語の一分類)。

日本で開発されたプログラミング言語としては初めて国際電気標準会議(IEC)で国際規格に認証された事例となった

概要

Ruby1993年2月24日に生まれ、1995年12月にfj上で発表された。名称の Ruby は、プログラミング言語 Perl が6月の誕生石である Pearl(真珠)と同じ発音をし、「Perlに続く」という意味で、6月の次の誕生石(7月)のルビーから名付けられた。競合言語として Perl の他に Python があり、「Matz(まつもと) が Python に満足していれば Ruby は生まれなかったであろう」と公式のリファレンスの用語集で言及されている

機能として、クラス定義ガベージコレクション、強力な正規表現処理、マルチスレッド例外処理イテレータクロージャMixin利用者定義演算子などがある。Perl を代替可能であることが初期の段階から重視されている。Perlと同様にグルー言語としての使い方が可能で、C言語プログラムやライブラリを呼び出す拡張モジュールを組み込むことができる。

Ruby 処理系は、インタプリタコンパイラが存在する(詳しくは#実装を参照)。

可読性を重視した構文となっている。Ruby においては整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語といえる。

長らく言語仕様が明文化されず、まつもとによる実装が言語仕様に準ずるものとして扱われて来たが、2010年6月現在、JRuby や Rubinius といった互換実装の作者を中心に機械実行可能な形で明文化する RubySpec という試みが行われている。公的規格としては2011年3月22日にJIS規格(JIS X 3017)が制定され、その後2012年4月1日に日本発のプログラム言語では初めてISO/IEC規格(ISO/IEC 30170)として承認された。

フリーソフトウェアとしてバージョン1.9.2までは RubyライセンスRuby License や Ruby'sと表記されることもある。GPLArtisticに似た独自ライセンスを選択するデュアルライセンス)で配布されていたが、バージョン1.9.3以降は2-clause BSDLとのデュアルライセンスで配布されている

 

 

Ruby」『フリー百科事典 ウィキペディア日本語版』。2023年2月6日 (月) 15:47 UTC

URL: Ruby - Wikipedia

 

 

以上より、4が正解となります。