MOSA Multi-OS Software Artists

MOSAはソフトウェア開発者を支援します

  • iPhone/iPod touch アプリ紹介
  • MOSA掲示板
  • 活動履歴
  • About MOSA(English)

MOSA Developer News[MOSADeN=モサ伝]第331号

2009-02-17

目次

  • iPhoneデベロッパープレゼンテーション in サンフランシスコレポート
  • りんご味Ruby         第41回  藤本 尚邦
  • 藤本裕之のプログラミング夜話   #154
  • 高橋真人の「プログラミング指南」  第152回

iPhoneデベロッパープレゼンテーション in サンフランシスコ レポート

株式会社ジェイズアヴェニュー 今村 哲矢
株式会社ロイヤルガジェット 高浦 二三康
株式会社GClue 佐々木 陽

■はじめに

(今村)
1月7日、サンフランシスコのSix Apart社の会議室で、日本のiPhoneデベロッパーの一員としてプレゼンを行なってきました。初めてのアメリカで初めての英語でのプレゼンという事で、とても緊張しましたが、とても良い経験を得る事ができました。

今回のプレゼンは、サンフランシスコで1月5日〜9日まで開催されていたMacworld Conference & Expo 2009に合わせて、ジャーナリストの林信行氏が発案されたものです。昨年の12月24日には、都内の老舗旅館に集まり、事前の打ち合わせが行なわれました。その時には、プロモーションビデオの撮影も行なわれました。

◎iphone demo event promo video on Vimeo
http://vimeo.com/2627240

■プレゼンで紹介したアプリ

(今村)
私は、第5回のDEMOsaに出演させて頂いたのですが、その時に発表した3Dシューティングタイプのデモに加えて、育成ゲームタイプのデモを用意しました。どちらのデモも、秒間60フレームの3Dグラフィックスを実現し、iPhoneの傾きを検出して上下左右を見回せるようになっています。

◎Realtime 3D graphics on iPhone
http://www.jsavenue.co.jp/en/news/sanfra_presen.pdf

(高浦)
てるてる坊主をモチーフにしたアプリを3本紹介しました。WeatherChanger てるてる坊主をiPhoneに移植したアプリ。逆さにすると雨が降ります。

TeruTeru    iPhoneを傾けててるてる坊主を操作し、雨を避けて飴をとるミニゲーム。
TeruMemo   8種類のてるてる坊主が登場するかわいさがウリのメモ帳アプリ。

せっかくいただいたSFでのプレゼンの機会、ただ弊社のアプリを紹介するだけではつまらない、何かテーマが必要であろうと思いました。そこでアメリカであまり知られていないてるてる坊主をモチーフにしたアプリを開発し、紹介しようと考えました。これによってアメリカでてるてる坊主を知っている人が増えれば大成功です。

(佐々木)
iKoto、Geishaのアプリの2本を紹介しました。

Geisha  Geishaが画面で踊るアプリです。
iKoto   琴演奏アプリです。

現地会場には、リアル琴の演奏に日本人琴サークルの方々が来てくれました。そのため、日本の伝統的な楽器をiPhoneで再現したiKotoはすぐ理解してもらえました。Geishaは、米国人もみな知っており、$1で芸者が手に入りますと説明すると、会場で笑いを取ることができました。

■現地での顔合わせ(5日)

(今村)
1月5日の午前中にサンフランシスコ空港に一人で到着した私は、到着ロビーの上の階の駅から電車に乗り、市の中心へ。駅を出てすぐにホテルにチェックインしました。部屋にはLANケーブルがあり、MacBookを繋いで使用手続きをして、早速メールチェックを行ないました。インターネット共有を行なう事で、iPhoneもWiFi経由でネットに接続する事ができました。ちなみにMacworldの会場では無料でWiFi回線が開放されていたので、大助かりでした。

午後には、参加者やご支援をして頂ける方達と合流しました。打ち合わせ後には、Macworldの会場であるMoscone Centerに徒歩で向かい、会場のパスを入手しました。夜には、サンフランシスコ在住のdrikin氏のご自宅にお邪魔して、リハーサルをさせて頂きました。翌々日に本番を控え、皆さんの表情には緊張と興奮がありました。

