2020-12-02

IT(?)に立ち向かうための心構えとか考え方

anond:20201130214610

いろいろ面白かったので、適当に回答する。

> 1.具体的な事が分からない

プログラミングで主にやる事は下記の2つ。

①IFでAかBを選択させてどっちかの設定を実行

②Whileで決められた回数分繰り返す

これでやりたいことは分かる。分かるけれどこれでどうやって動画音楽エンコードをしたり

画像処理をしたりするソフトウェアになるのかというのがよく分からない。

とてつもなく複雑で冗長な処理によって実行されている。

複雑すぎて人間直感理解することは不可能だ。

わかりやすいので画像処理でいうと、数十万から数百万の画素(RGBAの24bitで表される数値)を小さなブロックに分解し、数学的に周波数の重なりとして計算して変換、含まれる頻出パターンテーブルにして圧縮伸張を行なう。みたいなことが瞬間的に行われている。

まさかそんな事できるわけないだろ」というレベルの処理が実際に行われており、これまた直感的でない。

適当リンクを挙げる。

からそれをどう書くんだよ。という答えはコレ。有名なjpeg実装だ。


フレームワークだとかよく分からないものを持ってきて使ってくださいってなっている。

libjpeg というライブラリを書くことはできるだろうか?画像圧縮理論から考え始めることはできるか?

正直無理だ。自分プログラマだがそんなに数学が得意ではなく、頑張ったとしても下手するとコレを作るのがライフワークになってしまい、他のことができなくなる。

例えばブラウザを0から作るとして、jpegの処理以外にも画像だけでpngとかgifとかwebpとか、その他もろもろとてつもない作業必要になる。

「とてつもなくて想像もできないので流石に無理だろう?」

いや、でも、実際動いてるのよ。ここ何十年、コツコツと積み重ねて実現している。

「積み重ね」とはライブラリであったりフレームワークであったりOSであったりする。

からそのフレームワークがどういう風になっているのかって説明からして欲しいって思う。

「どういう風になっているのか」

多くの場合、內部の実装に関しては詳しく知る必要はない。

外部に向けたインターフェイスがどうなっているのかは理解する必要がある。「使う」ために必要からだ。

この2つは分けて考えなければならない。

これでどうやってゲームを作ったり、検索エンジンを作ったりするんだとなってくる。

ちなみに、たとえばChromeのコアであるChromiumはのコードはコレだ。


まり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず

プログラミング入門書は、これで判定と繰り返しという基礎ができますと言うだけ。

これがもう滅茶苦茶イライラする。

「これで判定と繰り返しという基礎ができます」というのが基本的理論定理的なもの)で、その他に必然的だが唯一無二ではないベストプラクティスというものがある(法則的なもの)。

後者をうまく説明する入門書出会っていないんだろうな。という印象。イライラはやめよう。つかれる。

ベストプラクティスはいろいろあるのだが「層の構造にする・レイヤーに分ける」というのは重要アイデアだ。

libjpegというのはjpegの処理を行う「ライブラリ」だ。他のアプリケーション...たとえばブラウザはこのライブラリを「使う」。

ブラウザではjpeg画像圧縮展開というとてつもなく難しい処理を「libjpegの使い方」の理解までで済ませ、過去の蓄積であるlibjpegコードを利用することで真の意味で0から実装しないようにしている。

この場合、libjpegが「低レベル・低レイヤー」の存在であり、中身については「使い方」つまり仕様」の理解までしか行わないことで、実際に作りたいものを作れるようにしているわけだ。

巨人肩に乗る」とよく言われる。

まり完成しているプログラムを参考にしようと思っているにも関わらずそれがないのでよく分からない。

完成しているプログラムは二例ほど挙げたがどうですかね?

複雑なことをする、特にレイヤーコードはとてつもなく難しい。

でも、とりあえずこんな感じのコードなら解るよね?

こういうレベルから理解して、ちょっとずつ難しい処理を学んでいくしかない。

から木材を渡されてこれで家を作れと言われるくらいハードルが高い。

ハードルは高いんですよ。実際。

なので、木材からだと難しいかプレハブのキット的なものを探すとか、ログハウスカタログを読むとか、あるいは100人乗れる物置を買うのがいいかもしれない。そういうところから始める。

