エディタもコンパイラもデバッガも何も要らない…ブラウザ上で完全な開発サイクルをサポートするSourceLair

コードの編集(エディット)なんて簡単だ。Vimをちょっと使えて、PHPをちょっと知ってて、あと、そばに缶ビールでもあれば、分からないことはGoogleの検索で調べながら突っ走れる。でも自分の(or会社の)サーバ使えないプロジェクトや、コードを書く環境がないときはどうするか? その答の一つが、SourceLairだ。

このフリーミアムのサービスを使うと、ブラウザの中に居たままでプロジェクトを作れる。言語はPythonとRubyとHTML5とJavaScriptとPHPとC++をサポートし、ブラウザ上でLinuxのシェルも使える。プロジェクトの実行も簡単にできるし(たとえばこれはぼくのプロジェクト)、バージョン管理にはGitやをMercurial使える。

ファウンダは全員ギリシャのアテネ大学の出身で、これまでにいくつもの大きなプロジェクトや、大企業のdev部門を経験している(Warp.ly、ARM、Niobium Labsなど)。彼らはこのほどNational Bank of Greeceから25万ドルを調達し、今は約1000名のユーザを抱える。

協同ファウンダのParis Kasidiarisは次のように語る: “SourceLairは既存のソフトウェア作成ツールをブラウザ上にポートしたわけではない。むしろメインのコーティングツールであるIDE(これもブラウザ上)の中へGitHubやJIRAやHerokuなどなどのサービスを統合して、より強力な開発体験を作り出しているんだ。 SourceLairは大学の研究課題から始まった。ぼくらは全員、プログラムを書くことが好きだけど、デスクトップやラップトップに大量のソフトウェアをインストールしてからでないと何も始められないのは、かったるい。そこで、何もインストールしなくても、ブラウザ上であらゆるツールを使えたら、どんなプログラミングでもすぐに初められるのに…、と思ったんだ。

たしかに、こいつは使える。ブラウザ上でIDEが使える状態になるまで1〜2分、その後はずっと快調だ。プロジェクトを一つ作るだけなら無料だが、1ヶ月にプロジェクトを10個開発するなら月額8ドルを払う。ソースを保存するためのファイルシステムやフォルダも使える。プロジェクトの本格的なテストランにはDigital OceanやAWSを使うべきだろうが、毎回のビルドが終わったらすぐに動かしてみる、というプログラミング過程における実用目的のためなら、これで十分だ。

これまでは、新しいプラットホームでIDEが使えるようになるまで30分ぐらい、何度もapt-get(Ubuntuのパッケージインストールコマンド)をする必要があった。このSourceLairのようにすぐにコマンドプロンプトが出て、(使い方を知るための)デモページも見られるツールは、とくに初心者の負担を大幅に軽減してくれるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


GoogleのDartプログラミング言語がやっとApp Engineでサポートへ

Googleの今年のI/Oデベロッパカンファレンスで、DartプログラミングをApp Engineでサポートする、という計画があまり目立たぬ形で発表された。そして、意外と長く待たされたあげく、今日(米国時間11/7)からやっと、Dartで書いたサーバアプリケーションをGoogle App EngineのManaged VMs(管理サービス付き仮想マシン)で動かせるようになった。

Dartは、Googleの“モアベターな”JavaScriptだとよく言われるように、基本的にはブラウザ上で実行されるクライアント言語だ。でもDartを発明したLars BakとKasper LundがI/Oのときに語ったところによると、Dartはあくまでも汎用言語として作ったのである、ということだ。

Dockerを利用してGoogle Compute EngineでDartを展開することは、すでに行われていた。でもデベロッパにとって機能が多いのはApp Engineの方だ。GoogleのData Store、キャッシングサービス、モニタリング、ロギングなどのツールが使える。デベロッパがやることは、アプリケーションを(たとえばDart言語で)書いてアップロードするだけ。あとはApp Engineがスケーリングやデータのストレージなどの面倒を見てくれる。トラフィックが急増すれば、自動的にスケーリングをやってくれるのだ。

Googleは、App EngineにおけるDartのサポートを、今後も続ける、改良していくと言っているから、たとえばApp EngineのもっといろいろなAPIがサポートされるのだろう。

この新たなサービスは今のところベータで、詳しい情報はここにある。

 

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


ビデオと実習を併用するプログラミング教育Code SchoolがiOSアプリをリリース

デベロッパのためのお勉強サイトCode Schoolは、ファウンダGregg Pollackの長年の知識共有努力から育ってきたが、このほどモバイルも対象にすることになった。そのiOSアプリからデベロッパは、CodeSchoolの300本を超える教材ビデオを視聴でき、JavaScript、HTML/CSS、Ruby、iOS、Gitや人気のデベロッパツールChrome Dev Toolsなどについて学べる。

CodeSchoolの多くの教材は無料だが、有料会員になるとそのほかのビデオも見られる。ただしモバイルアプリでは、デスクトップのようにブラウザ上で実際にコードを書きながらビデオや静止画から学ぶ、という勉強の仕方はできない。

コミュニティ優先、ビジネスは二の次

Code Schoolは8年前に、デベロッパのための教育的なコンテンツを作りたいというPollack自身の関心から生まれた。当時は、そのころまだ比較的新しいフレームワークだったRuby on Railsを取り上げた。“生まれたばかりの技術は、ドキュメンテーションがお粗末だからね”、とPollackは説明する。“だからぼくは、ブログでもポッドキャストでもカンファレンスの講演でもそればっかり書いたり喋ったりした。ひまなときには、ビデオも作った”。

Pollackの仕事はコンサルタントで、彼のコンサルタント会社は5年ほど前に”Envy Labs”という名前になった。そのころから彼が作る教材の評判が、多くの人たちに広まっていったが、彼にそれを独立のビジネスにする気はなかった。

しかし、2010年にリリースした”Rails for Zombies”が、大人気になった。それはビデオコンテンツとブラウザ上のコーディングを組み合わせる初の試みだった。今ではそんなプログラミング独習サイトがいろいろあるけど、当時はその後競争相手となるCodecademyすらまだ存在していなかった。

“当時でも、ブラウザ上でコーディングを勉強するサイトはいくつかあった”、とPollackは認める。“でも、ぼくのやり方は新しかった”。つまりそのRailsのコースでは、デベロッパはビデオを見て学んだことを、実際にブラウザ上でコードを書いて練習する。それを、納得するまで何度も何度も繰り返す。このやり方が大人気になったため、Pollackはもっと本格的にやろう、と思い始めた。

そして2011年の3月に、ビジネスとしてのCode Schoolが立ち上がり、そのときのコースはRailsの無料コースが一つ、有料コースが一つだけだった。今では前記のように、いろんな言語やツールをカバーする40あまりのコースがあり、完全な初心者と、自分のスキルを磨きたいと考えているベテランのデベロッパ両方を対象にしている。

今のアクティブユーザ数は常時だいたい40000名、登録ユーザの数は100万に達している。ユーザ調査によると、ほぼ15%が、昇進や有利な転職などがCode Schoolのおかげ、と答えている。ユーザを技能のレベル別に、上級、中級、初級、ビギナーの4段階に分けると、それぞれ29%、33%、14%、24%となる。

今回リリースしたiOSアプリで、外出〜移動時でも勉強したいという層をねらっているが、上に書いたようにモバイルでは実際にコードを書くという実習ができない。だからむしろモバイルは、Web上で実習したことの復習用に適しているのではないか。

今社員35名のCode Schoolはフロリダ州Orlandoにあり、最初から有料コースがあるので最初から黒字だ。Pollackが明かす、そのほかのネット上のプログラミング学習サイトとの差別化要因は、コースと教材の制作にかける手数だ。だいたい5時間のコースを、6人の社員が3か月かけて作る。スケーラビリティという点では不利なようだが、ファウンダは、これこそうちの特長、と胸を張る。“スクリーンキャストの寄せ集めではなく、一本のゲームを作るように念を入れて作っている”、と彼は語る。

なお、このiOSアプリでは有料会費は月額29ドルで、無料ユーザには見れないビデオも全部見られる。料金の団体割引もある。今ではAccentureやBooz Allen Hamilton、Zendesk、Fandangoなどが社員教育のために、Code Schoolの団体割引を利用している。

Code SchoolのiOSアプリの無料ダウンロードはここから。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


Webアプリケーションのヴィジュアルな構築からプログラミングに入門するEveが$2.3Mを調達