(佐々木)
日本の成田で、同じ便になった、a2c氏と株式会社エイチアイの高橋憲一氏と合流し、一同でサンフランシスコへ。今回は、宿泊費を抑えるためにa2c氏と相部屋にし、1人1泊7000円ぐらいでした。現地について、林氏に連絡すると、みんなでご飯を食べているとの事で、早速合流しました。その後、Moscone CenterでMacworldのレジストをし、drikin氏の家に。早速、現地MacworldのUEIブースでのプレゼンの説明や、Six Apart社でのプレゼンの相談などをし、1回目のリハーサルをおこないました。正直、英語でプレゼンなので、大学生以来だったので、かなり緊張しました。

■Macworld会場でのプレゼン(6日〜9日)

(今村)
Macworld開催期間中には、UEIの清水亮氏のご支援により、Macworld会場のUEIブースでもプレゼンをさせて頂ける事になりました。会場を歩いている人に向かって英語でプレゼンをするのはとても緊張しましたが、大きな自信を得る事ができました。

(高浦)
UEIのブースにて2回プレゼンを行いました。1回目はてるてる坊主というものを詳しく説明してみましたが、ただ説明するだけではアメリカ人の興味を引く事ができず、最後まで見ていてくれた人はいませんでした。プレゼンとしては失敗です。そこで2回目は紹介するアプリをTeruMemo1本に絞り、まず最初にこれはこんなアプリだと提示し、見ている人にフライヤーを渡してそれから少しだけ補足説明を加える作戦に出ました。おいしいところは後にとっておくのではなく、最初に出してしまってお客さんの気持ちをつかむ方がプレゼンとしては良いのかと感じました。インパクトを出す事の大切さを知りました。

(佐々木)
UEIのブースで1回プレゼンをさせてもらいました。プレゼン内容は、iKotoで米国国歌の演奏です。演奏していてとても気持ちよかったです。UEIブースでは、一言も英語をしゃべらずにiKotoだけでプレゼンに挑戦しました。

■Six Apart社でのプレゼン(7日)

(今村)
いよいよ1月7日の夜、会場である赤レンガのおしゃれなSix Apart社に集まりました。招待に応じて来て頂いたプレスやブロガーの方達は30名を超え、会場は満員状態。Ustreamでネット中継される中、プレゼンが始まりました。

私の番では、この時の為に進めて来たいろいろな準備や、ご支援を頂いた方々、そして会社のメンバーの姿が頭に思う浮かびました。おかげ様で、プレゼンは盛況に終わりました。他の発表者の方達も、とても素晴らしい出来映えでした。

(高浦)
いよいよSix Apart社のオフィスでのプレゼンです。「詳しい説明よりもインパクトを」これがMacworldでのプレゼンで学んだ事なので、スライドを切り替えるタイミングを事前によく考え、バスタオルで作った大きなてるてる坊主など小道具も用意してプレゼンに望みました。その甲斐あってスライドのメインとなる一枚を開いた瞬間笑いをとる事ができました。実機でのデモも楽しんでみてもらう事ができたので自分としては合格点です。

ただ、撮影していただいたビデオを後で見てみるとやはり英語がメチャクチャでした。英語に関してはこれからも勉強が必要ですが、発音の上手い下手よりもスラスラ喋れているかどうかの方が重要だと思います。スムーズにはなせていれば発音が下手でも多少はそれらしく見えると思います。

(佐々木)
Six Apart社のオフィスのプレゼンは、今回の主目的だったので大変緊張しました。私の出番は2番目。とりあえず、会津から大量に持参した「アカベー(次世代あかべこ)」を使って場を盛り上げ、Geisha、iKotoのデモンストレーション。Geishaは、日本を代表する文化だけにみなさん大盛り上がり。iKotoは、私のぎこちない米国国歌演奏を聴いてもらいました。かなり緊張しましたが、大変貴重な経験になりました。また、当日は林氏、外村氏、UEIの清水氏、drikin氏をはじめ様々な方にサポートしてもらい、大盛況なうちにプレゼン会を終えることができました。

◎iPhone DEMO in S.F. vol.1, drikin Ustream.TV: .(開始は0:29:00付近からです)
http://www.ustream.tv/recorded/1037486

◎iPhone DEMO in S.F. vol.2, drikin Ustream.TV: .
http://www.ustream.tv/recorded/1037787

■その他

