トップページlinux
1001コメント355KB

Linuxは無料なのになぜWindowsの陣地を奪えないのか

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2014/07/16(水) 04:08:44.20ID:TuwPY5+9
Windowsの陣地っていうのは
パソコンプリインストール販売の
ことですよ。

パソコンの殆どにはOSがプリインストールされている。
そのプリインストールOSはWindowsである。

Linuxはこの陣地を奪えないでいますよね?
0082login:Penguin2014/07/19(土) 23:16:12.34ID:xhPh75dd
いやいや、Linuxディストリは昔からWindowsに挑戦してるんだよ。
しかし、結局一ミリたりとも侵攻できなかった。
そこで諦めてWindowsのいないところを攻めてるんだよ。
Windows以外、Linuxに対抗できるような庶民派OSは無いから。
0083login:Penguin2014/07/19(土) 23:19:25.71ID:xhPh75dd
>>81
腐してる奴などいないだろ。
どのレスが腐してると思うんだ?
0084login:Penguin2014/07/19(土) 23:21:23.37ID:oume+ALV
>>80
> 王国はせまい世界だって言ってるのに

それをわかってないのは、むしろおまえなんじゃないの?

携帯の世界までWindowsが制覇しているなんて
今も昔も誰も思っちゃいないよ。

Windowsはパソコンの世界のOSを制覇した。
今も昔もそう思っている。
0085login:Penguin2014/07/19(土) 23:38:46.67ID:bUf9mJYu
PCのOSとしていつまでWindowsが安泰でいられるかな。
Linuxを使っている人はすでにわかってるが、
もはやデスクトップOSとしてLinuxもWindowsもたいした使い心地に
違いはないということ。
知らないのは王国の住人だけ。
0086login:Penguin2014/07/19(土) 23:49:45.90ID:2x4tXmM+
は?w
ウェブブラウザ限定の用途なら、重いながらも辛うじて
Linuxであることを意識しないで済むが、その辺が限界だろうな。

使いやすさはWindowsの足元にも及んでいない。
0087login:Penguin2014/07/19(土) 23:52:44.20ID:9eGQt9Tc
使い心地には雲泥の差があると思うなぁ。
今のディストリには、Win3.1〜NT4.0あたりを彷彿とさせる煩わしさがある。
0088login:Penguin2014/07/20(日) 00:01:48.05ID:K6R9ltJK
使い込んでないからな。
自分の慣れた環境が一番使いやすく感じるもの。

Linuxの知識が増えるに連れて使いやすくなってくる。
現在Linuxを使っている人はその前はWindowsを使いこんでいた人が多い。
そういう人がLinuxを使い込んでみたらLinuxもWindowsもたいした違いはない
と感じるところが重要な点だ。
またLinuxにはたくさんの種類がある。
ひとつふたつ使ってみてLinuxはこういうもんだと結論づけるのは早計。
0089login:Penguin2014/07/20(日) 00:08:30.87ID:+AiYcKx2
誤魔化し方は上手いとは思うけど、そこに至るまでが既に煩わしい件。
慣れればWin3.1もNT4.0も快適だよ!と揶揄されても気づけないのなら、それは盲目なだけだと思うなぁ。
0090login:Penguin2014/07/20(日) 00:10:35.96ID:FQe5D03a
いやいや、>>86-87あたりは使いこむうちにLinuxの限界を知ったんだろう。
最初は皆、Linuxはとても良いものだと思うんだよ。
そう宣伝されているから。
実際に使ってみると、あれ?ってなる。
そして使い込むと、Linuxはダメだなってなる。
無条件マンセーしてるのはLinux初心者だけだよ。
使いこんでる人の方が苦言を呈してるんだよ。
0091login:Penguin2014/07/20(日) 00:11:32.05ID:pXiJwKCp
客観的に判断しような。

ドライバのインストール、コントロールパネルによる基本的な設定など、
Windowsの簡単さ、分かりやすさに比べて、Linuxは話にもならない。

つまり、初心者がちょっと先に行こうとした時点で終わる。
誰でも使えるのは、WEBブラウザ止まりってこと。
0092login:Penguin2014/07/20(日) 00:12:58.81ID:K6R9ltJK
http://sugarmoon.pcsaportsapporo.com/linuxdistribution.html

