「Unix系OS」を含む日記 RSS

はてなキーワード: Unix系OSとは

2022-08-27

Linuxも使えないくせにプログラマーを名乗るな

ただしスタンドアロンアプリを書いてる人については特に問題ない。

要はシステム構成がWindowsPC1台orスマホ1台のみで済むとか、組み込みとかね。

それからITゼネコンの末端で、詳細設計コード翻訳するライン工もどきみたいな立場の人も別に知らなくていいけど、それもうプログラマーじゃなくて単なるコーダーだよね。

こういうこと書くと

「それ事実上Web限定じゃん」

サーバサイドプログラミングしか当てはまらないじゃん」

とか言い出すやつが絶対にいるんだけど、今やクラサバモデルシステムは開発のメインボリュームで、かなりの数の開発者関係する話じゃねーの?って思うから言ってるわけで。

あと、Linuxというか本当はUNIXなんだけど、現状サーバ用途UNIX系OSがほぼLinuxで占められているので。

なんでLinuxが使えないと問題かというと、実際にサーバ運用しているエンジニアとまともにコミュニケーションが取れないから。

それが回り回って開発と運用対立する、あるいは何かあったときに適切に連携できなくなる遠因になる。

本当は開発側がサーバ側の運用設計まで書いて、運用するSE承認してもらうまでが仕事

そのためには自分が作るシステム動作環境の構築は自力でできなきゃダメだし、そのためにはLinux基本的な使い方を知っている必要があるわけで。

それにネットワークプログラミングなのだからある程度のネットワーク知識必須で、Linuxも扱えない人がそういう専門家になれるとは到底思えない。

まあ流石にスイッチアプライアンスストレージみたいな話になると、カネ払ってベンダーセミナーを受講しないとわからないと思うので正直厳しい。

その場合でも、Linuxに触れることで身につけたネットワーク知識不要ではないどころか、

「今こちらのサーバでこういうコマンドを実行した結果がこうで・・・

みたいな話をインフラエンジニア相手にできるとできないでは大きな差がある。

最近の流れで、そこらへんを全部クラウドにお任せするにしても、サーバとは一体何者か?レベル体験的に知っておいたほうがよさそうだし。

2022-08-12

なんでそんなにコマンドラインを目の敵にするんだか

anond:20220811155256

↑を書いた元増田ですが、VBの話から派生した話で、やたらコマンドライン(以下CLI)を使った開発に否定的人間がいて閉口した件。

そりゃ一口に開発と言っても色々なので、本当に統合開発環境(以下IDE)だけで開発するケースもあるのは、こっちも知ってるんだよ。

から学習者の中で「何をやりたいか」が既に決まっているなら、CLIを全く触らずプログラミングを学ぶケースもアリということなのだろう。

でも、これには主に2つの理由で全く納得がいかない。

1つ目は、そもそもプログラムって何?」というレベルの人が「何をやりたいか」なんて決まっているわけがないので、最初から「何をやるか」を決めてかかるのはナンセンスという話。

しろどういう開発に進んでもいいように、「等号は代入を意味する」辺りから始まって、どんなプログラミングでも基礎の基礎になる、データ構造アルゴリズム意識させることに集中させたい。

そのためには難易度低めで比較潰しが効く言語を、できるだけシンプルな手順で作業できる開発環境で学べる方がいい。

そしたらPythonの実行環境とそこそこ以上の機能を持つテキストエディタを入れて、コマンドプロンプトとかPowerShellとかのCLIから"Helllo, world"が取っ掛かりだと思うわけ。

もしLinux環境が用意できるなら同じことをLinuxでも試してもらって、プラットフォーム依存しない開発の入り口くらいを知っておければベター

いずれにせよ何かを実行する方法が1つではないという重要な知見は、できれば基礎のうちに知ってもらいたいことの1つだし、それはWindowsLinuxとかCLIIDEという対比がうってつけかなーと。

ちなみにIDEは、Pythonによる手続きプログラミングに慣れた後のタイミングで学べばいいと思う。

そこまで行ったら変数の型や、クラスオブジェクトとかの難しい話をGo言語で学んでおくことで、現場で使われているJavaC#swiftへの移行もスムーズになりそうだし。

ちなみに「初心者コース」の最後、もし可能ならRustでポインタメモリの話の触りくらいを体験してもらえると、組み込みに進む際のハードルが少しは下がるんじゃないかな。

もう1つは、いくら現場によってはIDEだけで開発する現実があっても、CLIを使った開発がどういうものかくらい、プログラマにとっては知ってて当たり前じゃねーの?という話。

もちろん「プログラマが何を知ってて当たり前なのか」は、時代の移り変わりとともにどんどん変わる。

大昔ならおそらく機械語とかが必須だっただろうけど、今なら機械語よりはHTMLを読めるほうが遥かに重要なわけで。

あと、UNIX系OSパーティションごとに主要なディレクトリを分割してインストールしていた時代であれば、edエディタの使い方は必須だったと聞く。

(/binに入るエディタedのみだったため、もし使えないとシステムクラッシュして/以外マウントできなくなったときに詰む)

でも今やそんなの完全に過去の話どころか、viemacsの論争ですら多分古い方の問題になるだろう。

そういう過去の諸々も踏まえるとCLI未来永劫、プログラマにとって常識的ナレッジだとは自分も思っていない。

でも今はまだ、プログラマを名乗るならCLIからコンパイルだ実行だくらいの基礎は知ってて当然だと思うんだが。

(流石にmakeまで知ってる必要はないと思うけど)

ということで、自分の言ってることはそこまでおっさん臭くないつもりなんだけどね。

本当に、何がそんなに引っかかるのか意味がわからない。

2022-08-11

anond:20220811210008

CLIIDE必要に応じて学べばええんや

どっちも種類によって使い方も違うんやし

UNIX系OSバックエンド開発しようとしてる人に「XCodeインストールしてください」「AndroidSDKの仕様学んでください」はおかしいのと同様に

Androidアプリ開発しようとしてる人に「UNIXCLIの使い方を学んでください」「laravel環境構築してください」はおかしいんやで

anond:20220811174412

CLIだって特定環境しか使えんからなあ

UNIX系OSだと開発できませんとか○○のフレームワークないと開発できませんってプログラマってありだと思う?って聞き返されるだけや