(高浦)
・iPhoneフル活用
異国の地でもiPhoneは大活躍でした。特に実感したのはWiFiの威力。日本ではSoftBankの電波があるのでWiFiを利用する必要は特にありませんでしたが、SFではデータローミングをオフにしてWiFiを利用。快適なネットワーク環境でした。普段はiMacで開発を行っており、ラップトップのマックを持っていなかったので、メールチェックやアプリのSales/Trend Reportsのチェックなど必要な仕事のほとんどはiPhoneで行いました。他にもマップアプリのおかげで道に迷う事もなく、記念撮影もiPhoneで。もう海外に行くのにiPhoneは手放せません! そんな大活躍の私のiPhoneがひったくられるという事件がありましたが・・・走って取り返しました(笑) 悲しいですがこれもアメリカの現実なのでしょう。WiFiの電波を探して夜のSFの街を歩くのは危険です。

(高浦)
・SFの携帯事情SFの街を歩いていると、いわゆる普通の携帯電話を持っている人はあまり見か
けず、iPhoneやその他のスマートフォンを操作している人の方が多いように見えました。日本もいずれこうなると思います。スマートフォン元年といわれる2009年、今のうちにスマートフォン向けのプログラミングを勉強しておこうと思いました。

■最後に

(今村)
アメリカで弊社(ジェイズアヴェニュー)のアピールが出来た事に加えて、実際にアメリカでiPhoneが普及している様子を見た事、アメリカでのiPhoneに対する関心の高さに触れた事が、大きな収穫でした。そして何より、iPhoneを通して多くの人に出会えた事が、代え難い大きな収穫になりました。

現在私は、iPhoneアプリをAppStoreに並べるべく開発を進めています。ご支援を頂いた方達の期待に応えるべく、努力を続けてまいります。弊社に関心のある方は、是非ご連絡をくださいませ。それでは、よろしくお願い申し上げます。

(高浦)
今回のSFでのプレゼンは私にとりまして大変貴重な経験になりました。私以外にプレゼンをされました多数の優秀なiPhoneディベロッパーの仲間に入れた事を誇りに思います。今回のイベントを発案されました林信行氏、Six Apart社の皆様、Macworldにてプレゼンの場としてブースを提供していただきましたUEIの清水亮氏、その他大勢のお力添えをいただいた方々に深く感謝いたしま
す。

(佐々木)
iPhone世代からは、自分の意思さえあれば、世界と勝負できる時代になったのだなと改めて実感しました。また、米国でのプレゼンの機会は非常に貴重な経験になったと同時に、これからどんどん米国や世界に向けていろいろとアピールしていかなければと強く感じしました。

また、当日UEIブース、Six Apart社でのプレゼンをサポートしてくださった方々に深く感謝いたします。次回は、WWDC近辺で、また米国でいろいろTryできればと思います。それまでに英語を上達させておきます。

■懇親会のお知らせ

(今村)
来る2月28日に、プレゼンの打ち上げを兼ねて、iPhoneデベロッパの懇親会を開催いたします。詳細は、iPhone Developer Japanで確認できますので、ご興味のある方はアクセスしてみてください。

◎iPhone Developer Japan | Google グループ
http://groups.google.co.jp/group/iphone-developer-japan

■執筆者プロフィール

株式会社ジェイズアヴェニュー  今村 哲矢
http://www.jsavenue.co.jp/
ファミリーベーシックでゲーム作りを体験して以来、ゲームを制作する仕事が将来の夢に。大学卒業後にゲーム会社に就職。その後、現在の会社に転職をし、iPhone向けのゲームの開発を行なっている。

株式会社ロイヤルガジェット  高浦 二三康
http://royal-gadget.co.jp/
高校時代、iモード向けにiアプリを開発していた事でプログラミングの楽しさを知る。2008年9月、iPhoneアプリを作りたくて社会人1年目にして起業。現在9本のアプリをリリース。

株式会社GClue  佐々木 陽
http://www.gclue.com/
携帯電話アプリ開発一筋9年目です。9年の中でiPhoneアプリを作っている今が一番楽しいです。現在までに17本のiPhoneアプリをリリースし、今後もどんどん新作をリリースしていく予定です。

りんご味Ruby   第41回  藤本 尚邦

今回は、ブロック付きメソッドの定義方法についてです。これを覚えてしまえばRubyプログラミングは格段におもしろくなりますよ。

■ ブロック付きメソッドの定義

◇ ファイルの各行をブロックで処理するメソッド

まず、比較的単純な例として、引数で指定されたテキストファイルの中のそれぞれの行に対して、ブロックで渡された手続きを実行するというメソッドについて考えてみましょう。ファイルのオープン・クローズなどの定型処理を隠蔽して、各行の処理だけに集中するためのメソッドです。これをFileクラスのeach_line_for という名前のクラスメソッドとして実装しましょう。以下のような仕様にします:

 

