Submit Search
Upload
Unity3dにおけるus c# boo比較
•
18 likes
•
11,002 views
Nobukazu Hanada
Follow
Unity-Fukuoka勉強会のLT資料だったものです。後日これの完全版を上げます。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 64
Download now
Download to read offline
Recommended
FsCheckコトハジメ
FsCheckコトハジメ
Kazuhiro Matsushima
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
parrotstudio
私の愛したコマンドラインツール
私の愛したコマンドラインツール
Kazunari Takahashi
Should we write such like plugin or not?
Should we write such like plugin or not?
SATOSHI TAGOMORI
Why did I become a ruby committer
Why did I become a ruby committer
Masaya TARUI
LTSの準備をチョットやってみた。lxcチョット触ってみた
LTSの準備をチョットやってみた。lxcチョット触ってみた
Naoki Matsumoto
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
parrotstudio
Fluentとmongoで作るサービス
Fluentとmongoで作るサービス
直也 堀松
Recommended
FsCheckコトハジメ
FsCheckコトハジメ
Kazuhiro Matsushima
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
「もうなにもこわくない」関数型言語 〜ふつうのプログラマが関数型言語を知るべき理由・reload〜
parrotstudio
私の愛したコマンドラインツール
私の愛したコマンドラインツール
Kazunari Takahashi
Should we write such like plugin or not?
Should we write such like plugin or not?
SATOSHI TAGOMORI
Why did I become a ruby committer
Why did I become a ruby committer
Masaya TARUI
LTSの準備をチョットやってみた。lxcチョット触ってみた
LTSの準備をチョットやってみた。lxcチョット触ってみた
Naoki Matsumoto
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
parrotstudio
Fluentとmongoで作るサービス
Fluentとmongoで作るサービス
直也 堀松
JSerのためのHaxe入門
JSerのためのHaxe入門
Nobukazu Hanada
Swift勉強会。はてなとかclosuresについて
Swift勉強会。はてなとかclosuresについて
Nobukazu Hanada
Callback DSL on Haxe
Callback DSL on Haxe
Nobukazu Hanada
Swiftで、かなり微妙な型クラス
Swiftで、かなり微妙な型クラス
Nobukazu Hanada
Asset bundleなどの、Unity3d基礎知識
Asset bundleなどの、Unity3d基礎知識
Nobukazu Hanada
Jenkinsのおっさんを眺めるだけ
Jenkinsのおっさんを眺めるだけ
Nobukazu Hanada
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
2016年にGameJamで使って助かったと言われたアセット50選
2016年にGameJamで使って助かったと言われたアセット50選
Takashi Jona
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
Hiroyuki Tanaka
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Hiroyuki Tanaka
HoloLens x Graphics 入門
HoloLens x Graphics 入門
hecomi
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
まべ☆てっく運営
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
NDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki
WPFことはじめ
WPFことはじめ
Hiroshi Maekawa
20130310 jaws tokai2013
20130310 jaws tokai2013
Yuto Ogi
Moff 20130309 jawsug_santo_v01
Moff 20130309 jawsug_santo_v01
Motohiro Yonesaka
マルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイント
Masayuki Maekawa
サラリーマン
サラリーマン
Koichiro Ohba
iPhone develop for Beginner
iPhone develop for Beginner
Sachiko Kajishima
WordBench Osaka 春の大翻訳祭り
WordBench Osaka 春の大翻訳祭り
Takayuki Miyauchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
More Related Content
Viewers also liked
JSerのためのHaxe入門
JSerのためのHaxe入門
Nobukazu Hanada
Swift勉強会。はてなとかclosuresについて
Swift勉強会。はてなとかclosuresについて
Nobukazu Hanada
Callback DSL on Haxe
Callback DSL on Haxe
Nobukazu Hanada
Swiftで、かなり微妙な型クラス
Swiftで、かなり微妙な型クラス
Nobukazu Hanada
Asset bundleなどの、Unity3d基礎知識
Asset bundleなどの、Unity3d基礎知識
Nobukazu Hanada
Jenkinsのおっさんを眺めるだけ
Jenkinsのおっさんを眺めるだけ
Nobukazu Hanada
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
2016年にGameJamで使って助かったと言われたアセット50選
2016年にGameJamで使って助かったと言われたアセット50選
Takashi Jona
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
Hiroyuki Tanaka
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Hiroyuki Tanaka
HoloLens x Graphics 入門
HoloLens x Graphics 入門
hecomi
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
まべ☆てっく運営
Viewers also liked
(12)
JSerのためのHaxe入門
JSerのためのHaxe入門
Swift勉強会。はてなとかclosuresについて
Swift勉強会。はてなとかclosuresについて
Callback DSL on Haxe
Callback DSL on Haxe
Swiftで、かなり微妙な型クラス
Swiftで、かなり微妙な型クラス
Asset bundleなどの、Unity3d基礎知識
Asset bundleなどの、Unity3d基礎知識
Jenkinsのおっさんを眺めるだけ
Jenkinsのおっさんを眺めるだけ
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
2016年にGameJamで使って助かったと言われたアセット50選
2016年にGameJamで使って助かったと言われたアセット50選
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
GCS2013 リーンソフトウェア開発から見るゲーム開発7つのムダ
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
HoloLens x Graphics 入門
HoloLens x Graphics 入門
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
Similar to Unity3dにおけるus c# boo比較
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
Yoshio Hanawa
NDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki
WPFことはじめ
WPFことはじめ
Hiroshi Maekawa
20130310 jaws tokai2013
20130310 jaws tokai2013
Yuto Ogi
Moff 20130309 jawsug_santo_v01
Moff 20130309 jawsug_santo_v01
Motohiro Yonesaka
マルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイント
Masayuki Maekawa
サラリーマン
サラリーマン
Koichiro Ohba
iPhone develop for Beginner
iPhone develop for Beginner
Sachiko Kajishima
WordBench Osaka 春の大翻訳祭り
WordBench Osaka 春の大翻訳祭り
Takayuki Miyauchi
Similar to Unity3dにおけるus c# boo比較
(9)
Testing PHP extension on Travis CI
Testing PHP extension on Travis CI
NDS31 はじめてChrome App
NDS31 はじめてChrome App
WPFことはじめ
WPFことはじめ
20130310 jaws tokai2013
20130310 jaws tokai2013
Moff 20130309 jawsug_santo_v01
Moff 20130309 jawsug_santo_v01
マルチデバイス対応のコーディング・マークアップのポイント
マルチデバイス対応のコーディング・マークアップのポイント
サラリーマン
サラリーマン
iPhone develop for Beginner
iPhone develop for Beginner
WordBench Osaka 春の大翻訳祭り
WordBench Osaka 春の大翻訳祭り
Recently uploaded
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Recently uploaded
(9)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Unity3dにおけるus c# boo比較
1.
US,C#,Boo比較
九州大学芸術工学部3年 花田 恒一 13年4月3日水曜日
2.
じこしょうかい!
Nobukazu Hanada @nobkz 好きな言語 LISP Unity3dはとりあえず1年ぐらい 13年4月3日水曜日
3.
ちょっと、謝っておきたい事が
ありまして... 13年4月3日水曜日
4.
このスライドを作成した時の事 13年4月3日水曜日
5.
調子に乗って、どんどんスライドを
追加していた結果 13年4月3日水曜日
6.
200枚超えちゃいました! 13年4月3日水曜日
7.
どう考えてもLTの枚数ではないですね... 13年4月3日水曜日
8.
なので、すごく内容を圧縮&削ってます 13年4月3日水曜日
9.
えっと、ところどころ飛躍してたりするかも
しれないのでご容赦ください (なんとか、60枚程度に圧縮しました) 13年4月3日水曜日
10.
Unityのサポート言語につい 13年4月3日水曜日
11.
サポートされている言語
JavaScript ( UnityScript ) C# Boo 13年4月3日水曜日
12.
先に結論から書くと...
UnityScript ( JavaScript ) ゲームオブジェクトのふるまいが書きやすい C# 主にゲームロジックやらライブラリやら(ry Boo Unity3d最強の言語 13年4月3日水曜日
13.
比較するまえに 13年4月3日水曜日
14.
Unityアーキテクチャ
Unity Engine Unity Editor Unity3d .NET Framework / Mono 共通言語基盤(CLI) 13年4月3日水曜日
15.
CLIとは
.Net Frameworkの基幹を構成する実行コードや実行環境などに ついてMSが策定した仕様 CLI、C#言語共に仕様は公開されている。 Microsoft .NET Framework MSの商用実装 Mono オープンソースの実装 13年4月3日水曜日
16.
Monoとは
.NET Framework互換環境 CLIのオープンソースの実装 Javaと同じ中間コード方式 (JVM => CLR, バイトコード => CIL ) 13年4月3日水曜日
17.
中間コードが生成できれば、
どんな言語だって使える 13年4月3日水曜日
18.
中間コード化されるので言語
による速度の差はない どの言語も適度に最適化すればおk 13年4月3日水曜日
19.
US,C#,Boo各言語紹介 13年4月3日水曜日
20.
とりあえず、JS(US)から 13年4月3日水曜日
21.
JavaScriptはみんな知ってるよね?
けど、Unityの「JS」はJSじゃないんだ。 13年4月3日水曜日
22.
UnityScriptと呼びなさい! 13年4月3日水曜日
23.
と、いうわけでUSとJSの違いをまとめてみたお! (ちょっと、過去のVersionのUnity3dで検証したから
ところどころ変わってるかも) 13年4月3日水曜日
24.
UnityScript! JSって呼ぶな!
型指定できる 標準グローバルオブジェクトが存在しない argumentオブジェクトが存在しない prototypeが存在しない classがあるよ 13年4月3日水曜日
25.
US!JSって呼ぶな part2
ダッグタイピングできない interfaceがある なのに、抽象クラスが書けない 最新版では書けるみたい メソッド名がpascal記法 関数のオーバーロードが出来る 13年4月3日水曜日
26.
US!JSって呼ぶな part3
動的なメンバの追加はできない 一度に複数の変数を宣言できない generics method,class が中途半端に使える 13年4月3日水曜日
27.
つまりは、USはJS風のC#! 13年4月3日水曜日
28.
そもそもUnityScriptは、CLI上で走る言語Boo
をDSLホスト言語として 作ったJavaScript風の言語。 要するにBooの劣化版 13年4月3日水曜日
29.
C#について 13年4月3日水曜日
30.
ご存知だと思うからパス! 13年4月3日水曜日
31.
あ、どの言語にも言えることだけど
GCの動きだけは注意してね 知らない間にメモリリークしてるかもよ 13年4月3日水曜日
32.
Boo言語について 13年4月3日水曜日
33.
Boo言語とは?
Pythonライクな、CLI上で走る言語 静的片付け C#よりも短く書ける 強力なメタプロ RodrigoB.DeOliveira 設計、開発 13年4月3日水曜日
34.
Boo言語とは( Pythonぽい)
インデントが文法 リスト内包表記ができる ダックタイピングができる 匿名関数が書きやすい気がする。 13年4月3日水曜日
35.
BooについてC#より
型定義 ちゃんとしたinterface プロパティメソッド ちゃんとしたgenerics 13年4月3日水曜日
36.
Booのソースコード 13年4月3日水曜日
37.
サンプルとしてTetromino(テトリスミノ)
クラスの実装 13年4月3日水曜日
38.
これをコンパイルして、DLLファイルを
C#に逆アセンブリしてコード整形 してみた。 13年4月3日水曜日
39.
なんか
ごちゃごちゃ 13年4月3日水曜日
40.
Pythonのインデント文法の
良さが分かるよねー 13年4月3日水曜日
41.
Unity3dのスクリプティングにおける、
各言語の差異について 13年4月3日水曜日
42.
position.x = 1のについて 13年4月3日水曜日
43.
C#で書いたやつ 13年4月3日水曜日
44.
安定のエラー 13年4月3日水曜日
45.
JS
Boo これらはOK。エラーは出ない。 13年4月3日水曜日
46.
なんでエラーなるのか?
Vector3dは参照型のクラスない Vector3dは値型の構造体 だからエラーがでる。 13年4月3日水曜日
47.
じゃあ、なんでBooやUSでエラーが出ないのよさ? 13年4月3日水曜日
48.
なんか、コンパイル時にUnity3dが
なんとかしてくれるらしいよ。 13年4月3日水曜日
49.
逆アセンブルすると分かるよ 13年4月3日水曜日
50.
つまり、ちゃんとコンパイル時にちゃんと
「構造体をコピーしたものを修正して、 再代入」 するように変換してくれてるんだ 13年4月3日水曜日
51.
USの場合は、ホスト言語がBooなので、
同様の処理が走るよ。 13年4月3日水曜日
52.
Booが神なことについて 13年4月3日水曜日
53.
USまとめ
USは結局のところJavascript風のBoo US独自言語なので、Unityに依存しないライブラリを 作れない。 再利用がなかなかしずらい。 13年4月3日水曜日
54.
C#まとめ
一応なんでもできる。 position.xの書きづらさ Booの言語機能と比べると、若干劣る。(リスト内包 表記など) 13年4月3日水曜日
55.
Booまとめ
神言語( Unity3dでは最も良い言語だと思う) 悲しいかなBooを使う人がなかなかいない ドキュメントが少ない MonoDevelop-UnityのBooで、IDEがちょっとオカシ イ。(補完とか、テンプレートを開くところ) 13年4月3日水曜日
56.
ちょっと補足
スクリプトのライブラリ生成場所 US Library/ScriptAssemblies/Assembly-UnityScript.dll C# Library/ScriptAssemblies/Assembly-CSharp.dll Boo Library/ScriptAssemblies/Assembly-Boo.dll 13年4月3日水曜日
57.
補足2
ちなみに、外部ライブラリはAssetとして登録 そうすると自動的にプロジェクトの参照に追加され る 13年4月3日水曜日
58.
さらに補足:スクリプトの戦略として 13年4月3日水曜日
59.
自分の場合
できるだけ、Unity3dに依存しない、ポータブルな外 部ライブラリを作ることを心がけてます。 というか、プログラミング全般として、ロジックの 分離って大事だよね。 外部ライブラリはF#か、Booで僕は書くようにしてい ます(どーでもいい) 13年4月3日水曜日
60.
依存関係に注意
Unityへの依存 .Netへの依存(バージョンとか) プラットフォームの依存 13年4月3日水曜日
61.
更に補足(最後です) 13年4月3日水曜日
62.
異なる言語間アクセス
基本的に、US、C#、Booは同じアセンブリにコンパ イルされないので、単純にアクセスできない。 特別なフォルダとしてStandard Assets、Pro Standard Assets、Pluginsフォルダのスクリプトが一番最初に コンパイルされる 13年4月3日水曜日
63.
異種言語間アクセスその2
よって異なる言語のコードを参照したい場合 Standard Assets、Pro Standard Assets、Pluginsフォ ルダに置いてCILにコンパイルさせて、参照するよう にする。 例えば、C# -> USにアクセスしたい場合、USをこれ らのフォルダに格納する。(実演。) 13年4月3日水曜日
64.
ご清聴ありがとうございました。 13年4月3日水曜日
Download now