Feeds:
投稿
コメント

Archive for the ‘Programming’ Category

my_hello_world2.jpg

Hello World!

Update:各コーディングについて解説〉

プログラミングを習うと最初に出てくる問題が「Hello World!」だ。

FSF サイトが「Hello World!」をコーディングする方法がいくつあるかリストアップしているのがオモシロい。

Free Software Foundation (FSF): “Hello World!“: n.d.

     *     *     *

幾とおり考えられるか

「Hello World!」のコードを書くには幾とおりのやり方があるだろうか。それは年齢と職業によるんだよ。

How the way people code “Hello World” varies depending on their age and job:

     *     *     *

中学・高校レベルから、リサーチ研究者、ハッカーレベルまで、いろいろのコードサンプルを載せている。

     *     *     *

◆中学・高校レベル(High School/Jr. High)

 10 PRINT "HELLO WORLD"
 20 END 

     *     *     *

◆大学1年生(First year in College)

 program Hello(input, output)
 begin
 writeln('Hello World')
 end. 

     *     *     *

◆なりたてハッカー(Apprentice Hacker)

 #!/usr/local/bin/perl
 $msg="Hello, world.\n";
 if ($#ARGV >= 0) {
     while(defined($arg=shift(@ARGV))) {
	 $outfilename = $arg;
	 open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
	 print (FILE $msg);
	 close(FILE) || die "Can't close $arg: $!\n";
     }
 } else {
     print ($msg);
 }
 1; 

     *     *     *

◆だいぶ慣れてきたハッカー(Experienced Hacker)

  #include <stdio.h>
 #include <string.h>
 #define S "Hello, World\n"
 main(){exit(printf(S) == strlen(S) ? 0 : 1);}

     *     *     *

◆年季の入ったハッカー(Seasoned Hacker)

 % cc -o a.out ~/src/misc/hw/hw.c
 % a.out
 Hello, world.

     *     *     *

◆カリスマハッカー(Guru Hacker)

  % cat
 Hello, world. 

     *     *     *

さてアナタはどのレベルだろうか?

★ →[原文を見る:Original Text

     *     *     *

〈Update〉各コーディングについて解説

プラスα空間: “「Hello, World!」のコーディング方法[追記あり]” by お市: 30 November 2010

なるほど・・・

コーディングについての解説がたのしいので、コメントも含め、ぜひご一読あれ!

Read Full Post »

App Inventor in Action – YouTube]

このビデオは必見だ・・・

Android のプログラミングがこんなに簡単にできるのなら、これはスゴいことだ。

Technologizer: “Android Gets a Build-Your-Own-App App” by Harry McCracken: 11 July 2010

     *     *     *

App Inventor 登場

スマートフォンアプリがどんなものか知っているだろうか? Android フォンを持っているひとなら、「App Inventor for Android」を使えば簡単にアプリが自作できる。App Inventor は Google Labs の新しいソフト(Windows、OS X および Linux  用)で、Android のプログラムがまるでブロックをつないでいくように簡単に作れる。

Got an idea for a smartphone app? If you’ve got an Android phone you might be able to build it yourself, thanks to App Inventor for Android, a new Google Labs program for Windows, OS X, and Linux that’s designed to make building Android programs as easy as piecing blocks together.

     *     *     *

グーグルのデモビデオがスゴい

NY タイムズの Steve Lohr の記事にはなかなかショッキングだ。App Inventor で初めてアプリを作る女性のビデオ[冒頭参照]がすごい。

Steve Lohr’s story in the New York Times makes it sound sensational; here’s a video from Google showing a lady creating her first App Inventor app:

     *     *     *

教育ツール

App Inventor はまだベータ段階だが、こちらでサインアップすれば「間もなく」使用できるとグーグルがいっている。フォームから分るとおり、サインアップすれば、グーグルがこのソフトを興味を持つ教師・学生のための教育ツールとみなしてくれるわけだ。

App Inventor is in closed beta at the moment, and Google says it’ll let folks in “soon”–you can sign up here. As you’ll see if you fill out the sign-up form, Google sees the program as an educational tool of particular interest to teachers and students.

     *     *     *、

HyperCard を思わせる