こういうサイトをみてLinuxのデスクトップがどういった感じのものか
イメージをつかんでみてくださいね>王国の住人たち
0093login:Penguin2014/07/20(日) 00:15:07.44ID:FQe5D03a
1999年のLinuxブームに乗った人たちは周回遅れなんだよね。
もう勝負になっていない。
Ubuntuなどと言っていた人たちは10周遅れてるんだよ。
自覚したほうが良いね。
0094login:Penguin2014/07/20(日) 00:18:32.56ID:K6R9ltJK
食わず嫌いが多いよな
別にこっちはその偏食をなおしてやる義務はないからな
だれでも理解できるように一通りのことを言ったからな
あとは好きなようにしなはれ
0095login:Penguin2014/07/20(日) 00:24:35.44ID:pXiJwKCp
他の人の話を全く聞きもせず、全て自分基準で言い放って逃げて行っちゃったw
0096login:Penguin2014/07/20(日) 00:41:41.14ID:cy6zstNp
CDブートや無料の仮想化ソフトが出てからは難しいこと何もなくなったし
Linuxの敷居が下がってしまえばサーバーやスパコンのほうのLinuxはともかく
デスクトップはWindowsやOSXの劣化版でしかないってのがバレるのも時間の問題だろ
0097login:Penguin2014/07/20(日) 00:49:01.90ID:FQe5D03a
そもそもLinuxディストリって、落ちてる物拾い集めて作ってるでしょ。

残飯あさって料理して、レストランより良いものが作れるとか言ってる感じ。
レストランは食品偽装で危険だから残飯の方が安全とかいろいろ言う。
そんな感じ。
0098login:Penguin2014/07/20(日) 00:57:30.60ID:7Btwj+fQ
喩え話ネタ秋田
0099login:Penguin2014/07/20(日) 01:00:35.96ID:K6R9ltJK
参考
Linuxデスクトップ
http://newmansyuu.blog.fc2.com/
0100login:Penguin2014/07/20(日) 01:08:03.01ID:+AiYcKx2
>>99
食った上で不味いという連中に、そんなインスタントラーメンの調理例みたいなものを見せて何を伝えたいんだ?
0101login:Penguin2014/07/20(日) 01:11:33.60ID:FQe5D03a
>>100
俺も同じこと思ってた。

どうも最近は玄人気取りの初心者が多いんだよな。
0102login:Penguin2014/07/20(日) 02:48:16.67ID:QjbZJ2y8
Windowsは2kくらいの頃が一番使いやすかった気がするなあ
0103login:Penguin2014/07/20(日) 04:14:15.97ID:5YZv1zEO
そりゃ、2Kは海賊行為でただで使ったからじゃね?
2K支持してる奴はほとんど海賊。
0104login:Penguin2014/07/20(日) 04:41:03.46ID:vEzbkZEy
Windowsを使っている一部の犯罪者の話をしても
犯罪をおかしてまでも使いたいWindowsの批判にはなりませんよ。
おかしいですね。Linuxなら犯罪にならなくて済むのに
0105login:Penguin2014/07/20(日) 06:21:23.24ID:U+RKO4c3
例え話クン頑張ってるなw
0106login:Penguin2014/07/20(日) 08:47:19.46ID:QjbZJ2y8
>>103
仕事で使ってたんよ。
自宅では98SEのサポート切れる頃にLinux→Vistaだったしな。
XP以降は迷走しかしとらんでしょ。
0107login:Penguin2014/07/20(日) 09:02:19.54ID:+AiYcKx2
2kは軽くていいOSだったなぁ。あの軽快さはどの軽量ディストリでも味わえない。
ただ、XPとの前方互換性がなくて、延長サポートがあっても動かないアプリケーションだらけで
実質使い物にならなかったな。
0108login:Penguin2014/07/20(日) 09:28:07.69ID:u7K2SS+K
>>106
うーん。迷走し始めたのは8からだよ。

VISTAの印象が強いからそう思うのかもしれないけど、あれは迷走じゃなくて実装が間に合わなくて予定の機能を放り投げたって感じだから。
VISTA用のSPも迷走ではなかった。
0109login:Penguin2014/07/20(日) 09:53:14.04ID:oGKE0SbR
>>88
>またLinuxにはたくさんの種類がある。
>ひとつふたつ使ってみてLinuxはこういうもんだと結論づけるのは早計。

ずるい逃げ道だな。
0110login:Penguin2014/07/20(日) 10:54:08.09ID:oGKE0SbR
>>81
>OS という根幹部分を
>1つの営利企業に独占させて
>言い値で売られている状態がいいの?

