プログラミング入門:開発環境

文書の過去の版を表示しています。


開発環境

いざプログラミングを始める場合、なにから手をつけていいかなかなか難しく、情報はたくさんあっても結果として迷ってしまうでしょう。このページでは馬場の分野でよく利用される開発環境の紹介し、それぞれの特徴を述べます。

平成31年6月29日現在、いわゆるクリエイティブコーディング(画像、映像、音声等を統合して扱うことが比較的簡単にできる)が可能な開発環境にはそこまで多くのものがあるわけではありませんが、下記が代表的なものです。

  • Processing
  • Openframeworks
  • Cinder
  • Unity
  • Max, PureData
  • vvvv
  • touchDesigner

で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。

クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。

簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。

開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、クリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。

比較的クリエイティブコーディング自体はあまり大規模アプリケーションには向きませんが、簡単なプロトタイプから展示で一年間動作させるようなしっかりとしたアプリケーションまでを記述可能でなければなりません。プログラムの可読性はデバッグの容易さ、さらには開発用ファイルの管理可能性等を重視します。

クリエイティブコーディングを行うユーザ層はプログラミング初心者も多く含まれます。彼らは問題が生じた場合、その根源がなんであるのかを見抜く力が上級者と比較して弱いです。なので、近くに先生や先輩がいればすぐに問題発見は可能ですが、一人の場合、生じた問題をそのままネットで検索することが多いです。つまりヤフー知恵袋のように、一つの個別問題に対してどれだけケーススタディが蓄積されているかが初心者にとっては非常に重要になります。

その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。

基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらをはなかなか拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。

実際に制作したアプリケーションを展示で丸一日動作させたり、macOSで作成したものをWindowsで動作させるなど、様々な環境においても一つの環境で作ったものが安定して動作することが好まれます。

  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/attic/プログラミング入門/開発環境.1561773227.txt.gz
  • 最終更新: 2019/06/29 10:53
  • by baba