このソフトが HyperCard を思わせるところがすばらしい。HyperCard は20年以上前に Mac に添付されていた。すばらしいビジュアルなプログラミングツールで、今日でもそれに代わるものは存在しない。HyperCard ないしはそれに代わるものがあれば、iPhone にとって大きなメリットだろう。Steve Jobs 自身それを認めている。しかしアップルとしては、このようなソフトを作るつもりはまったくないようだ。iOS デベロッパ規約の新しい規定は、HyperCard によく似た RunRev でアプリを制作して、App Store で配布することを禁じている。

It’s an exciting idea that’s more than slightly reminiscent of HyperCard, the brilliant visual programming tool that was a big deal on the Mac more than twenty years ago, and which is missed to this day. HyperCard or something similar would be a boon on the iPhone–even Steve Jobs has says he thinks so, although Apple apparently doesn’t have any interest in building such an application itself, and new restrictions in the iOS developer agreement prevent apps developed with the HyperCard-like RunRev from being distributed on the App Store.

     *     *     *

待ち遠しい

PC がつまらなくなったことについて気難しい年寄りとして文句がある。BASIC がついてこなくなってから、普通のひとは自分でソフトを書くことを止めてしまったからだ。App Inventor を実際に触ってみるのが待ち遠しい。ソフト制作者が考えていたひと以外でもちゃんとソフトを作れるかどうか確かめてみたいのだ。

I still have a cranky-old-man rant about PCs getting boring when they stopped coming with BASIC and normal people therefore stopped learning how to write their own software. I can’t wait to get my hands on App Inventor–and to see whether it’s capable of creating programs which anyone other than their inventors will want to use…

     *     *     *

HyperCard には、その昔夢中になったものだ。

こんなツールを誰でも使えるようになったら、iPhone プログラミングの強敵になるのではないか・・・

原文を見る:Original Text

Technorati Tags: , , , , , ,

Read Full Post »

Html5-For-Web-Designers

HTML5 for Web Designers

HTML5 を理解しようとすると膨大な量で大変らしい。

新しく出る解説本を John Gruber がベタ褒めしている。

Daring Fireball: “‘HTML5 for Web Designers’, by Jeremy Keith” by John Gruber: 05 May 2010

     *     *     *

新しい出版社からの新しい本・・・

New book from a new publisher:

HTML5 の仕様は 900 ページを超える。読むだけで大変だ。「HTML5 for Web Designers」は 85 ページで、読むのが楽しい。どちらがいいか誰でも分る。」

“The HTML5 spec is 900 pages and hard to read. HTML5 for Web Designers is 85 pages and fun to read. Easy choice.”

6月発行。予約注文は 18 ドル。PDF の草稿を見たがすばらしい出来だ! よくまとまっていて、スマートで、デザインもゴージャス。

Ships in June, pre-orders available now for $18. I’ve got a PDF preview version of it, and it’s terrific — well-written, smart, and gorgeously designed.

     *     *     *

ちょうど Steve Jobs も HTML5 のサポートを明言したところだ。

MacStories: “New Steve Jobs Email: Safari To Have Full HTML5 Support ‘Soon’” by Federico Viticci: 05 May 2010

Steve 宛のメール:

「やあ、スティーブ!

いつになったらアップルは、デスクトップの Safari で HTML5 をフルサポートするの?HTML5 の Geolocation API も含めて・・・

追伸:カナダは iPad を待っている!」

“Hi Steve!
When Apple plan to include full HTML5 support in desktop version of Safari including HTML5 Geolocation API support?
P.S Canada wait for iPad!”

Jobs からの返事:

「もうすぐだ。」

iPad から送信

“Soon.
Sent from my iPad”

Technorati Tags: , , , ,

Read Full Post »

Jonathan Stark

Jonathan Stark の本

去年から待ちかねていた Jonathan Stark の本がやっと届いた。

先に紹介した「HTML CSSJavaScript を使って iPhone アプリを作る」の作者が書いた本だ。

最初に知ったときはショックだった。

Objective-C や Cocoa を使わないで、 HTML や JavaScript だけで iPhone のネイティブアプリが出来るというのだ。もしそうなら、スタンフォード大の入門講座で四苦八苦したのはナニ?

Stark 本は、HTML、CSS、JavaScript というオープンソースの Web 技術の知識さえあれば、iPhone のネイティブアプリ作成が可能という立場にたって、そのやり方を解説している。

