大学のプログラミング実習で生き残るためのいくつかのアドバイス

新大学生のみなさま、まずは合格おめでとうございます。大学での新生活は新しい喜びと学びに満ちています。大いに楽しんでください。

さて、運良く(運悪く)情報科に、あるいはそれに類する学科に入ることになった方は、「プログラミング実習(演習)」という必修科目を受けることになると思います。必修科目のわりにこれがなかなか難しく、多くの学生が苦戦している様子を毎年見かけます。私もプログラミングの授業は何度かTA(ティーチングアシスタント)を担当して、様々な苦難を目にしました。

そこで、プログラミング実習を乗り切るためのいくつかのアドバイスを、この記事に記したいと思います。この記事が新入生の助けになれば幸いです。

Read More

WebAssemblyを使ってRustのコードをブラウザ上で実行する

ついにChromeとFirefoxにWebAssembly(WASM)がやってきました!まだWASMに対応していない他のブラウザも、じきに実装するはずです。

WASMを利用することで、C/C++やRustなどのプログラミング言語を用いて、ブラウザ上で動作するプログラムを組むことができます。まずはRustを使って簡単なWASMの利用方法について学んでみましょう。

Read More

JavaScriptでFlashのような表示システムを構築する

かつてWebにはFlashというプラットフォームがありました。Flashはグラフィックの描画に長けており、標準ライブラリだけでも、かなり柔軟な表示を行うことができました。しかしJavaScriptの標準ライブラリにはそういったものがありません。グラフィックを描画するためには、原始的なCanvasAPIを利用するか、外部のライブラリを利用するか、自分でライブラリを作ることになります。

そこで今回は「自分でライブラリを作る」をやってみましょう。Flashライクな表示システムを作ってみるのです。Flash風のAPIを備えたライブラリはすでに存在しますが、自分で作ってみると楽しいですし、いろんな発見があるかもしれません。実用には程遠いかもしれませんが、一度挑戦してみましょう。

Read More

JavaScriptの関数で何ができるのか、もう一度考える

関数(Function)は、ほぼ全ての現代的なプログラミング言語が備えている、プログラミングにおける基本的な構成要素です。もちろんJavaScriptも関数を備えています。

関数はシンプルで強力です。ですが、それゆえに多くの人を混乱させることもあります。私が大学のプログラミング実習のティーチングアシスタントを担当していたときも、「関数」でつまずく学生が少なくありませんでした。

関数は普段何気なく呼吸をするように使っているものです。ですが、改めて、関数とは何か、何ができるのか、ということを考え出すと、意外と難しいことに気がつきます。そこで、JavaScriptにおける関数について、いったい何ができるのか、もう一度ゆっくり考え直してみることにしましょう。

Read More

半年間VRゲームを体験した感想とオススメのVRゲーム

2016年は「VR元年」が謳われることもあって、VRゲームが盛況です。数多くのVRハードウェアやVRタイトルが発表・発売され、実際に遊ぶことのできるゲームもたくさん発売されました。

私も4月にHTC Viveを購入し、VRゲームを楽しんでいます。多くのタイトルが私を大いに感動させ、少なくないタイトルが私を深く失望させました。VRが切り開いた領域は、混沌としていて、それでいて輝きを放っています。VRというものが何を変え、何を変えなかったか、私がこの半年で抱いた感想を、この記事に記していきたいと思います。

また、玉石混交の中から質の高いVRタイトルを見つけるのは、なかなか至難の技です。私も数多くの「ハズレ」タイトルを引き当て、虚空に消えていったお金を嘆くことがありました。そこで、その中で他人にオススメできる、面白かったVRタイトルについても紹介していきたいと思います。

Read More