NEWSPRESS

プログラミングに詳しいやつ、「フレームワーク」「ライブラリ」「モジュール」って何が違うの?

1 :名無しさん@涙目です。:2018/08/16(木) 01:43:01.61 ID:6x85GVQV0.net ?PLT(12015)
http://img.2ch.net/ico/folder1_03.gif
フレームワーク(英語:framework)とは、プログラミングの世界における方言のひとつで「ライブラリ」や「API」、
「SDK」、「モジュール」などとも呼ばれる。標準語は「ライブラリ」である。

C言語などでは「ライブラリ」、JavaやC#などでは「フレームワーク」という言葉を使うことが多い。
ちなみに偏屈なプログラマが多いCOBOLやPerl、Rubyの人たちは「モジュール」だと言い張って食い下がらない。

フレームワークという言葉は非常に曖昧な表現であり、ときに不毛な論争となることがある。

ある輩は「フレームワークとは壮大なライブラリのことである」と主張する。
ただし、どの規模から「壮大」とするかは未確定である。

また、ある輩(マイクロソフトのMSDN上の説明文)は「ライブラリのうち、定形処理をまとめたもの、ソースコードの
書き方を半強制するものがフレームワークである」と主張する。こちらはライブラリの方が大きな存在であり、
フレームワークは小分類であるとしている。

これらの意見をまとめると、結局のところ同じものであり、方言であるという結論に達する。
つまりIT業界ではよくある「なにか新しくて壮大な感じ」を宣伝・演出するために生み出された言葉のひとつであり、
いわゆる「リネーム商法」であるといえる。JavaやC#のただのインタプリタを「仮想マシン」といったりするのと
同じような感じである。

なお、それでも一部の偏屈なプログラマは「ライブラリとフレームワークは別物である」と主張している。
しかしながらそんなものは一般人からしたら「ホモ」と「ゲイ」の違いと同じであり、傍から見たら区別はつかない。
本人達はこだわりがあるらしい。まさに不毛。だからハゲるんだよ。

https://monobook.org/wiki/%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF

160 :名無しさん@涙目です。:2018/08/16(木) 17:17:28.04 ID:c3HVv68+0.net

音楽で例えると

フレームワーク→コード進行
ライブラリ→スコアブック
API→楽器
SDK→楽団
モジュール→フレーズ

77 :名無しさん@涙目です。:2018/08/16(木) 05:47:39.22 ID:zGUR1rAg0.net

ラムダ式 無名関数 クロージャ

130 :名無しさん@涙目です。:2018/08/16(木) 12:25:23.04 ID:IBJFleYM0.net

>>1書いた奴をプログラマとして雇いたくないわ
フレームワークとライラブリの違いならともかくライラブリとモジュールを一緒にする奴と仕事したくない

82 :名無しさん@涙目です。:2018/08/16(木) 07:09:33.84 ID:+twb5pHW0.net

フレームワークをライブラリと同一視しちゃう辺り頭が古すぎるな。
フレームワークは開発環境って言えば通りがいいか。
ライブラリなんてただの圧縮ファイル。
モジュールなんてただの1ファイル。

43 :名無しさん@涙目です。:2018/08/16(木) 01:54:10.90 ID:N/Us/p4E0.net

ください

134 :名無しさん@涙目です。:2018/08/16(木) 14:19:25.91 ID:I2ftqJS40.net

>>5
コードの読み書きが出来るようになればオッケーだよ

全部覚えてるわけじゃないけど
そういう物があるという認識はあって
どこでどう調べれば解決するかの筋道が立ってるレベルでいいと思う

189 :名無しさん@涙目です。:2018/08/17(金) 04:50:51.79 ID:AgGKj0vF0.net

コンパイラ
リンカ
ライブラリアン
デバッガ

57 :名無しさん@涙目です。:2018/08/16(木) 02:07:32.26 ID:ZW6+IlIk0.net

ライブラリは元からあるAPI群で
フレームワークは自作したサブルーチン+APIの、要はこのプログラムの中で使える全部のルーチンみたいなイメージ

13 :名無しさん@涙目です。:2018/08/16(木) 01:47:48.72 ID:N/Us/p4E0.net

ください

206 :名無しさん@涙目です。:2018/08/17(金) 15:39:19.93 ID:RfRzgTF40.net

独学でやってきたせいで
いまいちよく分かってない

211 :名無しさん@涙目です。:2018/08/17(金) 17:05:35.53 ID:GJvowCrx0.net

34で未経験はキツいだろ
雇う方もキツい

12 :名無しさん@涙目です。:2018/08/16(木) 01:47:31.38 ID:N/Us/p4E0.net

ください