Building Iphone Apps With Html, Css, and Javascript: Making App Store Apps Without Objective-c or Cocoa: Jonathan Stark: 洋書 | Amazon.co.jp

Jonathan Stark については前にも一度 PhoneGap に関連して触れたことがある。

PhoneGapObjective-C を知らなくても iPhone ネイティブアプリの開発が可能 | maclalala2

なお、本書については O’Reilly のサイトで全文を読むことができる。

Building iPhone Apps with HTML, CSS, and JavaScript | Oreilly.com

「まえがき」にはなぜ Stark がこの本を書こうと思ったか率直に書かれていて大変おもしろいので、以下紹介してみたい。[Oreilly.com の “Preface” の部分]

     *     *     *

恋に落ちた

何百万というひとたちと同じく私もすぐさま  iPhone と恋に落ちた。最初のころは、iPhone に特化したアプリを作る唯一の方法は Web アプリだけだった。私は Web デベロッパだったからそれでよかった。数か月後に App Store が発表されたときは興奮した。本屋に駆け込んで市販の Objective-C に関する本をすべて買い込んだ。私の Web アプリはすでにいくつか売れていた。だからネイティブアプリに書き替えて、App Store に出しさえすれば、波に乗ってしこたま稼げると思ったのだ。

Like millions of people, I fell in love with my iPhone immediately. Initially, web apps were the only way to get a custom app on the device, which was fine by me because I’m a web developer. Months later when the App Store was announced, I was jacked. I ran out and bought every Objective-C book on the market. Some of my web apps were already somewhat popular, and I figured I’d just rewrite them as native apps, put them in the App Store, and ride off into the sunset on a big, galloping pile of money.

     *     *     *

Objective-C は難しかった

しかしそれは幻滅に変わった。Objective-C を学ぶのはとても難しかった。それにマックのプログラミング以外ではこの言語はほとんど役に立たないという事実に気付いて興味が失せてしまった。Xcode や Interface Builder はなかなかよく出来ていたが、これまで習熟していたオーサリングツールとは違っていて、なかなか慣れることができなかった。iPhone でテストするだけなのにセットアップの手間が掛かりすぎることには頭にきた。 App Store にアプリを出すための手続きはこれまたゴチャゴチャしていた。これらの点について1~2週間格闘した挙げ句、どうしてこんなに苦労しなければならないのかと考えてしまった。自分の Web アプリは世界中どこでも手に入るのに、なぜ App Store なんかに出したりする必要があるのだろうか、と。

Disillusionment followed. I found it difficult to learn Objective-C, and I was turned off by the fact that the language was of little use outside of Mac programming. Xcode and Interface Builder were pretty slick, but they weren’t my normal authoring environment and I found them hard to get accustomed to. I was infuriated by the hoops I had to jump through just to set up my app and iPhone for testing. The process of getting the app into the App Store was even more byzantine. After a week or two of struggling with these variables, I found myself wondering why I was going to all the trouble. After all, my web apps were already available worldwide—why did I care about being in the App Store?

     *     *     *

App Store の難関

それに加えて、アップルはアプリを拒否することが可能であり、実際そうしている。これは彼らの特権だから、そうする理由があるのだろう。しかし外部から見れば、気まぐれかつ恣意的に思えてしまう。実際に起きたつぎのようなケースを考えてみてごらん。Objective-C を学ぶのに 100 時間も費やし、さらに 100 時間ほどかけて iPhone のネイティブアプリを作る。それからあなたのアプリはヤマ場を迎える。App Store への提出まで漕ぎ着けたのだ。それから何が起きるか?

On top of all this, Apple can—and does—reject apps. This is certainly their prerogative, and maybe they have good reasons. However, from the outside, it seems capricious and arbitrary. Put yourself in these shoes (based on a true story, BTW): you spend about 100 hours learning Objective-C. You spend another 100 hours or so writing a native iPhone app. Eventually, your app is ready for prime time and you successfully navigate the gauntlet that is the App Store submission process. What happens next?

     *     *     *

苦労は水の泡

あなたは待つ。そして待つ。さらに待つ。ときに数週間、場合によっては数か月待つのだ。やっと連絡が来る・・・あなたのアプリは拒否されました、と。さあ、どうする?これまでの苦労は水の泡だ。

