[過去ログ] Flutterやろうよ!!! 2 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
801(2): デフォルトの名無しさん (ワッチョイ ed61-v8zp) [sage] 2021/07/09(金)01:36 ID:1/fSqXmP0(1/3)
>>791
使えることと基本にしていることとは違う。
Androidも、Cは使えるが、APIの基本は Java/Kotlin。
Cを使う場合でも Java/Kotlin が必須となる。
一方、Windows/Linux/Unix は、Javaも使えるが基本はC。
Cを使う場合、Cだけで済む。
Cは、マシン語と直結しているので、Java/Kotlinを含めたあらゆる
言語と相性が良く、Javaだけで作る場合のモードチェンジも必要ない。
一方、Java/Kotlinは、マシン語と直結していないので、
他の言語とはとても相性が悪く、必ず JNI というモードチェンジ
の仕組みを使わなければ成らず、Cだけで書こうと思っても、
必ずJNIを使ったモードチェンジをある程度の頻度で行うことが必須となる。
802: デフォルトの名無しさん (ワッチョイ ed61-v8zp) [] 2021/07/09(金)01:47 ID:1/fSqXmP0(2/3)
>>801
[補足]
1. OSのAPIがCを基本としている ---> APIがマシン語のインターフェースを基本としている
--->どんな言語でもモードチェンジ無しで最高効率で動く。
(Cは、マシン語と直結しているので、ABIでもありAPIでもある。
マシン語とCの違いが実質的に無いと言えば無いので、Cというよりも、マシン語の
インターフェースであり、それより高速なものが存在して無いとも言える。
ありとあらゆる言語の母体である。)
2. OSのAPIがJava--->他の言語を使う場合、Javaとの間でモードチェンジが
必須となり、最高効率で動くことは出来ない。
Javaのクラスやメソッド群をAPIと考えると、それらはマシン語ではないので、
APIとABIに意味の開きが出てくるのが、1とは違うところである。
Javaは、Cとは違ってマシン語とは言えないので、他の言語の母体とはならず、
他の言語を使う場合、Java言語で、他の言語のインタプリタを直接作る場合は除き、
いったん、マシン語モードに切り替えるために JNI が必要となる。
1の場合、Cがマシン語とも言えるのでCを基本としているといえるのかどうか
意見が別れるとも言える。
803: デフォルトの名無しさん (ワッチョイ ed61-v8zp) [sage] 2021/07/09(金)01:54 ID:1/fSqXmP0(3/3)
[補足]
WindowsやLinuxは、OSのAPIはC風であり(それはマシン語のインターフェースでもある)、
それしかサポートしていないとも言えるが、Cが余りもマシン語と近いために
他のあらゆる言語は、サポートしなくてもほぼ最高効率で動くことが出来る。
サポートしていなくてもあらゆる言語が Windows で動き、あらゆる言語で
アプリケーションを作ることが出来る。
一方、AndroidがOSとして基本サポートしているのは Java/Kotlin のみ。
Cは重要すぎるため、社としては、NDKでJNIを通じてサポートはしていると
言えばサポートしてはいるが、それでもアプリの基本が Java/Kotlin であるため
必ずモードチェンジが必要となる。
一方、Fuchsiaの場合は、OSがサポートしているのは、CとDartだと書いてある。
これは、他の言語でアプリが作れないことを意味するのではない。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s