File.each_line_for(ファイルへのパス) do |1行分の文字列, 行番号|
  それぞれの行に対する処理
 end


具体的には

 File.each_line_for("/etc/services") do |str, index|
  printf("%5d: %s n", index, str) # 行番号付きで出力
 end


のように使います。まずは、この例を既存のメソッドだけを使って書いてみます:

 

File.open("/etc/services") do |io|   # ファイルを開く
   index = 1                          # 行番号の初期化
   io.each_line do |str|              # それぞれの行について...
     str.chop!                        #   改行文字を取り除く
     printf("%5d: %s n", index, str)  #   渡されたブロックの中身
     index += 1                       #   行番号を更新
   end                                #
 end                                  # ファイルを閉じる


上のプログラムの printf の行の部分が、File.each_line_for の実装では、ブロックとして実行時に渡されるということになります。では、さっそくFile.each_line_for を実装してみしょう:

 def File.each_line_for(path, &block)
   File.open(path) do |io|            # ファイルを開く
     index = 1                        # 行番号の初期化
     io.each_line do |str|            # それぞれの行について...
       str.chop!                      #   改行文字を取り除く
       block.call(str, index)         #   渡されたブロックを実行
       index += 1                     #   行番号を更新
     end
   end                                # ファイルを閉じる
 end


いかがでしょうか? この2つを見比べて違うのは printf の行のところだけですね。

each_line_for の引数リストの最後にある &block が、ブロック付きでeach_line_forが呼ばれたときのブロック手続きそのもの(Procクラスのインスタンス)になります。blockに対してcallメソッドを呼ぶことにより、ブロックの中身を実行しているわけです。

このように、ブロック付きメソッドを実装するときには、もともとのプログラムの中からブロック手続きとして抽象化したい部分を抽出して、その部分をblock.call のように置き換えることになります。

◇ ブロックの省略

次に、ブロックが省略された場合、各行を行番号順に並べた配列を返すという仕様を each_line_for に追加してみましょう:

 File.each_line_for(ファイルへのパス) 
  => [ 1行目文字列, 2行目文字列, 3行目文字列, ... ]


これはブロック付きの each_line_for を使って実装することができます:

 ary = []                               # 空配列を生成
 File.each_line_for(path) do |str,idx|  # それぞれの行について...
   ary << str                           #   配列に追加  
 end
 ary                                    # 完成した配列


これを each_line_for に組み込みます:

 def File.each_line_for(path, &block)
   if block_given? then               # ブロック付き
     File.open(path) do |io|
       index = 1
       io.each_line do |str|
         str.chop!
         block.call(str, index)
         index += 1
       end
     end
   else                              # ブロックなし
     ary = []
     File.each_line_for(path) { |s,i| ary << s }
     ary
   end
 end


組込みメソッドの block_given? によりブロックの有無を判断しています。ブロックがなければ、今度は、配列への追加手続きを行うブロックを付けて、自分自身をもう一度呼び出し直すわけです。「ブロックの省略=デフォルトのブロック手続きとして配列への追加を選択」したのだと考えてもいいでしょう。

次回は、/Developer/Examples/Ruby/RubyCocoa/Scripts/circle.rb に入っている CoreGraphics を使ったPDFファイル生成スクリプトを元ネタにして、PDFファイル描画生成DSL を作ってみようかと思います。