それをますます助長しているのがLinux。

他の企業によるMS対抗のOSや開発環境開発の参入障壁を作り出して
いるだけだから。
0111login:Penguin2014/07/20(日) 10:57:15.14ID:yxVDyQPM
一つ使えば充分だろ
初心者はとりあえずメジャーなところにしか手を出さんからそこでダメだと思われたら
それがLinuxの現実的評価
もしかしたらwin以上に使いやすい鳥があるのかもしれないがそれを初心者の目届く
ところまで持ってこれないのはlinuxの限界を示しているね
0112login:Penguin2014/07/20(日) 11:19:44.80ID:oGKE0SbR
最も良いとされるUbuntuを試したが、grub にも、日本語にも、
DVDのマルチトラックやFD的使用にも、GUIの速度にも問題があっ
たな・・・。
0113login:Penguin2014/07/20(日) 11:28:56.09ID:oGKE0SbR
中途半端に「有る条件の時には出来る場合が有る」ので色々試して
時間が潰れてしまうと言うのが大問題。

色々試しても結局ダメな事も多いが、いつまでも
「ああやったら出来るかも」と思い続けてしまうのも時間の無駄
になる。
0114login:Penguin2014/07/20(日) 11:48:48.73ID:oGKE0SbR
>>111
>>もしかしたらwin以上に使いやすい鳥があるのかもしれないが

「使いやすい」というのが当てはまるのはデスクトップのアイデア面
や仮想ディスク関連やCUIに限られる。

同種のツールが何種類もインストールされていても、どれもこれも
「一通りまともに使える」ものは無い。
0115login:Penguin2014/07/20(日) 11:59:59.18ID:FQe5D03a
Linuxの使いやすいは、Compizみたいなものだからなあ。

Linux博士になりたい!って人には良いんだけど、ゲームで遊びたいとか、
人力では面倒な計算をしたいとか、目的があってパソコンを使う人には
使いにくいものなんだよ。

Linuxを使う目的って、昔はLinuxを作ることと冗談で言われていたんだけど、
今はLinuxを使う目的はLinuxを使うことになってる感がある。
0116login:Penguin2014/07/20(日) 12:48:36.15ID:QjbZJ2y8
>>108
いや、仕事がXPに総入れ替えになって幻滅したんよ
だからこそ次は…と思ったが、まあ案の定そんなもんかと
でもVista、迷走はXPから更に進んでるものの、言われるほどでは無かったぜ?
例えばXPで蛇足だったタスクのグループ化もAeroのサムネのお陰で多少使えるようになったしな

>>115
Compiz、見た目重視のプラグインも実際多いからなあ
実用的なプラグインも一応あるけど
0117login:Penguin2014/07/20(日) 12:58:32.27ID:jIJfkDoO
ここで批判されているのは、
Linux カーネル開発者?

それとも、ディストリビューション、
特に Ubuntu 、開発者?
0118login:Penguin2014/07/20(日) 13:25:39.06ID:e7M6aEPJ
役人や諸企業の経営者としては
製造者責任の追求先が無いので
Linuxなんていう誰も責任取れないOSは不可能だとさ
一流企業であるマイクロソフト様が良いのだとよ
一度も責任取れてないし許諾とかで無責任謳ってるのにね
0119login:Penguin2014/07/20(日) 13:44:03.87ID:vEzbkZEy
>>117
批判っていうか、Windowsの陣地を奪えない理由な。


まず、使いやすさというエンドユーザーから見て
重要な点を考えてみる。エンドユーザーにとって
一番大事なのは、ユーザーインターフェースだ。

ユーザーインターフェースは統一されることが重要。
なのにLinuxはユーザーインターフェースを
Linuxカーネル開発者は規定していない。

ユーザーインターフェースはXやデスクトップ環境に
委ねられている。この点においてLinuxとその開発者は
批判されている。
0120login:Penguin2014/07/20(日) 13:58:53.35ID:SFyHm0vV
>>119
デスクトップOSのほうのLinux開発者は自由意志のボランティア
ただLinuxを使うだけの連中の希望をかなえてやる義務なんてない
>>118
サーバーとかスパコンのほうは無保証のLinuxは普及してるわけで
デスクトップ版が普及しないのは体感速度が遅い上に安定性も低いから
0121login:Penguin2014/07/20(日) 14:05:03.17ID:vEzbkZEy
> ただLinuxを使うだけの連中の希望をかなえてやる義務なんてない
この考えがLinuxが使いにくい一番の原因なんだよな。