159 :名無しさん@涙目です。:2018/08/16(木) 17:15:27.72 ID:VVIr7wEK0.net

ライブラリ→使う側が呼ぶもの
フレームワーク→使う側が呼ばれるもの、制御の反転
モジュール→知らん

183 :名無しさん@涙目です。:2018/08/17(金) 02:30:48.15 ID:ezFVGGB70.net

そういうものに詳しくなると奴隷になるよ、止めとけ

41 :名無しさん@涙目です。:2018/08/16(木) 01:53:53.70 ID:N/Us/p4E0.net

ください

9 :名無しさん@涙目です。:2018/08/16(木) 01:46:27.55 ID:jknL5p5q0.net

ください

124 :名無しさん@涙目です。:2018/08/16(木) 10:49:37.76 ID:HYl8nxjz0.net

SEの転職活動してた頃に
ある会社の面接で「弊社のフレームワークは〜って連呼するから」
会社の中でライブラリをたくさん持ってるのかと聞いてたら
どうやら業務内容のことを指してるようだった
面接中話が通じなかった

70 :名無しさん@涙目です。:2018/08/16(木) 02:49:35.21 ID:I3yLyxZk0.net

>>66
海外版はベガ

157 :名無しさん@涙目です。:2018/08/16(木) 17:05:33.33 ID:TiYqtGnc0.net

出処をみると、プログラマーが実装しなくても初期の物から勝手に、自動に動く部分が多いという意味だったか。
それなら理解できる。

フレームワークとは「枠組み・体制」を表す言葉で,人々が考えたり行動したりするうえでの基本的な仕組みや方針のことを意味します。
本講座では,フレームワークの中でも,ソフトウエアにおけるフレームワークとはなにかを説明していきます。
ソフトウエアのフレークワークとは
「アプリケーションはこのように開発すべし」という基本的な設計方針を,再利用可能なクラスによって示したものです。

ライブラリとはどこが違うのでしょうか。
それは,ライブラリが単にコードの再利用を狙ってているのに対して,フレームワークはアプリケーションの設計レベルの再利用を目的としているのです。

フレームワークの場合には,アプリケーションの骨組みとなる部分が既にフレームワークの中に用意されています。
つまり,フレームワークはアプリケーションの半完成品,テンプレートと言い換えられます。
もっとも難しいアプリケーション設計上の決断が,フレームワーク開発者によってすでになされており,プログラマは単にそのひな型に肉付けをしていくだけになります。

一方のライブラリは,汎用的な機能を提供する再利用可能なクラス群です。
ライブラリをどういった順番で組み合わせて,どんなアプリケーションを構築するか,という設計上の判断はプログラマに委ねられています。

ライブラリの場合,それを呼び出すのはユーザーのコードです。
プログラムをどう動かしていくかという,プログラムの制御に関する主導権は,ライブラリではなくユーザー・コードにあります。

ところがフレームワークでは,ユーザー・コードはフレームワークから呼び出されます。
設計を再利用するということは,フレームワークがメイン・プログラムとなり,ユーザー・コードへの制御を行うことを意味するのです。
https://tech.nikkeibp.co.jp/it/article/lecture/20070205/260697/

187 :名無しさん@涙目です。:2018/08/17(金) 03:04:32.60 ID:gPqSl9QN0.net

>>186
メンバーとして持つんだろw

42 :名無しさん@涙目です。:2018/08/16(木) 01:54:00.54 ID:yCeglFqh0.net

プロジェクトの設計理念が違うだけで同じもんだと思っていいよ
ライブラリは死語になりつつあるけど

66 :名無しさん@涙目です。:2018/08/16(木) 02:25:00.45 ID:w4M4vs+K0.net

>>18

133 :名無しさん@涙目です。:2018/08/16(木) 14:03:30.86 ID:QOeC2Df20.net

牛肉と豚肉と鶏肉の違いだよ

50 :名無しさん@涙目です。:2018/08/16(木) 02:00:05.30 ID:r6cPwsWj0.net

フレームワークは書き方まで指定してくるだろ
ライブラリはお咎めなし
そこの違いだと思ってるが

73 :名無しさん@涙目です。:2018/08/16(木) 03:09:23.21 ID:DIE88vDs0.net

>>56
俺もこの認識だな

185 :名無しさん@涙目です。:2018/08/17(金) 02:43:56.32 ID:i8T9Up0J0.net

>>110
これすこ

185 :名無しさん@涙目です。:2018/08/17(金) 02:43:56.32 ID:i8T9Up0J0.net

>>110
これすこ

95 :名無しさん@涙目です。:2018/08/16(木) 07:59:29.94 ID:j9vwhEpe0.net

>>46
コボルで、それ言ってたな

