X



「ライブラリ」「フレームワーク」「API」「SDK」
■ このスレッドは過去ログ倉庫に格納されています
0009デフォルトの名無しさん
垢版 |
2018/07/04(水) 12:21:20.26ID:gYVmeypi
もうさ、モジュールで統一しようぜ
0012デフォルトの名無しさん
垢版 |
2018/07/04(水) 12:23:47.96ID:ELwJQM9F
SDKというライブラリ群がある。
ライブラリにはAPIがある。
APIからフレームワークを作られてる。

こんな感じ?
0020デフォルトの名無しさん
垢版 |
2018/07/04(水) 12:33:00.23ID:kLDcXF0s
まあただのランタイムを仮想マシンと言い張って初心者を騙して高揚させてる業界ですから
0021デフォルトの名無しさん
垢版 |
2018/07/04(水) 15:02:45.50ID:rYQuTGUK
ライブラリの英語の意味を考えよう

1 図書館。図書室。
2 映画・写真・レコードなどで、資料として収集し保管してあるもの。また、その施設。
3 個人の蔵書。文庫。
4 叢書?(そうしょ)?。文庫。シリーズものの出版物の名称に用いる語。「世界名作ライブラリー」


つまりは「なにか」を "集めた" ものだ
0022デフォルトの名無しさん
垢版 |
2018/07/04(水) 15:04:43.97ID:rYQuTGUK
インターフェースの英語の意味を考えよう

1(境)界面.
2 (複数の学問・研究分野の)共通問題,学際事項
3 (異なる種類のものの間の)境界,接触面,接点
4 (異種のものの間の)対話,連絡,意思疎通
5 (複数のものを)円滑につなぐもの,仲介するもの,仲立ち;橋渡し

つまりは「なにか」と「なにか(あなた)」をつなぐものだ
0023デフォルトの名無しさん
垢版 |
2018/07/04(水) 15:05:57.51ID:rYQuTGUK
フレームワークの英語の意味を考えよう

1 骨組み,構造物.
2 枠組み;(組織の)構成,構造,体制
3 額縁の製造[販売].
4 枠を用いて作った作品(刺繍ししゅうなど);枠細工品.
5 (工事用)足場;骨組みの工事.
6 (果樹の)枝;主枝.
7 =frame of reference.

つまりはなにかのための「枠組み」だ
0024デフォルトの名無しさん
垢版 |
2018/07/04(水) 16:43:44.34ID:7aH0kDWz
APIはあくまでインターフェース
インターフェースが同じでも実装が異なることはあり得る
例えばlibeditはreadlineのBSD版として作られた。これらは別のライブラリだが同じAPIを持つ

SDKは、プラットフォーマーがサードパーティに向けて提供する開発キット
APIの定義やそれを実際に使うためのライブラリは勿論だが、その他のツール類やドキュメント諸々も含む

フレームワークは……曖昧だが
アプリケーション全体の構造を決めてしまうような大掛かりなライブラリみたいなイメージ?
0025デフォルトの名無しさん
垢版 |
2018/07/04(水) 16:52:49.84ID:n4h9hTEh
このゲームオネシャス
https://goo.gl/2UVYAA
0026デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:45:55.85ID:gFgZc5FG
U7R
0027デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:58:47.50ID:gYVmeypi
よし、モジュールで統一しよう
0028デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:52:29.67ID:9tme3F9y
フレームワークは「穴埋め式」。
ライブラリは「呼び出し式」。
APIは、それとは独立して動いているものを呼び出すよってこと。
SDKは、何かを作るときにいるものの一式。
0030デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:47:16.95ID:YJbjvjoP
>>28
独立して動いているものを呼ぶのは一般にRPCだ
WebAPI想定なんだろうが、WindowsのAPIには単なるライブラリ関数でしかないものも結構ある
APIは呼び出し方の規約であって中身は関係ない
0032デフォルトの名無しさん
垢版 |
2018/07/06(金) 13:42:12.50ID:F9o4Pz4O
>>30
> WindowsのAPIには単なるライブラリ関数でしかないものも結構ある
それお前がAPIとライブラリをごっちゃにしてるだけだろ

例えばWindows APIであれば、C言語からではなく例えばVBなどから呼び出すこともできる
だから特定の言語には依存しない。それがAPIであって他の言語から呼び出せないようなものは
単なるライブラリ関数であってAPIではない
0035デフォルトの名無しさん
垢版 |
2018/07/06(金) 18:51:18.22ID:F9o4Pz4O
例えば、Windows APIというものがある。
それをある言語から呼び出すための "ライブラリ" を作ったとする。

その場合、"Windows API" は "API" だし、
その "ライブラリ" は、当然 Windows APIを呼び出すための "ライブラリ"
ライブラリは API ではない