で、なんでこうなるかって言うと、無料だから。

Linuxを使うだけの連中の希望を
有料で叶えましょうと言い出す人がいない。
0122login:Penguin2014/07/20(日) 14:17:09.85ID:jIJfkDoO
>>118
それは当たり前だよ。

カーネルと UI はなんの関係も
ないもの。

役割がまったく違う。

UI のできの悪さをとやかく言われても
カーネル開発者は困る。
0123login:Penguin2014/07/20(日) 14:17:15.61ID:GBtaIE9h
linuxがつかいづらいのはディストリビューションが複数あるからではないでしょうか?
winもosxも一種類ですよ。
0124login:Penguin2014/07/20(日) 14:25:49.66ID:OM199lqg
そう言われても統一なんかできないしねぇ。
0125login:Penguin2014/07/20(日) 14:33:31.72ID:k3+9fetP
>>118
ったく引きこもりは何も知らないんだな。MSサポートはやはり世界最強だよ。
夜にメールしたら、解決案、検証済みで深夜にメールが返ってくる。

他の外資系企業ならまず最初にアプリを再インストールしてください。
それでダメならOSを再インストールしてください。それでダメなら他のPCでやってみてください。
ふざけるな技術者出せで、やっと現地の開発担当者が出てくる。しかもやりとりは英語になる。

さらにおまえらが一番頼りにしてる2chなら質問したらググレカス。


勝負にならない。
0126login:Penguin2014/07/20(日) 14:33:58.62ID:jIJfkDoO
ダメなディストリビューションは
誰も使わなくなって淘汰されるだけの
話でしょ。
0127login:Penguin2014/07/20(日) 15:03:03.76ID:jP5e4/HO
Linuxは、androidみたいな形でしか普及しない
0128login:Penguin2014/07/20(日) 15:04:33.12ID:FQe5D03a
>>125
ただし一件6万以上するので使いどころが限られる。
サポートに関してMicrosoftのメリットがあるとしたら、広い範囲を
自前で作っていることだろな。

例えば、レッドハットに質問しても、レッドハットは製品の仕様を自社で
コントロールできるわけではないので、真摯に対応するなら「それは当社製品の
仕様です」とすら言えない。

Microsoftなら自社製品の不具合をバグとして将来修正するか、仕様として
将来にわたって維持するか自社で決定できる。

ここが一番大きな違いじゃなかろうか。
実際、レッドハットに泣かされてきた人ならわかると思う。
0129login:Penguin2014/07/20(日) 15:37:40.34ID:SgZjG6Aj
ゲームの対応だろ
Steam対応の時は期待したけど、不発に終わりそうなラインナップだし
0130login:Penguin2014/07/20(日) 15:47:18.33ID:QjbZJ2y8
>>119
ユーザインタフェースの統一感ならMacのが上だと思うよ。
Windowsはむしろ、UIの統制が取れない側だと思う。
でもMacには覇権は取れないんだけどな。
0131login:Penguin2014/07/20(日) 17:16:41.70ID:oGKE0SbR
>>126
淘汰されない。
0132login:Penguin2014/07/20(日) 17:27:46.06ID:oGKE0SbR
というか「良いディストリ」自体が皆無なのが実態。
0133login:Penguin2014/07/20(日) 17:51:20.72ID:7Btwj+fQ
お願い程度のライセンスに保証があるんですか
メーカー製PCの保証は本体の保証であって、OS、アプリの保証ではないんですよね
機械的な故障はメーカーさんがなんとかしてくれますが、HDDのデータとかは保証外ですよ
0134login:Penguin2014/07/20(日) 18:04:23.69ID:Uwr8pGSn
なんか的外れな屁理屈ばっかりだな
デスクトップLinux常用してる人なんて実は存在してなくて
かまってほしい人が信者のふりをして擁護してるだけに見える
0135login:Penguin2014/07/20(日) 18:07:47.62ID:7Btwj+fQ
お脳が退化してるのかしらね
俺にわからない(不利になる)こと書くなですか
0136login:Penguin2014/07/20(日) 19:29:12.27ID:1jSungp3
>>122
> それは当たり前だよ。

うん。当たり前だ。
だがそれは開発者として当たり前という話で、

だから使いにくいんだって話。

そう、Linuxは使いにくいのが当たり前の世界。

