差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン両方とも次のリビジョン | ||
プログラミング入門:開発環境 [2019/06/29 11:27] – baba | プログラミング入門:開発環境 [2020/12/27 11:52] – [開発環境] baba | ||
---|---|---|---|
行 10: | 行 10: | ||
* vvvv | * vvvv | ||
* touchDesigner | * touchDesigner | ||
+ | * p5.js | ||
で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。 | で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。 | ||
行 16: | 行 17: | ||
クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。 | クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。 | ||
- | ==== コーディングが複雑になりすぎない:simplicity ==== | + | ==== シンプルに始められる(導入が容易):simplicity ==== |
- | 簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。 | + | 簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。とはいえ様々な機能が用意されていても必ずしも自分がやりたい表現に直結する機能があるとは限りません。Visualプログラミング環境では10分かかることが、プログラミングを利用すれば1分で終わることもあれば、その逆もあります。つまり重要なポイントはなにかというと、常にプログラムの可読性が高いことです。トラディショナルな言語ではこの習わしには多くの流派があるため、自然とわかりやすくするプログラムが身につきやすい一方、Visualプログラミングでは「こうやったら動いたから、このようにしています」という理由で開発をしてしまいがちです。 |
==== 開発を通じて価値発見ができる:discoverable ==== | ==== 開発を通じて価値発見ができる:discoverable ==== | ||
- | 開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、クリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。 | + | 開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、むしろクリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。ユーザの試行錯誤を許容する環境であることが望まれます。閉じた開発よりも、オープンな開発がよいです。ネットで動いているコードをすぐ手元の環境で動かせると嬉しいですよね。 |
==== 大きなアプリケーション開発が可能: | ==== 大きなアプリケーション開発が可能: | ||
行 31: | 行 32: | ||
その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。 | その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。 | ||
- | ==== 機能拡張が豊富/ | + | ==== 機能拡張が豊富: |
- | 基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらをはなかなか拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。 | + | 基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらを拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。 |
==== 様々な環境で安定して動作する: | ==== 様々な環境で安定して動作する: | ||
行 39: | 行 40: | ||
====== チャート ====== | ====== チャート ====== | ||
それでは、上記に基づいてそれぞれの開発環境をスコアリングしてみました。これは馬場の主観的なスコアリングです。 | それでは、上記に基づいてそれぞれの開発環境をスコアリングしてみました。これは馬場の主観的なスコアリングです。 | ||
- | * 元ファイル: | ||
- | {{: | + | < |
- | {{: | + | <div class=" |
- | {{: | + | </ |
- | {{: | + | |
- | {{: | + | ====== 用途別 ====== |
- | {{: | + | 上記はクリエイティブコーディングっていうなんだかわからん基準で評価しましたが、そもそも制作するものが決まっている場合はそれに特化した環境がベストです。 |
- | {{: | + | * ゲーム制作:Unity |
+ | * 音響作品制作:Max, | ||
+ | * VJ、映像特化:touchDesigner, | ||
+ | * その他:Processing, | ||
+ | といった具合です。 | ||
+ | |||
+ | 以上、開発環境の紹介でした。 | ||