You wait. And wait. And wait some more. We are talking weeks, and sometimes months. Finally you hear back! And…your app is rejected. Now what? You have nothing to show for your effort. The bubble.

     *     *     *

座して見守るのみ

しかし待てよ、もっとひどいこともある。ようやくアプリが承認されたとしよう。数百、あるいは数千のユーザーがアプリをダウンロードしてくれる。入金はまだだが、うれしくて夢見心地だ。それからバグレポートが来始める。バグを見つけ、数分で直し、再度 iTunes ストアに提出する。修正版が承認されるのを待つ。そして待つ。さらに待つ。怒ったユーザーがひどいレビューを App Store に書き込む。売れ行きは頭打ちになる。それでも待つ。怒ったユーザーに払戻も検討する。しかし App Store ではそれは不可能だ。あなたの評価が下がっていくのをただ座して見守るしかない。バグフィックスは数日、数週間前にとっくに済んでしまったというのに・・・

But wait, it can get worse. Let’s say you do get your app approved. Hundreds or maybe thousands of people download your app. You haven’t received any money yet, but you are on cloud nine. Then, the bug reports start coming in. You locate and fix the bug in minutes, resubmit your app to iTunes, and wait for Apple to approve the revision. And wait. And wait some more. Angry customers are giving you horrible reviews in the App Store. Your sales are tanking. And still you wait. You consider offering a refund to the angry customers, but there’s no way to do that through the App Store. So you are basically forced to sit there watching your ratings crash even though the bug was fixed days or weeks ago.

     *     *     *

リスキーな試み

この話はあるデベロッパの実際の経験に基づいたものだ。例外的なケースかもしれないし、実際の統計数字はこれとは違うかもしれない。しかし問題があることは確かだ。我々デベロッパはアップルのデータにアクセスできないし、App Store の承認手続きの詳細も分らないのだ。事態が好転するまでは Objective-C でネイティブアプリを作るのはリスキーな話だ。

Sure, this story is based on the experience of one developer. Maybe it’s an edge case and the actual data doesn’t bear out my thesis. But the problem remains: we developers have no access to Apple’s data, or the real details of the App Store approval process. Until that changes, building a native app with Objective-C is a risky proposition.

     *     *     *

いいとこ取り

幸いなことに別の方法がある。オープンソースの標準的な Web 技術を使って Web アプリを作ればいいのだ。Web アプリとしてリリースし、実際のユーザーでデバッグし、テストする。すべての準備が整ったところで、PhoneGap を使って Web アプリを iPhone のネイティブアプリに変換し、 App Store に提出するのだ。たとい最終的には拒否されても、それで全てが終わるわけじゃない。なぜなら Web アプリの形で提供する道が残されているからだ。もし App Store で承認されたら、それは素晴らしいことだ!そのときは Web アプリに機能を追加して強化すればいい。iPhone でないと利用できないユニークな機能を追加するのだ。両方の世界のいいとこ取りで、いちばんいい方法だと思わないかい?

Fortunately, there is an alternative. You can build a web app using open source, standards-based web technologies, release it as a web app, and debug and test it under load with real users. Once you are ready to rock, you can use PhoneGap to convert your web app to a native iPhone app and submit it to the App Store. If it’s ultimately rejected, you aren’t dead in your tracks because you can still offer the web app. If it’s approved, great! You can then start adding features that enhance your web app by taking advantage of the unique hardware features available on the device. Sounds like the best of both worlds, right?

     *     *     *

さて、あなたの心は動きませんか・・・