GUI環境、つまりメニューとかボタンとかAPIとか
そういうものを統一するカリスマ開発者が生まれないものかね。
0137login:Penguin2014/07/20(日) 19:33:10.00ID:oGKE0SbR
>>136
「独自GUIを作りたい人に人気のOS」なので、統一してしまったら
人気がなくなるだろう。
0138login:Penguin2014/07/20(日) 19:54:29.01ID:mkGD3KpS
>>137
独自GUIというのは、GUIフレームワークを作りたいという意味なのか
カッコイイデザインを作りたいという意味なのか、どっちだ?

後者なら、GUIフレームワークに、デザインを変更する機能を
つければいいだけよ。それは大変な仕事だろうが、
0からフレームワークを作るよりも簡単だ。

GUIフレームワークが統一されていれば、
統一仕様に追加すればいいだけだが、
統一されてないから、GNOMEとKDEで別々に実装して、
開発リソースが分散されていつまでも作業が進まないんだよ。

いい加減、KDE標準DVD再生ツールとか言うのとかやめてくれ。
GNOMEでもKDEでも一個のバイナリでからどちらでも
GUI環境と統合化されたアプリ作れるようにしろよ。
コピペ機能とかシェル統合機能とかさ。
0139login:Penguin2014/07/20(日) 20:03:02.44ID:oGKE0SbR
・美しい設計のフレームワークを作れる事をアピールしたい人が世界中
 に生まれてくる。
・デスクトップ、タスクバー、ランチャー類の便利な独自アイデアを
 発表したい人が大勢居る。

↑のようなことが有るので統一しようとしても守られないだろう。
0140login:Penguin2014/07/20(日) 20:19:33.92ID:mkGD3KpS
>>139
いやいやw 現状統一されてないのに、
そんなこと起きてる?w
起きてないよね。

美しい設計のフレームワークや
独自のアイデアをアピールしたいなら、
逆に標準があることが重要。

なぜならその標準を越えようと考えるわけだから。
君が言ってることは逆に標準がないと起こらない話なんだよ。

そしてその後、標準にそのアイデアがマージされる。
0141login:Penguin2014/07/20(日) 20:22:22.94ID:7Btwj+fQ
なになに、オレオレ標準を使えと
0142login:Penguin2014/07/21(月) 00:17:44.43ID:JeNcG5sO
>>140
現状、GUI Toolset と呼ばれるものは、APIの使い勝手的な美しさも
競っているように思うけど。少なくともMFCよりは美しいとか。
0143login:Penguin2014/07/21(月) 00:35:57.18ID:JeNcG5sO
誤:Toolset
正:Toolkit
0144login:Penguin2014/07/21(月) 01:29:47.51ID:Ni4++ChF
開発とか翻訳とかやってるやつにとって
UI考えるような暇があるなら別のことやりたいわけよ
UIなんてどうしたところで不満出るからな
得る物のない議論に関わりたくない
0145login:Penguin2014/07/21(月) 06:35:15.15ID:VjGVWJEv
まあ、標準のUIと言っても、Windowsみたいに提供されるものではなくてさ。
標準に叩き上げていく事を、ユーザーがやる必要があったんだろ…。
0146login:Penguin2014/07/21(月) 06:43:16.93ID:Z9hmmwM7
Mint CinnamonのUIはWindowsを超えたな。
メニュー画面がWindowsと違って種類別に整理されて、
実に使いやすい。
0147login:Penguin2014/07/21(月) 10:03:23.08ID:QPlpx9ZQ
標準はXtにXaw3d。
これで大丈夫。
0148login:Penguin2014/07/21(月) 11:15:51.44ID:0TP1LQh0
>>145
「多数決」で決めるのは難しいんだよ。
多数決では画期的なものが選ばれることは無いことが知られている。
なので、多数決だとWindows互換的なものが選ばれることになる。
0149login:Penguin2014/07/21(月) 11:46:41.97ID:QPlpx9ZQ
現行のGUIライブラリは、ボタンをクリックするとボタンを載せている
親ウィンドウにメッセージが飛ぶでしょ。
あれ使いにくいよね?
JavaやC++にラムダ式が入ったんで、ボタン自身にメッセージが飛んで
ボタン自身に登録されたハンドラが呼び出されるほうが良くない?

http://ideone.com/sFfN1g

実装を知らないんで中でnewしているのかもしれないけど、使わないハンドラは
そんなに大きくならない感じがするよ。
sizeofで帰ってくるのはポインタの二倍。

