あなたにぴったりなコーディング言語を探そう
本気でプログラミングを学ぶ準備ができたら、ここから始めよう。
今日、コーディングが大流行している。あらゆる年代の学生はもちろん、すでに働いている社会人でもプログラミングの学習を奨励される機会が増えてきた。オバマ大統領ですら、皆がコーディングを勉強するべきだと述べたことがあった。
様々なスキルを学ぶ機会を提供するリソースは、Codecademy のようなサービスを利用した無料のオンラインクラスから、9 週間で本格的なソフトウェアエンジニアになることを保証してくれる数千ドルもするプログラムまで、数えきれないほど存在する。
しかし、「本当に誰もがコーディングを学ぶべきなのだろうか?」という疑問が残る。
答えはノーだ。少なくとも技術に依存する産業に従事していないのなら必要ない。だが、こうした雇用の枠は次第に縮小している。
コーディングの学習サービスを提供する Code School の創始者グレッグ・ポラックは、仕事を進める過程で開発者とコミュニケーションを取る必要がある人は皆、プログラミングの基礎を学ぶべきだと考えている。
「いくつかのコードを学べば、開発者の仕事を適切に評価できるようになるだろう。プログラマーと効果的にコミュニケーションを図るとはどういう事なのか、どのようにコミュニケーションをとるべきなのか、時間をかけて理解してほしい」とポラックは言う。
目的がプログラミングの概念を理解することだけであれば、いくつかコーディング言語をいじってみれば学びたいものが見つかるだろう。しかし、心に決めている目的 - iOS アプリケーションやレスポンシブウェブページを構築したいなど - があるのなら、それに適したツールが必要だ。
初心者向けの言語
コーディング言語やウェブ開発の経験が全く無いなら、基本的な HTML と CSS を学ぶことから始めるといいだろう。
HTML はプログラミング言語ではない。構造化文書のために使われるマークアップ言語だ。HTML を使えば、ウェブブラウザが認識できるフォーマットで文章、写真、リンクや動画を表示できる。カスケーディングスタイルシート (CSS) はフォント、サイズ、段組みなどのウェブページのデザイン面を変更するのに便利である。
気付かないうちに HTML を使ったことがある可能性もある。Adobe Dreamweaver などの WYSIWYG エディタを使う人であれば、「ビジュアル」から「HTML」に切り替えることで編集スタイルを変更できることを知っているかもしれない。
プログラミングを追求したいと思っているかどうかは別にして、HTML の最低限の知識だけでも持っていれば役立つものだ。レスポンシブウェブサイトがどのように動作するのかについて中程度の理解があり、個人のブログやサイトの修正方法を学んでいれば、将来的に多くの職種で役に立つだろう。
見栄えのよいウェブアプリを作りたいなら
JavaScript はウェブサイトの見栄えを良くするためのコードである。Ember、Angular、Backbone など、互換性のあるさまざまなフレームワークが存在しており、複数のブラウザに対応したウェブアプリケーションの企画・構築を手助けしてくれる。
関連記事: Angular, Ember, Backbone:どのJavaScriptフレームワークを選ぶべきか?
JavaScript が使用されるようになってから 20 年余りが経つが、未だ衰える気配はない。むしろ主要な企業言語になりつつあるのだ。
JavaScript はどのブラウザでも稼働可能で、フロントエンドサービスとバックエンドサービスのどちらのプログラムにも使われている。JavaScript 学習者向けのリソースは山のようにあり、ポラックによれば JavaScript は Code School で一番人気のコースだということだ。
「ウェブ上で何かしたいのであれば、バックエンドがなんであれ、JavaScript を学習しなければならない」とポラックは言う。
すぐにプロトタイプが必要なら
アプリケーションをテストするためにバックエンドプログラミングを学びたいデザイナーであれば、Ruby や Python が良い選択肢だ。どちらもかなり学びやすいオブジェクト指向の動的言語である。また、これらは最人気の仕事スキル 2013 のうち、トップ 5 に入っている。
Ruby には巨大なエコシステムと、活発なサポートコミュニティがある。Ruby は1995年に作られたが、人気が高まったのは Rails ソフトウェアフレームワークが 2003 年に立ち上げられ、豊富なコードコレクションのおかげでウェブサイトやウェブアプリケーションの構築が簡単になってからである。
Python は Ruby と似ているが、より大きな系統立ったコミュニティを持っている。そのため機械学習や人工知能の道に進みたいのなら、Python こそが学ぶべき言語だ。
関連記事: 2013年に米国で最も需要の高かったジョブスキルとは?
準備ができたら、「Learn Python The Hard Way(Python 学習の険しい道)」や、Codecademy の「Ruby track」を試してみよう。
アンドロイドアプリを作りたい
オープンソースのオペレーティングシステムであるアンドロイドでは、アプリ開発の大部分は Java で行われる。
Windows や Mac でアンドロイドアプリを構築し、比較的安いデバイスを購入して自分のアプリを試すことができる。さらに、アンドロイドは市場シェアで優位に立ち続けており、iOS よりもアンドロイドを選ぶモバイル開発者が増えてきている。
関連記事: 開発者達の注目は今、Androidに集まっている
Udacity の Java プログラミングコースのうち、無料で始められる導入パートは、Java の概念を学びたい初心者にぴったりである。Java に馴染んできたら、公式アンドロイド開発者サイトにアクセスして、初めてのアンドロイド作成方法プロジェクトの総合的な概要をチェックしよう。
iOS アプリを作りたい
Mac で Objective-C を使えば iPhone、iPad、iPod touch で作動する iOS アプリを作ることができる。Objective-C は Apple の C 言語で、iOS と Mac のアプリケーション構築に主に使われた Smaltalk の影響を受けている。。
iOS はアンドロイドに比べてフラグメンテーション(細分化)が少ないため、Google Play よりも App Store 向けのアプリの方が、複数のデバイスで動作するコードを開発しやすい。
iOS アプリを作るには、Objective-C の知識以外にもいくつか必要なものがある。OS X 10.7 以降の Mac、Xcode(アプリを構築するのに必要な無料ツール)、そして iOS ソフトウェア開発キットだ。
始めるには、Code School の「iOS path(iOS への道 )」 と Apple 開発者チュートリアル をチェックしよう。
子供がコードの学習を望んでいるのなら
昨年は、全米中の子供たちがコーディングに触れることとなった。子供にコーディングを教えようという機運が Code.org のようなアカデミックプログラムを通して高まっており、当プログラムによってコーディングの概念が教室にもたらされたのだ。
「プラント vs. ゾンビ」や「Angry Birds」などが含まれたチュートリアルを使い、ゲーミフィケーション(※)されたコーディング体験を通して、子供たちは問題解決の基本や初歩のプログラミング技術を学んだ。Code.org は生徒と教師のチュートリアルを主に提供しているが、こうしたゲームベースのリソースもあるのだ。
※ゲーミフィケーション:ゲームの要素を盛り込むことによって楽しみながら問題を解決すること
もし子供や学生がプログラミングを学ぶことを望み、教室で学んだ概念と技術を磨き続けたいと思っているのであれば、「Scratch」が役に立つだろう。
Scratch はわかりやすいレッスン計画と協力的な作業環境を通して、生徒がインタラクティブなゲームやストーリーを作ることに特化して作られている。また、Scratch は生徒が最初に学ぶものとしては最適で、8歳から16歳の子供向けに設計されている。
自分に合ったものを見つける
プログラミングの概念を学び始めるために、はっきりしたプロジェクトを考える必要はないが、実現可能なアイディアがあればきっと楽しいに違いない。
「コーディングを学ぶべきだ!」と何度も言われ続け、ついに始める準備ができたのなら、プログラミングの経験を必要としないクラスにとにかく飛び込んで始めてみよう。居心地の良いクラスを見つけられたら、プロジェクトのアイディアも具体化し、そこから自分のペースで学んでいくことができるだろう。
画像提供
トップ画像:Kris Krug(Flickrより)
Railsの画像:hslphotosync(Flickrより)
Selena Larson
[原文]