219 :名無しさん@涙目です。:2018/08/17(金) 18:24:19.51 ID:GDxLNt3m0.net

最初にJavaはきついと思うけどなあ…
特に独学は
仕事でやるか専門学校とかで教わらんと高確率で挫折すると思われる
かといって今はどの言語も敷居高いんだよな
開発環境、バージョン管理、テスト用ツールやら覚えることが多い

その年だと現実的な話をするとCOBOLぐらいしか未経験では受け入れてくれないのではなかろうか…

137 :名無しさん@涙目です。:2018/08/16(木) 15:59:57.89 ID:UWxyAu5d0.net

>>135
javascriptやpythonでデフォルトで準備されてる機能をimportする場合、あれはライブラリってこと?

52 :名無しさん@涙目です。:2018/08/16(木) 02:02:59.45 ID:cPdII67+0.net

みんなライブラリ

188 :名無しさん@涙目です。:2018/08/17(金) 03:09:28.72 ID:OODM0hwL0.net

>>187
それはもはやオブジェクト指向もクソもない普通のライブラリw

105 :名無しさん@涙目です。:2018/08/16(木) 09:24:52.76 ID:TTNrlhuM0.net

>一般人からしたら「ホモ」と「ゲイ」の違いと同じであり、傍から見たら区別はつかない。

>>1のクソ記事書いた奴の世界の一般人とやらは包含とか考えないのか?

192 :名無しさん@涙目です。:2018/08/17(金) 06:33:27.28 ID:U62148uC0.net

フレームワーク 大枠 はみだせない
ライブラリ 公衆便所 勝手になんか増えてる
モジュール パーツ ガンダムの腕がとれたから赤ザクの腕をつけてみたりする

203 :名無しさん@涙目です。:2018/08/17(金) 14:50:33.56 ID:th3Kvvs30.net

>>0201

普通、長いプログラムを
作る時は色々考えるよね。

商売上利益が出ないと困る。

モジュールって機構学だと歯車一つにはならないよね。

88 :名無しさん@涙目です。:2018/08/16(木) 07:34:08.86 ID:lyz+y8mZ0.net

図書館がどうしたって?

16 :名無しさん@涙目です。:2018/08/16(木) 01:48:24.94 ID:N/Us/p4E0.net

ください

223 :名無しさん@涙目です。:2018/08/17(金) 21:53:46.65 ID:0Ixfiv9G0.net

最近関数指向かぶれがオブジェクト指向にケンカ売ってるよねw
モナドでゲームって作れるの?

119 :名無しさん@涙目です。:2018/08/16(木) 10:33:36.39 ID:2r0cr1Pf0.net

アプリケーションプログラム
サービスプログラム
ユーティリティプログラム

65 :名無しさん@涙目です。:2018/08/16(木) 02:21:49.16 ID:ikpQlkfs0.net

オーバーロードIIIやってるな

167 :名無しさん@涙目です。:2018/08/16(木) 18:17:27.62 ID:d6z5D8d60.net

ライブラリでもライブラリ側から呼ぶものがあるでしょ

93 :名無しさん@涙目です。:2018/08/16(木) 07:44:12.00 ID:D/DCWq6V0.net

えっ

135 :名無しさん@涙目です。:2018/08/16(木) 14:22:25.67 ID:I2ftqJS40.net

>>132
モジュールはなんつうか、分割したものって感じかも
コードの中にあるパートがあって
それと同じものを別のコードでも使う
ならば切り離して、双方のコードでインクルードして遣いましょう
みたいなのがモジュールだと思ってる

ライブラリは便利キット、あると便利なコードをまとめたもの
プロジェクト全体のあらゆるコードで
これを使えばコーディングが短縮できて便利だね!ってやーつ

55 :名無しさん@涙目です。:2018/08/16(木) 02:05:14.51 ID:XcXFKar50.net

ライブラリ=フォルダ(中にいっぱいファイルを置ける蔵書庫)
モジュール=exeファイル(実行ファイル)だと思ってた

170 :名無しさん@涙目です。:2018/08/16(木) 19:42:55.19 ID:cmCzLKvz0.net

フレームワーク→建物
モジュール→部屋
ライブラリ→家具

166 :名無しさん@涙目です。:2018/08/16(木) 17:53:59.29 ID:BKBZHplt0.net

>>89
なんだかんだ概念的なものが頭にあると早いんだと思う
確かに最近のプログラムって素人でも触れるぐらいフレンドリーだよね

54 :名無しさん@涙目です。:2018/08/16(木) 02:04:51.28 ID:SRTJWfvy0.net

モジュールって聞くと電話回線を連想する

30 :名無しさん@涙目です。:2018/08/16(木) 01:51:18.27 ID:N/Us/p4E0.net

ください