2022-07-18

Linux躍進の謎

Linux誕生したのは1990年代

これはUNIX系OSの中でもほぼ最後発になる。

それも開発したのは俗に言うスーパーハッカーとかスタープログラマとかではなく、当時全く無名だった大学院生

から開発の目的だって勉強のためかお遊びなのかもよくわからない話だったり。

そこに来て、型落ちロースペックPCでも動かせるフリーUNIXライクOSとなると、今だったら

ジェネリックUNIX

みたいに冷笑されかねない話だ。

実際リリースされて間もない1990年代後半から2000年前後辺りまでは

流行の追っかけしか能がない、ワナビーのクソガキ共が使うおもちゃ

くらいの立ち位置だった。

当時流行っていたネットスラング類似する煽り方をするなら「アンチMS御用達」みたいな感じだろうか。

しかし今や、そんなのはとっくのとうに大昔の話というか

「そんな事があったんだー」

で終わるくらい、Linuxは誰でも、どこでも使うOSになっているのは御存知の通り。

UNIX系OSで最もメジャーと言うだけではなく、システム開発サーバ構築でWindowsサーバとともにほぼ必ず選択肢に挙げられるようになって久しい。

更に直近の10年で、気がつけば世界中で使われているスマホ殆どLinuxベース(Android)になっている。

まり誕生からの四半世紀で爆発的に発展・普及したというわけだ。

本当にLinuxを使うなんて今どき普通すぎて、特に取り立てて言うことではない。

一方でLinuxよりもずっとフリーUNIXとしての歴史があり、かつては定番だったBSD系なんて、今やAppleのお陰で辛うじて延命している状態なのだから、これまた隔世の感がある。

とはいえ気になるのは、何をどうやったらここまで信じがたい躍進をしたのか?という事情

ホビー用途ビジネス用途では要求される信頼性レベルが異なるので、誰かがそこに手を入れないとこのような発展は望めない。

そこでは大企業がきちんと専門家を入れる形で関わるならなお良い。

そうなるとやはり、まずIBMが白羽の矢を立て、次いでGoogle積極的コミットするようになった流れが大きいのだろうか。

このうちGoogleは「弊社はオープンソースフリーライドしているわけではない」アピールや自社サービスコストダウン、更にはモバイル分野への進出という諸々の目的に好都合だったのだと思う。

問題IBMだ。

しろ元々IBMAIXという自社製UNIXを売ってる会社であり、これを用いた各種サーバ構築はお家芸だったわけで。

更にこのAIXDB2WebSphereを組み合わせる方式は、2000年代くらいまではエンタープライズアーキテクチャの2大巨頭だった。

(もう1つはSolaris+Oracle+WebLogic)

そんな会社Linuxに手を出して、一体何の得があるんだ?という話なわけ。

一つ考えられるとすれば、AIXDB2WASも買えない貧乏人もとい中小規模の顧客から、せめて構築と運用手数料だけでも取るためとか?

まあ確かに一時期流行ったLAMP(Linux+Apache+MySQL+PHP)なら、ライセンス料なしでハード安価PCサーバになるので、導入のハードルは低い。

というわけでLinuxの草創期を知ってる人間からしたら、今の状況は世の中が変わりすぎなくらい変わったという感覚が強い。

Android不具合スマホメーカー依存or機種依存だったり、そもそもLinuxデスクトップ用途が未だに少数派なのは今後も変わらないだろうけど、逆に変わらないのは多分それくらい。

あとUbuntuは嫌い。

2022-05-04

リーナスLinuxを開発したというのは、どれほど「技術的に」すごい偉業だったのでしょうか?

生越 昌己

, 日本Linux協会で元会長 (2001~2002年)

回答日時: 2022年4月23日 · 執筆者は841件の回答を行い、180.3万回閲覧されています

なんか呼ばれてる気がした。

技術的に」はどうってことなものです。別の回答で私の書いた記事引用されているので、その辺の歴史的なことはそっちを読めばわかると思います。「やればできる」範囲のことです。実際、あの記事には書きませんでしたが、そのちょっと前くらいに私の知人(日本人)がフルスクラッチUNIX互換マイクロカーネルOSを独力で書いてます。これも彼に言わせれば、「教科書通りに実装しただけ」とのことです。なお、UNIXOS実装は、いくつか教科書が出ています。また、「NET2」という4.3BSDのフリー(ってことになっていた)な部分のコードも公開された後です。つまり、参考にするもの結構あったんです。

実はOSのものは、「技術的にすごい」必要はないです。もちろん、いろんな点で「技術的にすごい」ことをする必要性のあるところはありますが、「普通実装」であれば「教科書通りに実装しただけ」で作れます。「ぼくのかんがえたさいきょうのプロセスモデル」なんてもの必要ありませんし、「マイクロカーネル技術」なんてのも、あればあったでメリットありますが、なければなくても困りません。UNIXのその辺は普通人達が思っているよりもずっと単純で、実装もそんなに難しいものではありません。ですから特に「何かの互換品を作る」というのであれば、動かすだけであればそんなに大変ではありません。バランス感覚要求されて難しい部分は既に他人実装しているわけですし、「教科書」や「参考コードはいっぱいありましたから。

Linuxが凄かったのは、一つは「運」です。多くの人が求めているタイミングで、まがりなりにも動くものを出すことができた。これは多分最大最強の「すごいこと」です。

Linuxリリースするちょっと前に、AST(Andrew Tanenbaum

)はMinixの「次のバージョン」についての「やらないことリスト」を作っていました。野良で作られたMinix386を使っていた人達を始めとする「MinixもっとUNIXになって欲しいと思っている人達」は、それを見てガッカリしたものです(私も)。Minix実用品にしようとする流れに完全に背を向けた形で「教材としてのOS」に力点を置いたもので、ASTの立場を考えれば当然とは言え、いろいろ残念な思いをしました。Linuxリリースされたのは、そのショックから覚めやらぬ時期だったので、それを見た人達は、まさしく

キタ――(゚∀゚)――!!

と思ったものです。本当にグッドタイミングだった。

