Linuxは、開発環境が40年前と同レベル
間違ってもらっては困るのは、それはコマンドライン・メインなのが主因ではないということ。
本当の一因は、本来手書きでも簡単な Makefile の作成をわざわざ難しくしてしま
う autotools を権威に流されたのか多くのプロジェクトが使ってしまっている事にある。
高々 Makefile 1つ作るためにも以下のような工程を踏まなければならない。
本来、典型的には、ソースファイルである *.c, *.cxx, *.cpp を指定するだけ
でも自動生成する事が出来るはずなのに、ツール類が馬鹿だからそうなってない。
なのに、「Linuxはプログラマーには便利」などと嘘情報が流れるから、普及しない。
しかも、カレントディレクトリのスクリプトの実行に「./configure」などと「./」
の指定が必要なのも馬鹿丸出し。ファイル名に大文字小文字の区別がされているのも馬鹿。
ファイルのコピーもdosなら、「copy *.c /xxx/aaa 」で済むことが
$ find . -name '*.c' | xargs -n 1 -i cp -p {} /xxx/aaa
などとしなくてはならず長すぎ、馬鹿ですか? しかも、'*.c'の部分が、*.c と書かれている
説明が溢れているがそれだとbashが展開してしまうのでたまたま上手く行く事はあっても、
実際には正しくない。また、mountしないとディスクが認識出来ないのも初代PC-8001の
レベル。PC-8801で自動マウントできるようになったのに(いつの時代(苦笑))。まずは、
不便さを認めるなければ、改善すらままならないのにそれすら全否定。正直に便利と思って
るなら井の中の蛙で馬鹿で無知なだけだ。そして、僅か1点でも間違いがあれば全てが間違って
いるように全否定してしまうLinux信奉者の愚かさもアホとしか言いようがない。 >>620
> 設定ツール使っても何も便利にも改善もされてないけど何か意味あるの?
ユーザーが簡単に設定できるようになるので意味がある。 君の話だと設定項目のウィジェットかどう実装されるかは決まってない
バリデーションもやらなくてもいいしエラーが出るかもわからない。
えーとテキストエディタに比べて嬉しさどこにあるの? >>621
滅茶苦茶な値を入れるのを防ぐ保証ないのに
滅茶苦茶な値を入れるのどうやって防ぐの? >>623
汎用のXML設定ファイルとして仕様が共通化されてるので
設定ツールを含めさまざまなツールやライブラリを作って
共通で利用することができること
またそれらのツールやライブラリを使ってユーザーも開発者も
便利で楽ができること
>>624
テキストエディタで設定ファイルを編集することを考えればわかる。
設定ファイルの編集は可能だが、アプリケーションでチェックが行われる >>625
ツール作ってもツールが何できるかわからないし
期待していたことが期待外れも余裕であるんだろ?
役立たずのツールが作れて何かメリットだって? >>625
いよいよ壊れたレコードのように同じことを繰り返すしか能が無くなってきたな 40年経ってもwindowsレジストリの素晴らしさが理解できないのか。 >>624
結局作る側はユーザーが手で弄ったりする事も考慮して自分でも値のバリデーションをしないといけないもんな
なんつーか本当にものを知らないガキの妄想だよな 汎用ツールの特徴は
・開発者が楽できる(汎用ツールの仕様に合わせて開発すべき)
・ユーザーフレンドリー(直感的?アプリの仕様に関係なく設定はブラウザに似たインターフェース)
・設定ファイルがguiコーディングも兼ねる。(設定ファイルでインターフェースを描画し、値を変更したものを保存する)
これだけでもクソ仕様だとわかる。 >>630
これずっと思ってたわ
この人設定と設定の設定の区別がついてないような感じよね 引用忘れた
> ・設定ファイルがguiコーディングも兼ねる。(設定ファイルでインターフェースを描画し、値を変更したものを保存する) テキストファイル書いて設定させるなんて昭和末期か平成初期には通用したけど、いまじゃデメリット多くて古くさいってバレバレの手法だよねw >>634
設定が多段のツリー構造になったことで柔軟に構成できる(限度はあるけどフラットなテキストファイルより使い勝手は良い)
パス、キーが判ってれば値の取得と更新はOSにリクエストするだけで済む。
独自ライブラリでR/Wしなくて良いしOSのバージョンが変わってもアプリには影響ない(APIが互換性保つかぎりはw
デメリットとしては「設定を保存するエリアにコメントを書けない」ってのがあるね。 レジストリがテキストより編集しやすいかは習熟度によると思うぞ。慣れたらテキストのほうが見通しが良いし、わかりやすい。 レジストリとかgconfとかって機能してない項目が大量にあるのはなんでなん? >>631
> この人設定と設定の設定の区別がついてないような感じよね
わかった上であえてそうしてるんやで。
なぜなら、設定ファイルをテキストエディタで
修正したいという層が一定数いるから
テキストエディタで修正しないんだったら
設定ファイルにコメント機能なんていらん。
コメントはまさに、設定ファイルにUIが含まれてるってことなんだよ
それみてどんな値を入れるか判断しているわけだから
設定値と設定UIを作り出すタグを分離すれば、
今度はテキストエディタで修正したい人が使いづらくなる UIがどう表示されるか規定されないし
個々のフォームがどういう挙動するかも不明で
使いやすいのかというか実用になるかもわからんけどな > UIがどう表示されるか規定されないし
HTMLだってそうだよ。
そもそもどう表示されるかはデバイスによって異なる
PCで使いやすいUIがスマホでも使いやすいわけじゃない
なんでこうすでに通り過ぎた歴史の話ばかりするだろうか? 現実を否定しているところから始まってる妄想だから現実離れしてて現実的じゃないのは当然やろうな。
こうだったら良かったのにというボヤキなんだろうが、ボヤキにしても無知を晒してるだけだからな。 アイデアとしてはわかるんだよね。
東芝が昔実験的に作ってた。
XMLスタイルシート的なアイデアは大昔から存在するんだが、実用的なものを構築するのはなかなか難しいと思う。 HTMLが規定されてない、という部分を都合よく拡大解釈するし
不味いところは逃げ回るし >>642
なんで現実にある問題点と解決策を言ったら、現実離れになるの?
その理屈だと、効率が悪いと指摘するだけで
効率が悪いのが現実なんだ。現実離れしたことをいうな!ってことになるけど? >>644
拡大解釈だろうがそうでなかろうが、
どちらにしろその解釈に反論できないんでしょ? 少なくともUIの意味論的な話で共通理解が無いと実際に実装は無理。
その規約決定を放棄してお前の頭の中でだけそんなのわかるだろでは話にならない >>648
> 少なくともUIの意味論的な話で共通理解が無いと実際に実装は無理。
何が言いたいんだかさっぱりわからん。
HTMLの仕様とか見たこと無いのかな?
UIをどうしろとか書いてないよ W3Cは戦場なので、力あるものが勝つし、勝ったものが正しいとは限らない。
裁判と同じだよ。 エンジニアなのに教祖への愛がすべてなのが、ウェブの未熟さを表してるんだよ。 >>645
現実にある問題点はconfig.xmlに独自タグが多いってだけのこと?他にある? ウェブ業界には勉強会と称して毎週ミサがあるだろ。
お互いに啓蒙しあい信仰心を深める。
最後にみんなで歌を歌って解散。
まさにイカ臭い新興宗教じゃないか。 二言目にはHTMLガーであるがこいつが想像してることは
JavaScript・CSS・サーバサイドその他HTTP技術が関わっていのに
XMLの話だけで設定ツールへのその部分の押し込み方が全く不明 >>650
>>648の言いたいことがわからないのは読解能力がないから。お前の妄想をなんとか理解しようとしてるみんなは表現力が乏しい文章に根気よく付き合ってるから。 実際それっぽいのはweb技術に寄生したらelectronですぐ作れるけど、今度はアプリケーション側がhtmlスクレイピング並みに頑張らねばならなくなる。どこに得があるんだって話だよ。 そしてすぐ作れるものを誰も作ってないってことは、もう言わなくてもわかるだろ。
本当に役に立つならすぐ作っちゃえよ。それで飯くっていけるぞ。 Windows 使ってないからレジストリについてググってみた。
Windows を使わない理由が増えた。いや、今更だが…… アホやろ
移植性が段違いじゃんか
それに世界中に使ってる人がいるってことも
無視しとるやんけ、自分が無能なだけや 正直、C89以前のCなんか読めたものじゃないし、
かといってC++11以降の機能使いまくったソースも読めたものじゃない。 >>637
嘘だよ。初心者に優しいのは、テキスト編集だよ。
英語が苦手なだけでしょ。 マウントなんて、大分前からクリックするだけやんけ
それよりディスクの故障チェックもできないとか、そっちのほうが怖いよ >>633
へー、今はむしろナウいんだけどな
取っとけるし 見通しがよいかどうかはシステムのサイズによる。複雑になれば階層構造のレジストリのほうがいいに決まってる。
基本的な型は用意されてるし、細かくセキュリティも設定できるし、読み書き用のAPIも用意されてる。
OS起動時に必ずバックアップを取ってから起動してくれるのもメリット。
なんでもviで作業したいというのが諸悪の根源。開発環境が50年前とい言われても仕方がない。 >>665
英語苦手じゃないけど、ちょっと言ってる意味がわからん。とりあえず、レジストリはめんどくさいぞ。 レジストリより環境変数のほうが使いやすいよな!!!
って人は少ないだろう。 みかんとしいたけだったらみかんのほうが美味しいよな 何も足す必要がないということは究極を極めているということであろうか。 xmlの優位性はテキストだということだけれども、実際テキストエディタでxmlを閲覧すると醜悪そのものだよね。 >>4
Windowsのビルドって、どれぐらいかかるか知ってる? >>669
そういう意味なんだけどね
テキスト編集の方が楽だけど、設定ファイルの雛型に
書いてある説明が英語なのは、日本人にとって辛いかなと
慣れればなんてことないけど。 ちなみに勘違いしてるみたいだけど
autotools 作ったのはGnuではないよ。
自動的にMakefile作るシェルスクリプトが回覧されていく
うちに、みんなで改良加えて、なんとなく出来上がったのを
Gnuが採用しただけだよ。移植性を重視してたからね。
別に好きな奴使えばいいんだよ。気に入るのが無ければ
自分で作ればいい。それが自由であることの尊さなんだから。 autotools使うのは、それだけ多くのライブラリに依存
しているからで、その分のコードを書く手間を
省けるのだから、大したことでは無いね。移植性も
高まるし。でも、それが必要ないなら、別にMakefile添付でも
全然問題ないし、そういうプロジェクトも少なくない。
他のビルドツール利用でも良いし。なんか
勘違いしてない?これらはあらかじめ与えられてるん
じゃなくて、享受するものだよ。嫌なら自分でやるんだ。
近所の落ち葉をかたずけるのと同じさ。君のために
誰かのためにやるんだよ。そう思うなら、自分で
どうにかするんだよ。 良いこと言うね、全くそのとおりだわ
読んでねーけど INIのように書式とデータ構造とAPIが共通化されてるテキストベースの多層構造の設定を保持するメカニズムがあればよいんだよ、Linuxに。 ハイ論破厨ってたまに5chで見るけどいつも論破できてないよな。同一人物? 「ハイ論破」はダサいという風潮はとうにご存知だが必要不可欠な機能
C/C++やPerlのセミコロンみたいなもの 私たち日本人の、日本国憲法を改正しましょう。
『憲法改正國民投票法』、でググってみてください。
平 和は、勝ち取るものです。拡散も含め、お願い致します。 >>684
あなたは、日本人じゃない気がする。
日本人なら絶対しない「ご存知」「機能」の使い方してるから。 へー、LinuxにはJSON読み書きする「共通化されたAPI」ってあるのかぁ。
知らなかったな。
Cで使おうと持ったらインクルードファイルは何をしてして、どんな関数呼べばいいんだろう?
定番のunistd.hかな? JSONってそんないいもんじゃないよね、コメント書けないのは致命的 jsonが爆発的に普及したきっかけはバイナリ保存はしたくないけど、オブジェクトをそのまま保存したいって需要だから
設定に使うとしても開発者よりなんだよな。linuxは開発者フレンドリーだから開発者マインド無いときついってのは理解できるけども。 階層が深くないならiniが見やすくていい
階層が深いならyamlだし、記述性ならxmlだし、どれも一長一短あるけど、テキストエディタで開く設定ファイルならiniは使いやすい 複数行コメントを書けて、日本語も問題ない、Ruby が良い
=begin
複数行
コメント
=end Windows界はいろんな産業ロボットを使ってモノを生産しているのに
Linux界はいまだに手作りでモノを生産しているようなもんだからね。 >>1
Unix は世界最古のOSらしいので、最初は良かれと思って決めたものが、
使ってみると使いにくかった、ということはあるかもしれない。
一例として、
$ コマンド名 パラメータ >a
などとして、リダイレクトするとき、stdout と stderr が分かれている
のも、現実的には不便。
$ . スクリプト名
と先頭にピリオドをつけないと環境変数がスクリプトによって設定できない
のも不便。
どちらも、DOS では修正されていた。DOS の方が後発だから。 資本制企業はいかに人件費を削って量産するかを常に考えている。
少ないプログラマでより多くをと。
ところがオープンソースの世界はコーディングすること自体が楽しい
って人々の集いだからな。効率化へのインセンティブが小さい。 >>697
別の環境変数で処理したいなら別の端末を開けば良いわけだから、
スクリプト内での設定を反映しないという仕様は、今となっては
アリガタ迷惑だと思う。
ただ、行儀の悪いわけの分からんスパゲッティーで解読するのも
時間の無駄なスクリプトも多いが。 >>697
stdout と stderr と時系列的に合わせて出力しないと、解読しにくい
場合があるので、結局、2つの出力を合成したいことが多く、
1&>2 a
だったか、覚えていられないような変な記号を書かなくてはならない。
あと、tee コマンドも覚えにくい。 というか何もかも覚えられない
脳が退化しているのか? &> a
と、
1>&2 a
の両方の書き方があったり、export が必要あったり無かったり、
そんなアホみたいなものは、むしろ高級な脳であるほど覚えられない。
高級な脳は、共通原理や一般法則だけを覚えようとし、単純で無意味な情報は
削除される傾向があるから。 >>1
なんという愚かなOSなんだろう。
DOSと同じことがこんなに長くなる :
[DOS]
$ コマンド名 >a
[Linux]
$ コマンド名 1>a 2>&1 >>703
> [DOS]
> $ コマンド名 >a
↑間違い
> [Linux]
> $ コマンド名 1>a 2>&1
↑1は不要
正しくはこうだよ
[DOS]
$ コマンド名 >a 2>&1
[Linux]
$ コマンド名 >a 2>&1
参考
http://tooljp.com/windows/doc/stdout-stderr/stdout-stderr.html
> (4)標準出力と標準エラー出力を同じファイルにリダイレクト
> mycmd.exe > stdout-stderr.txt 2>&1 >>705
DOS に関しては、そもそも原則として多くのツールが、stderr を使わない流儀
だったので、stdout だけをリダイレクトすれば十分だったんだ。
だから、その意味で、
[DOS]
$ コマンド名 >a
は間違ってない。
要は、トータルの使い勝手で考えた場合だから。 ほらほら、間違いを指摘されて、
焦ってきてるぜwww つまり、DOSコマンドは設計に沿わないアプリが多かったということかな? >>709
いや違う。
最初からそれを前提にしていたので間違ってない。
あなたは、DOSの事知らないからそんなこと言ってるのでは。 >>710
いや、むしろ、stderr を滅多に使わないのがDOSの流儀だった。
少なくとも、コンパイラのエラー表示は100%、stdout に出ていたし、
その他のフリーソフトなんかの表示もほぼ、そうだった。 使いにくくなるだけなのに、stderr を使っているソフトが多いのは、Unix系の
プログラマには、実は真の意味では頭の悪いのがいっぱい混じっているから
ではないか。 明言していない前提
他社を憶測で知らないもの扱い
ごく主観的な流儀
主観的な使いにくさでOSの草分け的な開発者を無能扱い
これだけでまともに取り合う気がなくなる。 元々、stdoutとstderrが分れているのには理由がある。
理由もなしに分けたりしないという想像力があれば憶測でモノを言うと恥ずかしいことぐらいわかりそうなもんだが。
標準出力がUIを兼ねていたのでユーザーへのメッセージがerrで塗りつぶされるのが良くないし、
出力結果を次のコマンドに渡すときなどにerrメッセージが混ざると困るし、
コマンドが入力待ちの状態の時、errなんか出たらなにで止まってるのかわからないからな。
当時は無視するしか無いerrもあって切り分けるしかなかった。
例えば標準出力をファイルを書き込んでる最中にエラーを出力するにはstderrに出すべきだろ。
それを使いにくくなるとは。。。 >>715
コンパイラの出力をパイプで渡していくのは時代遅れだと思う。
今は、ファイルに書いて渡せば良い。 >>714
古い時代とはまた違った、今の時代に合った CUI の流儀がある。
Unix好きの人には、古いものを維持し続けようとする人が多すぎるのか、
または、古いソースを使いまわし続けすぎているためか、古い流儀のまま
になっているために効率が下がっている。 >>716
ファイルに書いて渡すと遅くなる
ディスクが遅いとかいう話じゃなくて
並列処理ができなくなるという話 >>719
実際のコンパイルは、a1.c, a2.c, a3.c, ・・・ などを別のCPUコアに渡して、
マルチコアでコンパイルするので、既にCPUコアが完全に使用しきられている。
なので、それ以上、コアに空きが無いので、パイプを使っても並列度が
上がることはほぼ無い。
一方、いったんファイルに書いてもファイル・バッファにキャッシュされ、
実際のディスクへの書き込みは、全く行われないか、または、ずっと後
になってから行われ、コンパイル作業中にはRAM上でデータの受け渡し
が行われるためディスクの遅さは全く関係しないと言っても過言ではない。 >>720
パイプを使っている今はね。
ファイルを作ると遅くなるって言ってるの
今のやり方が最適なの。だからCPUコアを使い切れている >>721
パイプを使っても、0.000001% 位しか速度差が出ないのに、
gccなどのコマンドラインはめちゃくちゃ使いにくくなる。