★→[原文を見る:Oreilly.com
★→[原文を見る:Jonathan Stark

Technorati Tags: , , , , , , , ,

Read Full Post »

Countdown Counter

iTunes ストアカウントダウンページ

iTunes ストアのダウンロード曲数が 100 億に近づいている。

地球上の人口 60 億の老いも若きも含め1人1曲以上買ったことになるのだからスゴい。

100 億曲目をダウンロードしたひとにはアップルが1万ドルくれるそうだが、地球上から1人を選ぶのより難しい確率になる。

100 億曲目ダウンロードをめぐる楽しい話題を Jim Dalrymple が提供している。

The Loop: “Predicting when Apple will hit its 10 billionth song” by Jim Dalrymple: 15 February 2010

     *     *     *

アルゴリズム

頭のいいひとはスゴいことを考えつくものだといつも感心する。最近の例でいえば、アップルの iTunes ストアで 100 億曲目がダウンロードされるのが何時になるかを当てるアルゴリズムだ。

I just love watching what smart people come up with. The latest is an algorithm to figure out when Apple will reach its 10 billionth song downloaded.

そんなアップルの記念すべき日を予測する方法を考えついたのは Barry Schwartz、Mike Butler、Alex Fierro の面々だ。

Barry Schwartz, Mike Butler and Alex Fierro came up with a way to predict when the company will reach the milestone. According to Schwartz, this is how they figured things out.

     *     *     *

カウントダウンページ

「いい方法を考えつくため、まずアップルのカウントダウンページをよく見た。アップルのカウントダウンページは、Flash なんかまったく使わずに素晴らしい効果をあげている。アップルは Javascript と CSS だけで、大量の背景数字のイメージを上下させているのだ。ソースコードを調べてみると、カウンターの起点および変化率がテキストファイルから読み込まれているのがすぐ分った。」

“To come up with a good estimation, we started by taking a look at Apple’s “countdown” page. The 10 Billion Song Countdown page features a really awesome countdown effect without a lick of Flash; it’s all done by moving a large background-image up and down with Javascript and CSS. By taking a look at the source code, we quickly discovered that the counterユs starting amount and rate of change is being loaded from a text file.”

     *     *     *

予測カウンター

予測カウンターは Alex Fierro たちのサイトで見られる。今現在 8300 万の数字は少しずつ減っている。あと7日と11時間で 100 億曲に達する見込みだ。

You can see the counter on his Web site. The counter is down to 83 million and dropping. The estimated time to reach 10 billion is in 7 days, 11 hours.

     *     *     *

100 億曲目に1万ドル

アップルは 100 億曲目をダウンロードしたひとに1万ドルのギフトカードをあげるコンテストをやっている。

Apple is holding a contest with a $10,000 gift card going to the person that downloads the 10 billionth song.

     *     *     *

Flash を使っていないアップルのカウントダウンページは、その点でも興味深い。

Alex Fierro たちのサイトでは、ブログにエンベッドできるウィジェットも提供されている。

原文を見る:Jim Dalrymple
原文を見る:Alex Fierro et al.

Technorati Tags: , , ,

Read Full Post »

Build Native iPhone Apps with HTML, CSS, JavaScript and PhoneGap | YouTube]

興味深いビデオがある。

HTML、CSS、JavaScript で書かれた Web アプリを、PhoneGap というソフトを使って iPhone のネイティブアプリに変換するデモだ。

iPhone アプリ開発に興味はあるが Objective-C の世界に飛び込むのは逡巡しているひとにピッタリだ。

冒頭のビデオで PhoneGap を紹介しているのは「Building iPhone Apps with HTML, CSS, and JavaScript」を書いた Jonathan Stark だ。

サンプルの Web アプリが PhoneGap によって iPhone のネイティブアプリに変換されていくところは一見の価値がある。

     *     *     *

PhoneGap については、少し前になるが eWeek で参考になる記事が書かれている。

eWeek: “PhoneGap Simplifies iPhone, Android, BlackBerry Development” by Darryl K. Taft: 13 March 2009

     *     *     *

コードを書くのは一度でいい

要すれば Nitobi は、モバイルアプリ開発のために「一度だけコードを書けば、あとはどこでも動く」プラットフォームを構築しようとしているのだ。まず始めは iPhone、Android、BlackBerry の3つのデバイスをサポートする。PhoneGap の共同開発者のひとり Rob Ellis は「PhoneGap がやろうとしているのは、ひとつのコードを書けばほかの3つのデバイスでもスムーズに動くということだ」と語る。

In essence, Nitobi is building out a “write once, run anywhere” platform for mobile application development, with the first three devices supported being the iPhone, Android and BlackBerry. Rob Ellis, one of the co-creators of PhoneGap said, “The idea is you write one code base and it should work smoothly on all three devices.”

     *     *     *

モバイル機器は二流市民

PhoneGap のウェブサイトによれば、「PhoneGap は[モバイル機器の間に存在する]ギャップをなくすることを目的とする。モバイル開発の現状は混乱の極みだ。iPhone、Google Android、Windows Mobile といった異なるデバイスのアプリケーションを開発するには異なる開発フレームワーク、異なる開発言語が必要だ。このため電話もその他のモバイル機器も二流市民に成り下がっている。我々はそれを変えたい。geo-location や accelerometer といったデバイス固有の機能が Web 技術で可能になるようにしたい。我々としてはデバイスによって左右されないクロスプラットフォームなモバイル開発フレームワーク(cross-platform framework for device-neutral mobile development)を構築したいのだ。」

According to the PhoneGap Web site, “The purpose of PhoneGap is for PhoneGap to cease to exist… Today, mobile development is a mess. Building applications for each device–iPhone, Google Android, Windows Mobile and so forth–requires a different development framework and programming language. As such, phones and other mobile devices have become second-class citizens. We aim to change that by enabling Web technologies to work with native device features such as geo-location and accelerometers. In PhoneGap, we’re building a cross-platform framework for device-neutral mobile development.”

     *     *     *

Web 開発者の方がずっと多い

なぜ PhoneGap が必要なのか。Ellis はこういう。「Objective-C[iPhone および Mac OS アプリケーションのメインの開発言語]の開発者の数は多くない。Nitobi[PhoneGap の開発メーカー]にいるのはみな Web 開発者だ。Web 開発者の数は Objective-C の数よりずっと多い。」

As for why the need for PhoneGap, Ellis said, “There are not a lot of Objective-C developers…” Objective-C is a primary language used to develop iPhone and Mac OS applications. “We’re all Web developers here,” Ellis said of Nitobi. “And there are more Web developers than Objective-C developers.”

     *     *     *

ダウンロード

PhoneGap については PhoneGap Google Group のサイトで詳しく説明されており、PhoneGap のダウンロードもできる。

Cross platform mobile framework | PhoneGap

また PhoneGap が発表されたときのプレゼンテーションビデオも参考になる。

Web 2.0 Expo LaunchPad PhoneGap Presentation | YouTube

     *     *     *

日本語サイト

日本語サイトも立ち上げられていて、ダウンロードから使い方まで充実している。

PhoneGap使い方辞典 | openspc

実際の iPhone アプリ制作事例も紹介されており、「これ、俺ならこう使う」のシリーズは大変参考になる。

これ、俺ならこう使う(5App Store登録もOK JavaScriptで作るiPhoneアプリ | @IT

     *     *     *

どうやら iPhone SDK 以外の開発手法も着々と動き出しているようだ。

Technorati Tags: , , , , , , , , , , , , , , , , , , ,

Read Full Post »

Professional Programming

Professional iPhone Programming – 内容とは関係ありません]

おもしろいものを見つけた。

プロのデベロッパのために書かれた速習マニュアル(Emergency Guide)だ。

プロだからソフト開発の経験はある、C も知っている、しかし iPhone のコードはまだ書いたことがない・・・そんなプロが読めばさーっと分かる内容らしい。

Matt Legend Gemmell: “iPhone Development Emergency Guide” by Matt Gemmell: 14 July 2009

     *     *     *

これまでソフト開発の経験がないひと・・・そんなひとはお呼びでない。いい本でも探してお読みなさい。しかし次のことに自信があれば、これぞアナタにぴったりだ。新しい開発言語、IDE[ntegrated Development Environment:統合開発環境]、SDK[Software Development Kit:ソフトウェア開発キット]、新しいプラットフォームなどについてプログラミング概論や講義をゼロからやらなくても、ちゃんとドキュメンテーションが読める、あれこれ調べるのが苦にならない、既存の知識を応用するのなら自信があるということなら、これはアナタにぴったりだ。

If you’re inexperienced in application development, this isn’t for you; try a good book instead. If, however, you’re confident of your ability to read documentation, do your research, and apply your existing skills to a new language, IDE, SDK and platform without the need for a preface, introduction and lecture on guiding principles, you’ve come to the right place.

余計な御託や哲学論議は要らない。なにせアナタはプロだから。そんなことをやっているヒマなぞないのだ。時間は限られている。さあ早速始めよう。

No filler, no philosophy, and no bullshit – because you’re a professional, and you don’t have time for it. The clock is ticking, so let’s go.

     *     *     *

というわけで、以下の項目について半ページ程度の解説がつく。全部で10ページにも満たない。

タイトルを列挙すると:

1)Hardware[ハードウェア]
2)Development Environment[開発環境]
3)Programming language[開発言語]
4)Application Frameworks[アプリケーションフレームワーク]
5)Saving and Loading[コードの保存とロード]
6)Memory management[メモリー管理]
7)GUI programming[GUI の作成]
8)Debugging[デバッギング]
9)Using the iPhone Simulator[iPhone シミュレータの使い方]
10)Deploying to a device[実際に iPhone で走らせる]
11)Getting onto the App Store[App Store に出す]
12)Getting more help[その他の情報]