その次に凄かったのは、「それを実用品に持って行けた」ことです。「動く」ということと「実用品になる」ことの間には、とんでもなく深い「谷」があります。これを超えるのは、「運」も大事だし「技術」も不要じゃないんですが、それだけでできるものでもありません。そもそもLinus自身が「最初はそんなつもりはなかった」的なことを言ってますからね。それでもどこで気が変わったか、あの「隙だらけのカーネル」でも、なんとなく実用品として使えないことはない程度にはなっていた。

そして、「隙」も凄かった。Ver 0.01のカーネルなんて、本当に隙だらけ。たとえば、システムコールエントリテーブルがあるのですが、その先の「実装」部分には「未実装」ってコメントが1行書かれているだけなんて状態だったのです。これは結構後の版でもありました。でも、その「隙」ゆえに、多くの人に愛され、「俺が何とかしてやろう」と思わせる。当然意図したものじゃないにせよ、これがなかったら「今」はなかったかも知れない。

等々、いろんな「凄さ」はありますが、それは技術のものではありません。「凄さ」は別のところにあったのです。

独自に似たものを作ってた人達(私も含まれる)が、一斉に自分の作っているものを投げ出して協力しようと思うくらいには「凄く」また、「隙」があったんですから。「マイクロカーネルこそが」とか、まぁとりあえずマトモに他人の使える自前実装作ってから言ってよね。ちなみに当時の私はMach

をいろいろいじくってました。Ver 3.0になっていろいろいじれるようになってて、MS-DOSの上からbootする版を作った人がいたんで、「これでユーザ空間OS書けるじゃん」って。

そんなわけで、「ぼくのかんがえたさいきょうのOS」を作らなかったのが、Linusの偉かったところ。愚鈍に「どうにかこうにかUNIXとして使える程度のもの」をちゃんと作っていいタイミングリリースした。そこが全ての始まり

「毒にも薬にもならない昔話」とはこのことではないだろうか。

技術的にも思想的にも誰の参考にもならない。

老人ならせめて1行くらいは誰かの役に立つ言葉がにじみ出るものだが・・・

そういう生き方としてきたということだろう。

PCWatchの山田祥平さんに似た臭いを感じる。

2021-12-24

anond:20211224020025

ご指摘ありがとう。ごめん「GPUに直接」って書き方が悪かった。だったらディスプレイ出力すらできないよねって話になるよね。DirectX説明しても99.999%の人にはなんのこっちゃだろうから「直接」って表現をしたまでよ。言いたかったのはProtonの発表が2018年で、ごく最近のことだっていうこと。「これは恥ずかしい」っていうタグでわざわざ畳みかけるように指摘されてるのは、それを専門にしている開発者矜持なんでしょうな。いい仕事してそう。

ValveWindowsゲームLinuxで動かす互換レイヤー「Proton」を発表

2018.08.23

PCゲームプラットフォームSteam」でおなじみのValve社が8月21日、Codeweavers社と共同開発したWindows専用ゲームを動かせる互換レイヤーを発表した。この互換レイヤー 「Proton (プロトン)」はLinuxユーザなら誰もが知っているWineを改造したもののようだ。

Protonはかなりの改造を施されており、いろんなところからかき集めたプログラム技術が詰め込まれている。

ProtonにはDirectX APIコールリアルタイムでVulkanのそれに変換するレイヤー(DXVK)が組み込まれているため、DirectX APIで作られたゲームでも割と軽快に動作する。

もともとVulkanとDirectXには機能的にそこまで大きな違いがないためだろう。相互移植するのも難しくはないと言われている。

またOpenVRへの対応ゲームフルスクリーンモードの取り回しを改善Steam対応コントローラサポート改善している。

ProtonはオープンソースとしてGitHubに公開されているので誰でも中身を見ることが出来る。ベータの段階でこんなにいろんなプログラムSteam統合できたことに驚いたが、2年の開発期間を要したそうだ。

https://slacknotebook.com/valve-releases-compatibility-layer-for-linux-proton/

2020年12月08日 21時00分 ゲーム

SteamユーザーがLinuxに切り替えても不自由なくゲームを楽しめるよう開発された「Proton」でプレイできるタイトル数が1万2000本を突破

PCゲーム販売プラットフォームとして絶大な人気を誇るSteamを開発するValveは、Windowsユーザー以外にも幅広くPCゲームを遊んでもらうために、Windows向けのゲームLinux上でもプレイできるようにするためのオープンソースソフトウェア「Proton」を開発しています

ProtonDB | Gaming reports for Linux using Proton and Steam Play

https://www.protondb.com/

2018年8月リリースされたProtonは、Steamの開発元であるValveソフトウェア開発企業のCodeWeaversが共同開発しているソフトウェア。ProtonのベースとなっているのはUNIX系OSWindows向けのソフトウェアネイティブ動作させるために作成されたWineであるため、ProtonはWineフォークとも言えます。なお、Protonはオープンソースソフトウェアであるため、ソースコードGitHub上で公開されています

そんなProtonに関するデータをまとめたデータベースがProtonDBで、同サイトでは「Protonでのゲームプレイに関するレポートの総数」「レポートが提出されたタイトル数」「Protonを用いることで何かしらの修正なしにLinux上ですぐにプレイ可能になるゲーム(プラチナゲーム)数」がまとめられています

2020年4月時点ではProtonで問題なくプレイ可能プラチナゲームの数は6502本で、Steam上でリリースされているゲームの約50%がプラチナゲームとしてLinuxプレイ可能でした。

SteamゲームLinuxでもプレイ可能にする互換レイヤー「Proton」のこれまでの功績とは? - GIGAZINE

2020年12月8日時点でのプラチナゲームの数はさらに増えており、その数は何と1万2753本にまで増加しています。なお、「Protonでのゲームプレイに関するレポートの総数」は10万4508件、「レポートが提出されたタイトル数」は1万6232本です。

なお、Protonはバージョン5.13が2020年11月リリースされたばかり。アップグレードリリース時には、CodeWeaversのJames Ramey社長がProtonプロジェクト会社の現状について語っています

Podcast With James Ramey - Full Transcript - Boiling Steam

https://boilingsteam.com/podcast-with-james-ramey-full-transcript/