それらがフレームワークであったりライブラリであったりする。目的に合うものを探して、自分がやりたいことをどう実現するかとにかく考える。

「テキシコーhttps://www.nhk.or.jp/school/sougou/texico/ で言われる通り、「小さく分けて考える」「手順の組み合わせを考える」「パターンを見つける」「大事ものだけ抜き出して考える」「頭の中で手順をたどる」をひたすら実行する。

ゲーム作りにはそういうアプリを使えば楽だからそれを使えという人もいる。Unity?だっけ。

でもそれはそれ。そうじゃなくてプログラミングでどうやってそれが作られているのかが分からない。

unityコードが公開されているので、本当に読みたいなら。。


なぜそこでオブジェクト指向になるのかが分からない。

オブジェクト指向は内部構造を知らなくても直感的に利用できる素晴らしいものだとは思う。

オブジェクト指向は一旦忘れよう。

オブジェクト指向の「隠蔽」というのは層の構造が持っている重要な要素ではあるけど、「低いレイヤーについて考えない」のが基本的作戦だという理解の方が重要だ。

が、プログラミングでは、その内部構造を作らなきゃいけないのだからそれを知る必要がある。

前述の通り「できる限り作らない」んですよ。「使う」だけ。知るべきことを最小化する。

巨人肩に乗り、車輪の再発明基本的に避ける。

そして本当に作るべきものに関しては、利用する下のレイヤーライブラリなりを探して・仕様理解して、どう組み合わせてfor, if, あるいは計算させれば実現できるのかをひたすら考える。

じゃあ具体的に何を作りたいのかというと、英語フリーソフト言語表示を日本語翻訳するソフト

単に翻訳がしたいのか?表示に割り込む方法を知りたい?日本語翻訳するのは実行時なのか開発時なのか?

要求される表示エリア言語によって異なるために、デザイン調整が必要になる問題をどうするか?

解決したい問題もっと分解したほうがいい。

分解が甘いので何をしたらいいか調べることができないんだと思う。

たまに便利なフリーソフト海外版の時があるんだけれど、日本語化が出来ない事があるので、自分自由

日本語化できるようにできれば凄くストレスが減る。だからやりたいのだけれどそういうのがよく分からない。

ちなみに、アプリ内の文言というのはアプリの外部から変更できないように実装されている事が多いので、利用者が上書きする仕組みはかなり難しい。

AndroidなりiOS仕様にもそのへんに割り込める機能はないはずなので、OSの開発に入っていく必要がある。結構大変だとおもう。

アプリ開発者が、そういう機能を備えた多言語化のためのライブラリを使うようになれば実現可能ではあるので、そっちの方向で頑張るのがおすすめだが、英語圏の開発者には多言語化のモチベーションが低いという基本的問題はあるのよね。

この辺の「できる・できない・むずかしい」の判断は、いろいろな勉強をすると常識としてある程度みえてくる...気がする。

ついでに。ウェブサイトウェブサービス翻訳だとこういうサービスがあったりする。

ブラウザはページの描画処理のなかに割り込む余地が大きく取ってあるので、ブラウザのExtensionとかならできることがいくらかあるかもしれない。

> 2.説明が出来ても説明が出来ない

個人的に気に入らない話はOSアップデートは使いやすくなるからとてもいい事だからすぐにやった方がいいと宣伝されている事。

セキュリティが高まりますというのが宣伝文句だけれど、これで大体老人たちやIT知識に疎い人は躓く。

まあ、半分は嘘だよね。古いものが残っていると先に進めないんだよ...。

現在クライアントOSは、巨大なプラットフォームのパーツの一部として理解したほうが正しくて、古いパーツが残っているとツライんですよ。

そして「サービスを受けるための道具であって、あなたが何でも好きにできる機械ではないです」みたいな世界になりつつあって、ちょっと問題と言われてもいる。

これはかなり困った傾向なんだけど、全体としての流れはあんまり変わりそうにない。

たここでオブジェクト指向が出てくる。

オブジェクト指向好きですな...。ここではオブジェクト指向特に気にしなくていいですよ。

からパソコンはたまに不具合を引き起こすんですという説明が着地点になる。

とてつもなく複雑なことをやっているために、すべてのバグを潰すことはコストが高すぎてできないんですよね。

それよりバグ未来を先取りするコストと考えて、本質的価値のある機能を増やしていくというのが基本的な方向になっている。