例えば3)の開発言語の一部を紹介するとこんな感じだ。

     *     *     *

Objective-C のシンタックスは奇妙に見える。ただしそれは見かけだけだ。Java の
  receiver.doThing(foo, bar, baz)
は ObjC ではこんな感じになる:
  [receiver doThingWithFoo:foo andBar:bar andBaz:baz]

– Objective-C syntax looks weird, but it’s only visually different. receiver.doThing(foo, bar, baz) in Java would be something like [receiver doThingWithFoo:foo andBar:bar andBaz:baz] in ObjC.

     *     *     *

Objective-C ではメソッド名をバラバラにして、その間に引数名を入れる。だから文章みたいに読み下せる。冗長だが、それで十分説明になっている。それに慣れて受け入れることだ。文字入力にはオートコンプリートが使える。

– Objective-C just splits the method-name into pieces and intersperses those pieces with the actual arguments, so it reads like a sentence. It’s verbose, but it’s more explanatory. Accept it and move on; you have auto-complete to help with the typing.

     *     *     *

文字列。99.99999% の場合必要となるのは C そのままの文字列ではなく NSString オブジェクトだ。Objective-C にはすばらしい機能があって、文字列の前に @ 記号をつければ[例:@”this”]、それだけで NSString の文字列になる。それがデフォルトでいつもそうやればいい。ほとんどの場合 API が予期するのもそれだ。