Protonのバージョン5.13では、ゲーム互換性に関する問題で大きなネックとなってくるアンチチートソフトウェア回避するプロセスについて前進を見せているとのこと。ただし、ゲームが搭載するアンチチートソフトウェアとProtonの戦いは、Protonのリリース当初から続いている問題であるため、バージョン5.13で完全決着を見せるというものではなく、今後も戦いが続いていくこととなる模様。なお、次の次のアップグレードもしくはさらに次のアップグレードあたりで「NTDLLによりブロックされているゲームプレイできるようになる」とRamey社長言及しているため、Protonでプレイできるタイトルの数がより増えることなりそうです。

また、2020年に猛威を振るった新型コロナウイルスパンデミックについて、Ramey社長は「幸い我が社はかなり分散した企業です。我々の開発チームの多くは西ヨーロッパ東ヨーロッパアジア拠点を置いているため、すでに在宅勤務を行っていますミネアポリスにあるオフィスでは25人の従業員が働いていましたが、これも在宅勤務へと移行しています。通常時、我々は定期的にオフィスへ通っていましたが、2020年3月の第2週以降は1度オフィスに行ったきりです。元々リモート仕事がこなせるように会社設立したため、生産性観点でいえば、新型コロナウイルスによる影響は皆無です。また、新型コロナウイルス検査で陽性反応が出た従業員が何人かいたので、その従業員たちは必要に応じて休暇を与えました」と語りました。

さらに、Protonの登場によりLinuxネイティブサポートするゲームタイトルSteamから減少しているという指摘もあります。以下はSteam上で配信されているゲームタイトルのうち、ネイティブLinux対応しているタイトルの数を示したグラフ。Protonがリリースされた2018年8月以降、明らかにLinuxネイティブサポートするタイトルの数が減っています

これについてRamey社長は「Protonが提供するのは『Linuxでのゲームプレイ』という体験だけでなく、ゲーム開発者Linux市場簡単アクセスできるようになるという機会でもあります。すでにリリースされているWindows版のゲームが、Protonを使用することで再開発なしで第二の市場に投入することが可能になるのですから」と語り、Protonの登場によりゲーム開発者がより手軽にLinuxユーザー向けにゲーム提供できるようになった点が関係ないとは言い切れないと主張。

特にゲームエンジンにUnreal Engine使用していない開発者は、再コンパイルや変更なしで簡単ゲームWindows市場だけでなくLinux市場にも投入できることをRamey社長は強調しています。また、Linuxにはさまざまなディストリビューション存在するため、Linux市場で幅広いユーザーを狙ってゲーム販売することは非常に困難であるとRamey社長。その一方で、Protonを使用すればWindows向けにゲームを開発している開発者が、手軽かつ多くのユーザー向けにLinux動作するゲーム提供できるとしています

また、ますます多くのゲーム開発者がProtonに気づき始めているそうで、Ramey社長は「まだ大騒ぎという段階にはありませんが、多くのインディー開発者がProtonに注目し始めているというだけでなく、大規模なゲーム開発者の多くもProtonに興味を示しています。その大きな理由は非常に低コストで別の市場アクセスできるという点です。そのため、今後より多くのゲームがProtonで不自由なくプレイできるようになると思います。また、開発者開発プロセスの段階でProton上でテストを行えるようになる可能性もあるでしょう。そのため、どこかのタイミング(転換点)で『ゲーム機能するかについてProtonの開発元であるCodeWeaversに問い合わせる必要性』が大幅に減少することを期待しています。我々が行っている多くの事柄は、そのための基盤を構築することです」と語りました。なお、Ramey社長は転換点が「今後12カ月以内にやってくる」とも主張しています

https://gigazine.net/news/20201208-linux-steam-proton/

2021-11-15

anond:20211115204252

身の回りだと

ハイエンド帯ではWindowsBTO自作の方がコスパがいいと気付いた

GPUリソースを使う用件だとMacが不十分

・WSLが登場してUNIX系OS環境としてのMac不要になった

どれかだな

2021-11-06

しろAndroidがここまで普及したのが不思議

iPhone話題Androidとの比較を、日本ケータイ歴史も絡めた増田ホッテントリしていたけど、

個人的には、むしろAndroidがここまで普及したことのほうがにわかに信じがたい話だったりする。


自分は、大学で覚えたパソコン2ちゃんどっぷりだったキモオタ系ということもあり、

すでにJK20代女性とっては当たり前になっていたガラケーも、仕事するようになって数年後、渋々持ち始めたくらいの代物。

からそもそもガラケー文字入力からして使いにくかったし、iモードに至ってはなにそれおいしいの?という感じ。

要するに、最初から最後までガラケーは手に馴染まなかったと。

からW-ZERO3とかBlackBerryといった、液晶画面+qwertyハードウェアキーボードという当時のスマートフォンは、文字通り垂涎の的だった。

「本物のネットパソコン世界にあるもんだ、スマホはそこらへんをよくわかってる」

と胸踊らせたものだった。

しか自分がいたキャリアあくまガラケー一辺倒=そういう機種は一切ラインナップに加えないので、本当に歯がゆかった。


そんな自分アラサーとき日本上陸したiPhoneには、そりゃもう興奮した。

ジョブズの神プレゼンとか関係なく欲しい!って思ったね。

間違いなく新時代スマホだと直感したし。

しかしまたしても「スマートフォンはまだ早い」とか言ってたキャリアが…。


さて、そんなiPhoneの後塵を拝す形でひっそり登場したのがAndroidなわけだが、これがモノになるなんて正直思えなかった。

海外ではすでにハードウェアキーボードスマホ一定シェアを持っていたことはなんとなく知っていたし、そういう従来のスマホiPhone一騎打ちになると予想していた。

だってBlackBerryNokiaめっちゃ強かったから、まさかソイツらがブランドイメージ皆無なAndroidに全て駆逐されるなんて、ありえないと思うじゃん。

何よりAndroidLinuxスマホ向けディストリビューション、要は中身がLinuxということが、以下の理由でパっとしない感を更に強めていた。



あと全面液晶の「iPhoneクローン」なスマホだったら、Windowsモバイル版が伸びるだろうと思ってたこともある。

Windowsはそこそこの値段でそこそこの使い勝手デスクトップPC向けOSとして、当時はもちろん今もデファクトなわけだし、その実績からLinuxというCLIメインのOSよりも、ずっとスマホに近い場所にいると思ってたし。