藤本裕之のプログラミング夜話 #154

 タイムリーというかシンクロニシティというか、先日テレビで1986年に施行された労働者派遣法成立に関する裏話みたいな番組をやっていてとても興味深かった。それによると労働省(当時)は、当初からこの派遣法の眼目を(1)横行している偽装請負(受託業務と称して人員を派遣する、つまりオレがやってたヤツですな)の現状を追認すること、および(2)労働者の流動性を高めるための登録制派遣(働きたいヒトが派遣会社に「登録」し、仕事があるときだけ働く形態。これの究極が「日雇い派遣」になる)に道を開くこと、としていたらしい。

 しかし労働組合の強健な反対が目に見えていたため、とりあえず(2)は封印し、(1)に関しても現状追認と見えないように、例の「高度で専門的な知識や経験を要する」という文言を入れたんだ、と。

 トロイの木馬は「秘書」と「ファイリング」で、これについて労働者側には「単なるタイピストや通常事務ではない専門的な職種」と説明しつつ、実質的には派遣業者に単なる事務員を派遣する口実を与えるためのものだったんですな。派遣会社のエライさん(あるいは当時エライさんだったヒト)が画面に登場して「とにかく『秘書』と『ファイリング』を入れてくれ」と運動した」と言っていた。

 早い話、一度法律が施行されて派遣が始まってしまえばその拡大解釈はなしくずし的に「秘書」あるいは「ファイリング」という「高度で専門的な知識や経験を要する職種」が「単なる事務」を意味することになるだろってことだった、と。そんでその読みは的中した。オレの仕事場でも事務をやってたサイトーさんが産休を取ったとき派遣会社からオカザキさんって女の子に来てもらったもんね。彼女は実によくやってくれたけど、こっちだって決して彼女に「高度で専門的な知識や経験」を要求しはしなかったよ。

 話が逸れた。何が言いたいかというと、上の経緯を聞く限り当時派遣法に定められた13業種の中で、我らが「ソフトウエア開発」というのは「秘書」とか「ファイリング」といった「トロイの木馬」ではなく、心底から(かどうかは分からないが)多くのヒトがホントに「高度で専門的な知識や経験を要する職種」だと思っていたらしいよね、ということである。

 ここで皆さんにちと考えていただきたいのだが「高度で専門的」ってどんなことだね? いやさ、この言葉が具体的に意味するのはどんなこと? ……試しにYahoo!辞書を引いてみるとこう書いてある(ここに当てはまらないaltitudeの方は省いた)。

こう-ど【高度】 [名・形動]程度の高いこと。また、そのさま。せんもん‐てき【専門的】 [形動]ある分野に特にかかわりのあるさま。ある分野に精通しているさま。

 たとえば「程度が高い」だ。「高い」というのはね、もっと「低い」ところがあるから存在するのである。マシン語、あるいはアセンブリの存在を踏まえてCやPascalは「高水準言語」(「高級言語」って訳語は適当でない、と中村正三郎氏に叱られたので使わない)なのである。「専門的」もそうでしょ? みんながその分野に関して同じ程度の知識や技量を持っていたら……いや、みんなが持っていなくても、持っているヒトの方が多かったら、それは「専門的」ではないのである。リクツだよね?

 つまり「高度で専門的である」ことの価値ってのは、イコール希少価値なのである。数が少ないってこと。

 最近とんとご無沙汰だが(年齢ですわな)、30代の半ばごろまでは結構友人の結婚式に出る機会があった。当然ながらオレの友人というのはオレと同じプログラマ、あるいはコンピュータ関係の仕事についているヤツが多く、そういう席で仲人のおっさんが挨拶をする。この仲人というのがワレワレの業界のニンゲンではない場合、ほぼ100%の確率で「新郎はコンピュータ関係の仕事、いわば最先端の仕事をしているわけでして」とか言ったもんなのね(今でも言うのかしら)。

 それを聞いてるオレたちは失笑しながら「ずいぶん太い『最先端』だこと」とか思ってたんだが、その通り、この「最先端」は時とともにどんどん太くなり、それに従ってこの仕事の「高度で専門的」な度合い……というかそれに付随する希少価値というものが下がってきちゃったわけである。
(以下次回 2009_02_12)

                       

高橋真人の「プログラミング指南」第152回

これから始めようとする人へ(3)

 皆さんこんにちは、高橋真人です。
 さて、前回「低レベル」のプログラミング言語について説明をし、今回は「より上のレベルへ」と言いましたが、「低レベルの上には中レベルがあって、そのまた上には...」ということではなく、低級言語の上はいきなり高級言語となります。
 もっとも、高級言語と言われるものは多岐にわたり、高級言語の中にも、さらにマシンに近い比較的低級なものから相当程度高級なものまでと様々なレベルのものが存在しています。
 では、高級言語の定義は何かと言いますと、「マシンの動作をそのまま記述」するものを低級言語と呼ぶのに対して、「意味的な内容」を記述することでプログラミングをするものということになります。
 意味的な内容と言われても分かりにくいかもしれませんので、例を挙げてみます。以下は、Perl(「パール」と読む)というスクリプト言語で書いた簡単なプログラムです。

for ($a = 10; $a > 0; --$a) {
   print "$a, ";
}


 このコードが表現しているのは、

・aという変数(数の入れもの)を用意し、
・最初に10を入れておいてから、
・順に1ずつ減らしながら画面に数字を出力することを繰り返す。

ということです。プログラミングに馴染みのない方には、これでもかなり違和感があるかもしれませんが、よく観察してみるとそれなりに上記の処理を表しているように読み取れませんでしょうか?
 では次に、これをCというプログラミング言語(そのまま「シー」と読みます)に書き直したものを紹介します。