テク業界の誰もが、プログラミングを取っ付き易いものにしようと努力しているようだが、これまで登場したそれらの取り組みの多くは、既存の言語にあるコンセプトの組み換えだったり、プログラマが日常的に使用している論理の要約だったりして、実際にソフトウェアを作ることのできるスキルには、縁遠いものが多かった。

EveのファウンダChris Grangerは、そんな状況を変えたいと願っている。MicrosoftのVisual Studioのチームでプロダクトマネージャだった彼は、2012年に新しいIDEを作る資金をKickstarterに求め、しかもそこで30万ドルあまりを集めたという、稀有な人物だ(プログラミング環境製品でクラウドファンディングして数十万ドルを集めたのはたぶん彼一人だろう)。彼はこれまで、プログラミングが簡単にできると称するツールをいろいろ見てきたが、しかし、彼自身の前の作品ですら、“既存のプログラマの生産性を高めるけど、記号だらけのテキストファイルを何年も見つめたことのない人たちに、プログラミングの門戸を開くものではなかった”。

EveでGrangerは、目標のバーの高さを上げた。彼が構想しているのはExcelみたいなWebアプリケーションで、インタフェイスをお絵かきしたり、データの入ったボックスをドラッグしてロジックを指定する、という方法で誰もがソフトウェアを作れるツールだ。そのアプリケーションは、友だちなどにリンクを与えるだけで共有できる。そのツールの楽屋裏では、いろんなAPIを提供するサービスに接続しているから、Eveで作ったアプリケーションはFacebookやTwitter、Google Mapsなどなどと自然に統合できる。それは、プロのプログラマがWebアプリケーションを作るために使っているIDEとおんなじだ。Grangerは曰く、2015年の早い時期にデビューできると思うけど、“ふつうの人がKickstarterのような複雑なサイトを作れる”ツールになる、という。

Eveは、初心者だけでなく、プロのプログラマでも十分に使える。足りないものがあったら、JavaScriptで必要なファンクションを書けばよい(EveもJavaScriptで書かれている)。そのファンクションはほかの人たちと共有できるし、いろんなグリッドを並べてアプリケーションを作る。ファンクションやアプリケーションを共有し、ディスカッションもできるような、GitHub的なソーシャルなプラットホームを、作る予定だ。

Eveのマネタイズはどうするのか。Grangerのプランでは、開発プラットホーム本体はオープンソースにしてユーザのサーバの上でも使えるようにするが、コラボレーションやバージョニング(バージョン管理)、ホスティング、コンピュテーション(計算処理のための計算機利用)などは有料化する。

すでの数社の大物投資家がEveを支えている。最近の230万ドルのシード資金は、Andreessen HorowitzのパートナーChris DixonとY Combinatorの社長Sam Altman、Google検索の個人化を担当したSep Kamvarらが提供した。Eveには、Grangerのほかに協同ファウンダがあと二人いる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


Code.orgのCode Studioは、子供たちにプログラミングを教えるためのツールとカリキュラム


創設以来、Code.orgのミッションは、プログラミングを全米の教育カリキュラムに組み込むことだ。今日(米国時間9/11)、NPO団体はKindergarten(幼稚園年長)から高校までの生徒に、ガイド付レッスンを通じてプログラミングの基本概念に興味を持たせる、ツールとカリキュラムを合わせたセット、Code Studioを公開した。

子供たちにPythonやJava等の言語を教える(大学等のコンピュータサイエンスの授業のように)のではなく、Code Studioは、ロジックのブロックを操作させることによってプログラミングの基本概念を教える。適切な順番に並べることで、キャラクターを動かしたり、図形を描いたりできる。インターフェースは、MITのScratchによく似ているが、Code.orgの製品担当ディレクター、Mona AkmalがGoogle Hangoutで私に話したところによると、Code Studioには、MITのものとはいくつか重要な違いがあると言い、中でも、HTML 5を使っていること(このため殆どのブラウザーで動作する)と、K-12(Kindergartenから高3まで)生徒向けにパズルベースのレッスンプランがあることを挙げた。

ユーザーインターフェースそのもの以外でも、Code.orgはその大義(“Hour of Code” キャンペーンに後押しされた)にまつわる認知度を利用して、概念を紹介するビデオにMark Zuckerberg、ビル・ゲイツといったビッグネームを登場させたり、Angry Birds等の人気ブランドのキャラクターをレッスンで利用したりしている。

もう一つCode Studioの大きな特徴は、教師が生徒の進捗をモニターできるインターフェースがあることだ。教師が自分のクラス経営を行ったり、司書やコンピュータ室スタッフが様々な学年の生徒向けにカリキュラムを組むためには、当然必要な機能だ(Code.orgはこうしたカリキュラムを学校に浸透させることが目的)。

Code.orgは、学校が生徒にCode Studioを紹介することを期待すると同時に、子供たちが学年に見合ったレッスンを修了した後、自分たち独自のゲームやアプリを作ってシェアするための環境を提供したという認識を持っている。そんなシェア活動を促進するために、近々Code Studioは、プロジェクトへのリンクを生成してSMSやソーシャルネットワークを通じて、友達や家族に自分の作品をプレイしてもらえるようにする予定だ。

[原文へ]

