現代JavaScript基礎入門

JavaScriptは歴史ある言語です。時代が流れ、ウェブ技術の活躍の場が広がるにつれ、JavaScriptは何度も拡張されてきました。その結果、JavaScriptはかつての貧弱さからは想像できないほどの表現力を手に入れました。

現代において、JavaScriptの技術情報は、たいへん価値あるものとなっています。技術情報サイトや質問サイト、ブログなど、様々な場でJavaScriptの情報が提供されています。しかし古い情報がそのまま放置されていたり、情報が断片的であったりして、最新の情報がまとまって提供されているとは言いがたい状況です。

そこでこの記事では、ある程度新しい仕様に則ったJavaScriptについて、簡単にまとめたいと思います。

Read More

Nintendo Switchにウェブブラウザが搭載されたら、どの程度のことができるのか

Nintendo Switch(ニンテンドースイッチ)は今年の3月に任天堂より発売した、新しいゲーム機です。Switchは素晴らしいゲームたちと共に華々しいスタートを切り、なかなかの成功を収めているようです。

近年のゲーム機には、高機能化に伴いウェブブラウザが搭載されることが増えてきました。ですがSwitchには2017年5月現在、ブラウザは搭載されていません。搭載する予定も発表されていません。

しかし全く希望がないわけではありません。実はブラウザ機能自体はSwitchに内蔵されているのです。ブラウザアプリは提供されていませんが、Switchはひっそりとブラウザの機能を持っているということになります。

そこで本記事では、そのブラウザ機能から読み取れる、「もし、Switchがブラウザを搭載したら、どの程度のことができるのか」を、ある程度簡単にまとめて見たいと思います。

Read More

この1年間でVRゲームを50本ほど遊んだので、VRの現状とか感想とか

VR元年が謳われた2016年から1年が経ち、2017年になりました。つまり、私がHTC Viveを購入してから1年経つということでもあります。

半年前、私は「半年間VRゲームを体験した感想とオススメのVRゲーム」という記事を書きました。VRの体験記事はいまだ貴重なようで、多くの方に読まれています。

さて、それから半年。VRを取り巻く環境は、全く変わらない部分もあれば、大きく変わった部分もあります。私自身も、あれから多くのタイトルに触れて、意見が変わったところもあります。今回はそのあたりのことにも触れつつ、この1年間でVRに抱いた雑多な感想などを書いていきたいと思います。

Read More

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

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

さて、運良く(運悪く)情報科に、あるいはそれに類する学科に入ることになった方は、「プログラミング実習(演習)」という必修科目を受けることになると思います。必修科目のわりにこれがなかなか難しく、多くの学生が苦戦している様子を毎年見かけます。私もプログラミングの授業は何度か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