からパソコンはたまに不具合を引き起こすんです。しゃーない。

しか中途半端理解している老人などは、そんなことじゃ分からん自分に分かるように説明しろと言い出す。

説明は出来る。しか相手イライラするし理解されない。よって説明をしてはいけないという状況に追い込まれる。

ここでどうすればいいのだと理解不能に陥る。

まあ、説明って得てして難しいよ。しゃーない。

何故なら自分OSアップデート不具合の原因というのが分からいから。

Microsoftが、Appleが、Googleがそうしているんですとしか言えない。

そのとおりです。

プログラムソースコードのどこかにエラーがあるのだろうけれど、どこにあるのかなんて当然知らない。

そもそもソースコードを調べるのは違法なのでやれないし。

オープンソースプロダクトなら原理的には調べられるけどね。Androidとかはオープンになってる。


だけどみんなそんなものを使っているし自分も使っている。正直こんなんでいいのか人類と思う事がある。

それを許容することで先に進んできているという事実は受け入れたほうがいいと思う。

「把握・理解可能範囲」に留めていたら、数十年前のコンピュータ世界から抜け出せなかった。

deep learning世界ではそれがより一層進むかも。この辺は詳しくないけど。

当然仕組みを理解している人はいるし、そんな人にとってみれば当然のことであっても、全ての中身を知っているわけではない。

どれだけ知っていても知らない事があるのがIT理解しがたい。理解が出来ない。

ここでの「理解」についてはそのとおり。これはもう諦めるしかない。

> 3.自分頭が悪い

これが常にある。IT関連は常に新しい情報が出てくるのでそれに送れると無知になってしまう。

なんでこんなことも分からないんだとか言われ放題で、IT系の企業に努めている人は常に新しい知識を入れられる

面倒くさがらない人が向いている。

「面倒くさがり」の方が問題に気づいて「頑張って面倒じゃなくする」ことができるので、プログラマにとっては美徳なんて言われますけどね。

同時にくじけないとか諦めない、しつこいみたいな素養必要かも。

表計算ならいけるんじゃないかと思ったときがあるのだけれど「射影」とかいきなり意味不明な言葉が出てきて、

勉強しろ

それから受験していない。だから持っているのはITパスポートだけ。情けない。

応用まではとろうな。がんばれ。

> 4.最後

USB-TypeCをTypeAに変換してはいけないとか最近まで知らなかった。

このへん自分も知らんですよ。べつに全部知っている必要はない。

面白いからたまに調べたりもするけど。

追記: はてな記法引用すらもさっきまで知らなかったしな!そんなもん)

更にレガシー、すなわち過去遺産なるものについても理解ができない。古い物がずっと使われ続けているIT環境

もう誰もメンテナンスが出来ないものが延々と使われているという事実

層の構造をとっているということと関係があるんですが、仕様が変わると、その上に乗っているものを全部なおさないといけないんですよね。

なので「互換性」というのが非常に重要なのです。

でも革新のために互換性を捨てなければいけないケースも多い。このへんはハードでもソフトでも同じ。

そして、メンテコストが上がっても使い続けたほうがトータルで安上がりという場合は、古いものが残ってしまう。

あるいは「(多少の問題はあっても)動いているものは変えるな」という経験則から意図的に残す場合もある。

西暦2020年にもなって、プログラミング簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。

というかプログラミング言語自体多すぎる。ソフトウェアデファクトスタンダードのモノ程度は知っているが、

いまは原始時代にいると思ってもらって構わないと思いますよ。

ぜんぜん完成していない荒っぽいものを目にしているのだと理解したほうが的確。

それなのに毎日理解のできないパソコンスマートフォンを使っている。

オブジェクト指向のおかげ様だがオブジェクト指向に対して無性に腹が立つ。

自分の全く知らない場所いけしゃあしゃあ演算を行い、そして結果を出す。それも大半が正しい結果で

利便性が抜群だ。些細なミス(バグなど)はあるが圧倒的に利便性が勝っている。

そんな道具に踊らされている自分が滑稽だ。理解できない愚かな自分は正に機械奴隷のようだ。

本当に理解できない。辛い。

勘違いしてはいけないのは、それらはすべて先人の努力の蓄積によって成り立っているということ。