– Strings. About 99.99999% of the time you’ll want NSString objects instead of raw C strings. Objective-C has a nice feature whereby you just put an @ symbol before a string to make it an NSString, like @”this”. Just do that by default, every time; it’s pretty much always what the APIs will expect.

     *     *     *

スタンフォードの iPhone プログラミング講義に飛びついて四苦八苦したシロウトなので、これでプロにとって十分なのかどうかは分らない。

しかし、達人 John Gruber のお墨付きがあることだけは付け加えておこう。

筆者が気に入ったのは最後のむすびのことば・・・

     *     *     *

結びのことば(Final Note

新しい開発プラットフォームを学ぶ過程ではさまざまな挫折に遭遇する。そんなときは次のことばを思い出してほしい。まず間違いなく真実だから・・・

・多分[プログラムの]デザインが悪いのではない。単に不慣れというだけだ。

・アナタの頭が悪いのではない。経験不足というだけだ。

これらのことを心にとめて、それでは始めよう!

When learning a new development platform, you’ll inevitably encounter some frustrations along the way. Try to remember that these two statements are almost always true:

– It’s probably not badly designed, it’s just temporarily unfamiliar.

– You’re probably not stupid, you’re just temporarily inexperienced.

Keep those in mind. Now go get started.

     *     *     *

10ページ足らず読むだけですぐにプログラミングにとりかかれるというのだから心動くではないか・・・

むすびのコトバだけでも読むに値する。

原文を見る:Original Text

     *     *     *

追記:さっそく日本語訳が出ました(8月6日)

Matt_Gemmell
Matt Gemmell

あちこち覗いていたら、上に紹介した記事の日本語訳を見つけた。

     *     *     *

iPhoneアプリの開発にちょうど興味を持っていたので、勉強もかねて元ブログのMattさんに日本語にして良い?とメールしたら快諾してもらえたので訳してみました。

まだラフですが巧遅よりも拙速ということで公開します。

Money does not hurt your heart: “プログラミング経験者向けiPhone開発ガイド” by tittea: 05 August 2009

     *     *     *

とても読みやすい日本語で、読むだけで分るという原文の趣旨にかなった素晴らしい翻訳だと思った。

翻訳のスピードもさりながら、直ちに原作者に連絡を入れた行動力にも感心した。

興味のある方は是非とも読まれたし!

Technorati Tags: , ,

Read Full Post »

Older Posts »