#include 
int main(void)
{
   int a;
   for (a = 10; a > 0; --a) {
       printf("%d, ", a);
   }
   return 0;
}


 初めに紹介したPerlのスクリプトに比べて、より多くの記述が必要になっていますが、forから始まる3行の部分が極めて似ていることもお分かりになるでしょう。
 どちらのプログラムも実行した結果得られるものは同じで、以下のようになります。

10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 

 しかし、両者の実行のさせ方はかなり違います。折角ですので、実際に試してみましょう。
 アプリケーションフォルダの中にあるユーティリティフォルダを開くと「ターミナル」というアプリケーションがありますので、それを立ち上げておきます。
 次に、適当なテキストエディタを使って、上記のコードを入力します。もしテキストエディタをお持ちでない場合には、Mac OS Xに標準で入っているテキストエディットでも構いませんが、その場合、新規書類を作った後に、フォーマットメニューから「標準テキストにする」を選ぶことを忘れないでください。
 Perlのスクリプトはshinan.plという名前で、Cのコードはshinan.cという名前で保存します。これらのファイルは必ずホームフォルダに保存するようにしてください。
 では、まずはPerlの方を実行してみます。ターミナルで

perl shinan.pl

と打ってリターンキーを押します。これだけですぐにプログラムが走って、前述の数字の羅列を表示します。
 次にCの方を実行します。まず、ターミナルで

gcc shinan.c -o shinan

と打ってリターンキーを押します。次に、

./shinan

と打ってリターンキーを押すと、Perlの場合と同様に数字の羅列が表示されます。

 さて、実際に二通りのプログラミング言語を使ってプログラムを走らせてみたわけですが、それぞれは実行のさせ方に違いがありました。
 Perlの方は、perlというコマンド名のあとにスクリプトファイルを指定することで、そのまますぐに実行されたのに対して、Cの方は、まずgccというコマンドによってshinanという名の実行ファイルを作成して、次にそれを直接実行させたのです。
 高級言語は、大きく分けるとコンパイル型というのとインタープリター型というのに分かれるのですが、Perlはインタープリター型で、Cはコンパイル型となります。
 コンパイル型のプログラミング言語は、コードが書かれているファイルをコンパイラというプログラム(上記の例ではgcc)を使ってコンパイルし、さらにリンクという処理を行って実行ファイルを作成します。コンパイルというのは、コードを解釈してマシン語に翻訳する処理、リンクというのはプログラムが動作できるようにシステムの機能と結びつけること、というように考えておいてください。
 これに対して、インタープリター型のプログラミング言語の場合、インタープリターというプログラム(上記の例ではperl)が直接スクリプトファイルを解釈して、そのまま動作する形になります。

 コンパイル型の言語の場合、コンパイラが最終的に実行ファイル、つまりアプリケーションを生成してくれるので、実行ファイルは単独で動作します(つまり、実行時にはコンパイラはいらない)。
 それに対して、インタープリター型の言語では、スクリプトファイルはただのテキストデータですから、単独では動作できません。かならずインタープリターの力を借りなければ動作しないということです。

 私がプログラミングを学んだころは、コンパイラはまとめて変換してから実行し、インタープリターは1行ずつ通訳しながら実行する(実際、interpreterは通訳という意味)といった説明を受けたものですが、今やそんな単純な話ではなくなりました。
 Perlも内部的にはコンパイルをしているようですし、Javaのようにコンパイル型の言語であるにも関わらず、実行時にjavaというプログラムが別途必要になるものもあり、高級言語と一口に言ってもその成り立ち方は様々で、簡単にひとくくりできる時代ではなくなりました。

◇MOSAからのお知らせと編集後記は割愛します◇

 

 MOSA Developer News   略称[MOSADeN=モサ伝]
        配信停止 mailto:mosaden-ml@mosa.gr.jp
 記事内容に関するご意見 mailto:mosaden-toukou@mosa.gr.jp
      記事投稿受付 http://www.mosa.gr.jp/?page_id=850
Apple、Mac OSは米国アップル社の登録商標です。またそのほかの各製品名等
はそれぞれ各社の商標ならびに登録商標です。
このメールの再配信、および掲載された記事の無断転載を禁じます。
特定非営利活動法人MOSA  http://www.mosa.gr.jp/
Copyright (C)2009 MOSA. All rights reserved.