また、この場合は、Windows APIであるが、これが何かしらの "ライブラリ" であったとする。
その場合、"ライブラリ" は "ライブラリ" であり、
その "ライブラリを呼び出すためのライブラリ" も、"ライブラリ"
0039デフォルトの名無しさん
垢版 |
2018/07/07(土) 17:00:03.56ID:i11AJyJz
まずWindowsSDKはそもそもC/C++向けにしか提供されていない
ヘッダファイルの中を見ればわかるがインライン関数も結構あるし.libにある関数もある
マクロも一杯あって、全部がWindowsSDKの提供するWindows API

VBがDLLを呼び出す能力があるからといってC向けに用意されたAPIの全部が使えるわけでもない
VC++とABI互換なツールチェインを用いる処理系なら.libもリンクして使えるが
ヘッダにしか無いインライン関数やマクロはC/C++と文法互換な言語(Objective-C等)からしか使えない
こんなのは単に各処理系のFFI機能経由で使える使えないの話で、あくまでSDKはC/C++用

Javaのライブラリの定義もJava APIと呼ばれているし
もっと言えばWeb APIだってソケットにアクセスできない処理系からは使えんし

つまりAPIの定義の話とどの処理系から使えるかは別の話で
APIだからといって言語から独立していなきゃならないなんてことはない
0040デフォルトの名無しさん
垢版 |
2018/07/07(土) 17:50:03.02ID:rLNXLDeE
全部違うぞ
0041デフォルトの名無しさん
垢版 |
2018/07/07(土) 18:06:09.50ID:8TH/j15j
>>39
Windows APIをVBから呼び出すための定義ファイルがSDKに含まれてた時期もあった気がするが、まあそれはいいとして。

まず、Windows APIを提供しているのはWindowsというOS自体であってSDKではない。ここ重要。

Windows SDKはOSのAPIをC言語等から呼び出すための支援ツールや定義をまとめたキットなのであれば便利だが、APIの仕様さえ分かればSDKなしでもAPIを呼び出すことも原理的には可能だ。
0044デフォルトの名無しさん
垢版 |
2018/07/07(土) 19:43:01.67ID:i11AJyJz
感覚的にはそうなんだろうが、GetCurrentFiberやExの付かないCreateWindowだってマクロだからな?
Interlocked系関数もインライン関数、ライブラリ実装とVC++のintrinsicが混じってて.dllには行かない
0046デフォルトの名無しさん
垢版 |
2018/07/07(土) 20:54:21.63ID:8TH/j15j
ああそうか。
真のAPIはCreateWindowWとかなんだな。
SDKやコンパイラが薄いラッパーや代替実装を用意して、そっちをAPIと称してる感じ。
0047デフォルトの名無しさん
垢版 |
2018/07/07(土) 21:59:36.46ID:i11AJyJz
>>46
CreateWindowWもマクロだ
user32.dllがエクスポートしているのはCreateWindowExA/Wだぞ

Windows APIにはこんな感じで元はDLLや.libにあったものが
いつの間にかマクロやインライン関数になった例もちょこちょこある
0048デフォルトの名無しさん
垢版 |
2018/07/07(土) 22:19:01.26ID:8TH/j15j
>>47
あらら、ほんといつの間にだな。
ただOS側には古いAPIの口も残ってるはず。
そうでないと古いWindows SDKで作ったプログラムが動かなくなる。
MS次第ではあるが。
0050デフォルトの名無しさん
垢版 |
2018/07/09(月) 22:49:40.76ID:rStS+x4i
アホみたいに分類しようとするからおかしいだよ。
全部モジュールなんだよ

そんなんだからプログラミング教育が進まないんだよ。
本物のプログラマならいかに簡略化するかだけ考えろ。

その無駄な労力を実用的なビジネスロジック開発に注ぎ込めよ。
0051デフォルトの名無しさん
垢版 |
2018/07/09(月) 22:54:43.03ID:rStS+x4i
結局のところ、全部「モジュール」だったCOBOLを否定して新しさを演出するためだけに作られた言葉たちなんだよ。
それによりアホに新しいシステムが売れるんだよ。
めぼしい機能を一通り実装したら定期的にプラットフォームを移行させて稼ぐしかなくなるからね。
0053デフォルトの名無しさん
垢版 |
2018/07/10(火) 06:58:35.49ID:j/SSeYu6
>>51
C言語ライブラリの個々のファイルはモジュールっていうしなー
それぞれの流儀だべ結局は
0054デフォルトの名無しさん
垢版 |
2018/07/10(火) 07:17:23.04ID:zokwGzp/
アメリカ人にとってはくだらない話題に見えるんだろうな。
ライブラリ=書庫 みたいに捉えてるんだからな。

書庫
汎用書庫
共通書庫
オブジェクト書庫
クラス書庫
モジュール書庫

ライブラリと聞いたら、あぁ書庫ね。集めて置くところね
ぐらいにしか思わない。何も迷わないんだろうな
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況