念のため書いておくけど、ボタンは一例だからね。
0150login:Penguin2014/07/21(月) 11:48:15.31ID:QPlpx9ZQ
ちなみに、VS Express 2013では3倍でした。
たぶんこれはイケルと思う。

どうよ?
0151login:Penguin2014/07/21(月) 11:56:28.94ID:QPlpx9ZQ
あと、ClangがIDEのことを意識して作られているので、新しいIDEとかも
面白いと思うんだよね。
今は、VS、Eclipse、NB、円馬鹿、コード戦士とかあるんだけど、サポートしてる範囲が
狭いんだよね。
Clang使えばもっとニッチな分野でも使えるIDEが作れるんじゃないかと思うんだけど。
まあ、gccが事実上CortexMですら使えない状態で、Clangに期待しすぎかもしれないけど。
コード解析にClang使うからと言って、コンパイルにgcc使っちゃいけない法律は無いし。

どうよ?
0152login:Penguin2014/07/21(月) 17:47:50.42ID:0TP1LQh0
「MFCの欠点を修正する」
「gccの最適化の一部分だけを改良する」
「デスクトップGUIを使いやすくするアイデアが有る」

など、部分部分の修正なら出来る人の自己アピールにLinuxは
好まれる。
0153login:Penguin2014/07/21(月) 18:02:05.98ID:QPlpx9ZQ
>>152
さすがにそんなことは無いと思いますよ。

Linux使いのアピールポイントで多いのは、viが使えるとかですよ。
他にlsでファイルを探せるとかもありますね。
まあでも一番は、Ubuntuのインストールに成功したアピールですかね。
0154login:Penguin2014/07/21(月) 18:09:14.40ID:0TP1LQh0
>>153
でも、あなた自身はどうなのかな?
現に >>149-151 で現に WM_NOTIFY や IDE の改良について述べているでしょ。
0155login:Penguin2014/07/21(月) 18:14:08.15ID:QPlpx9ZQ
>>154
WM_NOTIFYってwin32固有じゃないの?
俺はC/C++で書かれたライブラリについて言っているんだけど。
ラムダ式が入ったんだから、もっと楽しても良いんじゃないかって話。
0156login:Penguin2014/07/21(月) 18:24:50.11ID:0TP1LQh0
>>155

>>149」の
>現行のGUIライブラリは、ボタンをクリックするとボタンを載せている
>親ウィンドウにメッセージが飛ぶでしょ。

の部分は、Win32 の WM_NOTIFY の事を言っているのだと思ったから。
他のToolkit ではどうなっているのか知らないので。
Java は、Listner インターフェースに AddAdaptor とかで登録する
んだったと思う。
0157login:Penguin2014/07/21(月) 18:31:52.51ID:0TP1LQh0
Win32は、「コントロール」がカーネルモードで動いているので、
ユーザー定義のコールバック関数を直接呼べないため、
親ウィンドウに WM_NOTIFY メッセージを SendMessage() する
ようになっている。

C/C++ 用の Toolkit の場合、ユーザーモードで動作させるので、
コールバック関数を呼び出すほうが元々自然なのではないかと
思ったが、実際に多くのToolkitがどうなっているのか知らない。
0158login:Penguin2014/07/21(月) 18:33:07.12ID:QPlpx9ZQ
>>156
どのライブラリでも同じだよ。
仮に親に飛んでこなかったとしても、何らかのインターフェースを実装する必要がある。
これJavaも同じ。
そこがC/C++が使われなくなった原因じゃないかと思うんだよね。
ボタンが押された時の処理をインターフェースを実装することで行うってことは、
そのボタンの存在を知っているクラスがあるってことなんだよね。
ライブラリの実装者は知っているわけないんだから、ライブラリの利用者がそのクラスを書く。
ここが面倒な点だと思うんだよ。
ところがラムダ式が入ったので、これからはJavascriptなんかと同じように
お手軽プログラミングができるわけ。
これは使わない手は無いでしょ。
何が言いたいかって言うと、車輪の再発明する好機がやってきたってこと。
日本からも何かを生み出そう!
(主にWindowsで)
0159login:Penguin2014/07/21(月) 18:38:42.67ID:QPlpx9ZQ
C++11になった以上、Qtはもう時代遅れ。
MFCと同じ存在。
そう、これからは俺たちの時代!
0160login:Penguin2014/07/21(月) 18:43:14.81ID:0TP1LQh0
>>158
>どのライブラリでも同じだよ。

