■ このスレッドは過去ログ倉庫に格納されています
LinuxカーネルはC言語なのにオブジェクト指向
- 1 :デフォルトの名無しさん:2018/11/24(土) 21:39:54.85 ID:b7tmfxF4.net
- Object-oriented design patterns in the kernel, part 1
https://lwn.net/Articles/444910/
Despite the fact that the Linux Kernel is mostly written in C,
it makes broad use of some techniques from the field of object-oriented programming.
- 2 :デフォルトの名無しさん:2018/11/26(月) 10:56:28.11 ID:066IT89Q.net
- つまりもっと愛とか友情を大切にしろということ
- 3 :デフォルトの名無しさん:2018/12/05(水) 13:05:54.10 ID:PBXnVemu.net
- FuckをHugに変えるとかか?
- 4 :デフォルトの名無しさん:2019/02/26(火) 22:39:56.36 ID:f7zYN2r2.net
- X Window Systemにっついて質問です
Xlibのソースコードってどうやって見るのか教えてください
- 5 :デフォルトの名無しさん:2019/03/01(金) 08:40:35.57 ID:dC5x06AB.net
- まず、目を開けてください。
- 6 :デフォルトの名無しさん:2019/03/31(日) 23:59:26.79 ID:fSKc0SnI.net
- (3_3)
- 7 :デフォルトの名無しさん:2019/04/03(水) 00:52:17.05 ID:sKCBEYXP.net
- 寝るなー!
- 8 :デフォルトの名無しさん:2019/04/03(水) 02:58:03.94 ID:2JBFiMNA.net
- ほっぺたをつねる
- 9 :デフォルトの名無しさん:2019/10/09(水) 10:18:33.70 ID:U4YBgj6o.net
- オブジェクト指向で書かないと破綻しかねないのはわかるが...
なんでCで、書いちゃうんだろうな。
C++という選択肢をリーナスはなぜ排除したのか理解できない。
当時と今では事情が違うのかもしれないが。
今のリーナスも同じ事を言うのか気になる。
- 10 :デフォルトの名無しさん:2019/10/09(水) 10:24:09.96 ID:sFmCi5mO.net
- C++は糞だからな
今でも同じことを言うはず
- 11 :デフォルトの名無しさん:2019/10/09(水) 21:11:07.26 ID:U4YBgj6o.net
- >>10
そこが、わからん。
オブジェクト指向は採用するのに、C++言語を否定してC言語を採用する理由とは?
- 12 :デフォルトの名無しさん:2019/10/10(木) 00:26:31.14 ID:sPZZPLJV.net
- 知らんけどLinux黎明期のC++コンパイラが糞だからだったんじゃね
Cコンパイラは枯れていて安心して使えたとか
- 13 :デフォルトの名無しさん:2019/10/10(木) 09:33:31.31 ID:yMym0WfO.net
- C++しか知らない(書けない)プログラマより
Cで書けるプログラマの方が優秀だから
糞C++が寄って来ないようにした
都市伝説かも知れん
- 14 :デフォルトの名無しさん:2019/10/10(木) 12:29:42.18 ID:oXXzowD/.net
- >>13
C++って、文法的にはCの上位互換だからC言語によるプログラミングもできるはずなんだがな。特に、あの当時ならね。
- 15 :デフォルトの名無しさん:2019/10/10(木) 13:14:41.67 ID:8G2AB5zJ.net
- CとC++が合体したら最強に見える
- 16 :デフォルトの名無しさん:2019/10/10(木) 17:35:07.50 ID:ymWHEy7K.net
- じゃあすでに最強を手にしてるじゃん
- 17 :デフォルトの名無しさん:2019/10/10(木) 17:57:03.77 ID:GVOUmpta.net
- まあOSだからな
宗教的な部分をのぞくと
仮想関数テーブル直接弄ったり、仮想関数の実装方法カスタマイズしたり出来ないのが致命的なんだろう。
MSみたいにABIとコンパイラを両方決める権限あるなら、COMみたいな事も出来るけど
- 18 :デフォルトの名無しさん:2019/10/11(金) 05:37:45.27 ID:6Llgp5Hf.net
- CとC++は別言語
キャスト一つとっても仕様が違う
上位互換ではない
- 19 :デフォルトの名無しさん:2019/10/11(金) 10:09:04.43 ID:hkXt1Gtm.net
- C++しか知らない(書けない)プログラマほど >>14 みたいなトンチンカンなこと言うよね
- 20 :デフォルトの名無しさん:2019/10/11(金) 12:46:02.38 ID:jYNqYh6+.net
- c++は勝手に裏でやったりするのがリーナスは気に入らないらしい
osともなれば
全てを自分達で制御する必要が有るし
何より自分が指示していない動作をする
というのはosやハードウェアコントロールでは致命的だと思う
今のc++だと色々出来ないような嫌がらせ機能を追加して対処しているけど
そんな事するくらいなら純朴な生cを使ったほうが有る意味まともだと思う
- 21 :デフォルトの名無しさん:2019/10/11(金) 14:02:28.56 ID:XWYiG0pn.net
- >>14,16
C++はCの上位互換ではない
それに、よく見かける表記C/C++にも違和感。なぜ一緒くたにされているのか
CとC++の両方を知っていれば上位互換なんて言わない
- 22 :デフォルトの名無しさん:2019/10/12(土) 21:34:53.59 ID:Z2q104YO.net
- オブジェクト指向とオブジェクト指向言語は別のことを指す。
- 23 :デフォルトの名無しさん:2019/10/12(土) 21:57:42.44 ID:w6XAfbR5.net
- ここの馬鹿ども見てればc++にしなかったのは正解だということがよくわかる。
- 24 ::2019/10/12(Sat) 22:16:15 ID:ert7O+/y.net
- わかる
- 25 ::2019/10/12(Sat) 22:25:50 ID:Y/6Ne90r.net
- >>21
「文法的に」は互換性はあるでしょ。
実際、Cで書いたコードのコンパイルが通るし、リンケージ指定してやれば.cから.cppを呼び出せるわけだし。
絶対、キャストやnull問題を持ち出す揚げ足取マンが現れると思ったから、わざわざ「文法的に」という言葉を添えたのに。
反応が予測通り過ぎて嫌になるね。なんで揚げ足取るの好きなん?
>>20みたいな反応を期待してたんだけど、想像以上にレベル低い奴多いな。
- 26 ::2019/10/12(Sat) 22:28:03 ID:Y/6Ne90r.net
- .cから.cppじゃなくて、.cppから.cか。
- 27 ::2019/10/12(Sat) 22:29:07 ID:ert7O+/y.net
- 互換性がある=上位互換だと思ってるの?
- 28 :デフォルトの名無しさん:2019/10/12(土) 22:33:19.91 ID:Y/6Ne90r.net
- >>27
君と同じ認識です。
- 29 :デフォルトの名無しさん:2019/10/12(土) 23:20:00.14 ID:Z2q104YO.net
- CとC++はごっちゃでもコンパイルエラーにならないだけで、CとC++を混ぜて使うのは素人。
- 30 :デフォルトの名無しさん:2019/10/12(土) 23:23:21.07 ID:/OE1FG2/.net
- c言語のライブラリも使うからどうやっても混ざるわ
- 31 :デフォルトの名無しさん:2019/10/13(Sun) 00:09:05 ID:43NOwa52.net
- >>30
それはおかしい。C++の規格としてCのライブラリを追加したものを言っているのなら、それはCではなくC++のライブラリの一部。
- 32 ::2019/10/13(Sun) 00:11:30 ID:K01uOtzO.net
- >>29
そりゃ、OS上で動くプログラムでCとC++を混在させてたら正気を疑うけどな。
でも、今回はLinuxカーネルレベルの話でしょ。
最下層はC言語ライクな記述をして他は思いっきりC++言語特有の書き方で実装すればいいじゃんって考え方は自然だと思うけどな。
ただ、MCUとC++実現レベルの事情は詳しくないので>>17や>>20みたいな意見には何とも言えないが。
やっぱ、そこなのかねぇ...。
カーネルのコードを見ると、C++だったら良かったのにと惜しまれることがあるだけ残念。
- 33 :デフォルトの名無しさん:2019/10/13(日) 15:21:25.50 ID:pNOVPaOf.net
- >>31
世の中には、標準ライブラリ以外のライブラリもあるんですけど?
言ってる事、おかしくないですか?
- 34 :デフォルトの名無しさん:2019/10/13(日) 15:25:20.96 ID:nNq8dJJz.net
- 標準ライブラリじゃなくても当てはまると思うけど
- 35 ::2019/10/13(Sun) 15:53:26 ID:gUdJTWPj.net
- どういう意図で言ってるのかわからんのだけど
例えばzlibはc++で使うべきじゃないってことでいいのか?
- 36 :デフォルトの名無しさん:2019/10/13(日) 16:38:13.99 ID:CXjqSTTV.net
- どういうことなの…
- 37 ::2019/10/13(Sun) 20:08:27 ID:S1e+tUqI.net
- zlibもC++の一部ってことでは?
- 38 ::2019/10/14(Mon) 08:33:47 ID:shxCHNEB.net
- C++がCとの互換性を意識して設計されているからこそCで書かれたzlibを呼び出せたりするのだが
それをC++のライブラリと見なすか、Cのライブラリと見なすかは言葉の問題でしょ
そんな話を議論して何の話に繋げる気だ?
- 39 ::2019/10/14(Mon) 10:23:08 ID:KiHkbn+i.net
- 区別する必要がないしごちゃまぜで使えるのがメリットなのに
混ぜるなとかいう人がいたからの皮肉だろ
- 40 :デフォルトの名無しさん:2019/10/14(月) 10:54:08.61 ID:X910hHAw.net
- 混ぜるな危険!危険!危険!
- 41 :デフォルトの名無しさん:2019/10/14(Mon) 15:35:49 ID:Cg/ykvDA.net
- >>25
>「文法的に」は互換性はあるでしょ。
えっ
>実際、Cで書いたコードのコンパイルが通るし、
これはCで書いたコードはC++文法としてはコンパイラ出来ない
コンパイラがCのコンパイルもサポートしてるってだけやろ
>リンケージ指定してやれば.cから.cppを呼び出せるわけだし。
これはオブジェクトが互換なんやろ
- 42 ::2019/10/14(Mon) 17:51:36 ID:KiHkbn+i.net
- cで書かれたコードをc++に貼っつけた上でクラスでラップしても動くものを互換性があると言わずになんて言うんだよ
コンパイラが中で何してようが関係ないし
というかcのみのコード書こうがc++でコンパイルされて名前修飾されるでしょうに
- 43 :デフォルトの名無しさん:2019/10/14(Mon) 17:55:21 ID:ljIrzJ7B.net
- void * だっけ
- 44 ::2019/10/15(Tue) 07:14:05 ID:/aMixt3n.net
- 評価されるかは知らんが、自分で互換カーネルをC++で作って発信したらいいんじゃね?
- 45 :デフォルトの名無しさん:2019/10/15(火) 08:46:50.06 ID:1HIIf4Kz.net
- するわけねーだろw
実際やってみりゃどんだけひどいことになるかわかる。
てかやる気力のない無責任連中が騒いでるだけだろうけれど。
- 46 :デフォルトの名無しさん:2019/10/15(火) 16:38:47.52 ID:d2lxKB6N.net
- MONA os
- 47 ::2019/10/15(Tue) 19:58:01 ID:1HIIf4Kz.net
- >>42
なぜ extern "C" があるか理解してないな。
- 48 :デフォルトの名無しさん:2019/10/15(火) 21:48:03.84 ID:m8AinitX.net
- gcc と g++ も違うやん
- 49 ::2019/10/16(Wed) 01:40:05 ID:iugX0xwX.net
- どういうことなの…
- 50 :デフォルトの名無しさん:2019/10/16(水) 12:22:23.91 ID:dmmazo8P.net
- 本当に上位互換が事実なら
片方いらんやろ
- 51 :デフォルトの名無しさん:2019/10/16(水) 12:33:41.55 ID:Th6NiMcc.net
- >>50
うん。C++とCの二つの選択肢があるのなら、間違いなくC++を選択する。
二つの選択肢があれば、だが。
- 52 :デフォルトの名無しさん:2019/10/16(水) 12:46:19.34 ID:Th6NiMcc.net
- ただ、カーネル開発となると知らん!
コンストラクタやデストラクタを呼ぶコードやスマートポインタを管理するコードをアセンブラで書いたりすることになりそう。linuxカーネル開発経験ないから知らんが。
- 53 :デフォルトの名無しさん:2019/10/16(水) 12:53:18.57 ID:dmmazo8P.net
- 知らないならうざいだけです
知らんけど
- 54 ::2019/10/16(Wed) 14:19:04 ID:PlHXfG9R.net
- 俺も知らんけど知らん!
- 55 :デフォルトの名無しさん:2019/10/16(Wed) 15:04:46 ID:Th6NiMcc.net
- >>53
お前は上位互換という所で引っ掛かってたじゃねーか
ま、お前のことなんて 知 ら ん け ど
- 56 :デフォルトの名無しさん:2019/10/16(Wed) 15:04:46 ID:Th6NiMcc.net
- >>53
お前は上位互換という所で引っ掛かってたじゃねーか
ま、お前のことなんて 知 ら ん け ど
- 57 :デフォルトの名無しさん:2019/10/17(木) 10:42:16 ID:ewN8FeZ7.net
- どうでもいいけど
g++ で gcc 相当の事が上位互換で出来るなら
なんで gcc がいまだに残されてるのって話
- 58 ::2019/10/17(木) 11:48:06 ID:huR1Dm0j.net
- >>57
gccは「GNU compiler collection」の略で、C++、C、Objective-C、Java、Fortran等のコンパイラを集めたもの
g++は、C++のコンパイラ
- 59 :デフォルトの名無しさん:2019/10/17(木) 11:53:53.46 ID:AeGMwEpI.net
- 単純に早くて軽いんじゃないの多分
でかいプロジェクトだと構文解析の速度とか結構変わってきそうだし
cで大丈夫でc++だとコンパイルエラー吐くのって汎用ポインタの暗黙の型変換ぐらいじゃないの
他はなんかあったっけ
- 60 :デフォルトの名無しさん:2019/10/17(木) 12:07:39.41 ID:AeGMwEpI.net
- あれそういう意味だったのか勘違いしてたわ
- 61 :デフォルトの名無しさん:2019/10/22(火) 10:29:57.89 ID:F+STirlY.net
- gcc拡張とか使ってるとコンパイル出来ないね。
- 62 :デフォルトの名無しさん:2019/11/01(金) 14:36:39.71 ID:fUonGWFa.net
- もうリーナスの言いなりになる必要ないんじゃね?
"Linuxの生みの親"トーバルズ氏:「私はもうプログラマーではない」
https://japan.zdnet.com/article/35144738/
>もうコーディングは全然やっていない。私がコードを書くのは、ほとんどがメールの中だ。誰かがパッチを送ってくると、私は擬似コードを書いて返す。
パッチの修正にはとても慣れているので、最近ではテストもしないままパッチを修正したり、そのパッチを送ったりすることもある。
文字通りメールの中でコードを書いて「これはこうすべきだと思う」と書くわけだが、それが私がやっていることで、プログラマーとは言えない。
- 63 :デフォルトの名無しさん:2019/11/01(金) 18:58:40.83 ID:K8X+Yatv.net
- やばいなw
- 64 :デフォルトの名無しさん:2019/11/02(土) 01:55:22.16 ID:8EZZk9eZ.net
- 呼吸をするようにプログラム出来る
って事なのね
プログラマーでは無くて
プログラムの神に成った
そんな感じ何だろうか?
- 65 :デフォルトの名無しさん:2019/11/02(土) 02:01:25.79 ID:ivbcpswg.net
- イチローポジション…
- 66 :デフォルトの名無しさん:2019/11/02(土) 17:05:25.24 ID:orbX83iK.net
- わかってないやつ多いんだよ
いきってc++で自称モダンな設計で作り上げてあとで泣きながらcのインタフェース作るはめになる
たいてい機械的なラッパーではすまないからな
void*的な「ハンドル」を経由して操作する
C由来のインターフェースは強いな
- 67 :デフォルトの名無しさん:2019/11/02(土) 20:37:37.29 ID:Ol0NvWzZ.net
- >this is a double-edged sword. The developer has enough flexibility to do really cool things, and equally the flexibility to do really stupid things
- 68 :デフォルトの名無しさん:2020/06/18(木) 19:58:40 ID:n5xiCy8O.net
- こちらで同意を得られなかったからニュース速報スレで騒いでるw
オブジェクト指向は愚かな考え
https://hayabusa9.5ch.net/test/read.cgi/news/1592474015/
- 69 :デフォルトの名無しさん:2020/10/07(水) 22:56:10.33 ID:mmX8FgkW.net
- >>67
この手の、英語の原文をいきなり訳もせず突っ込んでくるやつは何がしたいのだろう…。
いきなり業界用語持ってきて「え?こんなのもわからないんですか?ふ〜ん」的な古典的オタクのり?
- 70 :デフォルトの名無しさん:2020/10/08(木) 11:47:50.81 ID:4zSbqWTM.net
- >>69
>I am the bone of my sword. Steel is my body,and fire is my blood. I have created over a thousand blades. Unknown to Death. Nor known to Life. Have withstood pain to create many weapons. Yet,those hands will never hold anything. So as I pray,unlimited blade works.
- 71 :デフォルトの名無しさん:2020/10/08(木) 12:46:54.93 ID:Riy1MZEi.net
- 業界用語ωωω
- 72 :デフォルトの名無しさん:2020/11/23(月) 11:07:33.31 ID://ZJMWym.net
- OSをインタプリター言語あるいはスクリプトで書けたらいいのにね。
もちろんデバイスの制御の部分やCPUの初期設定などは機械語にならざるを
得ないけれども。
今のCPUはかなり早いから、インタプリターでOSのカーネルを書いても
昔のPDP11ぐらいの速度ではうごくのではなかろうか?
- 73 :デフォルトの名無しさん:2020/11/23(月) 22:24:53.65 ID:gAkTmGSN.net
- そんなOS使わん。
結局少しくらい危険なところがあっても速度重視ってのは
ビジネスからくるクリティカルな要求な訳だ。
- 74 :uy :2020/11/24(火) 12:36:57.49 ID:gfNKbZsO.net
- >>72
自分でCでインタプリタ書けるならOS開発のコンパイル作業に一工程を噛ませるだけだぞ
やる意味が無いからCでそのまま書くのがカーネル
- 75 :デフォルトの名無しさん:2021/01/19(火) 02:21:11.32 ID:AAGIcVgh.net
- >>69
諸刃の剣かwww
- 76 :デフォルトの名無しさん:2023/03/13(月) 21:05:44.03 ID:Mm6jmYZAX
- 世代による公平も憲法の下の平等も知らない、しつこい不公平促進ハ゛力税金泥棒立憲って,もはや莫大な税金で開いてる国会にヰラネ−だろ
何が子供給付財源ガ一た゛.資本家階級ヰオン岡田か゛私腹を肥やすために未来の家畜か゛ほしいだけなんた゛ら岡田から徴収した金でやれや寄生蟲
日銀に金刷らせて株買わせて圧倒的格差と優越的地位の濫用社会にしておいて価格転嫁カ゛一とか,何ひとつ価値生産しない公務員た゛の大企業
従業員た゛の税金泥棒に莫大な金銭給付してるしわ寄せが中小零細にゆくのは当然だろうに,外形課税て゛もして大企業を全滅させるのか゛筋た゛ろ
クソ航空機によって勉強妨害技術後進国気侯変動災害連發物価暴騰してる中,食料自給率ガ−とか人□減少させて緩和させるしかないものを
━部の貧乏人の孑をネ夕に騷いた゛り氷河期に謝れた゛のほざいて金銭強奪の布石を打ってみたり、社会全体で子育てなら赤の他人から金銭強奪
して社會分断引き起こして犯罪惹起するのて゛はなく,てめえの意思で産み落としておいて孑育て罰だのほざいてる虐待系クス゛を豚箱に入れて
親権も児童手当も廃止して余裕ある家にあちこち寝泊まり飲み食い好きなもの買ってもらう社會に推移させるのか゛理にかなった解決方法だろ
創価学会員は、何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まで出てる世界最悪の殺人腐敗組織公明党を
池田センセ─が□をきけて容認するとか本氣て゛思ってるとしたら侮辱にもほと゛があるそ゛!
hтtрs://i、imgur.сοm/hnli1ga.jpeg
総レス数 76
18 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★