それにスタープログラマのカトラー文字通り人生を賭けて作ったOSなんだから、少なくとも院生のお遊びから始まったLinuxなんかよりは、モバイルでも上手くやるだろうと。


そういう当時を空気感を知っていて、かつ、ほぼXperiaしか触っていないとはいえ5年以上Androidスマホを買い替えつつ過ごした人間として、正直Androidなんて…と思っているわけで。

そして去年ようやく念願のiPhoneに乗り換え1年ちょっと経ち、「別にAndroidでいいじゃん」が「もうAndroidには戻れねえ」となった結果、更にその思いが強くなったと。

からAndroidiPhoneガチ比較してなお「Androidでいい」とか、ましてや「Androidがいい」という人は、一体何を見てそう思ったのか、心底理解できない。

PixelGalaxy中華スマホは触ったことないけど、Xperia国産スマホでは最高レベルに優れていると聞くし、そんな高級スマホ比較してもiPhoneのほうが全然使いやすいのだが。

2021-07-07

OSSってやつは自由である以前に鼻につくんだよなあ

anond:20210705122257

元増田です。


なんか、大人しくUbuntu使っとけば問題ないみたいなブコメがあったけど、Ubuntuだって初心者には普通に難しいからな?

それこそWindowsmacと比べたら、明らかに高頻度で躓くケースが多いね

からサポートする方も大変ってか、Windowsmacよりも手がかかるのが現実

「お前、Linux使っててそんなとこまで訊くんだったら帰れよ」

と何回思ったことか。

そんな感情を押し殺して

「(しょうがねえなあ~)○○って知ってる?勉強しとけよーw」

で済ますが、正直言って全く気分は晴れない。


何がモヤモヤするって、Linuxを始めとするOSSに馴染んでいる人間ほど、

「確かに取っ掛かりは難しい。でもそれを乗り越えた後に、素晴らしい『自由世界』があるんだ」

「どのソフトも時に使いにくいとさえ思うくらい個性的な手触りだけど、それこそが多様性であり、善なんだ」

という主旨の内容を、マントラかよって勢いで唱えるわけだが、まあ正論だけどズレてんなーって感じるんだわ。

アレっすか、一億総ハッカー社会を目指してるんですか?あるいはポール・グレアムの言うようにいっぱしの画家気取り?みたいな。


そりゃ、職業プログラマーとかがここらへんの話を知らないとなると、確かにヤバい

あと、今のソフトウェア開発はほぼネットワークと不可分だったりするので、Linuxを含むUNIX系OSもろくに扱えないレベル人間が、ネットワークの専門的知識を得ることは不可能という意味で、開発者ならUNIXくらい使えんだろって話もある。


でもさ、そんなんパソコンを仕方なく使ってるような「普通の人」にはどうでもいい話なわけ。

それこそ多様性云々にしたって、例えばTeXgnuplotPerlsendmailbindといった、便利である以上に、その複雑怪奇仕様で長年に亘ってユーザを苦しめ続けてきたことの言い訳にはならなくね?

あと日本語処理が、結局Googleが本気でLinuxに肩入れするまで、UNIX系OSでは(少なくともWindows比較して)まともに動作していなかったことも知ってるからな。

それにMS OfficeAdobe Creative代替足りうるOSSは、未だ登場していないし。

そういうの些細な問題?それとも勘違い


鼻につくってそういうとこだぞ?わかる?


一般的に、自由であることと快適であることは全く関係ないけど、これはソフトウェアにもまんま当てはまる話だと思うね。

これまたブコメに「Android世界で最も成功したLinuxディストロ」とあったから言うけど、Androidよりも、そのパクリ元かつプロプライエタリクローズドiOSのほうが、ごくごく普通にスマホ使ってるぶんには遥かに快適だからな?

そりゃAndroidスマホというハードウェア自由にいじり倒すには最適なんだろう。

でも多くの人にとっては電話メールWebLINEゲームオーディオ写真動画の鑑賞・撮影くらいがサクッと使えれば良くて、そういうありふれた用途限定される反面、それらの使い勝手をパッキパキに洗練させた、iOSのほうが使いやすいわけで。

まあ、AndroidスマホiPhone買えない貧乏人のイノベーションとして、特にまともな回線の整備がおぼつかない開発途上国通信環境を、少なから改善したことは大いに意味があるので、まあ認めて「やるか」って感じだけど。


話を戻すと、ぶっちゃけソフトウェアの場合は、自由になるために要求される水準が高すぎるんだわ。

それに無自覚、あるいは気づかないフリをしているOSS論者の多いこと多いこと。

そんなんだから、お前らの言ってることは

バカOSS世界に紛れ込んでくるのは迷惑

という風にしか聞こえないんだよ。

そこも含めて、OSS思想のものからして途方もなく左巻きってことには、もっと自覚的になるべき。

せめてサヨクの顔をしろって話。

まあでも、なんだかんだ言って世の中は左翼によって良くなってきたことも事実なので、それだけでもOSSの意義は十分にあると思うけどね。

2021-07-05

anond:20210705122257

linuxだってUbuntuCentOSしかないだろ

もしこれが同じUNIX系OSでも*BSDであれば、Linuxディストリビューションに当たるもの事実上3つしか存在しないので、それだけでも敷居は大幅に下がる。

anond:20210705122257

もしこれが同じUNIX系OSでも*BSDであれば、Linuxディストリビューションに当たるもの事実上3つしか存在しないので、それだけでも敷居は大幅に下がる。

知識20年近くアップデートされてないな

スラドUNIX板か知らんがさっさと巣にお帰り

Linux多様性なんてデメリットしかない

言い換えるなら、多様性が各種設定を難しくし、普及を妨げているってこと。


ディストリビューションの違いはもちろん、同じディストリであってもバージョンの違い、更に同じバージョンであってもインストールするパッケージの違いがあるお陰で、Windowsmacみたく

普通はこの手順で解決、もし解決しなかったら…」

みたいなハウツーが成立し得ない。

それどころか、あらゆる手順が

「俺んとこではこれでうまく行ったぜ?」

レベルの参考資料しかならない。

