はてなキーワード: Unixとは
結構多くのWEBサーバのアクセス制限で.co.jp .ne.jp .jpがdeny設定されていたって話である。
https://b.hatena.ne.jp/entry/s/twitter.com/kanose/status/1601270223386324992
個人のネット利用で大きな転換点は2005年くらいで、例えばブログのはしりのはてなダイアリーサービス開始は2003年でアルファブロガー選考開始は2004年、youtubeサービスインが2005年だが、これらの特徴は「アカウントをとって企業のWEBサービスを利用する」という、今では当たり前の方法だ。
だがこの以前にはそういう方式のものは少なく、ISPや借りたレンタルサーバに自分でコンテンツをアップロードして構築するというのが主流だった。
これは内部的にはLINUXサーバ制限アカウントを貰ってユーザーディレクトリの/WWWにファイルを置くという事やね。
だから最初のうちは個人サイトのURLは「http://www.yourisp.co.jp/~aybabtu」って感じだった。~はUNIXのユーザーホームディレクトリを示すのね。やがてバーチャルドメインに対応するサーバ会社が増えてhttp://www.aybabtu.rentarusabaa.comみたいな今では当たり前のURLになったんだが、最初はバーチャルドメイン設定は有料だった。
MS Officeには「パブリッシュ」ボタンがあってそれを押すと編集してるファイル群の構造のまま指定したサーバにFTPでファイル送るみたいな機能もあった。(だがこれはShift-JISでUpするというクソ仕様で後に読めなくなるのだった)
httpの頭のHTはハイパーテキストで、参照箇所にはリンクが設定できて参照元にジャンプ(これも死語だ)できる電子文書なわけで、まさに公開はパブシュッシュ=出版なわけだ。今もサブスクリプション=新聞雑誌の定期購読というのはこの建付けが残ってるからだ。
ISPやWEBレンサバにはユーザー権限の多寡で違いがあって、ユーザに実行権限も付与してperlなどのインタープリタを構築しておくと、テキストであってもファイル先頭にインタープリタへのパスを書いておくとそれが実行され、標準出力をhttpで返す。これがCGIで、ISP供与で多いHTMLファイルの公開だけの権限制限されたサーバに不満な層は「CGI実行可」のレンサバ屋に移っていった。
但しプログラムであるから、いい加減に書いてループ参照とか起こすとサーバのCPUやメモリを喰いつくしてサーバダウンを惹き起こす。だからISP供与のでは実行権限を与えなかったわけだ。逆に言えばISPが必ずホームページ公開スぺースを供与するのに個人向けレンサバが成り立ったのは何故?と言えばCGIの実行が出来たからだ。
故にWindowsしか使わない人には難しい上級者向けだったのだが、これを優しいチュートリアルで簡単設定出来るようにしてユーザーを増やして会社を大きくしたのがpaperboy&co.の家入一真氏なわけだ。はてな創業者の近藤淳也氏と並ぶ個性的なアントレプレナーと謂われた。その後堀江などと共にインターネッ党を作って都知事選に出て箸にも棒にもな結果になったのは黒歴史なので触れないで上げてください。特に堀江は野菜でいじられるよりも傷つくので偉そうに政治の話してる時に「インターネッ党」とボソっというのは残酷な事なので止めてあげて欲しい。お願いします。
また、CGIでの使用言語はperlが圧倒的で、perlで書いた掲示板スクリプトを配布するサイト、趣味プログラマが星の数ほどいた。
こういう訳で初期のWEBで動的ページ=perlであってJcode.pmを開発した小飼弾氏は魔術師扱いされて崇拝されており、ブログブームが来ると圧倒的な人気を誇った。
今では多言語が普通に扱えるのが当たり前だが、マルチバイト文字の扱いというのは難しく、文字コードがそれぞれ違うのがそれに輪をかけていた。例えば今でも日本語Windows上でフランス語や中国語のファイル名は作れないだろう。また、最初期からかなりの期間、Twitterでは日本語の検索が出来なかった。youtubeでも日本語で投稿できなかった期間は長い。
子飼氏はperlで日本語を使用できるようにするライブラリをUNICODE対応にしてWEBで普遍的に日本語が使えるようにしたものだ。
ただ、HTLMと実行文を混ぜ書きできるPHPがver.4になるとデータベース連携が強化されていてデフォルトでSQL文発行関数が実装されており、perlCGIは廃れていってしまう。
またISPより高い自由度を求めて自宅にサーバを立ててそれを公開するという者も現れた。
はてなはサーバをデータセンターに置いてはいたものの、筐体は町工場に設計図を持ち込んでステンレスの1U筐体を自前で作っていたし、Pixivはギガバイトのシステムボードを使って自作した多数のサーバをエレクター上に置いてむき出し運用してしていたので、自宅サーバ組の延長にあったのだな、実は。
こういう中で画像を公開する、動画を公開するというのはなかなか大変だった。
仲間内で見るという分にはファイルを置けばいいだけだが、問題になったのが「2ch晒し」であった。これは悪意を持って2chにURLを貼るのだけじゃなくて、単にURLを書くというのも含まれた。
というのも2chにURLが書かれるとアクセスが集中して大抵はサーバダウンしてしまう。すると他の契約者のサイトもページも見れなくなってしまう。
例えばヒーロー戦記主題歌みたいな社歌でbuzzった日本ブレイク工業のサイトは重すぎて何週間も閲覧出来なくなった。社歌の動画ファイルを置いていたためだ。
こういうサーバダウンは契約者の責任ではないがホスティング会社も許してはくれない。契約解除、つまり出ていけか、法人契約への変更かを迫られる。転送量制限なしと言っていても実際に転送過多になると干すティングになるわけだ。
だから2chは悪意の塊の他にサーバーダウンとサーバからの追い出しを惹き起こすので蛇蝎のように嫌われていた。2ch晒し→その時点でサイトを閉じてしまう人も多く居た。
するとこれを逆手に取ってアップローダ(あぷろだ)を自作サーバで運用してアフィリエイトで収入を上げる者が現れてくる。
ただこれは著作権違反のファイルが上げられて訴えられる事もあるからそのリスク低減のためと転送量制限の為にファイル容量に制限が設けられていた。
すると大きなファイルを共有したい連中はこれでは満足できない。
そこで目を付けたのが海外でアップローダを運用しているサーバだ。運用動機は日本のアップローダと変わらない。だがファイルの大きさの制限が緩かった。
そこでそういう海外のアップローダが違法性が高いファイルの共有に使われるようになった。やってたのは2chのダウンロード板と半角板がメインだ。
だがこれは運営には迷惑な話で、日本人は英語の広告なんてクリックしない。しかも商品の販路が無いので日本からのアクセスに報酬は支払われない。つまり金を落とさず転送量だけ上がるのだ。しかも海外では転送量従量課金は多かった。
更に問題なのがロリ画像がアップロードされることだ。2次元ロリでも規制があるのに実写ロリは完全アウトだ。実写ロリが発覚した場合、サーバ管理者は必ず逮捕される。マグショットが新聞に掲載されTVで晒され、釈放後も幼児が被害者の性犯罪者なのでGPSロガ装着が義務付けられ住所は共有される。二度と部屋を借りる事は出来ずに一生トレーラーハウスかキャンピングカーを買って橋の下で生活となる。
こんな実写ロリ画像や動画をアップロードする奴が居たのである。
そこで管理者としては日本からのアクセスが増えたのを確認した時点で遮断するしかない。一生を棒に振る可能性を回避するためだ。
圧倒的によく使われるWEBサーバのapacheでは.htaccessというシステムファイルに記述してアクセス制限を掛ける事が出来る。ここで国別IPアドレス指定するのはちょっと難しいのでdeny from co.jp deny from ne.jpという風に書くとドメインがco.jp、ne.jpからのアクセスを全部弾くことができる。
この時にディレクトリ指定を「/」にするとそのサーバの全てが弾かれて403エラーが出てしまう。しかもバーチャルドメインも同じなので思わぬところで403エラーが出る事もある。
そういう訳であちこちの海外サーバで日本からのアクセスが拒否されていた。全て2chダウンロード板と半角板のやつらのせいである。
自分はアメリカの田舎の新聞社のトップページで403を食らったことがあるから嫌われ方は相当なものだと思う。「やるべき.htaccessの基本設定」みたいなのに書かれて共有されたのかも知れない。
因みにダウンロード板と半角板は2ch名物の厨房板だったのに、今見たら無くなってるのな。諸行無常だ。
2005年にサービスインしたYoutubeだが、翌年にGoogleに買収されたもので最初は元paypal社員らが作ったベンチャーだった。
だが最初は著作権違反コンテンツばかりであって、自作ビデオというのは少なかった。
特に酷かったのがまた日本人で、最初は10分制限がなかったのをいいことにアニメの全話丸上げみたいなのが大量にされており、当事者のアニオタ達も「ここまでやったら閉鎖されるだろ!」と諫めるほどだった。
そんな中で2006年6月にYoutubeが数日間の大メンテナンスに突入し、画面には「All your video are belong to us」というブロークン英語が書かれていて騒ぎになった事があった。
これの元ネタは「All your base are belong to us」で、古いセガのゲームの英語版で出てきたセリフだ。深刻な場面で突然めちゃくちゃな英語をいう。このおかしさでFLASHが作られたりとミーム化していたものだ。
しかも日本産ゲームは結構あちこちでバカ英語を作ってて、engrishとかjanglishとか言われてネタにされていた。日本で言えばアヤシイ中国製品の日本語を愛でるような感じだ。
そこでYoutubeがあんなメッセージを出したので、日本のネット民は身に覚えがありすぎて「アニオタのせいだろ!また排除されるだろ」と責任のなすり合いと相なったのだった。
因みにその後も日本人の利用が制限とかは無かったので誤解だったのだが、海外アップローダ見つけては403の焼き畑とかロリ画像問題とかがあって、その後のアニメフル全話という流れだったので過剰反応をしたのであった。
2009年11月のいわいる事業仕分けから、もう13年も経った。「2位じゃダメなんですか?」の質問の発言で非常に曰く付きとなったアレだ。
ところが最近、13年も経ってまだなおナゼ「2位」という言葉が出てきたかが理解できてない人がかなりいる事を知った。それどころか、スーパーコンピュータの京は、事業仕分け時点で世界一になることが明白だったなどという認識まで飛び出す始末である。
ただ、資料もなしにどこが変だと言っても仕方あるまい。何がどうして「2位」なのか、少し語ろうじゃないか。
初期の次世代スーパーコンピュータ (この時点では名前が付いていなかったが、以下わかりやすく京と呼ぶ) 計画 は、補助金を投入してのHPC産業育成に目を向けられていた[1]。世界一の性能を出していた海洋研究開発機構の地球シミュレータが、NECのSXシリーズをベースにしたベクトル型であり、ベクトル型のスーパーコンピュータは日本のお家芸とみなされていた。これを育成することが一つの目標。そして、立ち遅れていた当時の世界のスーパーコンピュータの潮流、スカラ型の開発に追いつくこと。これがもう一つの目標となった。結果、世界でも類を見ないベクトル型とスカラ型のハイブリットなどという中途半端な方式になる。実に日本的な玉虫色の決定と言えるだろう。しかし、補助金の注ぎ込みが不足し、事業者持ち出しの負担が大きくなってしまった。結果、事業費負担が高額になることを嫌い、NECと日立の撤退する[2]。これにより、世界の潮流通りのスカラ型とならざるをえなくなった。
CPUはというと、世界のスーパーコンピュータの潮流では当時から既に汎用のx86アーキテクチャのCPUが既に多くなってきていた中、富士通はSPARC64VIIIfxを採用した。よく国産CPUと表現されているが、SPARCの名で分かる通り、当然命令セットは米国Sun Microsystems (現 Oracle) のセカンドソースであり、端から端まで国産というわけではない。更に、業務用UNIXをささえるマシンとして一世を風靡したSPARCではあるが、当時ですらもう下火となっていた。京の事業費の約半分、実に600億円が、この専用CPUに注ぎ込まれることになった。なぜその選択をしたのか。富士通のサイトには省電力と安定性が理由として書かれている[3]。しかし、その省電力という目標も、後述するように微妙な結果となってしまった。また、ソフトウェアの使いまわしも微妙となった。
計画は2005年に始まる。世界でも類を見ないベクトル型とスカラ型のハイブリットという構成もあり、概念設計にはしっかり時間を費やした。2007年9月には性能目標は10P FLOPSと示した[4]。稼働開始は2010年、2012年に完成という工程も同時に示されている。直前の2007年6月のTOP500を見ると[5]、1位のIBM BlueGene/Lが370TFLOPS。5年後に30倍という性能を目指したことになる。当時の発表としては、世界一が取れるような計画だったが、しかし日進月歩の分野で5年は結果的に長かった。
さて、前述のように、ベクトル陣営は2009年5月に撤退を決めた。10P FLOPSの性能と決定した時には、ベクトル側も居たのに、そこがぽっかり空いた状態。10P FLOPSのあてはいつついたのだろうか? 2009年7月の報告書[6]では、スカラ単体で10P FLOPSを達成できること、ベクトル部は存在していても接続まわりの性能が不足していて問題があったことが表明されている。結果的に、なくなってよかったというトホホな内容だ。さて、同報告書では、稼働開始前の2011年6月に、ベンチマークだけでも10P FLOPSを達成してTOP500の1位を目指すと書いてある。どうしてこうなったのだろうか。
遡ること半年の2009年2月3日、米国国家核安全保障局(NNSA)はIBMと新しいスーパーコンピュータ Sequoiaを展開すると発表した[7]。性能は20P FLOPS、京の予定性能の実に2倍を達成するという発表だ。しかも、提供開始は2011年~2012年。京の1年も前になる可能性があるという。
そう、双方が計画通りなら、京は2012年、提供を開始する時には既に2位になっているという話題が出ていたのだ。なるほど、あせって2011年にベンチマークだけでも「トップを取った」という実績を残したいわけである。
さて、その後のSequoiaはというと?
ある意味計画通りだろう、2012年に提供が開始され、2012年6月のTOP500[8]では予定通り20P FLOPSを叩き出し、1位になる。しかし、2012年11月のTOP500[9]では、Crayとオークリッジ国立研究所が作ったTitanが叩き出した27P FLOPSという数字ににあっさりと抜き去られ、2位になる。まるで幽遊白書のラストのような展開だ。しかも、SequoiaはIBMのPower系アーキテクチャで構築されたA2プロセッサだったのに対して、TitanはAMD OpteronとNVIDIA K20Xの組み合わせ。汎用性でも差を開けられている。これはお手上げというものだろう。
さて、話は京に戻す。京が有名になったのは2009年11月13日の行政刷新会議、いわいる事業仕分けである(ここは参考文献は要るまい)。このときまで、そんな計画があることを知らなかった人の方が多かったのではないだろうか。どういうニュアンスで言ったかわからない、まるで日本を貶めているかのように聞こえる「2位じゃダメなんですか?」という言葉が非常にインパクトを与えたことだろう。
さて、じゃぁ何が2位なのか。だ。前述の通り、この時点ではIBMのSequoiaに追い抜かされることが見えていた。TitanはGPUの調達など細かい話が決まってきたのは2010年なので、この時点ではほとんど影がなかったはず。ということで、3位じゃなくて2位としたのは、Sequoiaを意識してのことだろう。つまり、「2位じゃダメなんですか?」というのは、1位を諦めて2位の性能で我慢するべきということではなく、客観的に見れば「2位になるのが見えているのだけど、何で1位と言ってるの?」という話になってくるのが見て取れる。蓮舫氏がそこを意識してたか知らんけど。
共同事業者が撤退し、一応強気に「大丈夫」と言ってはいるが、本当に達成できるかは周りからは疑問符が付くグダグダなプロジェクト状況、ほぼ専用設計で量産時にどういう問題が出るかわからないCPU、ソフトウェアも新規制作。税金の投入は中途半端で、産業を育成したいのか企業負担を増やしたいのかよくわからない(だから撤退する事業者が出る)。そもそもここで出来たスーパーコンピュータ、CPU抜きにしても売れるのか分からない。そりゃ、金田康正教授でなくても、京にはため息が出るというものだ。
さて、京は何を達成したのだろうか? 京は完成前ではあるもののベンチマークを実施し、見事11P FLOPSを叩き出し、2011年6月[10]と2011年11月[11]のTOP500でトップに躍り出る。この分野に日本ありと示した…かどうかはわからないが、一つの実績として言えるのは間違いない。いや、経緯のグダグダ感からして、見事なプロジェクト進行だったと称賛できる。しかし、前述の通り供用を開始した2012年9月[12]にはTOP500ではSequoiaに追い越されており、直後のTOP500ではTitanにも追い越されて3位となっていた。1位は、ベンチマークだけの存在だったと言える。
では目標の産業育成としてはどうだっただろうか。京をベースにしたスーパーコンピュータ PRIMEHPC FX10[13]やFX100は、東大[14]、名大[15]、キヤノン[16]、九大[17]、信大[18]、JAXA[19]、核融合科学研究所[20]、気象庁気象研究所と、調べるだけでも国内実績は多くある。国外実績は、台湾中央気象局[21]、シンガポールナショナルスパコンセンター、豪州 NCI、英国 HPC Walesと、それなりにある。ただどうだろう。産業としてうまくいったのだろうか。有価証券報告書を見ても、その他のセグメントに入ってしまっているため状況がつかめない[22]。謎ではある。とはいえもし、産業としてそれなりに育ったのならば、有価証券報告書で報告する事業セグメントとして独立したものを与えられてしかるべきだったのではなかろうか。少なくとも1000億も出したのだ。そのくらいではあってほしかった。更に言うなれば、特に競争の激しい国外市場をうまく取り込めたかというと、産業育成という視点では頑張ったとは思うものの心もとない結果だったように、少なくとも私には見える。
消費電力の面はどうだろうか。上述の通り、SPARCを使う理由には省電力が上げられていた。これをライバルのSequoia、Titanと比較してみよう。2012年11月のTOP500[9]で見ると、京は12.6MW消費するとある。Sequoiaは7.8MW、Titanは8.2MWだ。実はこの時の報告のあるスーパーコンピュータの中で、最大の電力消費量を誇っている。高いほうがいいのではなく、消費電力は低いほうがいいので、これはかなり問題がある。
費用面はどうだろうか。これもライバルと比較してみよう。京は日本円にして1120億円かかっている。対してSequoiaは2億5000万ドル[23]、Titanは9700万米ドル[24]だ。2012年11月で見るとドル円相場は82円なので、Sequoiaは約205億円、Titanは80億円となるだろうか。京のプロセッサ開発費を除いたとしても、数字が違いすぎるのだ。
纏めてみよう。京は、一時期でベンチマーク上だとしても、TOP500で1位を取った。これは「夢を与え」(平尾公彦氏)た結果だったろう。しかし、それは砂上の楼閣でもあった。しかしそれを実現するための費用は米国の5~10倍で、性能は実は半分、消費電力は1.5倍という結果になり、産業育成も盛り上がったかどうかは判然としない。こんなところだろうか。
近年のスーパーコンピュータを含めたHPC分野はどうなっているだろうか。近年のクラウドコンピューティングの流れを当然HPC分野も受けており、主要プレイヤーとしてAWSの名前が挙がっている[25]。またレポートでは挙がっていないものの、Google Cloudも猛追しており、円周率の計算では1位を叩き出している[26]。必要な時に、必要な規模で構築できるクラウドコンピューティングの波は、さてHPC分野でどこまで浸透していくのだろうか。産業育成の方向が、2009年時点では確かにハードウェア開発だったろう。しかし、事業仕分けへの反発により、日本は方向性を間違ってしまったのではないか。私は、そんな気がしてならない。
[1] ttps://www8.cao.go.jp/cstp/tyousakai/hyouka/kentou/super/haihu01/siryo2-3.pdf
[2] ttp://www.nec.co.jp/press/ja/0905/1402.html
[3] ttps://www.fujitsu.com/jp/about/businesspolicy/tech/k/whatis/processor/
[4] ttp://web.archive.org/web/20130207162431/https://www.riken.jp/r-world/info/release/press/2007/070914/index.html
[5] ttps://www.top500.org/lists/top500/2007/06/
[6] ttp://www.jaist.ac.jp/cmsf/meeting/14-3.pdf
[7] ttps://www.llnl.gov/news/nnsa-awards-ibm-contract-build-next-generation-supercomputer
[8] ttps://www.top500.org/lists/top500/2012/06/
[9] ttps://www.top500.org/lists/top500/2012/11/
[10] ttps://www.top500.org/lists/top500/2011/06/
[11] ttps://www.top500.org/lists/top500/2011/11/
[12] ttps://www.riken.jp/pr/news/2012/20120927/
[13] ttps://jp.reuters.com/article/idJPJAPAN-24020620111107
[14] ttps://pr.fujitsu.com/jp/news/2011/11/14.html
[15] ttps://pr.fujitsu.com/jp/news/2013/05/15.html
[16] ttps://pr.fujitsu.com/jp/news/2013/08/6.html
[17] ttps://pr.fujitsu.com/jp/news/2013/08/22.html
[18] ttps://pr.fujitsu.com/jp/news/2014/02/13.html
[19] ttps://pr.fujitsu.com/jp/news/2014/04/7.html
[20] ttps://nsrp.nifs.ac.jp/news/PS-next.html
[21] ttps://pr.fujitsu.com/jp/news/2012/06/25.html
[22] ttps://pr.fujitsu.com/jp/ir/secreports/2015/pdf/03.pdf
[23] ttps://arstechnica.com/information-technology/2012/06/with-16-petaflops-and-1-6m-cores-doe-supercomputer-is-worlds-fastest/
[24] ttps://web.archive.org/web/20120727053123/http://www.hpcwire.com/hpcwire/2011-10-11/gpus_will_morph_ornl_s_jaguar_into_20-petaflop_titan.html
[25] ttps://www.sdki.jp/reports/high-performance-computing-market/109365
[26] ttps://cloud.google.com/blog/ja/products/compute/calculating-100-trillion-digits-of-pi-on-google-cloud
ロシアが大手企業を接収した場合には販売される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のノウハウに否定的なんだから、きっと本当に不要で余計な知識なんだろうよ。
それこそ組み込みで必須であることをやたら強調する、古典力学や電磁気学や微分方程式を一生懸命勉強したらいいんじゃねーのって思うわ。