10 :名無しさん@涙目です。:2018/08/16(木) 01:46:56.09 ID:N/Us/p4E0.net

ください

123 :名無しさん@涙目です。:2018/08/16(木) 10:47:41.47 ID:duNzzNQn0.net

>>114
どんな低学歴でもなれるものに
キリッってされてもなぁ

144 :名無しさん@涙目です。:2018/08/16(木) 16:31:02.84 ID:9HK8Nmxr0.net

>>142
そうそう
.net基準に考えるとそうとしか捉えられなくなる

205 :名無しさん@涙目です。:2018/08/17(金) 15:01:03.39 ID:th3Kvvs30.net

取り敢えず、
ピストン運動を回転運動に変えたりその逆も設計する時はモジュールだわな、多分。
所定の要件満たして、運動を変換。
回転数変えるだけも多分そう。
トルクが変わらない用にするのはより高度なモジュール設計だわな。例えばさ。

92 :名無しさん@涙目です。:2018/08/16(木) 07:43:37.26 ID:A1N6yR9H0.net

ライブラリってディレクトリの事だろ

229 :名無しさん@涙目です。:2018/08/17(金) 23:31:25.24 ID:uiO20UNb0.net

>>210
プログラミング磨くんなら、今はweb上でプログラミング弄って試せる便利な環境があるから触ってみるといい
repl.itで検索

ネットとやる気さえあれば済むのが良い所
問題は業務経験がつかないことだけど、これは現場頑張って入ってなんとか知識つけるしかないね

111 :名無しさん@涙目です。:2018/08/16(木) 09:45:28.61 ID:g4Accudr0.net

元はといえばIBM等がメインフレーム時代に定着させたコンピュータ用語を
マイクロソフト等が無視して新しい用語使いだしたのが混乱の始まり

後続もそれに習った動き
世代によって使う言葉が違う

61 :名無しさん@涙目です。:2018/08/16(木) 02:15:12.83 ID:ikpQlkfs0.net

>>57
カタカナを止めると意味はそのままだな
library
framework
module

libraryは骨組みではないし、frameworkは寄せ集めの本じゃない
moduleに至っては個々で再定義が必要になる

38 :名無しさん@涙目です。:2018/08/16(木) 01:53:01.95 ID:N/Us/p4E0.net

ください

86 :名無しさん@涙目です。:2018/08/16(木) 07:31:08.10 ID:zGUR1rAg0.net

IT後進国らしい概念の混乱w

182 :名無しさん@涙目です。:2018/08/17(金) 02:26:42.31 ID:Hud/8L8h0.net

モジュール 自分で作ったもの
ライブラリ みんなで作ったもの
フレームワーク 上の制作者が居なくなって修正できなくなったもの

208 :名無しさん@涙目です。:2018/08/17(金) 15:57:20.35 ID:th3Kvvs30.net

入力が数値では無く関数でも良いし、フィードバックが別に電子回路経由じゃ無くても良い訳。油圧とか色々用途に応じ様々。モジュール。

63 :名無しさん@涙目です。:2018/08/16(木) 02:19:33.03 ID:ikpQlkfs0.net

ライブラリーのように複数のフレームワークを組み合わせして作るプログラムってあるのかな

25 :名無しさん@涙目です。:2018/08/16(木) 01:49:51.98 ID:N/Us/p4E0.net

ください

178 :名無しさん@涙目です。:2018/08/16(木) 22:46:59.97 ID:0lSV5mQO0.net

>>42
PHPだとPEARはクラスライブラリていうやん

24 :名無しさん@涙目です。:2018/08/16(木) 01:49:44.65 ID:YpvuO67U0.net

>>6
機械学習ライブラリをいちはやく整備した先見の明

149 :名無しさん@涙目です。:2018/08/16(木) 16:43:21.72 ID:vwzgXRps0.net

単純に規模の違い

138 :名無しさん@涙目です。:2018/08/16(木) 16:04:48.88 ID:b8YVVPbL0.net

>>137
ライブラリやな。javascriptはインポートしないと思うが。

230 :名無しさん@涙目です。:2018/08/17(金) 23:33:50.43 ID:uiO20UNb0.net

>>199
未経験でもガッツと運と結果さえ残せば生き残れるのがアメリカの流儀のいいとこだとおも

232 :名無しさん@涙目です。:2018/08/18(土) 01:11:39.98 ID:zB8WLN/K0.net

218 :名無しさん@涙目です。:2018/08/17(金) 18:17:39.47 ID:Rttb8nbM0.net

>>215
ありがとう!

6 :名無しさん@涙目です。:2018/08/16(木) 01:45:33.64 ID:8G1zzYIY0.net

やたらPython出てくるがそんな良い言語じゃないよね