からLinuxを扱う者はこれを踏まえた上で、トラブルを基本自力解決できる事が、事実上の最低レベルとして求められる。

結果、今日世界のどこかで

「俺は別にOS勉強がしたくてLinux触ってるんじゃねえ!」

という初心者叫びが聞こえてくると。


もしこれが同じUNIX系OSでも*BSDであれば、Linuxディストリビューションに当たるもの事実上3つしか存在しないので、それだけでも敷居は大幅に下がる。

というか*BSDが本気で普及に乗り出してたら、OSの中では新参な上に、大学院生のお遊びがきっかけで作られたLinuxなんて、一瞬で駆逐されただろう。

そうならなかったことが、歴史悲劇だと思うわ。

2019-04-04

こうすればプログラミング覚えられるよ【随時追記

プログラマじゃないけどプログラミング完全に理解した()おばさんが理解してる基礎知識書くよ。

追記 この文章プログラミング勉強をしたいけどその周辺にある基礎知識になかなか触れる機会がない人向けに書きました。これらの基礎知識があると、困ったときに調べ方すら分からないという状況は回避やすくなるはず)

まずLinuxUnix系OSの使い方。

ターミナル、いわゆる黒い窓からCUIコマンドユーザーインターフェース)でコンピュータを使う方法を覚えよう。これは大学コンピュータリテラシーで習った。MacOSXで復習すると捗った。(追記 すごく間が抜けてたけどMacOSXUnix系OSです)

まずはファイル操作Macターミナルを使って、cd Desktopって打ってからecho ohayou > aisatsu.txtって打ってみて、cat aisatsu.txtってやる。そうすると何が表示されるのか?とりあえずやってみよう。ここで>は増田の都合上大文字全角にしてるけど、ちゃんと半角にしてね。なんで増田の都合上半角がダメなのか、そのうち想像できるようになろう。(追記 ブコメ指摘感謝

そして、実際にデスクトップを見に行ってみると、aisatsu.txtってファイルがあるはずなんで、開いてみよう。これで何が起こったのか7割くらいはわかるはず。

こういうファイル操作の基本をまず覚えよう。これこそ空気みたいなものから

追記 ここも間が抜けてたけど確かにhogeって何かわからいね。直しました)

次に文字コードバックスラッシュの話。

最近は何も考えなければ文字コードはとりあえずUTF-8でなんとでもなるようになってるけど、バックスラッシュとかは環境設定で出てくるように設定しないと出てこないし、その意味合い、つまりエスケープとしての使い方を頭に入れておくと後々困らないと思う。あとEOF(エンドオブファイル)とか改行コードとかもそういうものがあるよ程度には覚えておこう。これ頭の片隅にはいってないと分からん殺し的な罠にはまることがある。

次にプログラミング環境の構築の仕方。

これは使いたいプログラミング言語公式サイトに行くと大抵書いてある。

でもMacだとだいぶ楽。とりあえずターミナルからgccって打ってみるとなんかCUIツールとか書いてあるものインストールしろって言われるのでインストールする。これだけでCとかC++とかRubyとかPythonとか一通り使えるようになる。もしかしたら最近はこのインストールすらいらないかもしれないけど。

あと、シェルコマンドとかプログラミング言語を実際に使うときはいろんなライブラリインストールする必要があるけど、そのライブラリ管理がすごく面倒なので管理をまとめてくれるコマンドがあったりする。aptとかhomebrewとかがそういうのだから、そんなものの使い方も覚えておこう。

追記 言語文法を追うだけなら環境構築なんてしなくてCloud9とか使ってもいいかもだけど、プロダクトを作ろうとした時にはまだまだ手元で環境作って必要ライブラリを入れてとやった方が後々応用がきくと思うのですよ。それにそうしていくとDockerの有り難みなんかも理解できるようになっていくのではと思います

最初勉強するプログラミング言語は、Javaだけはやめておけ。

なんでかっていうと、Javaオブジェクト指向言語ってやつなんだけどオブジェクト指向的にしか書けないから。古い人間だと言われそうだけど、最初手続き型言語から始めるべきだと思ってる。少なくとも、手続き型的に書ける言語から始めるべき。

なぜそう思うのかも含めて、とりあえずおばさんが理解しているプログラミング言語の発展の経緯を軽く解説する。

最初の頃のプログラミング言語は、手続き型と呼ばれるものが多かった。

この〇〇型ってのはプログラミングをするときの考え方によって名前がついているんだけど、手続き型はまず0を作って、0に1を100回足して、最後にその結果を表示してください、みたいな、上から書いた順番通りに動くのが基本のルールである考え方。プログラムは基本的にはこうやってデータアルゴリズムを使って変化させていって望む結果を得ている。でもこのやり方は問題も多かった。プログラム全体がひとかたまりになってしまっているので、数千行とかになるともう普通の人では手がつけられないし、人間ミスデータを間違って扱ってしまうことがバグの温床になった。

なので、この手続き型の考えに構造化という考えが加わって、関数というものが生まれた。関数っていうのは料理レシピに例えるとわかりやすいかも。

関数が無い状態だと、

1:玉ねぎをくし状に切ります

2:キャベツをざく切りにします。

3:豚こまに塩胡椒で味付けをします。

4:フライパンを火にかけ、油を入れて熱します。

5:豚こまを入れて色が変わるまで炒めます

6:玉ねぎを入れます

7:キャベツを入れます

8:野菜がしんなりするまで炒めます

9:火を消して8をお皿に盛り、野菜炒めの出来上がりです。

と書いていたものが、関数がある状態だと、

A:野菜を切ります

Aのやり方1:玉ねぎをくし状に切ります

Aのやり方2:キャベツをざく切りにします。

B:肉に味付けをします。

Bのやり方1:豚こまに塩胡椒を振ります

1:フライパンを火にかけ、油を入れて熱します。

2:Bを入れて色が変わるまで炒めます

3:Aを入れてしんなりするまで炒めます

4:火を消して3をお皿に盛り、野菜炒めの出来上がりです。

って書ける。ここではAとBが関数