「メッセージ」を親ウィンドウに送るというのは、Windowsの
「ウィジェット」であるところの「コモン・コントロール」が
「システム実装」であって、原則カーネルモードから
ユーザーモードのコールバック関数を呼び出すとするとシステム
の安全上の配慮が必要になるので、それを避けるためだったのだ
と思う。

なので、システム実装で無いところの Toolkit は、そういう実装を
取る理由が見当たらない。
0161login:Penguin2014/07/21(月) 18:48:02.58ID:QPlpx9ZQ
>>160
win32にも特別な理由は無いと思うよ。
指定したHWNDに送りつけても良かったんだから。
親ウィンドウに送るのが悪いと主張しているんじゃないんだけど。

ラムダ式を調べれば言ってる意味わかると思うけど。
0162login:Penguin2014/07/21(月) 18:51:26.87ID:0TP1LQh0
>>161

>指定したHWNDに送りつけても良かったんだから。

ハンドラをすぐ近くに書けるみたいなことが好きだと言うことかな?
0163login:Penguin2014/07/21(月) 18:55:55.90ID:0TP1LQh0
>>161
>指定したHWNDに送りつけても良かったんだから。

ここの部分については、自分も同じようなことを考えたことがあった。

ランタイム時に変わるところのHWNDを指定せずに、親子関係という
コンパイル時に静的に決まってしまう相手に送りつけることの
メリットをWIn32設計者は、当初は考えていたのかなと思った。

ランタイム時に相手を登録する事を当事は避けたかった可能性が有る。
0164login:Penguin2014/07/21(月) 18:57:20.55ID:QPlpx9ZQ
コンポーネントを設計すること、そしてそれを使うことを考えればいいでしょ。
そもそも、Javaのイベント処理書くの楽だった?
後で読むのが楽だった?
Javascriptと比較して簡単だったかな?
と考えると、これは良いものでしょ。
今ちょうど時期が来たんだよ。
0165login:Penguin2014/07/21(月) 19:00:08.99ID:QPlpx9ZQ
>>163
win32はwin16が有って作られたものだから、設計が20年前どころじゃないんだよ。
そこは責められない。

でも今はラムダ式があるし、メモリーは増え、処理速度は向上したので、
その時代を引きずる必要はない。

これはヒットするぞ〜。
0166login:Penguin2014/07/21(月) 19:01:57.92ID:0TP1LQh0
>>164
Java と Javascript とで、イベント処理の容易さに関してそんなに
差があったとは正直、気付かなかった。

Javascript の方が Java よりも楽だと言いたいの?
0167login:Penguin2014/07/21(月) 19:03:25.71ID:QPlpx9ZQ
>>166
そりゃ楽でしょ。
使いたいその場に書けるんだから。

Qtにmocが必要だった理由が無くなったと言えばわかるかな?
0168login:Penguin2014/07/21(月) 19:07:46.41ID:QPlpx9ZQ
ひゃっほ〜い!
ラムダ式ばんざ〜い!
0169login:Penguin2014/07/21(月) 19:12:33.81ID:QPlpx9ZQ
これは世界が変わるよ!?
今までアメリカや韓国、インド、中国に負けっぱなしだったけど、日本も
参入のチャンス!
今あるものは全部まとめて旧式だからね。
0170login:Penguin2014/07/21(月) 19:19:34.83ID:0TP1LQh0
実は、自分も一週間ほど前から、WM_NOTIFY は修正の余地が有ると
思っていたところだった。最近、量子力学でテレパシーのようなものが
あるという実験結果がいくつか報告されているので、これがそうなのか
と思ってしまう。


MFC の「メッセージマップ」には、ON_NOTIFY_REFLECT() なるマクロがあり、
それは、親へ送られた WM_NOTIFYメッセージを自分へ戻すと言う一度
聞いた時には意図が理解しにくい物が有る。
これも実は、WM_NOTIFYメッセージの送り先を最初から指定できるので
あれば不要なもの。

MFCの問題点の一つは、上記の「リフレクト」でもあるので、改良点として
は正しい。
0171login:Penguin2014/07/21(月) 19:19:59.08ID:CD3L4aLS
>>165
> でも今はラムダ式があるし、メモリーは増え、処理速度は向上したので、
> その時代を引きずる必要はない。
>
> これはヒットするぞ〜。
まあ、それが.NETなんだけどねw

