差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン | 次のリビジョン両方とも次のリビジョン | ||
プログラミング入門:開発環境 [2019/06/29 11:26] – [チャート] baba | プログラミング入門:開発環境 [2019/06/29 11:27] – baba | ||
---|---|---|---|
行 13: | 行 13: | ||
で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。 | で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。 | ||
+ | ===== クリエイティブコーディングの評価 ===== | ||
クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。 | クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。 | ||
- | ===== コーディングが複雑になりすぎない:simplicity | + | ==== コーディングが複雑になりすぎない:simplicity ==== |
簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。 | 簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。 | ||
- | ===== 開発を通じて価値発見ができる:discoverable | + | ==== 開発を通じて価値発見ができる:discoverable ==== |
開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、クリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。 | 開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、クリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。 | ||
- | ===== 大きなアプリケーション開発が可能: | + | ==== 大きなアプリケーション開発が可能: |
比較的クリエイティブコーディング自体はあまり大規模アプリケーションには向きませんが、簡単なプロトタイプから展示で一年間動作させるようなしっかりとしたアプリケーションまでを記述可能でなければなりません。プログラムの可読性はデバッグの容易さ、さらには開発用ファイルの管理可能性等を重視します。 | 比較的クリエイティブコーディング自体はあまり大規模アプリケーションには向きませんが、簡単なプロトタイプから展示で一年間動作させるようなしっかりとしたアプリケーションまでを記述可能でなければなりません。プログラムの可読性はデバッグの容易さ、さらには開発用ファイルの管理可能性等を重視します。 | ||
- | ===== トラブルがおきた場合、ネットですぐに類似情報を見つけやすい: | + | ==== トラブルがおきた場合、ネットですぐに類似情報を見つけやすい: |
クリエイティブコーディングを行うユーザ層はプログラミング初心者も多く含まれます。彼らは問題が生じた場合、その根源がなんであるのかを見抜く力が上級者と比較して弱いです。なので、近くに先生や先輩がいればすぐに問題発見は可能ですが、一人の場合、生じた問題をそのままネットで検索することが多いです。つまりヤフー知恵袋のように、一つの個別問題に対してどれだけケーススタディが蓄積されているかが初心者にとっては非常に重要になります。 | クリエイティブコーディングを行うユーザ層はプログラミング初心者も多く含まれます。彼らは問題が生じた場合、その根源がなんであるのかを見抜く力が上級者と比較して弱いです。なので、近くに先生や先輩がいればすぐに問題発見は可能ですが、一人の場合、生じた問題をそのままネットで検索することが多いです。つまりヤフー知恵袋のように、一つの個別問題に対してどれだけケーススタディが蓄積されているかが初心者にとっては非常に重要になります。 | ||
- | ===== コミュニティが活発、マニュアルが充実: | + | ==== コミュニティが活発、マニュアルが充実: |
その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。 | その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。 | ||
- | ===== 機能拡張が豊富/ | + | ==== 機能拡張が豊富/ |
基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらをはなかなか拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。 | 基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらをはなかなか拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。 | ||
- | ===== 様々な環境で安定して動作する: | + | ==== 様々な環境で安定して動作する: |
実際に制作したアプリケーションを展示で丸一日動作させたり、macOSで作成したものをWindowsで動作させるなど、様々な環境においても一つの環境で作ったものが安定して動作することが好まれます。 | 実際に制作したアプリケーションを展示で丸一日動作させたり、macOSで作成したものをWindowsで動作させるなど、様々な環境においても一つの環境で作ったものが安定して動作することが好まれます。 | ||