




この記事では
本記事では、プログラミン言語の勉強方法について、各言語のプログラミングそのもののことだけではなく、その前に理解しなくてはならない大切なことをお話しています。
初心者のプログラミング言語の勉強方法【結論】
初心者のプログラミング言語の勉強方法について結論をいうと、
初めから統合環境(IDE)を使用して習得することです。
詳しくは、下記の”各プログラミング言語の習得”を参照してください。
アプリケーションの種類
アプリケーションの種類として一つの種別の方法として、端末で動作させるデスクトップアプリケーションとインターネット上で動作させるWebアプリケーションがあります。
各装置、機器専用に特化した組み込みアプリケーション、それから、スマートホンなどのアプリケーションとしてスマホアプリなどがあります。
デスクトップアプリケーション
例として、Microsoft社のオフィスシリーズやAdobeSystemsのIllustrator,Photoshop、その他多くのアプリケーションなどが挙げられる。
・主な処理は ローカル PC ( 手元の PC ) で行われる。
・画面はOSの機能を利用して表示される。
・アプリケーションをPCにインストールする必要がある。
Web アプリケーション
インターネット上で利用しているサービス。
例として銀行のインターネットバンキング、ネット販売のショッピングカート、Amazon や Cookpadなどが挙げられる。・主な処理は サーバ上で行われる。
・画面は HTML で表現され、Web ブラウザ上に表示される。
・アプリケーションを PC へインストールする必要がない。
組み込みアプリケーション
組み込みソフトウェアは組み込み機器上で動作するソフトウェアになります。
組み込み機器とは「特定用途向けに特化した機能を持つ装置を搭載した機器」ですので、組み込みソフトウェアは、「特定用途に特化した装置(ハードウェア)を制御し、必要となる機能を実現するプログラム」ということになります。
スマホアプリ
・主な処理は スマートホン、アイフォン ( 手元の スマホ) で行われる。
・画面はOSの機能を利用して表示される。
・アプリケーションをスマホにインストールする必要がある。
言語の型の種類
コンパイラ言語とは?
プログラミング言語で書かれたプログラム(ソースコード)を、コンピュータが直接的に実行できるコード(機械語)に全て翻訳してからプログラムを実行するプログラミング言語です。
ソースプログラムをいったん機械語に翻訳し,その機械語になったプログラムを実行する方式です。翻訳することをコンパイル(compile),翻訳するプログラムをコンパイラ(compiler)と言います。
この方式のメリットは実行速度が速い点にあります。
インタプリタ型言語とは?
人間が理解しやすい言葉で書かれたプログラム(ソースコード)を、コンピュータが直接的に実行できるコード(機械語)に逐次翻訳しながらプログラムを実行していくプログラミング言語です。
プログラミング言語の命令を一つずつ,機械語に解釈しながら実行する方式で,解釈実行方式ともよばれます。作成したソースプログラムをただちに実行できるという点がこの方式のメリットです。
一方,解釈しながら実行されるために,コンパイル型に比べると実行速度が遅いというのが欠点です。スクリプト言語とインタプリタ型言語の違い
スクリプト言語とは台本や原稿のようにプログラムを記述できるようなプログラミング言語、転じて比較的簡単にプログラムを記述できるプログラミング言語の総称のことを言います。
スクリプト言語とインタプリタ型言語は全くの別の定義です。
スクリプト言語は言語の仕様全般の話であり、インタプリタ型言語は「プログラムの実行型」一点においての話です。
しかし、よく間違って使われるのには理由があります。
その理由は、
スクリプト言語の大多数がインタプリタ型言語だからです。
インタプリタ型というのはソースコードを一行一行機械語に翻訳しながらプログラムを実行できるという、とても便利な言語仕様です。
そして、スクリプト言語はこのインタプリタ型をとっているものが大半なので、スクリプト言語=インタプリタ型言語と勘違いしてしまう方が多いのです。
いろんなサイトで同義として使われていますが、厳密には間違いです。
インタプリタ型言語はプログラムの実行方法からほとんど判断がつくものですが、スクリプト言語は何を基準にそう呼ぶかというのも非常に曖昧です。
スクリプト言語(Script language)とは?
根本的なスクリプト言語の定義
スクリプト(Script)とは日本語だと「台本」や「原稿」を意味します。
一般的に、スクリプト言語(Script language)とは台本や原稿のようにプログラムを記述できるようなプログラミング言語を指します。
それが転じて、スクリプト言語とは、英語のような感覚で読みやすいプログラミング言語、さらには比較的簡単にプログラムを記述できるプログラミング言語の総称という意味でとらえられるようになりました。
しかし、厳密な定義はありません。
とても抽象的な定義だからこそ気を付けてほしい
比較的簡単にというのは、スクリプト言語でないほかのプログラミング言語に比べて、ソースコードの構文や修正・実行などが簡単という意味です。
しかし、厳密な定義は存在せず、非常に抽象的な定義です。
そのため誤解や拡大解釈があるのでしょう。
安易に解釈してしまえば、スクリプト言語とは簡単なプログラミング言語全般ということもできます。
しかしこれだけだと何が簡単なのかわからないためあまりよろしくないですね。
プログラムを書くことや動作を確認することが簡単なのであって、誰でも簡単にプログラミングできちゃうのとは少しニュアンスが違います。
よくインタプリタ型言語の意味でスクリプト言語という言葉が使われているのを目にします。
スクリプト言語のメリットいいところ
基本的にインタプリタ方式をとっているので、インタプリタ型言語のメリットが大きいです。
また、第三者が見てもプログラムの記述がとてもわかりやすいという点が加えていいところでしょうか。
プログラムをただちに実行できる
スクリプト言語のほとんどはインタプリタ型の実行方法をとっているため、ソースコードを一行一行すぐに実行できます。これにより、プログラムが正しく実行できるかすぐに見ることができ、開発がスムーズになります。
可読性が高い
スクリプト言語は英語の台本のような書き方なので、非常に可読性が高いです。
可読性が高いとは、誰でも読みやすい、どんなプログラムをどうやって書いているのかわかりやすいということです。
これは、第三者もしくは後から見返した自分自身であっても、プログラムの確認・修正が行いやすいという大きなメリットを生みます。
プログラミング言語の種類
プログラミング言語はコンピュータに対して命令する際に必要な文章です。
私達が普段使っている日本語や英語といった自然言語とは違うものの、プログラミング言語は人とコンピュータそれぞれが理解しやすい作りになっています。
コンピュータが本来使っている機械語(マシン語)は0と1を羅列した数列です。
普通の人では理解することができませんが、私達の言葉や命令もまた、コンピュータはそのまま理解することができません。
そこで必要になるのがプログラミング言語です。
命令を記述すると、命令を機械語に変換し作業を実施してくれます。
そして、初めてコンピュータを意図的に動かすことができます。
プログラミング言語はIT技術を習得する上で必要不可欠な存在だと言えます。
プログラミング言語には種類があります。
1)Java(コンパイラ型)
2)JavaScript(インタープリタ型、スプリクト言語)
3)C(コンパイラ型)
4)C#(コンパイラ型)
5)C++(コンパイラ型)
6)Visual Basic.NET(コンパイラ型)
7)PHP(インタープリタ型、スプリクト言語)
8)Python(スプリクト言語)
9)Ruby(スプリクト言語)
10)他
Webアプリケーションを作成する上で使用必須の
・HTML(インタープリタ型)
・CSS(インタープリタ型)
・SQL(インタープリタ型)
上記1)~10)のプログラミング言語に使用する統合環境にadinすることによりセットで使用します。
各プログラミング言語の勉強より前に大切な知識
各プログラムの勉強において、各々の言語のプログラムで簡単なプログラムを作成してもそれだけのことで、実際満足のいく思う通りの役に立つプログラムが作成できるかというとそうではありません。具体的に実際に思い通りのプログラムを作成するには、各プログラムに対応した統合環境を使用して作成する必要があります。
さらに、Webアプリケーションの作成では、HTML、CSSの習得がが必要になります。
あるいは、ディスクトップアプリケーションの作成では、グラフィックベースの画面の作成が必要な場合は、Windousのアプリケーションでは、Visual Stusio Comnicationという(統合環境)を使用することがベターです。(ただし、他のOSの対応は経験していないので要調査です)簡単な画面構成であれば、Visual Stusio Code でも可能です。
Visual Stusio Comnicationで生成される実行ファイルは商用でなければ、全機能使用可能で無償であり、Visual Stusio Code においては、商用含めて全機能使用可能で無償です。
※統合環境:IDE(integrated development environment)プログラミン言語の統合開発環境
※HTML:Hyper Text Markup Language(Webページを作るための最も基本的なマークアップ言語)
※CSS:Cascading Style Sheets、カスケーディング・スタイル・シート(Webページのスタイルを細かく指定するための言語)
各言語の統合環境(IDE)を知ることが重要
従来はシステム開発は、テキストエディタでソースコードを書き、デバッグするならデバッガ、コンパイルするなら、コンパイラとバラバラのソフトが必要でした。
しかし、それでは現在求められているアプリケーションを作成するのは大変難しいです。
現在では、プログラミングを普通に作成している人はみなもれなく統合環境(IDE)を使っています。
サーバーサイドのコーディングだけでなく、GUIの開発など、ITエンジニアに求められる仕事は増大、プロジェクト管理の難易度も上がり、ITサービス開発の負担は格段に大きくなっています。
ですので、その負担を軽減しようという開発環境が出てきており、テキストエディタ、コンパイラ、デバッガを1つにまとめたもの統合開発環境(IDE)です。
Webシステムやサービス、スマートフォンアプリなど、現在の統合開発環境は、様々なITシステムやプログラミング言語に対応しています。
プログラミング言語ごとにある統合開発環境(IDE)は下記のようなものがあります。
1)Javaに対応するIDE
・Eclipse
・NetBeans
・IntelliJ IDEA
・Xcode
2)C、C++に対応するIDE
・NetBeans
・Visual Studio Community
・Xcode
・Eclipse
3)Visual Basic.NETに対応するIDE
・Visual Studio Community
・SharpDevelop
4)PHPに対応するIDE
・XAMPP
・Eclipse
・NetBeans
・IntelliJ IDEA(有料)
・Aptana Studio
・Eclipse
5)Pythonに対応するIDE
・Eclipse
・Visual Studio Community
・Aptana Studio
・Eclipse
6)Rubyに対応するIDE
・Eclipse
・IntelliJ IDEA(有料)
・Aptana Studio
・Eclipse
7)PL/SQLに特化したIDE
・Oracle JDeveloper
8)Androidアプリケーション開発に特化したIDE
・Android Studio
9)Mac/iPhone系アプリケーション開発に特化したIDE
・Xcode
10)動的Webページ開発に特化したIDE
・Aptana Studio
各プログラミング言語の習得
Java、、C、C#、C++、Visual Basic、PHP、Python、Rubyなどのプログラム言語のディスクトップアプリケーションやWebアプリケーションの作成が可能です。
なお、Webアプリケーションの場合は、その前にHTML、CSSなどの言語の習得もWebへの表示のために必要となります。
各プログラム言語についての勉強ですが、その内のひとつの言語で、よく使うコマンドや条件記述などを理解できれば、若干の違いはあれど、おおよそ同じようなものです。
特にお勧めの統合環境は下記に示します。
1.Visual Studio Code
強力な IDE, 学生, オープンソース貢献者, 個人に無料
2.Visual Studio Community
GUI編集も可能な、強力な IDE, 学生, オープンソース貢献者, 個人に無料
上記の統合環境により、各言語のディスクトップアプリケーションや、スマホアプリ(ダウンロードしてインストールするタイプ)プログラムの作成することが出来、
Webアプリケーションの場合、HTML、CSS、JavaScriptと連携して、各言語でのプログラムの作成が連携して可能となります。
これにより、初歩のプログラムからそのまま続けて、実用的かつ高度なプログラムの作成までが行えることになります。