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

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
プログラミング入門:開発環境 [2019/06/29 15:20] – [開発を通じて価値発見ができる:discoverable] babaプログラミング入門:開発環境 [2020/12/27 11:54] – [シンプルに始められる(導入が容易):simplicity] baba
行 10: 行 10:
   * vvvv   * vvvv
   * touchDesigner   * touchDesigner
 +  * p5.js
  
 で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。 で、なにを使えばいいかっていると、正直なところなんだっていいです。好きなアーティストや作品を見つけて、それが何で作られているかを調べて同じ環境で学習をはじめてみるのも良いでしょう。もしくは、時代はpythonだ、swiftで全部やったる。そんな意気込みもありでしょう。
行 16: 行 17:
 クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。 クリエイティブコーディングでは馬場の独断ですが、次の点を重要視します。
  
-==== コーディグが複雑なりすぎない:simplicity ====+==== プル始められる(導入が容易):simplicity ====
 簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。とはいえ様々な機能が用意されていても必ずしも自分がやりたい表現に直結する機能があるとは限りません。Visualプログラミング環境では10分かかることが、プログラミングを利用すれば1分で終わることもあれば、その逆もあります。つまり重要なポイントはなにかというと、常にプログラムの可読性が高いことです。トラディショナルな言語ではこの習わしには多くの流派があるため、自然とわかりやすくするプログラムが身につきやすい一方、Visualプログラミングでは「こうやったら動いたから、このようにしています」という理由で開発をしてしまいがちです。 簡単なことを数行のコードで、数分で実現できるかどうか。標準でどの程度ライブラリが準備されているかが大きく影響します。とはいえ様々な機能が用意されていても必ずしも自分がやりたい表現に直結する機能があるとは限りません。Visualプログラミング環境では10分かかることが、プログラミングを利用すれば1分で終わることもあれば、その逆もあります。つまり重要なポイントはなにかというと、常にプログラムの可読性が高いことです。トラディショナルな言語ではこの習わしには多くの流派があるため、自然とわかりやすくするプログラムが身につきやすい一方、Visualプログラミングでは「こうやったら動いたから、このようにしています」という理由で開発をしてしまいがちです。
  
 +==== 配布が簡単:distributable ====
 +せっかく制作したアプリケーションも別の環境や多くの人に体験してもらう手間があまりに大きいと折角のプロトタイプの魅力も半減してしまいます。逆に対して面白くもないアイデアでも実際に非常に簡単に使えるだけでも多くの人にとって嬉しいこともあります。
 ==== 開発を通じて価値発見ができる:discoverable ==== ==== 開発を通じて価値発見ができる:discoverable ====
-開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、むしろクリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。パラメタ変更はもちろんこと、試行錯誤を許容する環境であることが望まれます。+開発環境はあくまでメディアであり、それを通じて何かを発見できるものでなければなりません。つまり、最初から作るものが決まっていればその目的に沿った開発環境を利用すればよく、むしろクリエイティブなコーディングをしないことが好まれます。一方、クリエイティブコーディングとは一種のプロトタイピングであり、その行為を通じ自らが創り出そうとしているものを発見することを繰り返していきます。の試行錯誤を許容する環境であることが望まれます。閉じた開発よりも、オープンな開発がよいです。ネットで動いているコードをすぐ手元の環境で動かせると嬉しいですよね
  
 ==== 大きなアプリケーション開発が可能: manageable ==== ==== 大きなアプリケーション開発が可能: manageable ====
行 31: 行 34:
 その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。 その環境を理解し、なれるためのもっとも重要なポイントであるマニュアルがどの程度充実しているかです。OSのアップデートに合わせたバージョンアップも重要ですね。この辺りはコミュニティの活発度が大きく影響します。先程のsearchableにも少し影響がありますね。githubなんかだと、開発側がほとんどdeactiveでもユーザが活発に意見交換している場合もあったりしますね。
  
-==== 機能拡張が豊富/導入も容易 : extensible ==== +==== 機能拡張が豊富: extensible ==== 
-基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらをはなかなか拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。+基本機能はデフォルトで提供しつつ、拡張性をもたせることで様々な応用が可能になります。例えば近年では深層学習が多くの場面で利用されていますが、それらを拡張機能で用意している環境は多くありません。また、ユーザ参加型で機能拡張が活発に行われることで、より多くの拡張や自分だけの機能拡張等が可能になれば、アプリケーションの用途も広がります。
  
 ==== 様々な環境で安定して動作する: robustness ==== ==== 様々な環境で安定して動作する: robustness ====
行 39: 行 42:
 ====== チャート ====== ====== チャート ======
 それでは、上記に基づいてそれぞれの開発環境をスコアリングしてみました。これは馬場の主観的なスコアリングです。 それでは、上記に基づいてそれぞれの開発環境をスコアリングしてみました。これは馬場の主観的なスコアリングです。
-  * 元ファイル:{{ :プログラミング入門:開発環境チャート.xlsx |}} 
  
-{{:プログラミング入門:processing.png?direct&200|}} +<html> 
-{{:プログラミング入門:of.png?direct&200|}} +<div class="flourish-embed flourish-radar" data-src="visualisation/4780822"><script src="https://public.flourish.studio/resources/embed.js"></script></div> 
-{{:プログラミング入門:cinder.png?direct&200|}} +</html>
-{{:プログラミング入門:unity.png?direct&200|}} +
-{{:プログラミング入門:max.png?direct&200|}} +
-{{:プログラミング入門:vvvv.png?direct&200|}} +
-{{:プログラミング入門:touchdesigner.png?direct&200|}}+
  
 ====== 用途別 ====== ====== 用途別 ======
  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/pages/プログラミング入門/開発環境.txt
  • 最終更新: 2020/12/27 12:03
  • by baba