その熱意が大事だ」など、プログラミング初心者にとって過酷な回答が返ってくることが多い。結局、何から手を付けて良いのかわからず、結局プログラミングを始められないまま放置してしまうことが多いはずだ。そこでこのページではプログラミングの始め方について、初心者でも分かりやすいステップバイステップ形式で紹介しよう。具体的にまとめているので、参考にしてほしい。最初は簡単に準備できるものからプログラミングを始める9ステップそれでは早速プログラミングの始め方を紹介してゆこう。Webサービスを作るかスマホアプリを作るかを選ぶプログラミングで作れるものは、PCにインストールして動作するExcelやWordのようなものから、Webサイト上で動作するもの、スマホで動くもの、ATMなどの業務用システムなど様々だ。まとめると次のようなイメージになる。Webアプリ・WebサービスWebサーバーで動作するアプリで、Webに接続できる環境さえあれば利用することができる。パソコンで使うときのFacebookやTwitter、Googleなどはすべてこれだ。WebアプリもWebサービスも呼び方が違うだけで同じもの。デスクトップアプリPCで動作するアプリで、Webアプリのように外部に公開せず、PCにログインしたユーザーが利用できる。Excel・Wordなどがこれにあたる。スマホアプリAndroidやiOSで動作するアプリで、スマホなどの携帯端末にインストールすることで利用することができる。スマホで使っているアプリそのもの。業務用アプリATMや銀行・図書館のシステムなどそれ専用に作られたもの。(定義としては業務で使われるもの全般を指すが、わかりやすいようにこのように分類)他にもあるし、またどれを選んでも良さそうなものだが、初心者は必ず「Webアプリ・Webサービス」もしくは「スマホアプリ」を選ぼう。普段使っていて親しみがあるなんとなくどういう動作をするか想像できる公開して使ってもらいやすい作りやすいWebアプリとスマホアプリは比較的作りやすくて、しかも他の人にも使ってもらいやすい。現在の開発の主流なので、仕事などにも直結しやすい。どちらを作ってみたいかを考えて、どちらかを選ぼう。パソコンを選ぶもちろんだが、パソコンがないとプログラミングを始めることができないので準備する必要がある。ここで注意しておきたいのが、作りたいアプリのタイプによっては使用するパソコンが限定されてしまうということだ。iPhone向けのスマホアプリを作りたいのであれば、パソコンはMacを選ばなければいけない。パソコンの選び方について、詳しくは下記の記事で紹介しているので、参考にしてほしい。プログラミングのためのパソコンの選び方もし、あなたが持っているのがiPhoneでiPhoneアプリを作りたいと思っても、持っているパソコンがWindowsだったら諦めよう。Androidのスマホを買ってもいいし、MacのPCを買ってもいいがそれも大変なので、Webアプリを作るのをオススメする。プログラミング言語を選ぶ次はプログラミング言語だ。こちらもパソコン選びと同様、アプリのタイプによって限定されるケースがあるので注意してもらいたい。簡単だが以下におすすめしたい言語をいくつか紹介しよう。Java世界でも不動の人気を誇るプログラミング言語。言語の難易度はやや高めだが、しっかりしたプログラミングスキルを身につけたいならおすすめだ。PHPWebアプリ向け言語で初心者でも理解しやすい。手軽にアプリを作れるというのも魅力のひとつである。Ruby日本製のプログラミング言語でユーザーも多い。PHP同様に理解しやすいプログラミングができるのも特徴だ。Python海外で人気のプログラミング言語で、ソースコードの書きやすさで定評のある言語だ。SwiftiPhoneやiPad向けのアプリ開発に必要な言語。それぞれの言語でどのタイプのアプリが作れるのかを以下にまとめておく。○PHP○Ruby○Python○Swift○プログラミング言語全体について知りたい方は下記の記事がおすすめだ。Webアプリを作るときに選ぶべきプログラミング言語については下記の記事が詳しい。何を作りたいかを考えるプログラミングするということは何らかのシステムやアプリを作るということだ。何を作りたいか考えよう。アイディア満載のかっこいいサービスを作ろうなどと思わなくていい。初心者がはじめから凄いものなど作れるはずがないからだ。何を作りたいかをなんとなく考えることが大事だ。理由は次の項目で説明する。ゼロからアイディアを出す必要はなくて、Webサービスやスマホアプリの中でなんとなくこれ作ってみたいな、というものを選んでおくくらいで十分だ。Facebookでもいいし、Twitterでもいい。インスタでも構わないし、Gunocyでもいいだろう。本を買いに走る言語と作りたいものがなんとなくイメージ出来たら、本を買いに走ろう。Web上にもたくさん情報はあるが、本を買ったほうがいい。人間はお金を払った分しか学べないという不思議な性質がある本は有料だ。誰かが校閲しているし、著者も真剣に書いているだからこそ本を買うべきだ。小さいお金を節約するよりも、払って自分にプレッシャーをかけたほうが、結果的に効率がいい。教えてくれる人がいるのであれば基礎からしっかりと学べるタイプの本を選ぶことだ。時間はかかるかもしれないが、結果的に力が付く。教えてくれる人がいなければ、次の基準で選ぼう。上の項目で、自分が作りたいと思ったアプリに多少でも似ているものが作れる本この条件で本を買っておこう。Javaだったら、次の本たちがおすすめだ。初心者におすすめのJava入門書9選ここまでで準備は完了だ。本に沿って、プログラミングの勉強に入っていこう。書籍に頼って、そのままプログラミングをとにかくサンプル通りに打っていく。はじめは、わからなくても構わない。プログラミングコードを打ち切って、動いた瞬間、理解が必ず進んでいく。部分ここからは蛇足的なものだ。ついでに知っておいて頂いた方がいいことをお伝えしておく。エディタを選ぶプログラミングを打ち込むツールとなるエディタの準備だ。フリーテキストエディタでもプログラミングすることは可能だが、初心者向けにはフリーの統合開発環境(IDE)と呼ばれるエディタがいいだろう。多くのIDEはフリーテキストエディタの機能に加え、次に書くコードの候補を表示してくれるコード補完機能や、必要なファイルをまとめて管理できるプロジェクト管理機能などが備えられているので、プログラミングするにあたって便利なツールだ。はじめ使い方覚えるのが大変なので、挫折しそうになったら早々に逃げてメモ帳などを使って構わない。EclipseEclipseはJavaをはじめ多くの言語に対応した人気IDEだ。プラグインと呼ばれる拡張機能をインストールすることで、さまざまな機能を利用できる。StudioMicrosoft社が提供しているIDEで、主にWindows系アプリの開発で広く使用されている。有償であるが、無償のエディションも入手可能だ。XcodeXcodeはApple社が提供しているIDEで、主にiPhoneやMac向けアプリの開発等で使用されている。StudioはRubyプログラミングで広く使われているIDEで、Eclipseをベースにして開発されている。Studioが主流となるだろう。Codeは厳密に言うとIDEではないが、コーディングに特化したIDEにも劣らないテキストエディタだ。言語によって提供される機能は異なるが、コード補完やハイライト表示なども対応している。それぞれのIDEが標準対応している言語をまとめておいた。IDEによってはプラグインを追加することで対応できる言語もあるので、興味があれば調べてみよう。Codeはテキストエディタなので全言語対応しているが、言語によってサポートしている機能が異なるので注意してほしい。○テキストエディタに関しては上記以外でも初心者におすすめのものはたくさんある。下記を参考にして頂きたい。データベースを選ぶどんなシステムでもほとんど必ずデータベース(DB)が使用されている。データベースとはデータの保管庫だ。顧客の名簿や電話番号などをExcelで管理できるのは想像できるだろう。Excelよりも難しいけれど、さらに色々とできるようになったものだと理解しておこう。データベースはプログラミングをするときに必ず使う。書籍に載っているものを使えばいいが、種類は紹介しておこう。MySQLオープンソースDB代表格と言えばMySQLだ。システム規模の大小を問わず、世界で最も使われているDBだと言える。PostgreSQLPostgreSQLはMySQLと並んで評価されているオープンソースのDBだ。商用DBに匹敵する機能を持ち、近年シェアを広げている。MariaDBMySQLから派生したDBで、MySQLとは高い互換性を持ち、独自の特徴も兼ね備えた期待のDBである。Oracle歴史の古いDBで、大規模システムで使用されるケースが多い。有償版だが、開発用に無償で使えるエディションもある。SQLite軽量でコンパクトなDBで、スマホなど容量制限のある端末に適している。Android端末の標準DBとしても採用されている。WebサーバーWebアプリを作りたい場合は、Webサーバーというものの準備が必要だ。作るだけならパソコンだけで構わないのだが、世の中に公開してみたい!といった場合には、Webサーバーが必須になる。Webサーバーとは?については下記で説明している。5分で理解!Web開発初心者におすすめするプログラミング言語もう少し詳しく説明をすると、Webサーバーと呼ばれるものには主として3種類ある。上のApacheが使う時には無難だ。Server世界中で最も使用されているWebサーバーソフトウェアで、規模の大小を問わないWebサーバーの構築が可能。Serverと並んで使用されるWebサーバーのひとつ。nginx「エンジンエックス」と読み、高速処理が可能で大規模Webサイトを中心に人気のあるWebサーバーだ。深く考える必要はない。レンタルサーバーを借りてそのまま、そこで動いているものを使えばいい。いうものがあるんだなとだけ知っておけば十分だ。9.フレームワークを選ぶ効率的にプログラミングをしたいのであれば、フレームワークを選ぶといいだろう。フレームワークとは簡単に言えばアプリの動作に必要な機能をまとめて提供しているもので、プログラムからフレームワークの機能を呼び出しことでさまざまな機能が利用できるのだ。Webアプリ開発で使用するフレームワークが中心になるが、以下にSTEP4で紹介した言語の代表的なフレームワークを紹介しておく。JavaStruts歴史あるフレームワークで広く利用されているが、最近では利用者が減少傾向にある。Springオブジェクト間の依存度を低くした構成が可能で、Web以外のアプリ作成もできる。FrameworkJavaだけでなくScala言語でも使えるフレームワーク。自動コンパイルが便利。EEの仕様にも採用されており、Strutsからの移行例も増加している。PHPCakePHPPHPの代表的なフレームワークで、快適なプログラミングが可能。CodeIgniter初心者にも覚えやすく、軽量でスピーディーな開発ができる。Railsの影響を受けたフレームワーク。Yahoo!での採用例がある。ZendFrameworkクラスライブラリが豊富で拡張性が高く、柔軟なシステム設計ができる。RailsRubyのフレームワークでは最も有名で、チュートリアルが豊富にそろっている。Sinatra小規模Webアプリの特化したフレームワークで、簡潔なコーディングができる。PadrinoSinatraをベースとして作られたフレームワークで、中~大規模サイト向けだと言える。PythonBottle軽量でシンプルなフレームワークで、1ファイルだけで構成されている。Django高速さが特徴の完成度の高いフレームワークで、負荷の高いWebアプリにも対応できる。CherryPyBottleに負けないくらい軽量なフレームワークで、Webサーバーとしても動作する。最初は簡単に準備できるものからプログラミングの始め方についてステップバイステップ形式で紹介したが、いかがだっただろうか?全てのステップを完璧に抑えておく必要はなく、5ステップ目までで、後は「書籍に従って進める」で構わない。できる範囲から初めて、エンジニアの入り口までたどり着いてほしい。TweetPocketこのページの続きや関連ページは下記から一覧で確認できる。・「プログラマーとして転職をしたい!」という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。エンジニアの入り口に立つために必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報が詰まっています。無料で2,3日中にお手元にお届けします。資料を見てみるSNSでもご購読できます。IT研修専門企業のリナックスアカデミーです。】エンジニアの入り口に立つために役立つようなコンテンツを日々ご提供していきます。講師や代表やスタッフ陣が毎日楽しく書いています。ご質問・ご指摘等はぜひコメントください。*メールアドレス(公開はされません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け資料を見てみる。