この程度だとあまり意味を感じないかもしれないけど、これがもっと複雑なもの想像してみると、なんとなくありがたみが分かって来ないだろうか?こうすると、多人数でプログラミングをするときに、Aを書く人、Bを書く人、1〜4にまとめる人って感じで作業分担ができる。それに、バグが起きた時もAの領域バグったのか、Bの領域バグったのかとか、全体にまとめると上手くいかないのかとか、原因の切り分けがやすい。

でも、プログラムがとっても複雑化すると、これでも手に負えなくなる。料理の例えを拡大すると、料理店を運営することを考えるといいかも。

料理店でたくさんの料理をさばくときに、レシピを完全に1から作ることってないと思う。Aさんが野菜の仕込み担当、Bさんがスープの仕込み担当、というように各人に仕事が割り振られているはず。AさんもBさんもそれぞれの仕込みのレシピを持っていて、最終的に出てくる仕込みがちゃんとしてればAさんBさんの仕事の詳細までいちいちシェフが細かくチェックしない体制になっていると思う。大雑把にいうとそういう考え方をプログラムで再現したのがオブジェクト指向言語

なので、本気で料理初心者がいきなり厨房の仕切りを任されて上手くいくのは難しいように、構造プログラミングのありがたみすらわからない段階でオブジェクト指向プログラミングに手をつけても意味わからんだろうと思うのがおばさんの立場です。

追記 おばさんはRubyを勧めておきますオブジェクト指向言語ですが、手続き型的に書き下すことも出来るからです。一つの言語手続き構造オブジェクト指向、全部勉強できますメソッドも便利なのが一通りあるし、日本語を扱うのにも問題が少ないです)

次に問題を分解できるようになろう。

例えば、クイズゲームを作りたいと考えたときクイズゲームを作りたいです、って問題は大きすぎる。

クイズゲーム必要な要素は、問題文を表示する、回答を入力してもらう、正誤判定をする、正誤判定の結果を表示する、ということだなぐらいにまず分解する。

これを実際にプログラミングしようとすると、もっと分解できてさら問題が見えてくると思う。

コンピュータってのは創造的なことはできない代わりに、とても簡単なことをとても階層的に重ね合わせて大きな問題を解けるように作られてる。それを心するといいと思う。

からないことは調べられるようになろう。最後はこれ。

これ超大事プログラミングって本当に自分で1からものを考えなきゃいけないことってあまりない。大きな問題あなただけの問題かもしれないけれど、それを構成する小さな問題は大抵他の誰かが解いている問題なので、調べてみれば答えが見つかると思う。

エラーメッセージが出てきたらまずググってみる。翻訳しても初心者には意味がわからないし、ググったら誰かが解説付きで紹介してくれているのでその解説を読んだりしながらエラーメッセージとの付き合い方を覚えていけばいい。

メソッドの使い方がわからなかったら言語公式サイトに行ってみる。メソッドの使い方で大事なのは呼び出し方、返ってくる値の型とかそういうのだから、こういうところはググるよりも公式サイトに書いてあることをしっかり読んで理解する。

あと、アルゴリズム勉強もしてみるといいと思う。アルゴリズムデータ構造計算量の勉強大学学部レベル教科書ちゃんと読んでみると、例えばデータベースを操作するSQLというものを書くことになった時とかに効いてくる。あとは作ったプログラムが遅すぎてどうしようとかいうのを解決する時とか。

なんか深夜までいろいろ書いてしまったけど、あくまでもプログラマじゃないおばさんが書いたものなので、みんなでツッコミとか入れてくれると大変助かります

増田怖いよツッコミ怖いよ、もちろんおまんじゅうも怖い。

2018-06-14

anond:20180614105054

Web系ならまあUnix系OSのが便利かなあ、LinuxというかMacだろうけど

ただ子ども趣味プログラミングで何するかって大体ゲーム作るだろうからそれなら.NETありきでWindowsのほうが良い気もする

2017-12-07

Webサービス企業求人条件を具体的に書け

はてな場合Webアプリケーションエンジニア

求められる知識経験

Incrementsの場合アプリケーションエンジニア

必須スキル

メルカリ場合ソフトウェアエンジニア(Server Side))

必須条件

ドワンゴ場合(【ニコニコ事業Webアプリケーションエンジニア正社員))

必須条件

こんなのそこらへんの学生でも持ってるスキルだろ。こういう甘い条件で人を集めてバサバサ不採用にして何がしたいのかわからん。たまにいいのが来ればいいや?みたいな感じ?どうせ内部では経歴や年齢や学歴差別してるんだろ(と疑われても仕方がない)。

Webサービス企業求人条件を具体的に書け。

2017-09-16

株式会社はてな株主構成から見るはてな実態

今戯れに時価総額と持ち株比率から換算した資産表作った

近藤 淳也 66.33% 4482581400円 ○

(株)はてな 6.59% 445352200円

毛利 裕二 5.98% 404128400円

梅田 望夫 4.30% 290594000円

栗栖 義臣(社長) 2.61% 176383800円 ○

大西 康裕 1.97% 133132600円 ○

伊藤 直也 1.79% 120968200円 ○

田中 慎樹 1.41% 95287800円

田中 慎司 1.30% 87854000円 ○

小林 直樹 1.15% 77717000円

お金の額面はともかくの話なんだけど、

○をつけたのは、はてなコードを書いたことがあると"思われる人"。「名前 プログラミング」で検索して有意な結果が出た人に○つけた。各株主の詳細知りたい人は適当にググって

で、さら


はてな年収は524万円が平均年収です。(有価証券報告書調べ)

http://heikinnenshu.jp/joho/hatena.html

あると好ましい知識経験

スクリプト言語(主に Perl/PHP/Python/Ruby/JavaScript)によるアプリケーションライブラリ開発の経験

ScalaGoにおけるアプリケーションライブラリ開発の経験

iPhoneアプリ、もしくはAndroidアプリの開発経験

UNIX系OSRDBMS特に LinuxMySQL)についての基礎知識

オブジェクト指向プログラミングの基礎知識

コンピュータサイエンスアルゴリズムデータ構造分散技術自然言語処理技術機械学習データマイニング型理論)に関する基礎知識

ネットワーク技術HTTPDNSTCP/IPなど)についての基礎知識

大学卒/275,000円〜

http://hatenacorp.jp/recruit/fresh/application-engineer-entry

って、エンジニア待遇悪すぎじゃない?

