はてなキーワード: unixとは
ロシアが大手企業を接収した場合には販売されるPCのOSがTRON-OSに置き換わるというシナリオが考えられます
TRON-OSはかつてアメリカに嫌われていてB-TRONなどは失敗に終わっているが、TRON-OSの中で唯一生き残ったI-TRONだけでもWindowsに勝っていて先進的であり、使用料は基本的に無料であるため、ロシアが大手企業を接収してWindowsなどが開発されなくなった場合、TRON-OS入りのPCが世界中に販売されることが起こりうると考えられます
そうなると、TRON-OSプロジェクトチームが動き出し、日本を中心に西側諸国などでTRON-OSが共同で開発されるということになりそうです
TRON-OSは異なるアーキテクチャで同一のコードを実行できると言われているので、IntelやAMDのCPUが無くなってもTRON-OSならTRONチップや別のCPUで開発を続けられるそうです
PCのOSがTRON-OSに置き換わるとWindowsよりもセキュリティーと安定性が向上し、非常に軽量になると考えられます
ロシアが大手企業を接収するなどしてTRON-OS入りのPCが世界中に販売されれば、TRON-OSのシェアは90%以上(残りの10%以下はサーバーやスパコンなどでLinux、一部のシステムでUnixなど)まで増えるということになりそうです
ロシアが大手企業を接収するなどしてTRON-OS入りのPCが世界中に販売されれば、QEMU、LibreOffice、Inkscapeなどのオープンソースソフトウェアは開発は続行し、TRON-OS向けにコンパイルしたものが公開され、TRON-OS向けの商用ソフトウェアも出てくると考えられます
2chでは、データファイルを追記(アペンド)モードでオープンして、一度に書き込む量をバッファサイズより小さくすることで、ファイルロックせずにデータファイルの破損を防いでいた。
このdatファイルと呼ばれるデータファイルは、xxxx.dat(xxxxはUNIX時間)のファイル名を持つファイルである。
これでファイルの破損を防いでいたのだが、たまに、ちょっとした問題が起こる。
同時刻に2人がスレを建てると、2つのスレが建たずに、1つのスレにマージされてしまうという現象が起こるのだ。
理由は簡単で、データファイルロックせず、追記(アペンド)モードで、同じ名前のファイルを2人で同時にオープンしてしまうためだった。
1960年代後半、軍事目的の「ARPAnet」をルーツとしています。 これは攻撃を受けた時、一部のシステムが破壊されてもダメージを最小限に抑えれるよう情報を分散して設置し、 それぞれを通信で結んで機能を発揮することを目的としたものです。
コンピュータ同士を結ぶ場合、同じコンピュータとは限らないので、統一した規格が必要となります。 (当時は、ソフトの利用料が高く、実際には難しかった。 そのころUNIXが発表されコンピュータが違っても同じソフトが使えるのに着目し通信機能を作り上げた)
その後、これとは別にNSF(全米化学財団)が、このネットワーク方式に注目し学術を目的としたネットワークを考え(スーパーコンピュータを利用するため)、 1979年「CSnet(コンピュータ科学研究ネットワーク)」として設立され、86年に「NSFnet」として発展しました。 NSFnetは、大学間を結んでネットワークをつくり(直接、スパコンと結ぶとコストが高い)、情報を共有する事を可能にしました。
この間、ARPAnetとCSnetが接続されていたが、この頃にはIBM、DECといった企業では独自のネットを構築。
ARPAnetは、軍事目的部分を分離し「MILNET」として独立し、残りの部分はNSFnetへと吸収(89年)されました。このころWWWとモザイクが登場しインターネットの普及に拍車がかかりました。
また、企業を中心とした「CIX(キックス)」も接続され、今日の「Internet」となりました。(学生時代に使ったインターネットが利用できない事に不満)
ただしスタンドアロンのアプリを書いてる人については特に問題ない。
要はシステム構成がWindowsPC1台orスマホ1台のみで済むとか、組み込みとかね。
それからITゼネコンの末端で、詳細設計をコードに翻訳するライン工もどきみたいな立場の人も別に知らなくていいけど、それもうプログラマーじゃなくて単なるコーダーだよね。
こういうこと書くと
とか言い出すやつが絶対にいるんだけど、今やクラサバモデルのシステムは開発のメインボリュームで、かなりの数の開発者に関係する話じゃねーの?って思うから言ってるわけで。
あと、Linuxというか本当はUNIXなんだけど、現状サーバ用途のUNIX系OSがほぼLinuxで占められているので。
なんでLinuxが使えないと問題かというと、実際にサーバを運用しているエンジニアとまともにコミュニケーションが取れないから。
それが回り回って開発と運用が対立する、あるいは何かあったときに適切に連携できなくなる遠因になる。
本当は開発側がサーバ側の運用設計まで書いて、運用するSEに承認してもらうまでが仕事。
そのためには自分が作るシステムの動作環境の構築は自力でできなきゃダメだし、そのためにはLinuxの基本的な使い方を知っている必要があるわけで。
それにネットワークプログラミングなのだからある程度のネットワークの知識は必須で、Linuxも扱えない人がそういう専門家になれるとは到底思えない。
まあ流石にスイッチ・アプライアンス・ストレージみたいな話になると、カネ払ってベンダーのセミナーを受講しないとわからないと思うので正直厳しい。
その場合でも、Linuxに触れることで身につけたネットワークの知識が不要ではないどころか、
「今こちらのサーバでこういうコマンドを実行した結果がこうで・・・」
みたいな話をインフラエンジニア相手にできるとできないでは大きな差がある。
最近の流れで、そこらへんを全部クラウドにお任せするにしても、サーバとは一体何者か?レベルは体験的に知っておいたほうがよさそうだし。
オープンソースソフトウェア(OSS)は、ソフトウェア開発でも長い歴史を持ち、なおかつかなり個性的な特徴がある。
ざっと挙げるなら
こうしたコミュニティから生まれてきたソフトを最も多用しているのは、他ならぬWeb系だろう。
サーバサイドプログラミングが中心になることから、Linuxを触る機会も他の開発系に比べて格段に多いだろうし。
結果、「UNIXの哲学」とかGNUの歴史とか全く意識せずとも、こうした活動を通じていつの間にかOSSのエッセンスを身に着けた人が、Web系には少なからずいそう。
その意味では、OSSがどういうわけか今のWeb系の礎になってしまったという意味で、タイトルに書いた通りになっているのかなーと。
あれが押し付けに見えた?
マジか…こっちはあくまで
「より良いプログラマになりたいならこうするといいと思うよ」
こっちがUNIXとコマンドラインを必要なスキルに含めた一方で、古典力学や電磁気学を含めなかったのも、突き詰めれば個人的経験に基づくものという程度でしかないことは、読んでてわかるだろ?と思っていたのだが。
いちいち
「※個人の感想です」
みたく書いたり強調しなきゃいけないのかよ。
めんどくせーけど今度からそうするわ。
ともかく、そういうわけであの内容に乗るか乗らないかだって完全に自由だし、同意してくれる人が一人でもいれば、こっちとしては書いた甲斐があったんだよ。
これだけ途方もない反発が来るとか予想外だし、同意できないならスルーしてくれてよかったんだが。
それから、現場できれいなコードの重要性を説いて回れというけど、俺はそいつの親でも先生でもない。
そこで相手に
「お前は俺の先生か?」
と反発されずに言うことを聞いてもらうことがどれだけ大変か、考えたことがあるか?
そういう意見を聞いて実行してもらう以前に、そういう話ができる関係を一人ひとりと構築するところから始まり…お前がその立場だったらできるのか?
他の人より多少きれいなコードが書けるというだけで、なんで自分がそのコストを負わなきゃいけないんだ?なんでそれが自分の仕事になるんだ?とも思うしな。
そういう、言い出しっぺが損するみたいな構図そのものにも嫌気が差すんだわ。
結局知る必要がないから知らないままでいいという態度でこれまでの人生過ごしてきたという自覚はあるんか?
保守性が足りないなら保守性を高める必要性を説明すればいいだけやん
お前の同僚がUNIXやコマンドライン知らないことで保守性が下がってるなら
その同僚に自分たちの業務でUNIXやコマンドラインの必要性をわからせるのがやるべきことであって
同僚や会社への不満を僕が考えた最強のプログラマ教育を見ず知らずの他人に押し付けることで解消するのは八つ当たりでしかないぞ
↑の元増田として、元記事から派生させる形でプログラミングの学習に関する関連エントリを書いた。
その結果は、
という、非常に強い反発だったわけで。
本件で反発を受けたのはUNIXとコマンドラインの使い方に関するものだけど、多分問題の本質はそこじゃなくて、
なぜこれを問題視しているかと言えば、現実問題としてプログラミングにおいて
「動けばいい」
というスタンスで低品質のコードを量産する人があまりに多いし、それは
ちなみにこういう人らの書いたコードは、とにかく信じ難いレベルで保守性が低い。
後から他の人が手を入れることはもちろん、下手をすれば書いた本人でもメンテ不可能な、言葉を選ばずに言えば「ゴミ同然のクソコード」だったりする。
こうした低品質のコードは作成者の信頼を損なうだけでは済まず高確率で周囲を巻き込むし、つきあわされる方はたまったものではない。
何もこれは個人の傲慢な感想でもなんでもなく、開発に携わった多くの人間が感じる話だと思う。
なので、そういうできない人には一秒でも早くできる人になって欲しいし、これからプログラミングを始める人にはできる人になって欲しいわけ。
(「クビにする」「篩にかける」というのは可能な限り避けたい)
だからこそ
「ぼくのかんがえた、よりよいプログラマになるためにやってほしいこと」
みたいな形で、学習に関するエントリとしてあのような駄文を書いたわけだが、そんな押し付けがましいものはいらないと。
まあプログラマの大多数がいらないと言うならいらないでいいわ。
自己満上等だ。
じゃあ一体どうしたらいい?どうしたらいいと思う?
こっちは迷惑してるし、かといって仕事を選べるほど偉くもないし、業界から足を洗うのも願い下げ。
こう書くと
「お前がもっとできる奴になって、できる奴とだけ仕事できる環境に行けばいい。それができないなら諦めろ」
という答えが返ってきそうだけどな。
確かに、自分を差し置いて他人のことをどうこうしようというのがおこがましいのはその通りだろう。
しかし、そうは言っても「ゴミ処理」の仕事は確実に回ってくるんだから文句の一つも言いたくなるし、その状況はどこまで行っても変わらなさそうなわけで。
「必要になってからやればいい」だと「動けばいい」で仕事をこなす糞コーダが量産されそうだけど、それでいいと思ってるってこと?
「動けばいいでは済まない」事態にならない限り、どれだけソースの保守性が低かろうがいいとも読めるんだが?
それで信頼を失うのが当の本人だけなら勝手にすればいいが、それだけで済まないケースも多々あって、なんなら巻き込まれる可能性も普通にある。
組み込みがLinuxベースといってもあんだけコマンドラインやUNIXのノウハウに否定的なんだから、きっと本当に不要で余計な知識なんだろうよ。
それこそ組み込みで必須であることをやたら強調する、古典力学や電磁気学や微分方程式を一生懸命勉強したらいいんじゃねーのって思うわ。
誰かが電気回路を設計しなければならない、って一見もっともらしいんだけど
組込でも基本unix動いてるし
どっちも種類によって使い方も違うんやし
UNIX系OSでバックエンド開発しようとしてる人に「XCodeインストールしてください」「AndroidSDKの仕様学んでください」はおかしいのと同様に
Androidアプリ開発しようとしてる人に「UNIXのCLIの使い方を学んでください」「laravel環境構築してください」はおかしいんやで
追加で何かを学べば引き出し増えるのはUNIX系CLIに限った話でもないやん
WEB系しかやってない人がiOSやAndroidのAPIやIDE学んだって引き出し増えるし
UNIX系CLIという特定の環境に依存したもの(組み込みやスマホアプリやPCアプリ作成者にとっては知らなくても開発可能)である必要もない
お前がWEB系以外の開発スタイルを知る気がないのと同じように非WEB系いTエンジニアもWEB系のことなぞ知る気があるわけではないことに気づけやで
MicrosoftがWSLを出してる時点で、
サーバサイドはUnixにかないません。と言っているようなもんだと。
ところで、WSLはそろそろ安定して動くようになったの?
今やほとんどのPCユーザはWindowsを使っているのだから、UNIX系を追加で学ぶことで、Windows以外の環境でもプログラミングできるという話。
それだけ引き出しが増えるし、環境の差異に振り回されず物事を考える取っ掛かりにもなる。
CLIに全く触れることなくプログラミングを学ぶことが問題なんだよ。
もし最初からIDEでプログラミングを覚えてしまったら、多分もう二度とCLIでプログラミングをする機会はないと思う。
そもそもIDEでの開発ありきという姿勢が、つい最近までWindowsでの開発スタイルだったわけだし、その意味でも非Windowsな開発スタイルも知る必要がある。
プログラミングでUNIXのCLIに全く触れないとしても、CLIでの開発は出発点として重要だから言ってるんだよ。
いきなり最初からIDEだと、IDE使った開発しかできないプログラマが生まれる可能性については問題ないと?
さらにIDEを使いこなすことばかりに注意が行って、データ構造とアルゴリズムへの意識が甘いプログラマとかも生まれそうだよね。
特に独学だと。
そこらへんどう思ってるんだろう?
まぁそういう人もいるよね。それで問題ないと思うよ
サーバー←→クライアントの関係、基本的なネットワークが理解出来ているか?だけが重要な訳で
CUIの画面でカタカタったーーンが重要なわけではないし、必要になったら必要なコマンドをググれば事足りる
あとワイは未経験者はLinuxと仲良くなっといた方がスムーズでは?派だが
わざわざ普段使うオペレーターティングシステムをUnix寄りにましてやMacにする必要性はない思ってる
この増田→ anond:20220811161554 がMacなんちゃら書いてること読み落とした
MacはApple信者とスタバでドヤ顔に任せておけばいいと思うよ
https://anond.hatelabo.jp/20220527063027
あとWSL2使えよは何度も言ってるわ