管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2022/7/13

バイトコードインタプリタとは

バイトコードインタプリタ バイトコードインタプリタとは、バイトコード(中間コード)を実行するインタプリタのことです。 インタプリタとは「通訳者」の意味で、コンピュータが解釈できる機械語に変換しながら実行するものであり、バイトコードとは、仮想マシン上で動作するために作られた実行可能な中間コードのことです。 次の図は、バイトコードインタプリタのイメージ例です。 ソースコードを仮想マシンで動作するバイトコード(中間コード)にコンパイル(変換)し、コンパイルしたバイトコードをバイトコードインタプリタで機械語に変換 ...

2022/7/4

トランスコンパイラとは

トランスコンパイラ トランスコンパイラとは トランスコンパイラとは、あるプログラミング言語で書かれたソースコードを入力として受け取り、別のプログラミング言語の同等のコードを生成するコンパイラの一種です。 コンパイラが、高水準言語で書かれたソースコードを入力とし、低水準言語のコードを生成するのに対し、トランスコンパイラでは、同じ程度の水準のコードを出力します。 次の図はコンパイラとトランスコンパイラのイメージ例です。 コンパイラは、人間が解釈しやすい「高水準言語」を入力とし、コンピュータが解釈しやすい「低水 ...

2022/8/22

クロスコンパイラとは

