ホームへ
ホームへ

ホームへ
活動報告
定例会申し込み
TMUGについて
FAQ
会場案内
入会手続き
問い合わせ先
オフトピックサークル
会員エリア

HOME活動報告>2008年12月度定例会活動報告

2008年12月度定例会活動報告2008年12月13日

豹変の 1年を今 振り返る

2008年12月定例会のトップ画像(中)

子供向けのプログラミング環境Scratch

イベントドリブン型オブジェクト指向言語EDOLについて

Arduinoの紹介

iPhoneアプリ紹介ライトニングトーク

12月13日、関東ITソフトウェア健康組合大久保健保会館1階A会議室にて12月度定例会が行われました。12月はネタが溢れんばかりの状態で、プレゼン希望者全員を消化しきれないほどでした。1月に回る分もあると思いますので、お楽しみに。
 改めて見直すとプログラミング ネタがずらっと並んじゃったんですね。でも、比較的簡単に入門出来るものもあるので、プログラミングの入門用には良いネタだったんじゃないでしょうか。

(報告:TMUGウェブチーム)

子供向けのプログラミング環境Scratch(刀祢)

子供向けのプログラミング環境Scratch

最近はどちらかというと音楽系、工作系のネタが多かったので、久しぶりにプログラムの話にしました。

ものは「Scratch」というビジュアルプログラミング言語(VPL)です。VPLというのはプログラム言語に必要な命令とか条件分岐、繰り返しをビジュアルな部品を組み合わせて実現し、文字の入力は部品に設定するデータや定数などの必要最小限にするという発想の言語です。

設計図とそれを翻訳したプログラム文とのギャップを少なくしようという目的で色々工夫されてきましたがいまいち主流の言語にはなっていません。

Macでもかなり古株のユーザでないと知らない「Helix」「Double Helix」から始まり「Prograph CPX」というかなり高度な物までいくつかのVPLがありました。「Prograph CPX」は今は「Marten」となって生き残っていますが、Helixシリーズは消滅しました。ちょっと範囲を広げて「HyperCard」や「REALbasic」もVPLと言えなくはありませんが、あくまでGUIがビジュアルに作れるだけで制御ロジックは言語で書く必要があったので少し違います。

今回紹介したのはSqueak(これはネズミがチューチューという音)で作られた「Scratch」(キーキーとものをこする音)という代物です。

SqueakはSmallTalkというピュアなオブジェクト指向言語で開発されたSmallTalkの開発環境でGUIはビジュアルに開発できますが、制御ロジックは言語で書かなければなりません。でもScratchは教育用VPLという目的で開発されたのでまさにVPLとして、部品をビジュアルに並べて複雑なロジックのプログラムが書けるのです。

ビジュアルというのは子供達の直感にうまく働きかけるようで、英語を知らない7歳の日本の子供でも見よう見まねで英語版のScracthでプログラムが書けたという話を聞きました。

現在は日本語化されているのでますますわかりやすくなり、大人でも楽しくプログラムできます。残念ながらメジャーな普通の言語に比べてできることは限られていて、キャンバスに絵を描いたり、ビットマップ図形やテキストの移動や変形、それらのイベントに同期した音源の再生、後は変数やリストを定義しての演算というレベルなので一言で言うとアニメーション作成ツールということになります。

動かせる図形は現状ではビットマップに限られているので見栄えのするプレゼンやアニメは作れませんが、逆にヘタウマ路線で目立つアニメは作れます。

以前の「Helix」「Prograph」に比べてブロック、ループや分岐のロジック構成が簡単にわかりやすく作れるのもいいところです。

Scratchユーザのホームページもあり、YouTubeのようにメンバーの作品が公開されています。

この紹介記事も参考にしてください


イベントドリブン型オブジェクト指向言語EDOLについて(山本)

イベントドリブン型オブジェクト指向言語EDOLについて

といっても日曜日の朝、落ちていた封筒の裏側で構想し、Mac用データーベースソフトFileMaker Proの文字関数で作成したプロトタイプ言語の荒削りな提案です。病院で活用される電子カルテ基幹システムは、膨大かつ複雑な運用に対応するため小回りが効きません。そこで、医療のプロセスを見守り診療の手助けをするための「医療安全ユニット」は、基幹システムとは切り離され別に用意されるべきであるという意見があります。まさに、都立広尾病院ではこれをいち早くFileMakerで作成し数年にわたり臨床応用しています。そのシステムは日夜大量のデータを順次分散処理しているわけですが、サーバー負荷を軽減し、現在よりも高度な処理をさせるためには、通常のプログラム言語より最適な言語があるのではないか。そういう探究心(思いつき)から今回のコンセプト発表となりました。