ラムダ式・・・の話をするのなら、そもそもWindows APIは
C言語から呼び出せる関数になってる。言い換えれば巨大なC言語ライブラリ。
これがOSネイティブで用意しているAPI

で、そのAPIをラップしたのが、各種言語のフレームワーク。

OSネイティブAPIをC++言語ライブラリにしてしまうとその他の言語が困る。
多くの言語はC言語ライブらいリを呼び出す機能は持っているが、
C++ライブラリを呼び出せるとは限らない。

だから、Win32の話を持ち出すことじゃない。 Win32はC言語ライブラリであるほうが良い。

その上に、何か別の言語から触れる共通のライブラリを作る必要がある。
0172login:Penguin2014/07/21(月) 19:21:37.59ID:QPlpx9ZQ
>>170
でそでそ。

>>171
C++以外は認めん!
理由はC++が好きだからです。
0173login:Penguin2014/07/21(月) 19:25:22.54ID:QPlpx9ZQ
>>171
実は、そのライブラリを作ろう!って話なんだよね。
0174login:Penguin2014/07/21(月) 19:26:33.84ID:0TP1LQh0
>>169
ただ、無料で公開した場合、普及したとしてもどういうメリットがあるのか
分からないけれど。
0175login:Penguin2014/07/21(月) 19:29:33.49ID:QPlpx9ZQ
日本製のソフトウェアと海外製のソフトウェアが有ってレビューが無かったら
どっちを使うか?
大抵、海外のほうが良さげに見えるでしょ。
でもこれからは違うよ〜。
誰もが日本製の方を手に取る。
そんな時代がやってくる。
0176login:Penguin2014/07/21(月) 19:32:16.89ID:0TP1LQh0
しかも、WM_NOTIFY 系のハンドラは、result が、戻り値であったり、
引数に LRESULT *lpResult になっていたり、はたまた、省略されて
いたり、ON_NOTIFY() と ON_REFLECT_NOTIOFY() とでハンドラの型が
違っていたり、複雑だったような。

それに、最初からコールバック関数で有るなら専用関数の型が通知別に
なりえるのに、元がメッセージなので、自分で NMxxxx 見たいな構造体に
lParamをキャストして使う必要があり、かつ、MASK 値で変化しているもの
だけが意味が有るなどという余り意味がなくて「大げさ」な仕様である
所も問題点だ。
0177login:Penguin2014/07/21(月) 19:36:46.37ID:QPlpx9ZQ
>>176
MFCは古いライブラリなので当然古臭いんだけど、今あるどのライブラリも
似たような問題があるよ。
今、時期がやってきたんだよ。
スクリプトなんか使わなくていいんじゃ?ってくらいC++が充実してきた。
これはチャンス!
もう追いかけるのはやめて日本で作っちゃおうぜ!
0178login:Penguin2014/07/21(月) 19:38:31.39ID:QPlpx9ZQ
俺らって英語勉強してきたじゃん。
これからは外人が日本語を勉強する時代!
英語?いや、これからは日本語でしょ。
そんな時代!
0179login:Penguin2014/07/21(月) 19:41:05.83ID:0TP1LQh0
OnNotify() は仮想関数なので、メッセージマップには何も書く必要
がないのだった。で、全ての通知の1つのハンドラで受け取る形式。

それに大して、ON_NOTIFY_REFLECT() は、(当然)仮想関数ではなく、
通知の種類を指定する形式。

WndFunc() ハンドラで受けた場合だと、LRESULT は、ハンドラの
戻り値なのに、上記ハンドラでは引数に LRESULT *pResult となって
いる。

そして、OnNotify() では、BOOL 値を戻すのに対し、ON_NOTIFY_REFLECT
で呼び出される形式では、戻り値は void。


こういったところが、MFC が汚い点。
0180login:Penguin2014/07/21(月) 19:43:15.50ID:0TP1LQh0
語:で、全ての通知の1つのハンドラで受け取る形式。
正:で、全ての通知を1つのハンドラで受け取る形式。

誤:それに大して、ON_NOTIFY_REFLECT() は、
誤:それに対して、ON_NOTIFY_REFLECT() は、
0181login:Penguin2014/07/21(月) 19:46:59.62ID:0TP1LQh0
>>177-178
「日本で」というのが、自分には違和感が有る。

「作った人が利益を受ける」

これが好ましい。
■ このスレッドは過去ログ倉庫に格納されています