• 締切済み

真鍋大度さんが使ってるプログラミングツールについて

プログラミング超ド級のド素人からの質問です。 先日、情熱大陸(だったかな?)で真鍋大度さんの特集を見て プログラマーって、ああやってプログラムを打ち込んでは確認をして~ の繰り返しをしてるんだねというのを勉強しました。 一応、素人なりに調べて、Macを使ってプログラム組んでいるという事は、Object-Cとかいうプログラミング言語を使っているんだろなという想像を膨らませみたり・・・・ MacにはXcodeとかいうプログラミングツールがあるという事を知ったり・・・ で、質問はここからなんですが ああいったプログラミングツールって、打ち込んでいったプログラムをそれなりにリアルタイムで具現化というか、どういう動作ができているかっていうのを確認しながらできるものが主流なのでしょうか? 特集を見ててああいった形で確認しながら打ち込めるツールだったら、素人でも少しずつ勉強できるかななんて思っているのですが・・・ Xcode自体が元々ああいったかんじに確認をしながらできるツールなんですか?

  • Mac
  • 回答数5
  • ありがとう数3

みんなの回答

回答No.5

No.3です。 > Frameworkというものがいまいち理解できていません(^^; フレームワークについては、奥が深いですが 以下の説明が一番簡単でわかりやすいと思います。 http://e-words.jp/w/E38395E383ACE383BCE383A0E383AFE383BCE382AF.html No.4さんへの補足の疑問について、 Androidに対してMacはどうなの? というのは比較対象がそもそも適切ではなく、 Androidと比較するならはiPhone/iPadでしょ と突っ込みを入れたくなる人が多いと思います。 が、あなたがこれまで経験したのがAndroid用アプリ開発環境構築だけであり、 その経験と今回の疑問の眞鍋さんが使っているMacの開発環境を対比して どんなものか感触を得たいという主旨なら、ちょっと無謀すぎますが、 「XcodeがEclipseに該当し、Objective-CがJavaに該当するという」 という点は、感触的にだいたい合ってます。 ただ、誤解をされるといけないので補足しますが、 Mac用のアプリはXcode+Objective-Cがないと作れないわけではありません。 MacにEclipseとJavaをインストールしてMac用アプリを作ることも可能ですし さらにそのMacを使ってAndroid用アプリを作ることも可能です。 なので、AndroidとMacを比較して質問するのは、回答者を混乱させるので、 今後はあまりしない方がよいです。するなら、なぜそれを比較するのか という主旨を説明しないと、毎回「比較対象が違う」という突っ込みを 受けることになると思います。

vonovoss
質問者

お礼

大体解釈OKなんですね。 ありがとうございます。

回答No.4

モバイルアプリの開発で生計を立てているエンジニアです。 私もプロフェッショナルを拝見しました。 真鍋さんが使っているツールは番組を見る限りでは MacのXcode+Openframeworks、Max、Ableton Liveですね。 番組ではアーティスト、プログラマーと紹介されていましたが プログラミングをツールとして使っている アーティストということになると思います。 OpenframeworksはC++と言うプログラミング言語と OpenGLという3Dグラフィクスに特化したインターフェースがベースとなっています。 初学者向けに設計されていますがC++がある程度分からないと難しいと思います。 Openframeworks http://openframeworks.jp OpenGL http://ja.wikipedia.org/wiki/OpenGL Maxは音楽制作向けの環境で音の制御などはこちらのソフトを使っているのではないでしょうか。 Max http://cycling74.com Ableton Liveは音楽を作るためのツールです。何に使っているのか分かりませんが シーケンサー機能を使っている様にみえます。 Ableton Live https://www.ableton.com 真鍋さん達はOpenCVという画像解析のツールも数多く使用しているはずです。 映像合成の際に使われることが多いです。 OpenCV http://opencv.jp/ プログラミングの経験が無い初学者であれば Processingが一番学びやすいと思います。 Processing http://www.processing.org OpenframeworksはXcodeの環境設定を始め プログラミングそのものと関係ない部分でのTipsが多く 初学者向きではないと思います。 OpenGLも癖のあるインターフェースで 学習コストが非常に高く、今から3Dグラフィクスを学ぼうと思うのであれば Unity3Dをオススメします。 http://japan.unity3d.com 身も蓋もない話になってしまいますが、他の方も書いていた様に 真鍋さんのクルーが行っているモノ作りのレベルに到達するのは かなり難しいと思います。 彼らはチームで動いているのですが、そのチームがまたすごいメンバー構成です。 番組で紹介されていた石橋素さん、比嘉了さんを始め、全員が超が付くスペシャリストです。 見た目がポップな仕上がりになっているので勘違いしてしまうかもしれませんが、 彼らがやっていることは高度な技術と斬新なアイディアを必要とします。 プロフェッショナルの生放送ではラジコンヘリの制御だけではなく ロボットアームの制御やリアルタイムの映像合成、プロジェクションマッピング、 “プロフェッショナルとは何か”という問いをプログラミングを使って 回答するなど、数々の技術ネタ一つにまとめてきちんと表現のレベルに引き上げていました。 収録ならまだしも、わざわざ生放送でやるというのはよっぽど自信があるか、 どこかが感覚が麻痺しているかだと思います。 真鍋さんのwebsiteに詳細が出ていたので参考にどうぞ。 http://www.daito.ws/weblog/2014/05/nhk-professional.html

参考URL:
http://www.daito.ws/
vonovoss
質問者

補足

専門家様、更に質問があります。 以前興味本位で参加した某セミナーで、Android開発環境の構築のコマがあり、環境のやり方だけ中途半端に学習してしまった流れで、じゃあMacの方はどんなものなんだろうという興味本位から手を付けてしまった事からの質問なんですが(^^; そこでは、Androidの場合はEclipseというツールの中でJavaという言語を使ってプログラムをしていくんだよというザックリした勉強したんですが・・・。 MacのXcodeの場合は、XcodeがAndroidの場合のEclipseに該当し、Object-CがAndroidのJavaに該当するという解釈でよろしいのでしょうか?

回答No.3

情熱大陸の録画を見ました。昨年の11月に放送されていたものですね。 あそこで使われていたのは、機材はMac、開発ツールはXcodeですが、 プログラミング言語はObjective-CではなくてC++です。 で、OpenFrameworksというフレームワークが使われていました。 (参考:OpenFrameworks) http://yoppa.org/iphone10/1120.html http://openframeworks.jp/ 実はコンピュータでプログラミングする上で一番大事なのは 言語よりもフレームワークです。今回のようなアーティスティックな アニメーションをやりたかったら、OpenFrameworksを使うと その実現がやりやすくなるのです。 (プログラミング言語にC++が使われているのは、OpenFrameworksで 使える言語がC++だからです。) OpenFrameworksは、無償でダウンロードできますし、 Windowsでもサポートされていますから、興味があるなら 今からでも無償で始めてみるとよいと思います。 (開発環境は、Windowsの場合VisualStudio2010 Expressが 無償で使えます。MacならXcodeが無償で使えます。) 彼はプログラマーというより、アーティストだと私も思います。 アーティストは、芸術を表現するのに筆、彫刻、楽器、声等々 人によっていろいろな道具を使いますが、彼はプログラムを 道具にして芸術を表現するアーティストです。 どのアーティストも道具の使い方を熟知した上で、アーティスティックな 表現を行います。彼がやっていることもプログラミングは道具として 熟知した上で、それを使ってアートを表現しているのです。 どのアーティストも同じですが、豊かな発想でこれを職業にして 食べていける人はほんの一握りだと思います。

vonovoss
質問者

お礼

プログラミングツールはOpenFrameworksというツールなんですね。 ありがとうございます。

vonovoss
質問者

補足

Frameworkというものがいまいち理解できていません(^^;

  • drum_KT
  • ベストアンサー率43% (1108/2554)
回答No.2

たぶん、見たのはNHKの「プロフェッショナル 仕事の流儀」じゃないですかね? それなら私も見ました。 で、彼の仕事を「プログラマー」として捉えると間違います。笑 彼は、プログラミングもできるアーティストと言ったらいいのかな。私が見た番組ではラジコンヘリを舞台でダンスの動きと融合させる方法を試行錯誤していましたが、プログラミングはあくまでそのアイデアを実現するための一つの要素に過ぎません。 あの場面では、最初にラジコンヘリがどういう信号を受けたらどういう風に動くのかという「機械としての仕様」がまずあって、それをエンタテインメントに使うためにはどうやって動きを覚えさせたらいいかという「アイデア」があって、その二つをつなぐものとして、ラジコンヘリに指示する動きをラジコンヘリを手持ちで操作することで記憶して、それを再現して指令を出す「プログラム自体を自作」したようです。つまり、彼は、電気のことも機械のこともエンタメのことも全部わかった上で、それをつなぐにはこういうプログラムが必要だと自分で考えて作れる人ということです。 が、世の中の多くのプログラマーは、こういうことを仕事にはしていません。笑 世の中の多くのプログラムは、もっと組織的に大人数で作られています。大人数で分担して作業するためには、あらかじめ仕様書というものをきちんと作成して、紙の上で理屈としてそのプログラムが正しく動くことをチェックしたものをプログラム言語に焼き直します。極めて工業的な作業になります。 それはともかく、彼のレベルの試行錯誤は、プログラム言語で何ができるかは全てわかった上で、どういうプログラムを作ったら自分がイメージする動きをヘリに再現させられるか、どうやったらより面白い動きをヘリがするようになるか、というアイデアを次々に試していたということであって、その時その時に書いているプログラム自体はほぼ問題がなく完全に動くものだと思います。要するに、自分で仕様をどんどん変えているという話です。 同じようなやり方でプログラムの「勉強」をしようと思ったら、間違いだらけで全然動かないか、動いているけど実はとんでもない間違いをしていて気づかないという可能性大です。それこそ、実際にヘリにコマンドなんか送ったら墜落して大破、数百万円おじゃん!の世界です。笑

noname#242220
noname#242220
回答No.1

NHKの仕事の流儀(5/12放映)ですね。 >打ち込んでいったプログラムをそれなりにリアルタイムで具現化というか、どういう動作ができているかっていうのを確認しながらできるものが主流なのでしょうか? リアルタイムで無くてもプログラムの検証は逐一必要です。 XCODEはオブジェクト指向IDEの一つで各種パーツ(オブジェクト)に対しどの様な処理をするかを作成する物です。 (何をどうするか) PC系のIDEは(どうするか何を) その昔は或る程度出来上がった時点で検証しましたが、今はテンプレート毎に検証し、 それらを統合する事で、完成する様です。 尚:Xcode最新版はMacOSX10.9で有ればAppStoreから無償で購入出来ます。 旧バージョンは『開発者プログラム有償会員』で無ければ購入出来ないです。

関連するQ&A

  • マックでCプログラミングを

     タイガーにはxcodeというものがついてきて、(それがなにかもよくわからない素人ですが)私も、何かプログラムして創造的なことをやってみたいと思うようになりました。  そこで、マック上でC言語を用いたプログラミングを行うのに、推薦の参考書、ホームページ等を教えていただけませんか?

    • ベストアンサー
    • Mac
  • プログラミング | そもそも・・・・

    超ド級の初心者がPythonというプログラミング学習を始めているのですが・・・ 言語に関係なく、そもそものところで、プログラムに関する用語をまとめているサイトとかないのでしょうか? たとえばコンパイルとかインタープリターとか。英訳して大体の感じはつかめますが、正確にどういったものかってのが、ド級の初心者には「?」「??」「???」です。 初心者用のサイトや書籍などをみても、そういったワードがぽんっとでてたりします。 勉強不足は棚に上げますが、完全な初学者を対象にしているのに、そんなのひどい。と思います。 プログラムに必要な基礎知識みたいなのがわかるといいのに。 どうすれば学べますか?ご回答お願いします。

  • プログラミングについて。

    プログラミング初心者です。 ちょっと興味があり、プログラミングの勉強をしています。 テキストベースでプログラムを書いていったとして、どうやってGUIベースにすればいいのでしょうか? Linux上で簡単なプログラムをつくってコンパイルしましたが、コマンドから実行するともちろんCUIでの実行になります。 どうすれば、GUIベースで作れるのでしょうか。 言語以外の知識(専用ソフトウェア等)を必要とするのですか。 それとも、htmlのように画像などを読み込ませ完成させるのでしょうか。 iPhoneアプリ製作などは XCodeなどがありますが、プログラマーとして仕事をしている人は基本的にそのような専用ソフト上でプログラミングしているのでしょうか。

  • プログラミングとコンピュータについて

    プログラミングとコンピュータについて 大学でプログラミング(C言語)を勉強をしててふと思いました プログラミングでどうやってCPUとかメモリとか、そういったコンピュータの深い部分を操作できるのでしょうか? すみません 抽象的でどう説明したらいいかわかりません 簡単なプログラミングだったらカレンダーとか電卓とか作れますが、これらのプログラムってCPUとかメモリとかOSとかの根本的な部分があればこそ成り立つものですよね 例えばCPUの状態を表示するソフトウェアだったりレジストリを削除するツールだったり、こういうプログラムってプログラムが直接コンピュータの根本的な部分と直結してるってことですよね? つまりハードとソフトの境目がどのような構造なのかよくわからないって感じですかね ソフトを作るのはプログラミングだけどソフトとハードを繋げるのもプログラミング ゲームとかスクリーンセーバーとか電卓とかを作っても、これでどうやってwindowsやLinuxは作れたんだろう?って思ってしまいます C言語や他のプログラミング言語を学んでいけば自ずと理解できるものなんでしょうか? 無知は承知で質問します どうにも不思議で、しかし腹立たしくてむずがゆいです 誰か教えてください、お願いします

  • プログラミング不要論とプログラマーの未来

    プログラミングに関して質問があります。 私はプログラミングに興味があり、一からプログラミングを学ぼうと考えているのですが一つ気がかりなことがあります。 最近アプリ開発等で、プログラミング言語を知らなくてもアプリを作れてしまうようなツール(App Inventor等)ができてきました。 私はこのようなツールが沢山作られてくると、最終的にはウェブサービスを作る上でプログラミング言語を学ぶ必要性が無くなってくる ような気がします。 もちろん、このような便利なツールを作る天才的なプログラマーは生き残るでしょうが、そのような人達以外、つまり一般的なウェブサービスを提供している企業の技術系の社員は将来的にプログラミングスキルはいらなくなってくるのでしょうか? そう考えると、いま必死になってプログラミングを勉強しても、数年後、「ウェブサービス作るのにそんなスキルはもういらないよ」となってしまう気がしています。この認識は間違っているでしょうか? 是非ご回答いただけたらと思います。 ちなみに私は今現在、プログラミングやIT技術、業界知識に関しては全くの素人です。 よろしくお願いします。

  • Macでプログラミング

    お世話になっています。 現在Windowsを使用していますが、Macに買い替えを検討しています。ただ、来年から就職するのですがJavaなどの言語を 使用してプログラムを作成することもある仕事です。そこで質問なのですが、MacでもWindowsと同様にプログラムを記述 したり動作させることは出来るのでしょうか?先輩の話だと、自宅で仕事をするようなことは無いようですが勉強のため 独学でJavaやC++など学びたいと考えています。Macに関しては素人で初歩的な質問かと思いますが、宜しくお願いします。

    • ベストアンサー
    • Mac
  • Xcodeについて

    Xcodeについて プログラミングを独学で勉強しています。macを買ったので、最近 Objective-cの勉強を始めました。 以前は、PHPなども触ったことがあります。 それで今わからずに困っているのは、Xcodeでは、変数の値を 見る方法には、どういうものがあるのでしょうか? 例えば、PHPだと、echo($変数); や var_dump($変数); で 見れたのですが、Xcodeの場合どうしたら良いのかがわかりません。 NSLog(@"内容"); っていうのを本でみたんでやってみたのですが、 どこにも表示されないようです(とはいえ、それがそもそもどこに 表示されるのかがわかっていないのですが、コンソールを見ても 何も出ませんでした)

  • プログラミング言語に詳しい方お願いしますm()m

    いつもお世話になります。 プログラミング言語を全く知らない素人なのですが、 最近ロボットマウスというソフトを知り、パソコンの自動化に感動しました。 そこで、自分でプログラミング言語等を使って作れば、自分の作りたいものが作れることまで知ったのですが、調べていくうちに、プログラミング言語によって、得意、不得意があるということを知りました。 そこで、自分の作りたいと思っているツールが何の言語なら適しているのか、ご教授いただきたく質問させていただきました。 自分の作りたいツールなのですが、ウェブ上にあるURLや、記事の内容、価格等書かれているものをエクセルに引っ張ってデータ入力を自動でさせたいです。 プロセスとして、まず作ったツールのアプリを起動させたら、エクセルを自動で開いて、「○○のカテゴリを選んでください」等のメッセージを出して選ぶ。 その後自動でブラウザを開いて、そのサイトに自動で行き、○○のカテゴリの引っ張ってきたい記事の部分を選んだカテゴリ検索エクセルに引っ張ってデータ入力も自動でさせるには、どのプログラム言語が適しているのでしょうか? また、ロボットマウス等の自動化のツールが何の言語でできているかも合わせて教えて頂けると非常にうれしいです。 ど素人なのでうまく伝えきれていないかもしれませんが、よろしくお願いします。

  • プログラミング初心者です

    学校の授業で、コマンドプロント上で簡単なプログラミング(for文、while文、if文、関数作成)といった簡単なものは実習したことがあります。 ただ、プログラム本文の前の、定義付けや、データの受け渡、データの種類といったことはほとんど理解できていません。 さきざき、波形を処理するようなプログラムをいじるかもしれないので(csvファイルからFFT処理、マップ作成、データ結合など)、勉強しておきたいと考えています。 ・プログラムを開発する環境の詳しい説明(コンパイラ、実行の仕方などが詳しく書かれている) ・プログラミングの方法 ・ファイルやデータの種類の説明 など プログラミング+開発環境全体について初心者でもわかるような詳しい説明がされている書籍を紹介してほしいのですが。 使ってみてわかりやすかったと思われる本でも教えてください。 本当にど素人なので質問内容が尻切れの内容でしたら申し訳ないです。 色々間違っているかもしれないので補足がありましたらよろしくお願いします。

  • Cでネットワークプログラミングをするには?

    C++とwin32APIを勉強中の者です。 早速質問なのですが、C言語でネットワークプログラミングを行うにはどうしたらいいのでしょうか? 通信にも色々あるのでしょうが、例えばサーバーに接続したりだとか、PC同士で通信(遠距離や近距離)を行ったりだとかするソフトはどのように実装されているのでしょうか。場合によっては自分でサーバーを開設しなければならないといったこともあるんですかね? というのも将来作りたいと思っているソフトがあって、そのソフトがサーバーから情報を取得したりPC同士での通信(電話みたいなことをしたい)を行うようなプログラムなのですが、通信についてはまったくの素人で、何から勉強したらいいのか分からない状態です。 主な通信にはこんな技術が使われていて、それをプログラムで使うにはこんな知識が必要、みたいなことを教えていただけたら幸いです。 回答よろしくお願いします。