専用言語ですので汎用性はありません。遺伝子の蛋白合成からインスパイアされた言語で、記載が情報の流れに逆らわず、情報を吸収し変化、そして「消費」されて最後は消えてなくなります。プログラム自体が情報を飲み込むため、処理コードとデータが混在します。患者一人一人に別々のプログラムを流し込み処理されます。情報の変化をトリガーとして駆動する非同期処理系で分散処理を指向し、タグで構成される言語は単純で、どのイベントに反応すべきかを簡単かつ高速に処理できるよう工夫されています。これは自然界のレセプターの発現からヒントを得たもので、活性化されていないコードは折り畳まれているイメージになっています。データの取り込みには文字置き換え関数を効率よく使用していますが、これも蛋白合成をイメージしています。

発表時点では、まだ纏まりが悪く、フロアーからの反応は様々でしたが、貴重な意見をいただけたことが、口演の醍醐味と言えるでしょう。FileMakerで作成した画面をお見せしまたが、それが総合開発環境になり得るという意見、汎用性はないが専用システムではこのようなアプローチは可であるという意見、追跡性の欠如、「富豪プログラム」との対局性、分散処理との親和性などなど。帰宅後すぐ、コンパイラー追加の構想を練り、専用処理系へのブラッシュアップ、データロガーの追加を行いました。

病院システムへの実装はまだですが、ご意見を糧にもうしばらく探求していきたいと思います。


Arduinoの紹介(柴谷)

Arduinoの紹介

最近ハマっている、Arduinoという環境でのマイコン工作&プログラミングについて紹介しました。

Arduinoは環境が整っており、プログラミングのライブラリが充実していて、ホストパソコンとマイコンの通信がすぐに行えます。なのでデバッグ環境構築までの道のりも近く、すぐにプロトタイプを動かせます。サンプルがたくさんあるので、それらを参照して、再短時間で仕上げる事ができます。USBだけでなく、ネットワーク接続やワイヤレス通信に対応出来るので、将来の利用方法に夢が広がります。

電子工作の世界ではWindowsを使わなくてはならないシーンもしばしばですが、Arduinoでは、Mac OS Xの環境もあるので、Windowsを使う必要はありません。

プログラミング環境は、C, C++を使った統合環境で、USBでArduinoと直接接続します。よくあるマイコンへの書込み機というものは必要なく、そのままプログラムを送り込めます。Arduinoのマイコン単体でプログラムを動かす事も出来ますし、パソコンの周辺機器として利用する事もできます。

制作途中の温度計と時計について紹介しました。温度計は、24時間の最高/最低室温を常に記憶しています。床付近と頭付近の2個のセンサーや長期間のログに対応する予定です。時計は、その記録を補助する目的と、他にも利用する予定です。

Arduinoは、シリアル変換ケーブル程度の値段で買えるので、電子工作に興味がある人は、ぜひチャレンジしてみてはどうでしょうか?


iPhoneアプリ紹介ライトニングトーク(みんな)

iPhoneアプリ紹介ライトニングトーク

10月から提唱していた「みんなのお勧めiPhoneアプリの紹介」をやっとこさ開催出来ました。やっぱり1万本にもなっちゃうと知らないアプリもたくさんありますねぇ。個々のアプリの説明はとてもじゃないけど書ききれないので、アプリ名だけを列挙しておきます。ライトニングトーク形式で、大勢で紹介する形にしましたが、今後もシリーズ化出来そうですね。


●関連リンク


Scratch

(Scratch)


Squeak

(Squeak)


280 Slides

(280 North Inc,)


Arduino

(arduino)


Make日本語版 Vol.04記事「初めてのArduino」

(Make Japan)


Arduinoでセンサー類の使い方を紹介したサイト「建築発明工作ゼミ2008」

(建築発明工作ゼミ2008)


Make Japan Arduino Archive

(Make Japan)


●今月のプレゼンター

▼刀祢さん

刀祢

▼山本さん

山本

▼柴谷さん

柴谷

▼永山さん

永山

▼高松さん

高松

▼戸津さん

戸津

▼渡辺さん

渡辺

HOME活動報告>2008年12月度定例会活動報告 / ▲このページの先頭へ移動▲


MadeOnMacバナー