(翻訳:Nob Takahashi / facebook


Bashよりもずっと便利で多機能なコマンドインタフェイスXiki/xshが抜本的大改造を目指して資金募集中

このところ眠っていた(かもしれない)、あなたのおたく魂の出番だ。このたびは、MemorizeのファウンダCraig Muthが作ったXikiの偉業を、たっぷりと共有しよう。Xikiとそれをシェル化したxshが提供するコマンドラインのすばらしい自動補完機能と対話的なコマンドラインを見ると、bashの名人でもよだれを垂らすかもしれない。Xikiの今のバージョンは今でも入手できるが、Muthは機能のより充実した新バージョンのためにKickstarterで資金を募集している

Muthは語る: “Xikiは最初、自分で使うために作った。13年前にオハイオで銀行や保険会社のための退屈なソフトウェア開発のようなことをしていたとき、これを作り始めた。自分のノートパソコンから直接コマンドを動かしたり、ファイルをナビゲートしたいと思ったんだ。実際に作ってみると、もう、これなしには仕事ができなくなった。今では、あらゆることにこれを使ってるね”。

開発資金として8万ドルを募集しているMuthは、次のように言っている:

この資金募集に成功したら、Xikiの徹底的に改良された次期バージョンをみんなに提供できる。要望の多かったSublimeとVim用のプラグインも作る。インストールの過程と、初心者のユーザ体験が大幅に改良される(コンテキストメニュー…そのときの状況に応じたメニュー…があちこちにあるからね)。シェルとの統合(xsh)も改良される。今後いろんなアプリケーション向けのXikiプラグインを作りやすいように、Xikiのコアをリファクタリングする。面倒なことを全部コアがやるから、プラグインの負担が軽くなる。

非常に斬新なシェルだから、慣れるためには時間を要する。従来のシェルでももちろんコマンドラインの編集はできたが、それをもっともっとテキストエディタ的にしたのがXikiだ、と言えるかもしれない。それに、パイプ機能は何でもパイプできる。別の言い方をすると、シェルのインタフェイスをGUI的にした(マウスも使える)、とも言える。ビデオでお分かりと思うが、ぼくが実際に使ってみても、すごいパワフルであることが分かる。

“xshはフレンドリなコマンドインタフェイスとして、GmailやTwitter、Bootstrapなど何百もの現代的なツール、それにデータベースの閲覧やWeb開発などでも、対話的な利用ができる。テキストのアウトラインやスペース2個ぶんのインデントなど、共通的なUIのパラダイムに即しているから、どんなツールやAPIとも対話できる。また、従来のシェルのようにコマンドラインからコマンドを使うだけでなく、テキストエディタやWebブラウザからでもコマンドを取り出せる。それに自分が新たに作ったxyzコマンドも、’xsh +xyz’でxshに登録できる”。

“xshは、怖くないコマンドインタフェイスだ”、とMuthは語る。でもビデオで、彼が複数のディレクトリを操作したり、新たなコマンドを作ったりしている様子を見ると、このプラットホームの奥の深さが、実は怖いかもしれない、と思った。Kickstarterの出資者は、Tシャツなどをもらえるだけだ。だからそれは、単純な寄付行為だ。でも完成した新バージョンこそが、出資者にとっての最大の報酬だろう。オープンソースで無料だから、あなたがさらに改良することもできる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


Appleの新プログラミング言語、Swiftを使って半日くらいでFlappy Birdのクローンが書けた

AppleがiOS向け新プログラミング言語を公開した翌日、あるデベロッパーはこのSwift言語を利用してわずか4時間で大人気のゲーム、“Flappy Birdのクローンを作ってしまった。もっともRedditTechHiveで報じられているところでは休憩や食事の時間も入れれば開発には全部で9時間近くかかったらしい。

開発者のNate MurrayはHacker Newsに「Swiftでのプログラミング経験はまだわずか4時間なので(デモプログラムに)間違いがあれば教えて欲しい」と書いている。

Murrayは以前はインターネットでの情報収集を自動化するサービス提供しているIFTTTでエンジニアでとして働いていたが、現在はプログラミングのオンライン・スクール、Fullstack.ioの共同ファウンダーだ。MurryはSwiftを利用したゲーム・プログラミング講座を開く準備をしているという。

もっともMurrayはこのプログラムをiTunes App Storeに公開するつもりはないと語った。「Flappy Birdのクローンを書くのは新しいゲーム開発フレームワークの入門として最適だ。このゲームは比較的シンプルでありながらプレイして面白いという点で非常にバランスがいい」とMurrayは説明する。

Swiftで書かれたMurrayのFlappy BirdクローンはKotakuのようなゲーム中心のサイトからMashableのようなメインストリームのテクノロジー・ニュースブログまでネットのあちこちで反響を呼んでいる。優秀なプログラマーが新言語を使いこなすスピードの速さにも驚かせれるが、以前の開発言語、Objective-Cに比べて、Swiftに新たに備えられた高度な機能デベロッパーの生産性を大きく向上させるだろうという予測が実証されたかたちだ。

Murrayは実際に使ってみて「新しくiOSアプリの開発に取り組むプログラマーに対してハードルを下げる「というAppleの目標は達成されたと考えている。Murrayによれば、Swiftの大きなメリットの一つはPlaygroundsと呼ばれる機能だという。ここではコードを編集しながら、それが実際にどう動作するかをリアルタイムで見ることができる。

さてSwiftでFlappy Birdクローンを作るのに本当はどのくらい時間がかかったのだろう?

われわれの取材に対して、Murrayは「4時間よりはかかったが9時間まではかかっていない。ログによると空のフォルダーからデモが作動するようになるまで9時間近くかかっているが、その間に食事もしたし、子供を寝かしつけたりしていたのでね」と語った。

[原文へ]

(翻訳:滑川海彦 Facebook Google+


「プログラミングは簡単に学べる」なんてことはない―女性CTOが体験からのアドバイス

編集部: 寄稿者のKate Rayは最近Wordpressに買収されたビジュアル・ウェブページ制作ツール、scroll kitの技術担当共同ファウンダー。

私の経験によると、これからプログラミングを始めようという人間にとってもっとも危険なことは「プログラミングなんて簡単だよ」と聞かされることだ。

このときあなたの頭の中では次のようなプロセスが進行する。

〔下は筆者のイラスト〕

プログラミングは第2の識字能力だ! 子供だってプログラミングできる。 誰だってできる。
それに私は頭がいい!
…なんでプログラミングがさっぱり学習できないんだ?

簡単だって言われたのに。
私は向いてないのかも。
それとも私は本当は頭が悪かったの?

お断りしておくが、私のプログラミングはイラストよりマシだ。

ほとんどの場合、プログラミングには特別な能力は必要ない。しかしプログラミングというのは他のあらゆる仕事に比べてはるかに苛立たしく、めちゃくちゃな作業だ。スマートですっきりした効率的なプログラミングが学べると約束するブログ記事、教室、アプリが溢れている。

そういうバラ色の約束には、プログラミングを始めるにはまず第一にそれに適した環境を設定するという大事業が必要だという注意が抜けている。はっきり言っておくが、どんなに親切なプログラマーの友人でもこの点では助けにならないはずだ。というのもこの作業は頭がおかしくなりそうなほど苛立たしい上に、一旦終えてしまえば誰も細かいこと覚えていないからだ。

誰も教えてくれない秘密は他にもいろいろある。たとえば、プログラミング能力の非常に重要な部分はGoolgeに正しい質問をし、発見したコードのうちどの部分をコピー&ペーストしたらいいか見分ける能力だ。プログラミングには「これで免許皆伝」などというレベルなどないことも誰も教えてくれないだろう。迷子になったような、自分がバカに思えるような精神状態はプログラミングに必然的に付随する。

この冬、私はiOSを勉強することにした。私は夏休みに独学でプログラミングを学んだので、新しい言語を習得する能力にはいささか自信を持っていた。問題は、それがどんなに辛いか忘れていたことだ。まずXcodeに面食らった(これ、なによ? 子供向けの絵本じゃあるまいし、こんなの本当のプログラミングじゃない)。その後で始めたいくつかプロジェクトはどれも私のレベルでは手に負えないものだとわかった。iOSはウェブ・アプリの開発とはまるで違うことが次第にわかってきた。私が「これは難しいだろう」と思う部分はやさしくて、やさしいはずの部分に際限なく手間取った。

私が忘れていたのはプログラマーの生活には「準備不足感」が付き物だという点だった。プログラマーが学ぶべきことには際限がない。一つの言語なりフレームワークなりに習熟することはできるかもしれないが、何か役に立つものを作りたかったら常に新しいツールが必要になる。絶えず自分の不慣れな分野に踏み込んでいかねばならない。自分がバカに思えるという状態に慣れておく必要がある。

著名な心理学者、ミハイ・チクセントミハイは学習過程を、退屈と不安の間のジグザグの歩みとして巧みにグラフ化した(どんな分野の学習にも当てはまるだろう)。

Adapted from an image in “Flow: The Psychology of Optimal Experience”

私がプログラミングを学んだ過程を思い出してみるとまさにこの通りだった。

  1. ステップバイステップのチュートリアルをよくわからないところがあっても忠実にフォローしていく。作家志望者が巨匠の文章を丸写しにタイプして勉強するようなものだ。これで言語/フレームワークがどう働くのか感じがつかめてくる。この段階は比較的やさしいが退屈である。[楽観的状態。進歩は速い]
  2. チュートリアルで作ったサンプルを少し変えてみる。すると分からないことだらけだと分かる。 [恐れが忍び寄る。進歩は遅くなる]
  3. ごくシンプルだが自分が作りたいものを作ろうとする。すると自分がほとんど何も理解できていなかったことを知る破目になる。 [絶望の海に投げ込まれる]
  4. 自分のプロジェクトにより関連の深い別のチュートリアルを見つける(うまくいけば背景となる学んでいる言語の知識を増やしてくれる)。またステップバイステップで学ぶ。[少し理解できた気がしてくる。多少の自信]
  5. サンプル・プロジェクトを少し変える。 [また恐怖]
  6. 新しいプロジェクトを始める。 [また絶望]
  7. 1に戻って繰り返す。

私はチュートリアルの大ファンだ。上記のプロセスを繰り返すうちに、私は推薦するプログラマーをベースにベストなチュートリアルをリストするアプリを作った。このアプリが自分に合ったチュートリアルを見つける手助けになればよいと思う。

フラストレーションに耐えて努力を続けていれば、やがて見晴らしのいい場所からそれまで登ってきた道を振り返ることもできるだろう。理解できないことが多くてもかまわない。自分が進歩しているのかどうか分からなくても、進歩していると信じて進もう。焦りは禁物だ。 幸運を祈る。

Teach Yourself To Codeで学ぶことを可能にしてくれた Shuttleworth Foundationとこの記事を書くのを助けてくれたCody Brownに深く感謝する。

Kate Ray – Scroll Kit from WeWork on Vimeo.

[原文へ]

(翻訳:滑川海彦 Facebook Google+


50歳を迎えたBASIC

50年前。すなわち1964年の今月、新しい世代のコンピュータ言語が生まれた。

そういうと、多くの人がUnixの誕生や、今でも人気のコンピュータ言語のことかと思うかもしれない。しかし今日の話題はそうではない。1964年5月1日に、BASICというプログラミング言語がダートマス大学で産声をあげたのだ。この日から、歴史の流れは大きく変わることとなった。

新言語を生み出したのはジョン・ジョージ・ケメニーとトーマス・E・カーツ、そして学生プログラマのグループだ。Beginner’s All-Purpose Symbolic Instruction Code(BASIC)という言語を生み出したのだ。コンピュータの仕組みを学習させるのに最適で、メインフレームコンピュータでは必要な制御機能などが無用となっていた。「EBCDIC ARRAY E [0:11]」といったコマンドは無用となり、単純に「HELLO」と開始の挨拶を送れば「READY」と応えてくれるものだった。

BASICは、確かに誕生当初より初心者に親切な言語であった。分かりやすい言語構造を持ち、プログラムの各行には行番号が付される。言語構造的にリニアな思考を促すようにもなっていた(最近は流行らないのかもしれないが)。最近ではBASICの人気はなくなってしまい、初心者用ということでは他の言語が使われるようにもなっている。しかしダートマスがその後に生まれた何百万というプログラマにさまざまな影響を与えたことは間違いない。

初期のBASICにはいろいろな不備もあったが、徐々になんでもできる言語へと発展していった。最初期のホームコンピュータは標準でBASICを搭載しており、筆者自身もダートマスBASICをフェラーリ化したようなTurbo Basicでいろいろとプログラムを組んだものだった。ウェブ時代になってBASICを見ることも少なくなったように感じるが、しかしまだまだOS Xでも、Windowsでも、あるいはLinux上にても現役の処理系だ。ほとんどの人が知らないかもしれないが、AndroidiOSで動作するものもある。

多くのプログラマーが以下のコードを打ち込んで実行した経験があるのではないかと思う。最初に触れた言語がBASICだったという人も非常に多いのだ。

10 PRINT “HELLO WORLD”
20 GOTO 10

「HELLO WORLD」の部分をお下品な言葉にして叱られたりしたこともあった。PRINT行でセミコロンを付ける付けないまた出力結果が変わって面白さを感じさせられることもあった。

BASICについて、もう少しく淡しい記事がこちらにある。また、ダートマス大学もこちらに記念ページを解説している。さらにオリジナルのマニュアルも公開されている。

原文へ

(翻訳:Maeda, H


オンデマンドでプログラミング指導が受けられるウェブサービスのHackHands

CodecademyStack Overflowなど、オンラインでサポートを受けながらプログラミングの学習を行うサイトというのは数多く存在する。この世界にHackHandsというサービスが参入してきた。設立者たちによれば「人がリアルタイムに疑問点を解説してくれたりコードを見てくれたりするという点で画期的なサービスなのです」とのこと。

共同ファウンダーのひとりであるForest Good曰く、サービスをひと言でいえば「Uber for programming」なのだそうだ。すなわち、必要な時にすぐにプログラミングについてのサポートを受けることができるという意味だ。プログラミングについて詳しい人々のネットワークを利用して、困ったことがあるときはいつでも問題を投稿して、すぐに解決策を教えてもらうことができる。回答者を探すのにかかる時間は最大でも15分で、ビデオチャット(TokBoxを利用)で繋がり、また双方の画面に双方向で使えるテキストエディターや作業している画面などが表示され、そこで問題の解決に向けて作業していくことになる。

「こうしたサービスを利用したいと考えている人は多いはずです」とGoodは言う。たとえばコーディングをしたこともない人が、参考書を片手に勉強をしている場合など、本をいくら読んでも何のことやらわからないことがある。あるいはプログラミング学習サイトを活用している人でも、そもそもいったい何がどうなっているのかがわからず、オンラインコミュニティに質問を投げることもできないケースがある。そういうときに、直接的な会話を通じて問題解決にあたるのが有効なケースは多いだろう。

現在のところHackHandsが対象としている言語プラットフォームはRuby on Railsのみだ。Good曰く、指導係(サイトではメンターと呼ぶ)はコミュニケーション能力およびプログラミング能力の双方を有する人を選別しているとのこと(曰く、現在のところはメンターとして活動している人は個人的に知っている人ばかりです。もちろん今後は規模を拡大していく予定です)。

共同ファウンダーのGeraldo Ramosは必要な時に確実に役立つサービスを、利用しやすい額で提供していきたいのですと述べている。HackHandsの料金は1分あたり1ドルだ。課金はセッション単位で行われる。ちなみに5分間のお試しタイムんも用意されていて、相談者の方からもメンターの方からも有料セッションを取りやめることができるようになっている。すなわちメンター側からは懸案となっている問題が解決できなさそうな場合などに有料モードへの移行を停止することができるわけだ。相談結果に大いに満足した場合は、決められた料金の他にチップを渡すこともできる。メンター側にインセンティブをもってもらうため、最も多くの相談に応じている人や、あるいは最も感謝され、収入が多くなっている人などを示すリーダーボードも設置することにしている。

HackHandsは6PS Groupのプロダクトだ。6PS Groupはインキュベーションに重点をおいてウェブサービスの開発を行っている。HackHandsについても、成功の見込みがたてば独立させていく予定にしているのだそうだ。

原文へ

(翻訳:Maeda, H


「コーディング教育など無用だ」。そう主張する人に伝えたいこと

久しぶりに、オバマ大統領が2つの話題でTwitterを賑わした。ひとつはもちろん追悼式典会場における自分撮り記念写真の可否問題で、もうひとつは「皆にコーディングを学んで欲しい」という発言だ。

Computer Science Education Week関連イベントの一貫として、オバマ大統領は「アメリカ人全員にコーディングを学んで欲しい」旨を訴えかけるビデオを投稿した。

「コンピューター関連のスキルを身に付けることは、皆さん自身の未来に係るだけではないのです。アメリカという国にとっても非常に重要なことなのです」と大統領は言う。「アメリカが最先端の国家であり続けるために、皆さんのような若いアメリカ人に、これから大きく変化していくコンピューター関連ツールおよび技術をきちんとマスターしてもらう必要があるのです」とのことだ。

前にもこういう話は出た。ニューヨーク市の市長であるマイケル・ブルームバーグが、2012年の抱負としてCodecademyを使ってコーディングを学ぶことにしたとツイートしたときだ。これはかなりの反論を招いた。

たとえば「コーディングの知識を持つことと、配管の知識を持つことの意味に大差はない」とDiscourseの共同ファウンダー兼CTOのJeff Atwoodは意見を表明し、標準的な教育シーンでは、少なくともコーディングと同程度くらいにはコミュニケーションスキルの学習が重要なはずだと述べている。コンピューティングの時代だからコーディングを学べという風潮に対し、多くの人がエンジンの作り方を知らなくても車は運転できると反論した。

今回も、たとえばSlateのMatthew Yglesiasは、アメリカには読み書きのできない人もまだ多くいて、コードリテラシーを高める云々よりも、本当のリテラシーを高める努力の方が必要なのだと主張している。

いろいろな意見があるが、しかし個人的には、やはりできるだけ多くの人がコードリテラシーを身につけるべきだと考えている。起きている時間のほとんどの時間を蛇口の前で過ごし、議会が将来的な蛇口の多様性に関する法案を熱心に審議しているような世の中なのであれば、確かに配管の知識を学ぶことが重要になるだろう。車の例で言うのなら、Program or be Programmedの著者であるDouglas Rushkoffの意見に与する。曰くコーディングのことを全く知らないというのは、車を運転できないということを意味するのではなく、目隠し運転をするようなものだとのこと。エンジンの組み立て方を知らなくても運転はできるという人がいるが、しかしエンジンの物理的な仕組みや内燃機関の動き方については、ほぼ全ての人が学ぶようになっている。車の世界とテックの世界を比較して言うのなら、確かに多くの人にとってFacebookを独力で構築するようなコーディングスキルをマスターする必要はないだろう。しかしどのように作られているのかといった知識程度はなるべく多くの人が知っておくべきことであると思う。

もちろん、プログラミング教育によって、読み書きや算数など、他の教科学習を犠牲にすべきだなどとは考えていない。そもそも他の教科学習を犠牲にする必要など全くないのだ。コーディング関係の知識というのは、他の教科学習と平行して身に付けることができるものなのだ。

たとえば算数や数学がコンピュータープログラミングと親和性の高いものであることは、誰もが認めるところだと思う。たとえばStephen Wolframの弟であるConrad Wolframは、算数・数学教育に、もっとコンピューターを持ち込むべきであると強硬に主張している。自ら運営するComputerbasedmath.orgでは、繰り返し学習で手順を暗記するようなことはやめて、計算はコンピューターにまかせて、手順の背後にある概念に思いを巡らせることをもって算数・数学教育とすべきなのだとしている。

「なぜコンピューターがはるかにうまく行えること(計算)ばかりを生徒にやらせるのでしょう。現在はまだコンピューターにまかせることのできない創造的思考や分析、問題解決のための方法などを学ぶようにすべきなのではないでしょうか」とブログでも書いている。またエストニア政府に協力して、同国の統計確率についての教育カリキュラムを新規に策定することになっているのだそうだ。この分野をコンピューターなしで行うのは馬鹿げたことだとも言っている。但し、話をこういう国家規模の話にもっていく必要もない。算数や数学の授業に、ちょっとしたプログラミングを伴う演習を入れるのははるかに簡単に行うことができる。

アメリカの高校教育で選択科目として人気なのは経済学だが、プログラミング講座の開講を真剣に検討すべきだろう。またプログラミングは他の科目との連携して学習することもできる。カレッジレベルの生物学や物理学を学ぶのに、プログラミングを通じて行おうとする本はいくつも出ているし、そうした内容を高校レベルに導入することもさほど難しくないはずだ。

もちろん算数/数学や理科といったいわゆる理系関連科目のみが、プログラミング技術との親和性を示すものではない。たとえば音楽理論の習得にSuperColliderPureDataを使っているところもある。音楽理論自体の学習も楽しくインタラクティブに行うことができ、同時にプログラミングについても学ぶことができるのだ。またNew York UniversityのAdam Parrishはプログラミングを通じた創造的文章講座を開設している。学生にPythonの基礎を教え、Twitter APIを使ってコンピューターに現代詩を生成させるといったことを行っているのだ。

さまざまな教科は、コンピューター科学などと融合させることで一層面白く学べるようになる。プログラミング、電子工学、数学、物理、そして音楽を教え、最終的にArduinoを使ったシンセサイザーを制作するコースなどといったものも面白そうではなかろうか。

学生たちに、学んで何かを実現する楽しみを教えるという意味もある。たとえばあるブログに「People Feel Dumb: That’s Why They Don’t Code」(プログラミングは頭の良い人にしかできないのだと諦める人々)というタイトルの記事があった。これは面白い論考で、確かに自分はもっと優秀になれるのだと考えている生徒こそが良い成績を残すという調査結果もある。自分は愚かだと考える生徒が、どんどん落ちこぼれていくことになるという話だ。これは個人的にもよくわかる話だ。作文や絵画など、創造性を問うような授業にて、自己否定してしまえばまったく良い成果を残せなくなってしまうのだ。

「ぼくには無理」とか「才能がないんだ」という諦めの気持ちを持たせないためには、なるべくはやい段階での成功体験を与えることもひとつの方法だ。プログラミングなどという、難しいものと考えられがちのことが「できる」喜びを伝え、音楽を作ることが出来ると体験させ、算数が楽しいものであることを経験させる。こうした体験は、その後の教育成果に繋がっていくはずだ。

すべてがうまくいきそうなスキームに思えるが、最も困難な問題は教師側にあるだろう。エストニアは昨年、小学校段階からコンピューター科学を教えていくことを決めた。このためにまず行っているのは、やはり教師側のトレーニングだ。アメリカにおいても、こうしたことを念頭において前に進んでいくべきだろうと思う。

Photo by Michael Himbeault

原文へ

(翻訳:Maeda, H


プログラミング教育用トイ・ロボットのPlay-i、140万ドルを調達していよいよ来夏より出荷開始

これからは世の中にさらにテックの要素が増えていき、そして仕事でも一層テック系の素養が必要となってくる。それであってみれば、子供たちにコンピューターサイエンスやエンジニアリングを教えていくことが大切だ。と、そういう考えを当然のことだと考える人も多い。しかしアメリカでは10校のうち9校までがプログラミングの授業を行っていない。コンピューターサイエンスやテクノロジーに親しませ、積極的に関わっていくことができるようにするためには、たとえば他の言語を学ぶのと同様に、早期に始めることが非常に大切なことなのだ。もちろん、内容は楽しいものでなければならない。

コーディングのスキルを身に付けるのには時間もかかり、大人になってからではかなり難しくなってしまう。但し、子供を椅子に縛り付けてコーディングの勉強をさせるのもまた難しいことだ。もちろんコンピューターサイエンスの理論を覚えこませようなどというのも無駄に終わる可能性が高い。これに対処しようと動き出したのが、GoogleでConsumer Payments部門の長を務めた経験をもつVikas Guptaだ。子供たちが楽しくプログラミングを学ぶことのできるPlay-iというプロダクト(プログラムでロボットを動かす)を生み出したのだ。

共同ファウンダーにAppleでiPodソフトウェアチームを率いていたSaurabh Guptaおよび,
Frog Designでエレクトロニクスプロダクトおよび玩具のデザインおよび製造を行っていたMikal Greavesを加えて、Play-iの開発を行った。開発にあたっては、子供たちが「遊べる」ものを作ることを心がけたのだそうだ。こうした考えに沿って生まれてきたのがBoとYanaという2つのロボットだ。プログラムで制御できる、インタラクティブなトイ・ロボットだ。

Play-iは昨年、Google Ventures、Madrona Venture Groupなどから100万ドルの資金を調達してプロトタイプの開発を行った。現在もまだ細部を詰めている段階ではあるが、全体的な学習システムはほぼ完成し、ついに商用リリースの目処がたつところまでやってきた。来年には販売を開始する予定で、そうなればiPadで動作するPlay-iを使って、BoやYanaと一緒に遊ぶことが出来るようになるわけだ。

iPad用アプリケーションには、アクションシーケンスや、簡単なコマンドが用意されていて、それを並べてロボットを動作させることができる。たとえば手のようなパーツを叩いたり、あるいは手を振るように動かしたり、握手するような動きを行うことができる。3つのタイヤを備えたBoは部屋の中をあちこちに動きまわることができるし、ライトを点滅させたり、木琴を演奏したり、あるいはYanaを揺らしてライオンのように吠えさせたり、さらにはロボット2台を対話的に動かすことなどができる。実際に動いたり音楽を奏でたりするおもちゃを通じて、自分のプログラムがいったい何を引き起こしているのかということを学習していくことができるのだ。

また、単にロボットが動くのを見て愉しむ段階をこえて成長しても、このPlay-iを楽しめる仕掛けが用意されている。すなわちPlay-iで使うことのできるコマンドは、JavaやPythonなどといったプログラミング言語を用いて作成されたものなのだ。こうしたプログラミング言語を活用して、自分だけのコマンドを作ることもできるわけだ。これにより、さまざまな年齢層でBoおよびYanaとのコミュニケーションを愉しむことができるようになっており、いろいろなレベルでプログラム開発を行っていくことができる。

おもちゃを使ってプログラミングを学ぼうというコンセプトは、このPlay-i以外にも昔から存在するものだ。Play-iについての以前の記事でも指摘されているように、この分野にはCargo-Bot、Move the Turtle、あるいはBee-Botなどの先輩プロダクトがある。比較的新しい分野だとはいうことができ、いろいろなプロダクトが今後も参入してくることとなるだろう。こういうプロダクトに対するニーズも、最近になって生まれてきたものだ。教育会全体としてもSTEM教育に関心があつまりつつあり、それもあって若年層に対するテック教育のためのツールが探し求められるようになった背景もある。この分野は、今後ますます発展していくことになるのだろう。

もちろん共同ファウンダーたちは、このBoとYanaのことをとても気に入っている。しかし一般の消費者が興味を持ってくれるのか、あるいは商品を手にとってみたいと思ってもらえるのかについては慎重な姿勢ももっていた。すなわち11月半ばにクラウドファンディングでのプロジェクトを立ち上げて、一般の人の反応を探ってみたのだ。反応は上々で、しかもアメリカ以外の国の人も関心を持っていることが判明した。

Kickstarterでの31日間のキャンペーンにて、Play-iは目標の5倍となる140万ドルの資金を調達した。また、そのうちの2万6000ドルは、学校や経済的に恵まれない子供たちを対象とした施設に対してPlay-iを寄贈することを目的とした寄付として出資された。出資者はイギリス、カナダ、ドイツ、オーストラリア、インド、フランスなど多数の国にわたり、全体の30%以上がアメリカ国外からのものだった。

プレオーダーの件数も1万を超え、出荷は来年の夏から開始される見込みだ。それまでの期間は、製品の最終仕上げと、販売パートナーの獲得を行っていく予定なのだそうだ。Gupta曰く、Play-iをサイトおよび実店舗の双方を通じて販売していきたい考えであるとのこと。但し詳細についてはまだ決まっていないらしい。

今後もまだまだ新しい情報が出てきそうなPlay-iのホームページはこちら。またファウンダーのインタビュー動画を下に掲載している。

原文へ

(翻訳:Maeda, H


プログラミングを学校の必須科目にするためのキャンペーン”Hour of Code”と国の”コンピュータ科学教育週間”が同時期に

今年の1月にAli/Hade Partovi兄弟が立ち上げたCode.orgのミッションは、単純だった: プログラミングとコンピュータ科学を、アメリカ人がこれらに対してこれまで持っていたイメージを変えて、大衆化すること。

ほぼ1年たった今、Code.orgはどうなっているだろうか。そして多くのアメリカ人が、STEM*を国家的最優先事項にする必要があることを、認めるようになっているだろうか。その答えが、今週、ある程度分かるだろう。今週(12/9-15)行われるコンピュータ科学教育週間(Computer Science Education Week)の幕開けの祝辞としてオバマ大統領と共和党の下院院内総務Eric Cantorがそれぞれ、合衆国の児童生徒学生はプログラミングの学習を全員必須とすべし、とメッセージする、ビデオによる声名を発表した。〔*: STEM, science, technology, engineering, mathematics; 理数系~理工系教科。〕

一方Code.orgも今週、数か月かけて準備したキャンペーン”Hour of Code“(1時間のプログラミング)を立ち上げる。コンピュータ科学教育週間と同じ週にこのキャンペーンは、合衆国の教師たち全員に、児童生徒にコンピュータ科学とプログラミングを教える時間を1時間確保するよう、求める。全員だから、英語や歴史の先生も対象に含まれる。

Partovi兄弟がCode.orgを立ち上げた動機も、今のアメリカの学校におけるコンピュータ科学やプログラミング教育の乏しさにある。だいたい10校のうち9校は教科にコンピュータ科学が含まれない。今は少しずつ変わり始めてはいるが、それでもコンピュータ科学とプログラミングが選択科目である学校が多い。つまりそれらは、成績証明に含まれない。Partovi兄弟とCode.orgは、カリフォルニア州に対してはこれまで積極的にロビー活動を積み重ね、徐々に状況を変えつつある。

Hadi Partovi(元Microsoft、MySpace、iLikeなど)によると、Code.orgの最初のミッションは、各州がコンピュータ科学を必須学科にすることだ。官僚主義とのたたかいは容易ではなかったが、彼らの説得に耳を傾ける州も少しずつ増えつつある。“ロビイスト活動の中では、むしろ、それほど苦労しなかった方ではないか”、とHadiは言っている。

そして今度は、州に次いで国が腰をあげる。また、”Hour of Code”キャンペーンに参加するのは合衆国の学校だけでなく、世界167か国の33000のクラスの500万人あまりの児童生徒の参加が期待されている。Hadiの“500万人あまり”とは、1000万のことだ。

Code.orgのその目標達成を助けるために、AppleとMicrosoftは全世界の小売アウトレットで”Hour of Code”のクラスを行う。Appleは、各店で”Hour of Code”のクラスを展開することを、専用のWebサイトで公示している。同社によると、‘きわめて対話的な’状況および雰囲気の中でプログラミングの基礎を教えるそうだ。こうやって、自社の店舗などでこのキャンペーンを助けるという企業は、100社近くある。その中には、テクノロジ系でない企業もある。

Googleの検索ページは、右図のようなGoogle Doodleでコンピュータ科学教育週間を祝っている。この絵に登場する女性は、女性プログラマの元祖でCOBOLプログラミング言語を作ったGrace Hopperだ。絵の下には”Hour of Code”へのリンクもある。このほかCode.orgは、Yahoo、Youtube、Apple、MSN、Bing、Disney、 有力政治家たち、映画などのスターやアスリートたちにも、キャンペーンの宣伝への貢献を求めている。

現在協力を表明している俳優やミュージシャンはShakira、Ashton Kutcher、Angela Bassettら、アスリートはChris Bosh、Warren Sapp、Dwight Howardら、テクノロジ世界のリーダーの中からは生前のSteve Jobs、Bill Gates、Mark Zuckerberg、Susan Wojcickiらだ。全国レベルの政治家では、民主党、共和党の両派が協力を表明し、オバマ大統領と共和党下院院内総務Eric Cantorのほかに、上院議員Cory BookerNewt Gingrich、教育大臣Arnie Duncanらが、”Hour of Code”を支持するビデオを掲出している。

Code.orgは、”Hour of Code”キャンペーンに協賛してチュートリアルを提供する企業や大学、非営利団体などのリストと、 Mard Zuckerbeg、Chris Bosh、Bill Gatesらが登場するビデオチュートリアルを提供している。この前の”Learn to Code”キャンペーンのビデオは2週間で1200万回見られた。

また10月には、LinkedInのCEO Reid Hoffmanが、なぜ全アメリカ人がプログラミングを学ぶべきか、その実利的な理由を本誌の記事で語っている。

下のビデオは、オバマ大統領のメッセージと、Code.orgによる、多くの有名人が登場する”Hour of Code”の立ち上げビデオだ。

さて、これからのアメリカはどうなるか。全国民がプログラミングを学ぶだろうか? まずCode.orgのページを見ながら考えてみよう。〔*: 日本でも現安倍政権の構想では、“いずれ”義務教育からプログラミング教育が導入されるらしい。〕

〔訳注: Code.orgに関する過去記事: (1)(2)(3)。〕

〔Code.orgのビデオの大阪弁バージョン。〕

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


遊びを通して子供たちにプログラミングを教えるArduinoロボットのPrimo

子供たちを遊ばせるのに、単に面白おかしいということ以上のものを求める親が多いようだ。Kickstarterに登録されたDan ShapiroのRobot Turtlesというボードゲームを以前紹介した。これは2万5000ドルの資金調達を目指して登録されたものだが、なんと63万ドル以上の資金を調達することとなった。そちらも遊びながらプログラミングの基礎を教えてくれるものだった。どうやらギーク系の親たちはお金に余裕があり、教育への投資には非常に積極的である様子。

Kickstarterコミュニティの反応を見る限りにおいて、プログラミング系教育系玩具の評判は非常に高いものであるようだ。本日取り上げるPrimoも、Arduino制御のロボットを動かすためのプログラミング作成を、積み木を組み合わせることにより行っていく玩具だ。

Primoのエレクトロニクス系要素はすべて木製のボックスの中に隠されている。これは子供たちにシンプルな木製ブロックで遊んでいるのだと思わせるためだ。ロボットも、プログラミングを行うタイルも、双方ともに普通の木製ブロックに見える。しかしカラーブロック(命令用ブロック)をボードにセットすると、実はプログラミングを行っていることになるのだ(フィジカル・プログラミングインタフェース)。こうしてプログラムを作成し、最後に大きな赤ボタンをクリックすると、プログラム通りにタイヤのついたロボットが動き出す。作ったプログラムにしたがって、ロボットが部屋の中を動き回るわけだ。

命令用ブロックは4つの色で分類されている。ロボットを前に進めるための「前進」ブロックをはじめ、「左」「右」、そして緑色の関数ブロックもある。サブルーチンのようなもので、呼び出すと制御はいったん関数ブロックの中に移り、ブロックの処理が終わると本体に制御が戻ってくることんある。これにより、少々複雑なプログラミングを愉しむことができる。

関数を使うことにより、より長いコマンドを扱えるようになるとともに、プログラマ側には一層の論理的思考力を要求することとなる。遊びを通じて、思考能力の向上などにも役立つものを提供したいというのが、本プロダクトの狙いだ。

先日紹介したKickstarterプロジェクトのKano DIYコンピュータにくらべれば遥かに基本的なものではある。こちらの方は、4歳から7歳くらいの子供たちを対象に、ごく単純なところからスタートさせようとするものだ。

「スキルというのは徐々に身についてくるものです。山に上るのに一歩一歩進んでいくのと同じことです。Primoはプログラミング教育の最初の第一歩となるものなのです。言わば、プログラミング教育のいろはを提供するものなのです」と、イギリスに拠点をおく(イタリア人の)クリエイターは述べている。

このキットを市場に送り出すため、3万5000ポンドの資金調達を狙ってKickstarterに登録した。初期特典で、135ポンドで自分で組み立てるDIY版が提供されている。これまでのところ、27日を残したところで9000ポンド近くの資金を集めている。資金調達に成功すれば、プロダクトは来年8月から出荷していきたい考えなのだそうだ。

原文へ

(翻訳:Maeda, H


ブラウザ上でコンパイル, テスト, エラー報告もやってくれるArduino用IDE CodeBender.CC

Arduinoは今や至る所で見かける、とってもクールなマイコンボードだが、その公式IDEでコードを書いてアップロードするのは一(ひと)苦労だ。その、ネットワーク接続のないスタンドアロンのアプリケーションは、ルックスも良くない。でも、ブラウザ上にArduinoのIDEがあって、コードを共有できたり、プログラムをアップロードできたら便利ではないかな? それをまさに、CodeBender.ccがやってくれるのだ。

ブラウザ上のIDE CodeBenderを使えば、どんなArduinoボードでもアップロードできる。サンプルコードのコピー、ほかのユーザがアップロードしたコードの閲覧、それに非公開のコード片を保存することもできる。それは基本的にはコラボレーションの場なので、だれかのコードを自分のプロジェクトに利用したり、またコード片のリストから目的のコードを見つけることもできる。

Vasilis GeorgitzikisとAlexandros Baltasが創ったこのサイトは、ヨーロッパのシードファンドLAUNCHubから生まれた。Georgitzikisは曰く、“ふだんは最新の先進的な開発ツールばかり使っていたから、そういうツールのないArduinoは使い辛かった。世界各地のハッカー集会でArduinoのインストラクターもしたが、わずか3時間のワークショップで2時間半をいろんなもののインストールに費やさなければならない”。

“このWeb IDEと並行して、ネットワークに接続しているArduinoをプログラミングしコントロールするツールも作った(Arduino Ethernetなど)。これもブラウザ上で使い、HTML5の技術(WebSocketなど)だけで作られている。それを使うと、IoT(Internet of Things, 物のインターネット)デバイスをリモートでプログラミングできる”、と彼は言った。

このシステムはコンパイルとエラー報告を行うので、最終的にはプロジェクトの完動コードをアップロードできる。Circuits.ioのようにプロジェクトをシミュレートするだけでなく、Arduinoを使ったハードウェア全体をブラウザから完全にコントロールできる。Arduinoになんとなく近寄り難(がた)かったぼくみたいな人間も、このIDEがあれば、いろんなことを積極的に試してみる気になるだろう。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


Google社員が世に問う、子供にプログラミングの基礎を体感させるためのボードゲーム

子供たちにプログラミングを教えようとするオンラインリソースは数多く見つけることができる。ここで紹介するのは、そうしたものとはちょっと違って、言わば「昔ふう」に家族ゲーム(1980年代には、家族で遊ぶといえばボードゲームが多かった)を楽しみながら、プログラミングの基礎を身につけさせようとするものだ。名前はRobot Turtlesで、ゲームの作者は、アントレプレナーであり、かつGoogle ComparisonのCEOを務めるDan Shapiroだ。現在は日々の業務からは距離をおいていて、こうして自分の気に入ったプロジェクトに時間を割くことができるようだ。

プレイヤーは自分の駒(亀)を、何種類かの命令カードを使って動かす。この「命令」に従った動作を行わせることで、プログラミングの基礎を学ばせようとするわけだ。ゲームの観点からするボード上を動き回る目的は、迷路を抜けて宝石をゲットすることだ。しかし真の目的は、プログラムとは何なのかを感じさせることなのだ。たとえば命令カードの種類は限られていて、そのカードを使って思ったとおりに動かそうとすれば、各命令をうまく組み合わせる必要がある。動作の順序にも気を配る必要がある。また失敗に気づいた時には命令を組み替えるという動作を通じて、デバッグ能力も身につけさせようとする。これもまた、プログラミングにはなくてはならないスキルだ。

ゲームに慣れてくれば、一度に1枚の命令カードを使うのではなく、3枚のカードを適切に組み合わせて一回の指示とするといった使い方もできる。最終的には目的達成のための手順をすべてまとめて「プログラム」として提示するレベルまでいけば素晴らしい。もちろん(必ず発生する)バグを潰す練習も将来に向けて重要なものとなる。ゲームに慣れてくれば、「Function Frog」というカードを使えるようにする。このカードはプログラムにおける「関数」のように使い、あわせてなるべく少ないカード枚数で迷路を抜け出せるようにする。

「プログラミングというのは、子供に身につけさせてあげることのできる素晴らしい能力のひとつだと思うのです。将来的に経験するさまざまなイノベーションにも対応する力を身に付けることになるでしょう」とShapiroは言っている。Shapiroは、自身の4歳になる双子の子供にコーディングの楽しさを伝えようと、このゲームを発案したのだそうだ。

ところでShapiroは本プレジェクトをKickstarterプロジェクトとして登録した。そこでRobot Turtlesを世に出す資金を集めようとしたわけだ。資金はすぐに集まり、登録後わずか一日で、目標としていた2万5000ドルのほぼ倍額が集まることとなった。そこで彼は面白いことを言っている。「Kickstarterは本当に面白い仕組みだと思います。『プロジェクト』を外部の人々が支えてくれることというのは、これまでに経験したことのない体験でした。私は人生のほとんどを企業人として活動してきました。OntelaではVCから3000万ドルの資金を預かっていました。Sparkbuyは、最終的にGoogleによって買収されました。そうした中で私は、日々戦略やビジョン、今後の進むべき方法などに頭を悩まし続けてきたのでした。当時は世の中に出すべきものは『プロダクト』であり、『プロジェクト』は自らの力のみで実行すべきものでした」とのこと。

Robot Turtlesは3歳から8歳を対象とするもので、Kickstarterでの支援者は29ドルで入手できる。支援者に対する商品の発想は12月を予定している。すなわちホリデーにはゲームを楽しめるというわけだ。

原文へ

(翻訳:Maeda, H)


コードを読めない/書けない人でもプログラミングの理解と参加ができるヴィジュアルツールNoFlo

NoFloという会社が、1970年代にIBMが提唱した“フローベースのプログラミング”*というコンセプトに基づく、オープンソースのヴィジュアルプログラミングツールを作り、多くのプログラミング言語に対応する本格的な開発環境に仕上げるための資金10万ドルを、Kickstarterで募金している。〔*: flow-based programming, プログラムの構造を処理の流れ(flow)で表す(下図)。〕

一見するとNoFloは、簡単なWeb開発ではなくもっと高度なプログラミングのためのWYSIWYGエディタみたいだ。いろんな部位をドラッグ&ドロップで並べて、求める計算処理を完成させる。しかし実際にはそれは、コードを書いたり読んだりした経験のない人たちでもプログラム/プログラミングを理解できるための、ヴィジュアルな仕掛けだ。今では企業の役員でも管理職でも一般社員でも、プログラミングの経験や知識があることが求められる。これからは誰もが、デベロッパたちがやってることを見て何をしているのか理解でき、プログラミングや開発の過程に何らかの形で関われなければならない。NoFloは、そういう時代要請に即したツールだ。

同社によれば、“それは新しいタイプのフローベース開発環境であり、中でもとくに、どこを新しくしたいかというと、もっとコラボレーション型の環境にしたいのだ”、という。つまり、“企業やチームの人たちに、彼らのソフトウェアがどのように動くのかを示すマップを提供したい。たとえばそのソフトウェアがインターネットに接続されたら、いろんなものが流れて(flowして)いく。プログラムを流れ(flow)でとらえて表現する方法は70年代に発明されたが、うちはそれを、インターネットやクラウドAPIなんかがある現代の環境向けにリニューアルしたいのだ”、ということ。

これと似たプロプライエタリなツール*は前からすでに、大型のプログラミングプロジェクトで使われていたし、映画Lord of the Ringsなど大衆的なメディアに登場したことがある。それらではこのソフトウェア開発プラットホームが、特殊効果のデザインや開発フロー用に使われていた。NoFloはそれらと同じツールを、一般的なオープンソースコミュニティに初めて持ち込むことになる。Kickstarterで資金募集に成功したら。〔*: もしかして、フローチャート(flow chart)のことか?〕

Kickstarterに出た目的は、関心を集めることと、今JavaScriptしかサポートしていないこのツールを、さらにJavaやObjective C対応にするための資金集めだ。つまり、iOSアプリやAndroidアプリを作れるようにしたいのだ。同社によるとそれはScrabbleをLegoに変えるようなもので、基本的に、一般の人には全然分からないもの(プログラム/プログラミング)を、誰にでも分かり会話にも参加できるものに変えるのだ。

NoFloがKickstarterのページで述べているように、Webサイトの場合は、デザイナーがヴィジュアルの仕事をしたら、あとは完全にプログラマの仕事になり、言語を理解できない者には口出しすらできないものになってしまう。NoFloが望むのは、デザイナーが全工程に参加して、本格的なプログラミング教育を受けなくてもプログラミングに参加できることだ。肩越しからプログラマの仕事をちょっと覗くのではなく、正規にチームの一員として会話に参加できること。

出資約束95ドル以上で、プライベートなプロジェクトライセンスが得られる。つまり、コミュニティでオープンに共有されるプロジェクトにはこのツールが提供される。金額が多いとライセンスの期間が長くなり、特典も増える。ソフトウェアでしかも消費者製品でないものに、目標額10万ドルは厳しいが、NoFloのねらい自体はきわめて社会的に重要であり、とくに、技術部門と管理部門とクリエイティブ部門、この三者のコミュニケーションを建設的に円滑にしたいと願っているデザインスタジオやデベロッパショップからは、支持を得られそうだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


コードを読めない/書けない人でもプログラミングの理解と参加ができるヴィジュアルツールNoFlo

NoFloという会社が、1970年代にIBMが提唱した“フローベースのプログラミング”*というコンセプトに基づく、オープンソースのヴィジュアルプログラミングツールを作り、多くのプログラミング言語に対応する本格的な開発環境に仕上げるための資金10万ドルを、Kickstarterで募金している。〔*: flow-based programming, プログラムの構造を処理の流れ(flow)で表す(下図)。〕

一見するとNoFloは、簡単なWeb開発ではなくもっと高度なプログラミングのためのWYSIWYGエディタみたいだ。いろんな部位をドラッグ&ドロップで並べて、求める計算処理を完成させる。しかし実際にはそれは、コードを書いたり読んだりした経験のない人たちでもプログラム/プログラミングを理解できるための、ヴィジュアルな仕掛けだ。今では企業の役員でも管理職でも一般社員でも、プログラミングの経験や知識があることが求められる。これからは誰もが、デベロッパたちがやってることを見て何をしているのか理解でき、プログラミングや開発の過程に何らかの形で関われなければならない。NoFloは、そういう時代要請に即したツールだ。

同社によれば、“それは新しいタイプのフローベース開発環境であり、中でもとくに、どこを新しくしたいかというと、もっとコラボレーション型の環境にしたいのだ”、という。つまり、“企業やチームの人たちに、彼らのソフトウェアがどのように動くのかを示すマップを提供したい。たとえばそのソフトウェアがインターネットに接続されたら、いろんなものが流れて(flowして)いく。プログラムを流れ(flow)でとらえて表現する方法は70年代に発明されたが、うちはそれを、インターネットやクラウドAPIなんかがある現代の環境向けにリニューアルしたいのだ”、ということ。

これと似たプロプライエタリなツール*は前からすでに、大型のプログラミングプロジェクトで使われていたし、映画Lord of the Ringsなど大衆的なメディアに登場したことがある。それらではこのソフトウェア開発プラットホームが、特殊効果のデザインや開発フロー用に使われていた。NoFloはそれらと同じツールを、一般的なオープンソースコミュニティに初めて持ち込むことになる。Kickstarterで資金募集に成功したら。〔*: もしかして、フローチャート(flow chart)のことか?〕

Kickstarterに出た目的は、関心を集めることと、今JavaScriptしかサポートしていないこのツールを、さらにJavaやObjective C対応にするための資金集めだ。つまり、iOSアプリやAndroidアプリを作れるようにしたいのだ。同社によるとそれはScrabbleをLegoに変えるようなもので、基本的に、一般の人には全然分からないもの(プログラム/プログラミング)を、誰にでも分かり会話にも参加できるものに変えるのだ。

NoFloがKickstarterのページで述べているように、Webサイトの場合は、デザイナーがヴィジュアルの仕事をしたら、あとは完全にプログラマの仕事になり、言語を理解できない者には口出しすらできないものになってしまう。NoFloが望むのは、デザイナーが全工程に参加して、本格的なプログラミング教育を受けなくてもプログラミングに参加できることだ。肩越しからプログラマの仕事をちょっと覗くのではなく、正規にチームの一員として会話に参加できること。

出資約束95ドル以上で、プライベートなプロジェクトライセンスが得られる。つまり、コミュニティでオープンに共有されるプロジェクトにはこのツールが提供される。金額が多いとライセンスの期間が長くなり、特典も増える。ソフトウェアでしかも消費者製品でないものに、目標額10万ドルは厳しいが、NoFloのねらい自体はきわめて社会的に重要であり、とくに、技術部門と管理部門とクリエイティブ部門、この三者のコミュニケーションを建設的に円滑にしたいと願っているデザインスタジオやデベロッパショップからは、支持を得られそうだ。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))


iPad上で描いたアプリケーションワイヤフレームから、操作可能モックアップを生成するPentotype

開発者の方ならきっと興味を持つのではなかろうか。実際のコーディングを開始する前に、プログラムのワイヤフレームを共有して、ユーザーエクスペリエンスなどの視点から意見を募りたいと考える人は多いのではないかと思う。まさにそうした目的のためにリリースされたのが、PentotypeというiPad向け(HTML5に対応したデバイス上でなら使うことができる)アプリケーションだ。開発予定アプリケーションの外観を作成して、操作性などをテストすることができるのだ。

Pentotypeを使えば、iPad用のモバイルアプリケーションのワイヤフレームを作成することができる。HTML5で書かれているものだが、ネイティブアプリケーションのように動作する。利用者はアプリケーションのUI要素を配置して、そして実際のアプリケーションのように動作させることができるのだ。アプリケーションで提供する機能のシミュレーションを用意して、他の人に見てもらうことができるようになっているわけだ。評価やコラボレーション目的で利用することができる。

但し、これは実際のプログラミングを支援するツールではないことには注意が必要だ。即ち、コード生成機能などは用意されていない。コーディングを開始する前に、ユーザーエクスペリエンス面での評価を行うことが目的のツールなのだ。Pentotypeの共同ファウンダーであるThomas Wanschikは、「PaperとPOPの組み合わせに、画面上のスケッチ認識機能を付けたようなもの」と表現している。

Pentotypeはフリーミアムモデルにより提供される。無料モデルでは2つのプロジェクトを編集することができ、ここで自分にとって役立つものなのかを確認することができる。より多くのプロジェクトを作成したり、あるいは作業者を増やしたい場合などは有料版に移行する必要がある。有料版の代金については今のところ考慮中らしい。但しメールによって個別に対応してもらうことは可能なようだ。

サービスを設立したのはJohannes Dörr、Thomas Wanschik、そしてWaldemar Kornewaldという3人のドイツ人アントレプレナーで、一緒に開発を行なっている。設立から1年半ほど自己資金にて運営してきたが、この度ドイツ/EUのEXIST Gründerstipendiumというプログラムから少額(約12万ドル)の資金を調達することとなった。またドイツのPFH Göttingenという学生インキュベーションプログラムの対象でもあり、無料のオフィスおよびスタートアップ向けサービスを提供してもらっている。

原文へ

(翻訳:Maeda, H)


Light-Botはプログラミングの概念(if-thenなど)を使ってプレイするゲーム

Light-Botは2008年に登場したFlashゲームだが、今回iOSとAndroid向けに作り直されたバージョンは、子どもたちに、ループやif-then節などプログラミングの概念を実際にコードを書かずに学ばせる。

作者のDaniel Yaroslavskiは7年前からゲームを作り始め、今ではカナダのウォータールー大学の学部学生だ。彼はこのゲームを、学校〔高校時代?〕でもらった4000ドルの賞金を使って作った。

Light Botのこれまでのバージョンは700万回プレイされ、iTunesとGoogle Playのストアで五つ星を獲得している。しかしYaroslavskiが言うには、“合衆国やロシアの教師たちは初期のLight-Botゲームを教室で使ってプログラミングの概念の初歩を教えていた”。

“プログラミング教育の分野でサービスやプロダクトを制作提供している人たちの多くは、実際にコードや言葉を使ってプログラミングを教えている。でもLight-Botはビデオゲームだから、より参加性があり、しかも、これからコンピュータ科学を教えるぞ!、という緊張した感じにならない。コンセプトをゲームがマスクして、コードそのものよりもプログラミングのロジックに集中する”、とYaroslavskiは言う。ゲームの最初はQ-Bertに似ていて、小さなロボットにブロックの上を歩かせる。そして徐々に、問題を解決するためにはプログラミングの概念を使わなければならないように、なっていく。

“子どもたちがテキストの壁の前に座らなくてもプログラミングを体験できる、しかも完璧にね”、とYaroslavskiは語る。

ゲームを利用してプログラミング生活技術などを教えるサービス/プロダクトはいろいろある。しかしYaroslavskiがユニークなのは、学生が作ったこと、そしてFlashゲームとしてすでにファンが多いことだ。プログラミングを学ぶ方法としても楽しいし、子どものためのプログラミング言語LOGOに似た面もある。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))