「よくわからないけど存在している道具」ではなくて、信じられないほど複雑だけど、多くの人々の行動によってなんとかかんとか実現した道具なんですよ。

オブジェクト指向のおかげ様」じゃないんです。(もちろんオブジェクト指向というのも大きな発明の一つですが)

そしてブラックボックスとして使うのは多くの場合正しいです。そこは諦めましょう。

でもエンジニアとしての立場からは、その裏に隠れているとてつもない技術思考の蓄積に感動してほしいなと思う。

なので、ちょっとずつがんばって勉強してください。

人類がこんなもん作れたのって、かなりすごいよ?

記事への反応 -
  • 1.具体的な事が分からない プログラミングで主にやる事は下記の2つ。 ①IFでAかBを選択させてどっちかの設定を実行 ②Whileで決められた回数分繰り返す これでやりたいことは分かる。分...

    • anond:20201130214610 いろいろ面白かったので、適当に回答する。 > 1.具体的な事が分からない > プログラミングで主にやる事は下記の2つ。 > ①IFでAかBを選択させてどっちかの設定...

      • 増田は初めてか? ここじゃmarkdownなんてモダンなものじゃなく、はてな記法を使うんだぜ。

        • はてな記法の(一部も)使えるって書いてあったんだぜ... >> 引用 <<

      • オブジェクト指向は,ゲームに例えると下のように敵クラス(金型)を作ったなら class 敵(名前, HP, 攻撃力, 防御力){ auto 名前; auto HP; auto 攻撃力; auto 防御力; auto alive=True; } 簡単に...

        • まあ例だから別にいいんだけど、これは Tell, Don't ask の原則に反してるので良いコードではないな

          • そもそも死亡処理もメソッドにしたほうがいいだろうから許せ

        • それって構造体とは違うの?

          • クラスは特殊な機能が付いた構造体だよ。

            • クラス自体、本来はデザインパターンだからなあ 今やだれもそんな風に考えないけれども…

              • デザインパターンを普通の意味(GoFのデザインパターン)以外の意味で使っているのだろうか こういう人(俺の言うデザインパターンはこういう意味だから、的なこと言う人)がいると...

              • クラスと構造体どう違うにゃん、という疑問には前掲の含めてそう答えるよりないな 言語に溶け込んでしまって観測できないパターンってやつだ

                • そこには完全同意だがそれをしてこの2020年に「クラス・インスタンス構造は本当はデザインパターンの一種で」と説明するのは誤解を生む不誠実な態度ではないかとも思った

          • 上のゲーム例書いた者だけど,正直今の言語だとどっちも似たようなものだけど 構造体:基本的に書き換えしないprivateな値の集合体(静的) クラス:インスタンス生成に使用(動的)...

            • C言語で構造体を使っても例と同じことができるし普通にやると思うけど、C言語をオブジェクト指向言語とは言わないわけじゃん だとしたらオブジェクト指向の特徴ってもっと違うこと...

      • めちゃめちゃ親切な人だな。 こういう人がWebで誰かを助けていると知ると、世の中捨てたもんじゃないな感がある。   元増田ではないけど、ちょっと良い気分になったので謝意を伝え...

        • 具体的な事ほど分かりやすいからな 抽象的な用語は使わないで欲しい

      • ITの知識なんて深堀りし続けても底なしなんだから仕事で使いたいなら 「必要な知識を必要なだけ必要な時に」 オンデマンドで身に付けられる能力が一番重要。

      • 順位 タイトル ブクマ数 日付 ジャンル 備考 1 意識の低いフリーランスの生存戦略 2260 02/26 テクノロジー 2 ケンタッキー初心者...

      • 順位 タイトル ブクマ数 日付 ジャンル 備考 1 意識の低いフリーランスの生存戦略 2260 02/26 テクノロジー 2 ケンタッキー初心者...

      • トップ700 順位 ブクマ数 タイトル 日付 ジャンル 備考 1 2260 意識の低いフリーランスの生存戦略 02/26 テクノロジー 2 2246 ...

      • トップ700 順位 ブクマ数 タイトル 日付 ジャンル 備考 1 2260 意識の低いフリーランスの生存戦略 02/26 テクノロジー 2 2246 ...

      • 順位 ブクマ数 タイトル 備考 1 2260 意識の低いフリーランスの生存戦略 2 2246 ケンタッキー初心者指南 3 1980 100分de名著シリ...

      • 順位 ブクマ数 タイトル 備考 1 2260 意識の低いフリーランスの生存戦略 2 2246 ケンタッキー初心者指南 3 1980 100分de名著シリ...

      • 順位 ブクマ数 タイトル 日付 備考 1 2260 意識の低いフリーランスの生存戦略 02/26 2 1848 プログラミングスクールなんか行かなくてい...

      • トップ500 順位 ブクマ数 タイトル 日付 備考 1 2260 意識の低いフリーランスの生存戦略 02/26 2 2246 ケンタッキー初心者指南 ...

      • トップ500 順位 ブクマ数 タイトル 日付 備考 1 2260 意識の低いフリーランスの生存戦略 02/26 2 2246 ケンタッキー初心者指南 ...

        • パンティー変はないのか

        • 昨日、M区のクライアントのオフィス行ったんです。クライアントのオフィス。 そしたらなんか知らない人がめちゃくちゃいっぱいいたんです。 で、よく見たらなんか垂れ幕下がってて...

        • 月刊増田文学賞も創設してくれやで ワイは妖怪寿司女を推す https://anond.hatelabo.jp/20210112213223

    • 俺はお前のがわからん。 まずは勉強の仕方を身に付けた方がいい。 勉強の仕方は人それぞれだから自分で試行錯誤するしかない。読むだけで勉強できるやつもいるがごく限られている。...

      • 自分の声を録音して聞くとか吐き気するわ ナルシスト?

        • いいえアナリストです アナルパール入れたまま勉強してます

          • アナルパールは出し入れしてこそのもんだろ 入れっぱなしとか使い方分かってねえわ フカシ乙

        • 世の中には大まかに「見て覚えるタイプ」と「聞いて覚えるタイプ」がいるらしく、後者の人は録音聞くやり方がいいらしいぞ。 まあなんだかんだ言い訳してやらないのは自由だからな...

    • PleiadesっていうJavaアプリケーションをそれ自体に依存せずに翻訳出来るアプリケーションはあるけど、なかなか面倒そうなことをしてるし仕組み的にJavaアプリケーションにしか対応出来...

    • オブジェクト指向なんてまるで関係ないとこでオブジェクト指向が出てくるあたりプログラミングもIT業界も向いてないから業種変えた方がいいよ そもそもエンジニアってのは技能工な...

    • オブジェクト指向に親を殺されたことだけは分かった

    • 普通人生ではそこまで理解できない事柄については避けて通るもんだけど なぜ理解しようとするのかそっちの方が気になる プログラムやITに接しない人生だって普通にたくさんあるのに

    • だいたいのことはプログラム書いて解決するより直接自分のスキル使った方が簡単に解決するんだ。 英語よくわからん人に英語を翻訳するプログラムは書けないよ。 だって英語とプログ...

    • プロコンやれ

    • だけどプログラミングはその中身の構造を知らないのに なんで中身の構造のうちで、IFとWHILEで組み立てられているロジックという 特定の階層の構造までを知らなければならないと考...

      • スピード求めなきゃデジタルから外れるトランジスタの特性は知らんでいいだろ

    • NANDからテトリス作るっていう本があるのでそれやればいいよ そういう問題じゃないって言われそうだけど

      • 10年後……そこには大統一理論を完成させた元増田の姿が!

    • でも、あなただって生命の仕組みをすべて理解してるわけじゃないだろう。でも、こうやって生きてる。酸素がないと死ぬ?酸素なんて見えないのにそんなことを信じてる。 結局のとこ...

    • プログラミングで主にやる事は下記の2つ。 ①IFでAかBを選択させてどっちかの設定を実行 ②Whileで決められた回数分繰り返す 関数型プログラミングではそのような構造は存在しな...

    • 「4.最後に」新しい物が出ても置き換わらないのはなぜか、あなたのようにわからないからですよ!解決!

    • 電気の流れがどうやってifとかループになるのかとか、オブジェクト指向がどうとかはこういう本を読めばわかると思うよ https://www.amazon.co.jp/dp/B00HKN25CQ/ref=cm_sw_r_tw_dp_x_vzFXFb09WXD0N

    • WordやExcelがどうやって作られているか知りたいなら似たようなOSSがあるからそのソースコードを見ればいい 有名なのはこれな https://github.com/apache/openoffice

    • 「英語のフリーソフトの言語表示を日本語に翻訳するソフト」これはDeepLっていう便利なソフトがあるからそれ使え

    • 頭が悪いのは精神科に行った方がいい。文章見た感じだと色々考えてるのでIQはそこまで低くないと思う。おそらくアスペルガー症候群とADHDが両方に当てはまっていて、細かいことが気...

      • ADHDは薬で変わりやすいけどASDは薬で変わりにくいよ、あんま期待させてがっかりさせたらかわいそう

        • そうなんですが、僕の感ですがASDの傾向は几帳面で細かいことを気にするエンジニアとしていい方向にも働く気がしてるんですよねー

          • 向いてる人はめちゃくちゃ向いてますよ~職業としてエンジニアを選ぶ人がたくさんいます 問題はプログラミングに使うべき脳の部分のIQが低いこともあるため適性と能力のミスマッチ...

    • たしかに日本語化パッチが作れるソフトと作れないソフトがあるのは謎に思えるよね なんでどれでも同じように日本語化パッチを作れないんだ!!ってなるだろう

    • 理解出来なくて、どんな場面で困ってるのかがよく分からん 初心者プログラマなのか、社内ヘルプデスクなのか

    • オマエなんかまだマシ。俺なんか、テレビが理解できない。スイッチを入れれば見れるってのはわかってるけど、いったいどういう原理や仕組みで映っているのかさっぱり理解できない...

      • すげーな便利!魔法みたい!って思って暮らしてる だってそんなこと言ったら、自分のお腹の中身もよくわからんもん

      • アナログテレビ放送は絵がそのまま電波になったみたいなのを飛ばしてたんで 原理だけならわりと簡単に理解できたんだけど、 デジタルテレビ放送は動画エンコード・デコードの原理を...

    • > じゃあ具体的に何を作りたいのかというと、英語のフリーソフトの言語表示を日本語に翻訳するソフト。 これはまっとうなソフトウェア開発ではおそらくまず出会わない。技術(テ...

      • エミュですでにあるけどね

      • (追記) まず簡単なのはここに書いてある。 ttps://agk.saloon.jp/how-to-jp-series 結論をいうと対象のソフトが下記を満たすかどうかで難易度がかなり変わる。 1. 表示テキストが外部ファイ...

        • おいちゃんには難しすぎてサッパリです よく分からないのですが、なんかOSのセキュリティ的に引っかかるとかないんですか? 動作中のプロセスに簡単にアタッチできなかったりとか最...

          • >OSのセキュリティ的に引っかかる 回避できる。Macはわからない。 >鬼滅の面白さがまったく分からないのです 本当に全巻見てから言ったか?

        • たぶん言わないであろうと思われるので言うと、現在これをやってる人は少ない なんでかというと、法律または利用規約に引っかかる可能性が大きいからだ 本質的にはこれをやったプロ...

          • 個人的なハックとかクラック?はいいんでないの? いや、良くはないけど、個人がこっそり家でやってることをどうやって取り締まんのよ?みたいな それより実行ファイルをバイナリエ...

            • いや、その、なんていうか リバースエンジニアリング禁止って利用規約に書いてあったら「それどうやって見つける気なの?」とか言わずにやめて欲しいわけなんですよ 複数台へのイン...

        • こういう回答読みたかったやつだ! ゼロからどういう順で勉強していったらこんな素晴らしい知識が身につくんだろう スクールに行って入門書を読むだけではこうはならんのだよな

    • 英語のフリーソフトの言語表示を日本語に翻訳するソフト。 各言語別リソースファイルの作り方を公開してるアプリなら、それに準拠したファイルを作る。 UIの描画処理に割り込ん...

      • キャプチャ→OCR→翻訳処理(API)のほうが手っ取り早いまであるな

        • 動いているプロセスのGUIに表示されている文字を取得するとか、 例えばWindowsでできなくもないけど、 必ずできるという保証もないから、それが正解だと自分も思う。 最近RPA()とかD...

    • 私もIFとか繰り返しでどうやってゲームができるんだよそれが知りたいんだけど!って思ってた時期があったけど、 Excelでドラクエ3を再現した人の丁寧な解説記事よんでめちゃくちゃ納...

    • (^^)https://www.irasutoya.com/2016/08/ai.html?m=1

    • 同じ悩みか分かんないけど、VMとかイメージとかの概念がいまいち分かんないのにKubernetesとかPodとかノードとかクラスタとか更に分からないままエンジニア歴5年以上のワイが通るで

      • まあ中の仕組みはよく分からんでもdockerコマンドは使えるしなあ コンピュータや自動車の中を全部知り尽くさないと使えない、みたいな考え方だと生活に支障が出るので、 なんかよく分...

        • 本当は分かっていた方が良いのだろうけど突き詰めるとキリがないから諦めましたわ。自分がプログラマだからっていうのもあるけど。その点インフラエンジニアさんは尊敬しますよね...

    • 2000年代くらいはエロ画像を大量にダウンロードするバッチファイルを書くのががいいプログラミングの勉強になった。

      • 連番ぐらいならzshとwgetで一発だな 最近はテスト用途でブラウザ自動化する方法がいくつもあるから便利になったよなあ

    • 画像データも音データも全部同じデータだ。 だから演算してファイルに書き込むことで、それを表現できる。 まず絵がたくさん書いてある入門書を最初から順番どおりにやっていくこ...

      • 掛け算と割り算は九九の成果が大きいかなあ

      • 絵がある解説でなくてもいいと思うけど、 とにかく音楽や画像や動画がどういうデータとして表現されているかを理解しないと それが操作できる理屈や操作する方法はわからないよね。

    • 自分の土台が理解が出来ないの辛いよなあ……自分の足元がどうなっているかというのを意識しだすと大抵の人は精神を壊しがちになる ただ元増田に関しては以下のことを意識してほし...

    • まずまともな文を書く言語能力がないからプログラムも書けないだろうなって感じ。 動くソースが見たければGitHubでも見にいけば良いだろう。

    • 俺全部わかるからこういうのを教える仕事がしたい

    • 頭でっかちやな Unity ダウンロードしてクソゲーでも一つ作れよ 大体わかるようになるよ

    • 和訳アプリを作りたいなら ループでスペースやピリオドまで英単語を1文字ずつ拾って1つの単語を取得する。 それをまたループで全部の単語を取得する。 予め用意した和訳データを...

    • 金渡してプログラマーにこういうの作ってってやるのが最強なんでは

    • CPUには大量の半導体があってそれに電気が流れる・流れないで計算を行っているということは知っている。 このレベルの認識でOKだと思えるなら、 だけどプログラミングはその中身...

    • 初学者の頃、全く同じことを感じてたから気持ちがわかる 俺は今、CSゲームのリードプログラマーとして某社で働いてる程度にはプログラミングを理解できてるから答えるね 「んで...

    • 全体像から入った方がいいと思う。 あとエンジニアを仕事にするもしないも、全体像から逆算して考える仕事や、仕組みを考えるタイプの仕事の方がストレスないと思う。

    • よく分かる。そしてそのまま雰囲気でプログラミングしている。

    • 低級言語や機械語、もっと言えば半導体中のエネルギー準位やドリフトが根本でそこからボトムアップという考え方がそもそも視野が狭い気がする。 実用的なコンピュータが登場する前...

    • 1a. 簡単なライブラリとかAPIとかのオープンソースのやつを全部読めばよくね?例えばprintf()の中身とか。 あるいは自分で作ってみればよくね? 例えば、初歩的な動的メモリ管理を...

    • プラモデルが作りたいのに、プラスチックの融点やら炭素の組み合わせだよって話し聞いてもアレだよね。ITの全貌が分かってプログラミングやってる人いるのかな?

      • 海外のまともな大学でコンピューターサイエンスやったら全部わかるようになるぞ、俺はなった 電気の基礎 数学の基礎 認知科学の基礎 計算機科学の基礎 微積分 物理 離散数学 線...

    • 基本情報なんて、学生時代に一週間勉強しただけで取れたよ。 別に IT 系学部とかではなく、パソコン大好き大学生ってだけだったけど余裕だった。 とはいえ、おれと同じ旧帝大出身の...

    • 日本のITなんて、昔の工場のラインのような仕事に近く、ほとんど頭を使うことはない。 F欄出身どころか高卒が多いのも日本のIT業界の特徴

    • 時々「今江戸時代にタイムスリップしたら俺はスマホは当然作れねえし電気も発生させられるかすら怪しいし何なら青銅器も作れねえな、せいぜい壁画を描くくらいしかできない」と思...

    • この人は自動車なら1つの部品を取り出しされてみせられても機能が自ずとわかるはずだとおもってるんだろうか あるいはビル(建物)を構成する一つの釘をみてなんだかわかる人にな...

    • これでどうやってゲームを作ったり、検索エンジンを作ったりするんだとなってくる。 つまり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず プロ...

      • その本に書いてある技術のパズルのピースを組み合わせて作りたいもの作れということなんだろう(想像で言ってるが) 3DCGの教本とかそういう感じだね 表面を凹ます方法、変形させる...

    • これでどうやってゲームを作ったり、検索エンジンを作ったりするんだとなってくる。 つまり言いたいことは、実際に動くアプリケーションというのを作りたいのにも関わらず プロ...

    • そんなところまで知る必要がないと思う ほとんどのことは使い方さえわかれば問題ない

    • cpuとかOS自作の本なんかいくらでもあるからそれやればいんじゃないの

    • 音楽を聞くのと 楽譜を弾くのと 曲を作るのは全く違うレベルの知識と訓練が要求されるじゃん 作る側に立ちたいなら本買う程度、序章パラパラする程度じゃなくて良書のなかで愚直に...

    • 気持ちは分かるぞ。 たまにマインクラフトとかマリオメーカーとかで電卓作る人いるけど ああいう人だけが分かるんだろうね。 if文、for文、配列、関数と学んだあとは、 空のダイアロ...

      • GNOME(Window Manager)を知ればXについて知る、Xについて知れば今度はDisplay Managerについて知る、 みたいにどんどん降りていって、最後にCPUの中のANDだの論理演算の部品まで分解できて納得...

    • 自作OSの本があるからそれを読んだら結構解決するんじゃない?

    • 車の構造なんてろくに知らなくて運転手にはなれるだろ。 あんたのやってることは運転手になりたいのに、 整備士向けのテキストを読んで勝手に絶望してるようなもん。 この場合、あ...

    • 個人的には適当にやってみて理解はあとからでいいと思う。理解してから進もうと思うとおそらく1ミリもすすまん

    • anond:20201130214610 この増田読んでで違和感あってなんだろって思って考えたことを書く。 プログラミングで主にやる事は下記の2つ。 ①IFでAかBを選択させてどっちかの設定を実行 ...

    • | 1.具体的な事が分からない | プログラミングで主にやる事は下記の2つ。 | ①IFでAかBを選択させてどっちかの設定を実行 | ②Whileで決められた回数分繰り返す | これでやりたいことは分か...

    • anond:20201130214610 エンジニア歴の浅いヒヨっ子だけど、めっちゃわかるって思って泣いた。 とくに「自分は頭が悪い」のところ。 自分は文系だけど一応大学は出てる。世間的には頭悪...

    • anond:20201130214610 アライさんについて いわゆるコンピュータサイエンス系のちほーでしゅうし?をもらったのででっかい会社ちほーでソフトウェア?の開発?をしているのだ!もう10年に...

      • きも

      • イ○ハヤの、科学的に考えるというのは自分で体験すること、ではないが、 疑似科学やスピリチュアルの方が受験勉強のように正解を求めてるんだよなあ 科学的に考えれば、ポケット...

      • 増田に有るまじき良アライさん。 受験生と話してて「どんな勉強したら〇〇大学に受かるんですか?」とか聞かれても答えられないし、答えたとしても意味があるとは思えない。 どこど...

      • 普通に喋れ

    • 1についてだけ。 >分かるけれどこれでどうやって動画や音楽のエンコードをしたり画像処理をしたりするソフトウェアになるのか エンコードに関してはプログラムはエンコードの理論...

      • クラスに関しては自分が老人だからか異論はあるけど、とりあえず動くソースコードでそれなりの規模のが欲しければGitHubからcloneしてくればいいんだよなあ。 と言っても、元増田が「gi...

    • 自称理解している側の人間だが、理解する必要のないことを理解しようとしているとしか思えん。 普通理解できる範囲で理解して、広げていくもんだがな。 それが出来ないやつは向いて...

記事への反応(ブックマークコメント)

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