クロスコンパイラ クロスコンパイラ(英:cross compiler)とは、開発している環境(コンパイラが動作している環境)とは異なる環境(プラットフォーム)向けに実行可能なコードを生成するコンパイラの一種です。 またクロスコンパイラを使い、異なる環境で動作するコードを生成することをクロスコンパイル(英:cross compile)といいます。 クロスコンパイラは主に組み込みシステム(電化製品などの組み込まれているコンピュータシステム)向けのコンパイラや、マルチプラットフォーム(異なる環境で同じように動作 ...

2023/8/3

TypeScriptとは

TypeScript(タイプスクリプト) TypeScriptとは、マイクロソフト社が2012年に開発・公開したプログラミング言語で、JavaScriptのスーパーセットです。 スーパーセットとは「上位互換」のことで、JavaScriptが持つ機能を維持しつつ、TypeScriptとしての新しい機能を追加した言語という意味です。 TypeScriptはそのまま実行するのではなく、トランスコンパイラと呼ばれるものでJavaScriptプログラムに変換してから実行します。 TypeScriptの特徴 静的型付 ...

2022/6/24

Java仮想マシン(JVM)とは

Java仮想マシン Java仮想マシン(英:Java Virtual Machine)とは、Javaプログラムを実行するためのソフトウェアです。「Java VM」や「JVM」と略されて表現されることが多いです。 Javaバイトコードで記述されたコンピュータプログラムを解釈し、そのコンピュータで実行可能な形式のコードに変換して実行します。 さまざまな環境でJavaプログラムを動かすことができる Javaは「Write once, run anywhere」(一度プログラムを書けば、どのコンピュータでも動く) ...

2023/8/3

Goとは(Go言語)

Go(ゴー) Go(Go言語)とは、Googleが開発・公開しているプログラミング言語で、2009年に発表、2012年にバージョン1.0がリリースされています。GolangやGo言語と表記されることもあります。 Goは「高速で信頼性が高く、効率的なソフトウェア開発」ができる言語として登場したもので、コードがシンプルであり簡単な記述でコーディングできるのが特徴です。 2009年の発表当初は、LinuxとMac OS Xしかサポートしていませんでしたが、2012年にリリースされたバージョン1.0からはWind ...

2023/8/3

Kotlinとは

Kotlin(コトリン) Kotlinとは、ジェットブレインズ(JetBrains)社(チェコ共和国の首都プラハに本社を置くソフトウェア開発企業)が2011年に発表したプログラミング言語です。 世界中で使用されている人気言語である Javaをもっと簡潔で安全性の高いプログラミング言語になるように改良して作られたのが Kotlinです。 Kotlinの特徴 Java仮想マシン(Java VM)上で動作する Javaはサン・マイクロシステムズが「Write once, run anywhere」(一度プログラ ...

2023/8/3

Swiftとは(プログラミング言語)

Swift(スウィフト) Swiftとは「iPhone」や「iPad」「Mac」などのApple製品向けのアプリケーションを開発するためのプログラミング言語です。また、Webアプリケーション開発などを行うこともできます。 Objective-Cの後継言語として、2014年にAppleが発表した言語で、C言語がベースとなっているObjective-Cに比べ、簡易な構文で記述できるのがSwiftの魅力です。 「Swift」と「Objective-C」の関係 基本的にApple製品向けのアプリケーション開発を他 ...

2023/8/3

Objective-Cとは

Objective-C(オブジェクティブ シー) Objective-Cとはプログラミング言語の一種で、C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語です。 ※Smalltalk(スモールトーク)とは、1970年代にアラン・ケイ(Alan C. Kay)氏らが考案したオブジェクト指向のプログラミング言語です。 Objective-Cは、macOSのアプリ開発やiOS向けのアプリ開発(iPhoneやiPad向けのアプリ開発)を得意としているため、macOSやiOS向けのアプ ...

2023/8/3

C#とは

C#(シーシャープ) C#(シーシャープ)とは、マイクロソフト社のアンダース・ヘルスバーグ氏が開発したプログラミング言語です。 「C言語」や「C++」をもとにマイクロソフト社の.NET Framework(マイクロソフト社が開発したアプリケーション開発・実行環境)向けのソフトウェア開発に適した仕様に改良したものであり、2002年に最初のバージョンが公開されています。 C#の特徴 オブジェクト指向言語 C#は、C++やJavaなどの言語と同じで「オブジェクト指向」を採用しています。 従来のプログラミング言語 ...

2023/8/3

Javaとは

Java(ジャバ) Javaとは、1995年にサン・マイクロシステムズ(Sun Microsystems)が開発したプログラミング言語です。サン・マイクロシステムズは2010年にオラクル(Oracle)に買収されているため、現在はオラクルがJavaを提供しています。 Javaの歴史 1995年にJavaベータ版が公開 Javaの歴史は、1990年にサン・マイクロシステムズが家電製品に組み込まれているコンピュータ向けのプログラミング言語を開発するためにプロジェクト(グリーンプロジェクト)を立ち上げたことから ...

2023/8/3

JavaScriptとは

JavaScript(ジャバスクリプト) JavaScriptとは、Webブラウザ上で動作するプログラミング言語です。 インターネット上で表示されているWebページは、HTML(HyperText Markup Language)という書式で書かれています。HTMLだけでもWebページを作成することはできますが、Webページに動きを加えたり、ダイアログを表示したり、イベント処理を実装したりと、JavaScriptを使うことでWebページにさまざまな機能を実装することができます。 利用するユーザーが直接目に ...

2023/8/3

PHPとは

PHP(ピー・エイチ・ピー) PHPとは、Webアプリケーションの開発を得意とするプログラミング言語です。 PHPの最初のバージョンは1995年にラスマス・ラードフ氏により公開され、当初は「Personal Home Page Tools」の略とされていましたが、「Personal Home Page Tools」だと個人用という印象があるため、1998年のPHP 3.0からは「PHP: Hypertext Preprocessor」という表記が用いられるようになっています。 PHPの特徴 サーバサイドの ...

2023/8/3

Rubyとは

Ruby(ルビー) Rubyとは、1995年に日本人のまつもとゆきひろ氏(通称: Matz)により開発されたオブジェクト指向スクリプト言語です。(※スクリプト言語とは簡易的なプログラミング言語のことです) Rubyという名前は、プログラミング言語のPerl(パール)が6月の誕生石であるパール(真珠)と同じ発音のため「Perlに続く」という意味で、7月の誕生石であるRuby(ルビー)と名付けられたといわれています。 「Perlよりも強力で、Python2よりもオブジェクト指向な言語が欲しかったんだ」 出典: ...

2022/6/2

Perlとは

Perl(パール) Perl(パール)とは、1987年にラリー・ウォール氏によって開発されたプログラミング言語です。 UNIXでの簡易なテキスト処理プログラムやシステム管理プログラムを開発する言語として人気を集め、更にインターネットが普及し始めると、Webサーバで動的にプログラムを実行して結果をWebページとして送信するCGI(Common Gateway Interface)の開発言語として広く普及していました。 しかし、その後「PHP」や「Ruby」「Python」「Java」など様々な言語の登場によ ...

2023/8/3

Pythonとは

Python(パイソン) Pythonとは、グイド・ヴァンロッサム氏により開発された高水準汎用プログラミング言語です。コードが簡潔でわかりやすいのが特徴でコンパイラ方式ではなくインタプリタ方式を採用しています。 機械学習や人工知能(AI)の分野で注目を集めている人気のプログラミング言語です。特定の用途に特化しない汎用プログラミング言語のため、Web開発やブロックチェーン技術の開発、ゲーム開発、Androidアプリ開発など、さまざまな用途で使用されています。 Pythonの特徴 コードが簡潔で学習しやすい ...

2023/8/3

カプセル化とは

カプセル化 カプセル化(英: encapsulation)とは、対象物をまるでカプセルに入れているみたいに外部から見えなくして、その内容を隠蔽することをいいます。 オブジェクト指向のカプセル化 カプセル化はオブジェクト指向を構成する概念のひとつです。(※オブジェクト指向の3大要素は 継承、ポリモーフィズム(多態性)、カプセル化) カプセル化によって、オブジェクトの情報(フィールドやメソッドなど)を隠蔽することで、オブジェクトへの直接アクセスを制限することができます。 具体的にはアクセス修飾子を利用して、オ ...

2022/6/18

C++とは

C++(シープラスプラス) C++(シープラスプラス)とは、C言語を機能拡張したプログラミング言語のことで、略して「シープラプラ」や「シープラ」とも呼ばれています。 派生元であるC言語の機能や特徴を継承しつつ、オブジェクト指向の要素を加え、更に効率の良いプログラミングができるようにした言語です。 C++の歴史 C++はストロヴストルップ氏が考案したもので、1979年に前身のプログラミング言語「C with Classes」が開発され、その後、改良に改良を重ね、1983年に名称を「C++」に変更しています。 ...

2023/8/3

C言語とは

C言語(シーげんご) C言語(英:C programming language)とは、1972年にAT&T社ベル研究所のデニス・リッチー(Dennis M. Ritchie)氏とブライアン・カーニハン(Brian W. Kernighan)氏によって開発されたプログラミング言語です。 人間が解釈しやすい高水準言語(高級言語)でありながら、低水準言語(低級言語)のようにハードウェア寄りの記述ができるのが特徴です。 C言語に影響を受けたプログラミング言語は非常に多く「C++」「Java」「C#」「Ob ...

2022/6/8

VBScriptとは

VBScript(ブイビースクリプト) VBScript(Microsoft Visual Basic Scripting Edition)とは、マイクロソフト社がVisual Basicを元に開発したスクリプト言語です。 VBScriptの歴史 JavaScripに対抗するものとして登場 1996年、当時利用されていたWebブラウザ「Netscape Navigator」に実装されたJavaScriptに対抗するものとして、マイクロソフト社が開発したのがVBScriptであり、VBScriptは「Int ...