paiza開発日誌スマートフォン用の表示で見るpaiza開発日誌IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。ITエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。Cukierコーディング転職サイトpaizaを運営している関係上、「Webサービスを作りたいけど、プログラミング言語をどこから学んだらよいか?」という質問をよく受けることがあります。今回はプログラマ視点でプログラミングを学ぶときにつまずやすいポイントと、プログラミング言語の基礎を簡単に楽しく学べるサイトをまとめてみました。・プログラミング言語を学ぶときに躓くポイント・学ぶ言語を選ぶのに役立つサイト・すぐ書きはじめられるプログラミング学習サイト・講義型のプログラミング学習サイト・少しコードに慣れてきてからお勧めのサイト・さらにスキルアップするのに最適なサイト・基礎文法をマスターしたいなら(おまけ)・英語が得意ならおすすめのプログラミング学習サービス(おまけ)・各言語のリファレンス◆プログラミング言語を学ぶときにつまずくポイント「実行環境構築するので疲れてしまい、コードを書くに至らない」プログラミングをする際に、実際にプログラムを手元のPCで動かすための、ローカル環境を構築するところでつまずいてしまう人が非常に多いので、今回は、ブラウザ上でプログラミングがすぐ始められる「オンライン実行環境」があるサイトを中心に、楽しく、簡単に始めることができる学習サイトを紹介します。実際にコードを書くところから始めて、ある程度書けるようになってから実行環境を作っても遅くありません。◆学ぶ言語を選ぶのに役立つサイト・プログラミング言語人気TOP10の簡易解説http://www.mwsoft.jp/column/program_top10.htmlプログラミング言語を始める際には、必ず何の言語を学ぼうか悩むもの。たれが学ぶべきなのか」、「参考図書」という構成になっているので非常にわかりやすいです。:JavaScript、Ruby、PHP、Python、Ruby、HTML、CSShttp://codeprep.jp/jaプログラムの要所を穴埋め式で記述+ヒントが示される形で学習ができます。疑似実行環境が用意されており、実行結果がすぐに出るので実行環境を用意せずに手軽に始められます。実際にコードを書く感覚を掴むのにもってこいです。組み合わせた学習サービスです。Codeprepと比較するとこちらは本当にプログラムを実行しているので、指示された以外のプログラムを書くこともできる自由度の高い学習環境が用意されています。Ruby入門編、PHP入門編の全47回は全て無料で、演習問題や学習系ゲームが充実しており、アドバイザーに質問できる機能もついているのでオススメです。:JavaScript、PHP、Python、Ruby、HTMLhttp://www.codecademy.com/一部日本語化されていますが、基本的に英語です。CODEPREPに比べると若干難易度が高いので、CODEPREPに慣れてからCodecademyを試してみるといいでしょう。:JavaScripthttp://jeek.jp/study/exp就活サイトの1コーナーですがJavaScriptの実行環境が提供されており、課題に従って画面上でコードを書きながらJavaScriptが覚えられるつくりになっています。コードのエラーが日本語で表示されるので、ライトにJavascriptを書きながら学ぶのには良いサービスです。:JavaScript(enchant.js)、HTMLhttp://code.9leap.net/JavaScriptをベースにしたゲームエンジン「enchant.js」を使った学習サイトです。オンラインエディタ、オンライン実行環境が用意されており、ブラウザだけで学習が可能です。サイト上でゲームを作ってコンテストに投稿することも可能です。ゲームを作りたいという方にはオススメの学習サイトです。:独自のビジュアル言語http://www.mext.go.jp/programin/文部科学省が運営している子ども向けのプログラミングサイト。ドラッグ&ドロップでビジュアル的にプログラミングができます。プログラミングとはどういうものか概念学ぶのには良いかもしれません。Webサービスに直接使えるプログラミング技術は覚えられないので、本格的にプログラミングに取り組む前の練習としてやってみるといいでしょう。:JavaScript、PHP、Ruby、Python、Java、Perl、C、Node.js、HTML、CSShttp://dotinstall.com/動画でプログラムの書き方や、ローカル実行環境の作りかた、サーバ構築の仕方など、Webサービスを作るための1から10までを動画で公開してあります。最初にこちらで「手軽にプログラミングができるJavaScriptを覚えよう」、「Webサービスが作れるPHPを勉強してみよう」などを見てプログラミングについての全体感をつかむといいでしょう。自分の周りにもこれを見てプログラミング始めた方がいます。:JavaScript(2014/4現在)http://schoo.jp/guestプログラミングに限らず、さまざまなジャンルの動画授業を扱っている学習サイトです。:PHP、JavaScript、HTML、CSS(2014/4現在)http://share-wis.com/動画投稿型の学習サイト。動画、理解度チェックの選択問題、という流れでライトに勉強ができます。実際にコードを書くことはないので流れをつかむレベルで考えておいたほうがいいでしょう。:Rubyhttp://www.minituku.net/自分でRubyのローカル実行環境を作ってあることが前提となっているのでハードルが高めです。Rubyをやってみようという人がドットインストール、CODEPREPで学んだ後にこちらで学ぶとよりレベルアップできるでしょう。:Java、PHP、Ruby、Python、Perl、C、C++、C#、node.jshttp://paiza.jp用意された問題を解くことで、プログラミングスキルを6段階に評価するサービスです。評価に応じて書類選考なしで面接に行けるコーディング転職サイトではありますが、プログラミング実行環境が用意されているので、すぐにプログラミングすることが可能です。学んできたことのスキルチェックや、スキルアップとしてコーディングスキルチェックを受けてみてはいかがでしょうか。会員登録せずにプログラミング問題にチャレンジ、その場で採点されるオンラインハッカソンもお手軽に試せるのでお勧めです。最近はマンガ形式で、物語の途中でプログラミング問題が出る形になっております。:JShttp://codecombat.com/JavaScriptをゲームで学ぶサービスです。魔導士になって兵士を操作してゲームを進めていく、という内容になっており、RPGを楽しむ感覚でJavaScriptを学ぶことができるのが素晴らしいです。Javahttp://judge.u-aizu.ac.jp/onlinejudge/index.jsp?lang=ja会津大学が提供しているプログラミング問題サイトです。お題に対して問題を解いていく形式で、提出したプログラムをオンラインで採点してくれます。若干とっつきにくいですが、解いた問題によりランキング表示などもされるので、スキルアップ、実力チェックに良いサイトです。:Bash、C、C#、C++、Clojure、Go、Haskell、Java、JavaScript、Lua、Objective-C、Perl、PHP、Python、Ruby、Scala、Tclhttps://www.codeeval.com/約150問程度のプログラミング問題(初級、中級、上級)が掲載されており、点数が良いと海外の企業からスカウトが来るサービスです。非常に多くの言語に対応しており、スキルアップにちょうどいいサイトです。:Pythonhttp://www.checkio.org/ゲーム感覚でPythonを学ぶことのできるサービスです。新規登録時に簡単なPythonの問題が出題されたりするので、ある程度書けるようになってからやるのがいいでしょう。ゲーム作りやWeb開発に役立つ知識を得られる問題が出題されるので、Pythonで本格的にWebサービスを作ろうとしているならおすすめのサービスです。VBhttp://www.topcoder.com/世界中のプログラミング猛者が集う競技系プログラミングサイト。「プログラミングはマスターしたな」と思ったらチャレンジしてみても面白いかもしれません。問題によっては賞金がつく場合も有ります。◆基礎文法をマスターしたいなら(おまけ)一時期プログラマーブロガーの間ではやった、プログラミング言語の文法をまとめた最速基礎文法マスターシリーズ。このあたりになってきたら、自分で何か簡単なプログラムを組んでみるといいでしょう。対応言語:JavaScript、HTML/CSShttps://dash.generalassemb.ly/架空の依頼人と対話式でWebプログラミングを学習するサイトです。対応言語:JavaScript、Ruby、Objective-C、HTML/CSShttps://www.codeschool.com/ブラウザ内でコーディングできるオンライン実行環境を提供しており、Codecademyのように自由度の高いプログラミング環境で学習ができます。無料版だけでなく実用性を重視した内容の有料版もあります。対応言語:Objective-C、HTML/CSShttp://teamtreehouse.com/動画+小テストによるWebサイト作成プロセスが学べるサービスです。一部無料ですが、基本は有料コースとなっています。対応言語:Java,JS,Ruby,Pythonhttps://www.learnstreet.com/lessons/languages/ふつうの人が最新のWeb技術を学んで実際にアプリを作れるようになることを目指して作られたサイト。ブラウザ上の実行環境+動画、課題演習からなる学習プログラムとなっており充実しています。対応言語:Java、PHP、Pyhton、JavaScript、Objective-C(2014/4現在)https://www.udemy.com/courses/search/?q=programming&view=grid&price=free有料の動画学習サイトです。プログラミングに限らず幅広いジャンルの学習コンテンツが提供されています。プログラミングまで学べる動画学習サイトです。◆各言語のリファレンスある程度書けるようになってきたら、各言語のリファレンス、マニュアルをみて作業するのがいいでしょう。JavaScripthttps://developer.mozilla.org/ja/docs/Web/JavaScript/ReferencePHPhttp://www.php.net/manual/ja/Rubyhttps://www.ruby-lang.org/ja/documentation/Perlhttp://d.hatena.ne.jp/perlcodesample/20100808/1278596435Pythonhttp://docs.python.jp/3.3/■まとめプログラミングを0から始めるならば、ブラウザのみで環境構築の必要なく始められるJavaScriptがおすすめです。JavaScript対応の学習サイトも数多くあるため一番とっつきやすい言語と言えるでしょう。JavaScriptだけだとWebサービスを作るのは難しいので、Webサービスを作りたいのであればPHPがとっつきやすいといえます。PHPは大抵のレンタルサーバであれば動き、学習サイトもPHP対応が多く、かつ日本語の情報も多くあるため最初に覚えるにはいい言語です。最後に一つ、4ヶ月でWebサービス作った方の話です。やる気さえ有れば半年足らずでWebサービスが作れるという事に勇気づけられると思います。自分でWEBサービスを作りたいと思っている人へプログラミングは講義を聞くだけではなく、手を動かしてコードを書くことが重要です。今回はオンラインで実際にコードを書いて動かせる学習サイトを中心紹介しました。プログラミング学習にお役立てください!(そして基礎が身に付いたら、ぜひ我々が運営するpaizaでプログラミングのスキルを測ってみてください!)paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。