この毛利 裕二という人の持ち株の資産新卒給料(計算だるかったか計算からボーナス抜いたけど、手取り分で考えたらボーナス分くらいは消えるだろう)で稼ぐとしたら122年かかるし、梅田 望夫という人は88年かかる。本当にこの人たちにはそれほどの価値(上にあげた新卒に求めるやたらと高いスペック)分の価値があるのか?いや、価値があると思ったから株をあてがったんだろうけど...

まぁなんていうか...、はてなのエンジニアのみなさんお疲れ様です...業務がんばってください

完全に外様の俺から言えるのは"エンジニアに"もっと給料たくさん払った方がいいんじゃないかということだけです

2015-04-10

最近システムソフトウェア開発のトレンドが分からない

10年位前、上位のサイトから電文を受け取り下位のサイトに再配信するプログラムを、Linux上にC言語実装する仕事を引き受け、死ぬ思いで片付けた。

その時にお世話になったのが「UNIXネットワークプログラミング」という本。

この本、POSIX準拠OS(要するにLinuxなどのUNIX系OS)におけるシステムプログラミングのノウハウに関しては名著、いやバイブルと言っていい。


しかし、である

この本は今や絶版なのだ

名著が絶版になる理由は色々あるだろうが、この本に限って言えばもはやそういう時代じゃない、そういう低レベル実装トレンドじゃないということなのだろう。


でも、そしたら「決して遅延が許されない再配信プログラム」は、一体何をどう使って作るんだ?

JavaPerl?全くイメージが湧かない。

プロセス間通信やスレッド制御、更にはシグナルも使い、それらが高速で動作しないといけない(いやスレッドは難しすぎて結局使わなかったけど)システムで、そんなオーバーヘッドが高い言語は使えないと思うのだが。

それらを解決できる気の利いたライブラリフレームワークもなさそうだし。

なので、同じ理由PythonRubyダメだろう。

そうなると、メジャーどころの言語は軒並み使えないじゃん。

或いは回線スイッチを高性能にして、サーバリソースも上げられるだけ上げるというように、インフラ側の強化で解決しちゃうとか?

それとも、そもそもそんな仕事がもはや存在しないってこと?

2014-05-04

http://anond.hatelabo.jp/20140504202952

意味が分からない

LinuxUnixに似せて作られたから同じようなもんだ、ってことなら単に「Unix」とか「Unix系OS」って呼べばいいじゃん

「*nix」には何の意味も無くなる

2013-08-02

http://anond.hatelabo.jp/20130802002544

単純な質問だけど

  • Macの過剰な演出がどうもキライ。
  • 日本語周りがとにかくイナタい。
  • そして融通が効かない。

これはどの辺で感じたの?

Windowsと比べて、ということ?

それともUnix系OS?

2012-09-10

http://anond.hatelabo.jp/20120910114648

いや、office普通にmacofficeを入れればいいと思うけど、開発環境は基本的にオープンソース自分で入れる必要があるということ。

python入れたいとかruby入れたいとかC++boost入れたいとかそういうの。

windowsだとそもそも謎の依存関係で開発環境自体が上手く入らなかったりするし、

パッケージ管理システムも無いかバージョンアップとかの管理が超めんどくさい。

mac(というかunix系OS)はその辺がかなり綺麗に構造化されてるので便利。

個人的には、PC使うときにコンソールを立ち上げない人はmac使う意味ないと思う。

2010-07-21

やったー俺にぴったりの求人があったよ

募集要項

仕事内容:オンラインゲーム開発

ゲームプログラム全般

ネットワークデータベースシステム設計、開発

認証課金システムの開発

・運営ツールの開発

サーバ環境の構築、運用

求める経験

【必須経験

C/C++perlRubyPythonPHPなどを用いたプログラム開発経験

【歓迎経験

C/C++を用いたゲーム開発経験

Unix系OS管理運用経験

C/C++, Perl, Ruby, Python, PHP全部使ったことあるよ!

PythonPHP仕事では使ったことないから微妙だけど。あとC++言語仕様完璧には把握できてないけど。

でもC/C++は商用のコンパイラを作るプロジェクトに参加してたこともあるしバッチリだよ。

Rubyは1.6の頃にインタプリタソース全部読んだりしたけど最近進化にはついていけてないかも。

ゲーム開発経験Unix系OS管理運用経験もあるよ!

【歓迎スキル

MySQLPostgreSQL等のRDBMSに関する知識

3Dプログラミングに関する知識

このへんも全部あるよバッチリ

そんなものは求められてないだろうけど、

RDBMS3Dも仮に一から自分で全部作れと言われても簡単なものなら作れるレベルだよ。

特に3DLSIを作るプロジェクトに参加してたこともある。

しかし…

年収給与: 300万円以上350万円以下

まあ、そうだよね最近プログラマ給与なんてこんなもんだよね…

2008-06-27

http://anond.hatelabo.jp/20080627002436

おおどうもありがとうございます。

社会人暦は数年あるんですが、この業界に入ったのは今年の3月頃です。全く別職種から。

元々理系なんでCとかFORTRANスパゲティコードくらいは書いたことがあったという感じでした。

(もちろん今現在スパゲティですが)

自作PCは昔々に1台作りました。SATAの読み方は最近知りましたw

ジャンルweb系ではないです。業務系でも組み込み系でもないですが。

ネットワークDBはさっぱりです。あとGUIもわかりません。これはまずいと思っています…。

あと地味にUNIX系OSもよくわかってないです。

この前valgrindをインストールしようとしてよくわかんなくて諦めましたorz

今日makefileが上手く動かなくて発狂しそうになったりもしました。

emacsキーバインドにも慣れないし、cygwin日本語化も結局未だに上手く行かず…。

周りが優秀なので焦るばかりです。これは感謝すべきことですが。

プログラム一本で食べていけるとは思えないし、自分のやりたいこととも少し違うので、

プログラミングに関しては中の上から上の下くらいのレベルを目指そうと思っています。

あと1回は転職すると思いますし、今26なので、30までにはどこにでもいけるようになりたいと思っています。

それにしても憶えること多すぎですね…。全体がわかるようになるのはいつになるのか…orz

 
ログイン ユーザー登録
ようこそ ゲスト さん