「入門書」を含む日記 RSS

はてなキーワード: 入門書とは

2021-01-27

初校10年前、8年前、5年前の Javascript入門書がうちにある。

古すぎてもはや常識から違ってるだろうなあって思うものの、文法とか基礎的な部分は大して変わってないんじゃないかと流し読みしている。

どうなんだろうなあ…

2021-01-21

技術書ネット情報web系のソフトウェアエンジアに転職した昔話

自分プログラミングほぼ未経験大学学部時代にCのコード写経して動かすと単位がもらえる謎の講義に出たことがあるぐらい)の状態から社会人になってから独学でPHP勉強していわゆるweb系のソフトウェアエンジニア転職した。以後8年近くソフトウェアエンジニアとして働いている。

初心者向けのプログラミングスクール話題が尽きないが、スクールに通わなくても独学でもなんとかなった自分みたいのもいるよ.という例を紹介してみたい。このエントリプログラミングに興味がある人の役に立てば幸いである。昔の話なので出てくる話題が古いのはご勘弁いただきたい。

なお、web系のソフトウェアエンジニアになる前は、上流系SIerExcel顧客折衝をがんばるSEをしていた。基本情報ぐらいは持っていたがコードを書く業務は一切なかった

忙しい人向け

自社サービスwebソフトウェアエンジニア転職するまで時系列で振り返ってみる

2009年末頃?
2010年前半
2010年後半
2011年前半
2011年後半
2012年後半

今思うこと

2021-01-03

anond:20210103124403

だれでも入門書読めば到達できるようなところまでしか教えてくれない、カルチャースクールもどきなんで。

あんなもん金と時間無駄。暇と金を持て余してるおばさんや年寄りが通うようなところ。

転職に活かしたいなんて考えてるならなおさら無駄

2020-12-28

肉を食っても(倫理的に)かまへんやんか

菜食主義ベジタリアンヴィーガン議論(直近だと anond:20201226231316 に対するコメントとか)において、特に肉食側から倫理的議論が少ないように思えるので、簡単ではあるが、倫理的観点からの肉食擁護を書いてみたい。

私はあくま素人であり、以下の文章個人見解以外の何物でもないことは最初に断っておく。

差別とは

 肉食を倫理的観点から批判する際の最も大きな論点は「種差別である。種差別とは、「単に種が違うからという理由だけで、ヒトとそれ以外の動物差別すること」である。肉食が相手の"命"を奪う行為であることは万人が認めるだろう。また人間同士では相手の"命"を奪う行為に大きな制限をかけるべきであるということも大多数は認めるだろう。であれば、「"命"を奪うことについて、相手人間以外の動物からという理由人間と同じだけの制限をかけないのは差別である」というのが種差別の考え方である

 この考え方は性差別人種差別形式と近い。例えば、男性利益を"男性から"という理由で優先して、女性には"女性から"という理由配慮しないことや、白人利益を“白人から”という理由で 優先して、黒人には“黒人から”という理由配慮しないことは現在では大多数の人が差別であることを受け入れている。同じ用に、人間利益を"人間から"という理由で優先して、人間以外の動物には"人間以外の動物から"という理由配慮しないことは差別であるというのが主張になる。

 一方で、関係する全員に対して平等な考えに基づいた適切な理由によって、ある存在と別の存在の取り扱いを変えることは差別ではなく、倫理的問題はない(※ここでいう差別とは”不公正な扱い”を意味しており”不平等な扱い”ではない)ことも重要である。「菜食主義だって植物の"命"を奪っているじゃないか!」という批判はよくあるが、多くの菜食主義者は"苦痛を感じる能力(sentient)"の有無を理由にして動物植物区別しておりそこに倫理的問題はないと考えている。(なお、植物本体を傷つけない果実のみを食べるフルータリアンはこの点で他の菜食主義者を批判する)

 このように倫理的観点から肉食を擁護するためには、人間動物を食べることについて、すべての生命に対して平等な考えに基づいた適切な理由検討して採用する必要がある。

肉食を擁護する適切な倫理的理由とは何か

 すべての生命に対して平等な考えに基づいた適切な理由検討といっても、何から手を付ければよいのかは難しい。考え方はいくつもあるが、ここでは、伊勢田の「動物から倫理学入門(2008)」の議論を元に進めていく。余談だが、この本は倫理学入門書としてはかなりオススメであるタイトルから菜食主義の本のように思えるがそうではなく、各主張を紹介した上で応用の一つとしてそれを動物に当てはめるとどうなるかを検討している。また、伊勢田自身菜食主義者ではないとのこと。

伊勢田はこの本で下記のように主張している。

倫理判断普遍可能である

遺伝差異自体差別をする理由にはならない

動物人間と同じように苦しむ

認知能力契約能力等、動物人間区別する道徳的重要な違いとされている違いは人間同士の間にも存在する(すなわち、限界事例の人たちが存在する)

限界事例の人たちにも人権があり、危害を加えてはならない

これらの組み合わせから容易に「動物にも「人権」があり、危害を加えてはならない」という結論が導ける

(p320 終-3 結局動物とどう接すればよいのか)

「①~⑤を認めると動物危害を加えてはならない」ことが正しいとすると、肉食を擁護するためには少なくとも1つを削除する必要がある。それは①~⑤のどれにすべきだろうか?

倫理判断普遍可能である

 普遍可能とは、簡単に言えば"ある状況である倫理判断を善いとするなら、同じような他の状況でも同じ倫理判断を善いとしなければならない"ということである。例えば、私が借金を貸す側のときに「借金を返さないことは悪いことだ」と言うならば、借りる側のときも同様に「借金を返さないことは悪いことだ」と言わなければならない。

 これを削除すると、多くの倫理判断社会ルール無効化されてしまう。例えば、貸し手のときは「借金を返さないとダメ」と言いながら、借り手のときは「返さなくても問題ない」と言えてしまう。こうなると強者弱者を思い通りにできる(少なくとも倫理観点から批判することは出来ない)社会になるが、それを良いとする人は少ないだろう。また「人間動物はお互いを殺してよいし、両者ともそれに抵抗してもよい」という方向で普遍化することも可能だが、それでは「人間人間を殺してもよい」を否定する理由が難しい。

遺伝差異自体差別をする理由にはならない

 (双子を除いて)完全に同じ遺伝子を持つ人間がいない以上、遺伝差異差別理由とするのは難しい。例えば肌の色を黒くする遺伝子を持つから差別していいとは多くの人は賛成しないだろう。生物学的種を考えて、交配して子孫を残すことが可能かという観点区別するという主張はあるかもしれない。だが種差別議論を考えると、交配の可否を"なぜ"差別理由としてよいか説明することは非常に難しい。また、(進化論を認めれば)すべての生物連続しているので、AとB、BとCは交配可能だがAとCは交配不可というA, B, Cが絶滅種も含めれば必ず存在する。Aの立場で考えて、Aと交配可能なBは差別してはいけないが、差別してはいけないBと交配可能なCは差別して良いとするのはルールとしての一貫性を欠くだろう。

動物人間と同じように苦しむ

 確かに、例えば未来概念や愛の概念の有無などによってその苦しみの程度は異なるだろうし、動物権利を主張する人たちも犬と人間が溺れていた場合に、より苦しみが大きいであろう人間を優先して助けることを否定するわけではない。しかし、多くの動物が少なくとも痛みや苦しみを感じる(sentient)ことは事実であり否定はできない。

 先にも書いたように、多くの菜食主義者はこの③について、「脳を持たない植物(主張によっては一部の貝なども含む)は人間を含む動物と同じようには苦しみを感じない」として植物動物区別し、植物を食べることに問題ないと考えている。「植物も実は苦痛を感じているかもしれないじゃないか」というのもよくある批判だが、これはあまり意味のある問いではない。確かに植物苦痛を感じている"かもしれない"が、動物は"明らかに"苦痛を感じている。何かを判断するときに、よくわからないことが1%あるから残りの明らかな99%も無視して良いとはならない。また、将来もし植物が"苦痛"を感じることが明らかになった場合は、菜食主義者の多くはフルータリアンなどに態度を改めるだろう。

認知能力契約能力等、動物人間区別する道徳的重要な違いとされている違いは人間同士の間にも存在する(すなわち、限界事例の人たちが存在する)

 これも事実であり否定はできない。人間の知能を動物の知能と直接比較すること(牛は人間でいうと何歳程度の知能か?など)はほぼ不可能であるが、それでも例えば0歳児や重度痴呆症、ある種の知的障害者などの限界事例の人たちと比較して牛や豚や鳥のほうが"賢い"と考えることは大きく間違っているとは言えないだろう。

限界事例の人たちにも人権があり、危害を加えてはならない

 ③に関係して、動物人間と同じ用に苦しむのは事実だが、動物を苦しめずに殺すことは問題にならないと主張できるかもしれない。未来概念がなければ生活計画を持たずにその時だけを生きているので、殺害して未来を奪うこと自体倫理的問題がなく、苦痛を与えることだけが問題であるという主張である。また、④に関係して、認知能力契約能力などの"賢さ"によって人間動物区別でき、"賢くない"動物は殺しても良いと主張できるかもしれない。

 しかし、これらの主張からは、未来概念がない人間や"賢く"ない人間=限界事例の人たちを殺しても良いという主張が直接的に導かれてしまう。もし、限界事例の人たちを殺すのは良くないと考えるならば、その根拠人権であろう。であればこれを否定することも難しい。そして限界事例の人たちに人権を認めるなら、動物たちに「人権」を認めないとするのは一貫性に欠ける。


 以上のように①~⑤を検討してきたが、どれも削除するのはなかなか大変そうだ。「現代代表的倫理学者で動物問題について発言している人はほぼ例外なく動物が直接の配慮対象になるべきだという立場である伊勢田, 2008)」というのもよく分かる。

 しかし、倫理的観点から肉食を擁護するためにはどれかを削除する必要がある。私は差別であるという批判を受けることは承知の上で、⑤を削除することを提案したい。

続き:anond:20201228220146

2020-12-26

男と女のどちらがどれだけ得しているのか客観的に計測する学問

そういう研究はきっとされていると思うのだけど、素人でも大卒なら読める程度の新書入門書があればご教示いただきたい。

権力勾配とかアファーマティブアクションといった議論で、女性社会的不利益を被っているか政策的に優遇するとして、どの程度の利益を与えれば男女平等が達成されるのか?

そういう計算のために、各国のジェンダー平等に関わる政府機関国際機関で参照されている研究があるはず。

「計量社会学」みたいな分野になるのかな?(ただの思いつき)

2020-12-25

Amazonプログラミング本のレビューを流し読みしてたら

入門書ではない」「初学者向けでない」みたいな評価で星が二つとか三つとかけてるのがあった。

プログラミング本は入門書でなくてもタイトルに「入門」とつけることがよくある。売れるから。気を付けるしかない。

・「この本を読んだだけではアプリを作れるようにならない」「入門書なのに前提知識が多数要求される」のような理由で低評価してるレビュワーを見るが、一冊だけで基礎から応用、チュートリアルからリファレンスまで網羅的に説明できてる本は存在しないかあきらめるしかない。

2020-12-22

最初プログラミング言語は何がいいか

最初プログラミング言語として最もおすすめなのは、Bourne (Again) Shell。通称sh(bash)です。shUNIX標準的シェルであり、bashはその拡張です。現在、多くのLinuxディストリビューションでは、bashが標準のシェルです。以下、これらのシェルの上で動作するコマンド言語およびそれによって作られたプログラムを指して「シェルスクリプト」と呼ぶことにします。

シェルスクリプトを最初プログラミング言語おすすめする理由は、主にその実用性にありますほとんどのプログラミング学習者にとって、プログラミングで実現したいことは、「10000以下の素数を求める」などの教科書課題のようなものではなく、大量のファイルから情報検索するとか、インターネットから定期的にコンテンツを取得する、などの具体的なタスクのはずです。シェルスクリプトを使えば、後者のような実用的なプログラムを手軽に作成できます。一方、多くのプログラミング入門書には、制御構文などの細かい説明はあっても、後者のようなトピックはあまり載っていません。というのも、そのような機能は汎用的なプログラミング言語(C、JavaPythonRubyなど)のコアの機能ではないからです。それらの機能は通常、ライブラリによって提供されます。したがって、汎用的なプログラミング言語実用的なことをしようと思えば、外部モジュールの読み込みや、場合によってはパッケージ管理ツールを使ったライブラリインストール方法などを学ばなければいけません。これらは、初学者はいささかハードルが高いです(たとえば、Webフロントエンドツール群を初学者が独学でインストールするなどは、ほぼ不可能でしょう)。一方、シェルスクリプトでは、grepsedawkのようなシェル上のユーティリティは全て、他の言語における組み込み関数と同様です。つまりモジュールインポート初期化処理などを行わず使用することができます

また、シェルスクリプトは、より本格的な言語フレームワークステップアップする過程としても非常に適していますプログラミング入門書ではほとんど語られないことですが、プログラミングにおいては「プログラミング言語以外の技術」がプログラミング言語自体と同様に重要です。たとえば、ファイルディレクトリ操作するには、OSファイルシステムにアクセスしなければいけませんし、インターネットからコンテンツを取得するには、HTTPというネットワークプロトコルを知らなければいけません。シェルスクリプトを使う場合、それら「プログラミング言語以外の技術」を自然に利用します。それらは、プロエンジニアを目指す上でも欠かせない知識です。また、多くのプログラミング言語では、制御構文を用いて変数の値を更新していくプログラミングスタイルが取られます。一方、シェルスクリプトでは、コマンドの出力を他のコマンド入力に渡してデータを変換するプログラミングスタイルが取られます後者スタイルは、現代ソフトウェア開発では多くの場合、良いスタイルだと認識されていますシェルスクリプトを最初に学ぶことで、そのような良いプログラミングスタイルが身につきます

シェルスクリプトを体系的に学ぶならば、次の文献が信頼できます

また、多くのコマンドは「man コマンド名」で使用法を調べることができます

2020-12-21

COBOLプログラマーが足りない」みたいな話をちょくちょく見るけど

https://yamdas.hatenablog.com/entry/20201221/cobol-controls-your-money

難しいのは、業務知識とか、実行環境、開発環境等の知識で、COBOLのものは、そこらのJavaプログラマーにでも入門書を渡しておけば3日後には普通にコードを書けるようになると思う。

2020-12-16

プログラミングで、入門書レベルはわかったけど、そこから先がなにをしていいかからないって人をよく見る。

独学でアプリとか作れるようになる人となにが違うんだろう。

2020-12-09

anond:20201209143046

入門書の第6章くらいで「これまでやってきた長文の処理をなにかちょっと上位の概念で短く置き換えるのでこの部分全消ししましょう」みたいなのがあると

「ここでリファクタリングテスト概念ぶち込め!新しく書き換えたが動かない・前と同じ動作かどうか確証持てないって点で学習中一番ご利益あるシーンやぞ!!」

と思うのだが、やってる入門書は見ないな

まあ寄り道にもほどがあるしな

別冊付録とかそういうレベルだしな

anond:20201209142311

入門書ユニットテストとか書こうと思うと厚さが辞書になってしまう…ただでさえ「ほどほどカラーで、ほどほど厚い」以外は売れないってのに

めっちゃ薄いのはそれはそれで売れないらしいっすよ世の中よくできてるね

anond:20201209141601

何も見ないで単純なテスト書けるようになったら一区切りかとは思う

どうだ、どの入門書にも書いてあるまい

あとはオンラインマニュアル読めるようになってどこにどんなものがあるかわかればオーケー

これは気の利いた入門書には書いてあるな

2020-12-04

anond:20201130214610

1についてだけ。

>分かるけれどこれでどうやって動画音楽エンコードをしたり画像処理をしたりするソフトウェアになるのか

エンコードに関してはプログラムエンコード理論に従って作られているだけ。大事なのは研究者の考えた理論

画像処理定型の処理の塊でこれも代替やり方は決まってる。"python 画像処理"とかでググれば多分出てくる

 

>あるいはWordとかExcelとかがどうやってこんなので作られているのかが分からない

まず基本的な、ウィンドウシステムがどのように実現されているかWin32アプリベースでも

よいので理解するべき。ユーザーマウス操作キーボード操作をどのようにプログラム認識し、

処理するかが理解できる。この仕組みは基本的にすべてのアプリ共通と思われ。

 

プログラミング入門書を読んでも、一般的に知られているソフトウェアの作り方みたいな事が書いてない

多くの人が共通的な作り方に挑み敗れているわけで、プログラム10個あれば10通りの作り方がある。

方法は一つではない、目的を達成する手順は無数にあるから

また、クラスレベル抽象化してソフトウェア構造を整理しようとする、オブジェクト指向(最近

クリーンアーキテクチャ昇華させる流れもあり)もあるけれど、オブジェクト指向に向かない

対象領域があったり、なんでもクラス病にかかる等して、銀の弾丸とは言い難い。

また自説だが、順次処理を基本とする、手続き型言語データと処理が入り乱れることになるため、

全てを設定しきることが極めて困難なため、きれいにすべてを設計するのであれば関数型言語を使う必要

あると感じている。

 

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

そのフレームワーク内包するベストプラクティスの量を鑑みれば、中身を意識せずに

インターフェイスをしっかり押さえて使うことをお勧めする。

あなた人生はすべてのコードを描けるほど長くない。

 

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

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

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

天才的な人はコードを書きながら、考えられるけれど、常人はまず詳細設計と言われる

フローチャートを書けるようになったほうがよい。

次に"抽象化"を覚える。"抽象化"を使うことで少なくとも、処理は全体をざっくり設計できる

 

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

githubに山のように転がっている。

ただそれを見て理解できるかは別問題モチベーションを保って継続学習可能な形に

消化できる人間の登場が待たれる

   

2020-12-03

「みるみるうちにブクマが増える 新・増田入門」とか「カラースターも思いのまま あなた今日から人気ブクマカ」みたいなはてな入門書みたいなのってないの?

何もないけど見て覚えろって駄目な会社OJTみたいでよくないと思うんだ

このままだと誰もはてな新規参入しなくなってしまうよ

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年にもなって、プログラミング簡単には出来ないし、ハードウェアの規格も完全に統一はされていない。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

anond:20201130214610

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

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

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

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

検索エンジンを作るとしても、検索エンジンにも色々あるのだけど、仮にGoogleを作るとする。

そうすると、まずページランク論文を読むのは必須だと思われるが、

論文読まなくても日本大学の授業の内容などが公開されてるので、それで分かりやす解説を探したとする。

そうするとマルコフ連鎖とか、少なくとも高校大学学部行列計算知識必須となる。

ここで受験勉強なんて何の役に立つの?といった詰め込み教育に反対していた人達挫折する。

英語数学も単なる道具であって、詰め込み教育というのは理由はともかく先に道具を持たせる教育である

道具というのは剣やナイフ、盾のようなものだと考えられる。

必要になれば必要性を感じるのだから必要になってから学べばいいというのは往々にして遅い場合がある。

例えば、敵が襲い掛かってきてから初めて剣や盾の使い方の必要性を感じても遅いのである

よく分からん学校や塾で装備をくれるというのだから貰っておこう、と思えなかった人はここで脱落する。

プログラミング言語の本でよくあるパターン文法説明などで始まりファイル入出力などで終わるというのがある。

なぜ、ファイル入出力で終わるのか?

これはUnix哲学とも言えるのかもしれないが、現在になってもコンピュータ世界では、すべてをファイルと考える、というのがある。

ファイルってあのフォルダファイルファイル

と思う人がいるだろうが、それは半分正解であり、半分ちょっと違う。

文字とかバイナリと呼ばれるものが入っているファイルファイルの一面に過ぎない。

例えば、ディスプレイに図形や文字を表示する、プリンタに出力する、別のコンピュータ通信するための仮想的なつなぎ口を作る、

これらはすべてファイルで実現できる、すべてファイルを読み書きするように実現できうるものである

よって、ファイルの読み書きができれば、あらゆるデバイスとの接続ネットワークとの通信原理上実現できる。

anond:20201130214610

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

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

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

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

入門書でまともなソフトを具体的に説明できるまで書いたら膨大な量になるし初心者理解出来ない。

簡単アプリの作り方なら説明されているのもある。

アルファベット単語を覚えて、これでどうやって英語が話せるようになるのだ?」と聞いてる感じ

2020-12-01

anond:20201130214610

画像データも音データも全部同じデータだ。

から演算してファイルに書き込むことで、それを表現できる。

まず絵がたくさん書いてある入門書最初から順番どおりにやっていくことをおすすめする。

妙に単語だけぽろぽろ出でくるところを見ると、入門書飛ばし飛ばしやっているように見える。

足し算がわからなければ、掛け算は理解できないんだよ。

足し算がわからないのに、掛け算を理解しようとして混乱しているように見える。

まずは、足し算を理解しないことには、掛け算は絶対理解できんのと同じだ。

基礎ができていないのに応用に進んだらダメなんよ。

入門書最初から順番にやっていくことだ。途中飛ばすなよ。

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

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

それは「数学」の知識が足りないからだと思う。

画像や音声を扱うのに純粋数学という学問知識必要ない。

でも、工業数学レベル知識必須である

例えば、サンプリング定理(標本化定理)を知らなければ音声の録音も圧縮理解できないのは当たり前。

から大学情報科、もしくは電子工学機械工学を履修するのは無駄ではない。

日本専門学校だと給与が安い仕事即戦力になるようなカリキュラムになりがちだから

専門学校が扱う職業ラインナップを見ればそれは明らかだと思う

乱暴一言表現するなら、この世のすべてはビット、つまり0と1で表現できてしまう。

少し正確に言うと、2進数ですべて表現できるは嘘で、

例えば小数点以下無限数字が続くような数字は、言い換えれば無限情報必要ということになる。

メモリは有限だし、たった1つのそんな感じの数字記憶するためにどんな巨大なメモリも埋まってしまうのでは意味がない。

からコンピュータ浮動小数点を表現する場合、どこかで足を切らなければならない。

それによって、紙で計算すれば問題ないことが、コンピュータではおかしな結果になることがある。

しかし、これを知っていなければ科学計算はもちろん、銀行のようなお金計算おかしな結果になってしまう。

大学数値計算の授業を取得するのは退屈だが、これを理解してなければ社会に出ても間違ったコードを書いてしまう。

というか、私も大学在籍中に間違ったコードを書いたことが何回かあるw

プログラミング入門書を読んでも、一般的に知られているソフトウェアの作り方みたいな事が

書いてないので、ゴールが見えてこない。だからうんざりしてくる。

その原因は根源的で哲学みたいな話で、

世の中のほとんどの物事には正解がないとか、そういう話にしかならない。

良いテキストはあるわけだけど、それを読むべきタイミングもあるし、万人向けが自分に向いてるとも限らない。

本なら何冊かはドブに捨てるつもりで買うしかない

みんなが良いから読めという本も、なんとなく自分にはこれがいいんじゃないか、も買うしかない

買って家でじっくり読んで、途中でナニコレ?みたいな本だったら後悔するかもしれないけど、世の中そういうもんだから

料理を作ろうと思ったら材料と道具を揃えたけれど、レシピが無いので作れないというものに近い。

自分レシピ通りに作らないでヒントにしかしないタイプなのだけど、

料理プログラミングには似ているけど、化学実験ではない。

焼く、炒める、煮る、蒸す、みたいな方法だけ理解していれば味付けなんて適当でいいのだ。

なんらかの魚があったとして、それは食べられる魚だと分かっているが調理方法はまったく知らなかったとする。

本とかネットとか調べる環境がなかったとする。

どうするか?

とりあえず、まず口に入れられるサイズに切るべきだろう。

口に入れられないと食事にならんのだから、魚を切って骨を取る。

さばき方もググれない状況なのだから、もう適当に切断していくしかない。

鱗も大味で取るしかない。

ググらないと、とんでもないほど非効率的なさばき方をしている可能性があるが、とにかく食えればいいのだ。

腐らせては意味がない。

日本刺身みたいな生で食べる文化イヌイットではないが、漁師が船の上で食べることとも関係しているように思う。

何が言いたいかというと、生食現代文明ロジスティクスは保存技術の成せるわざであって、料理の基本は何でも熱を通すべきなのだ

毒になる菌で食中毒では意味がない。

切った魚を、焼く、炒める、煮る、蒸す、みたいな方法で熱を通せば料理は終わりだ。

レシピなんかなくてもこれで十分なのだ

あとはその魚に味を付けるため、味ぽんなり味噌なりトマトなり使えばいいだけなのだ

2020-11-28

プログラミング勉強、詳細の疑問大事だけどあとでもいいじゃん?

C#入門書を読んでいて、第4章くらいに4ページくらい割いて書いてあるキャスト

( )で変換するのと int.Parse() で変換するのとどう違うのか(どちらか片方でいいのではないか)をネットで調べ、

なんか as とか int.TryParse() とか出てきてあーんー参照型と値型がーになってダウンキャストとポリフォーニズムでお昼ごはん夜ご飯になったところで切り上げた

オーケー、とりあえず現状詳細わからんでいいわ

型の違う数値同士のときが ( ) で、文字列から数値に変換したいときが int.Parse() とかだな

入門書に書いてあるそのまんまだな

プロの取捨選択最高

もういいや次ページ行こう全然進まん

2020-11-03

[]2020年10月はてブあとで読むトップ30リスト

はてブホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ

336あとで/3338users 良い歯医者を見つける唯一の方法|おてう|note

261あとで/2389users 凡人が、天才に勝つ方法。|つんく♂

249あとで/1714users 最新研究からわかる 学習効率の高め方 - 分裂勘違い劇場 by ふろむだ

205あとで/1413users 総務省無料データサイエンス講座を開講、松尾豊氏ら講師に | Ledge.ai

195あとで/2017users 竹書房退職エントリ竹村響 Hibiki Takemuranote

194あとで/1529users いつもの作業が5秒速くなるツールをひたすら列挙するページ | futsu | Zenn

193あとで/1328users 数学ガールオタク初見VTuber積分配信にめちゃくちゃ感動したメモ1|kqck|note

181あとで/1196users コードレビュー目的と考え方 - osa_k’s diary

147あとで/792users えるエル on Twitter: "コンピュータサイエンスで有名なアルゴリズムPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルデータ構造アルゴリズムから機械学習ブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw"

135あとで/1389users 200円以上のサバ缶を買うと世界が変わる。サバレビュワーが本当においしいと思ったサバ缶&簡単アレンジレシピ - ソレドコ

134あとで/827users レガシーおじさん、SPAを始めてみた。そして限界を知る | koduki | Zenn

132あとで/788users Adobeストック素材7万点を無料で公開 商用利用も可 - ITmedia NEWS

126あとで/1173users 「事業がわかるエンジニアがいない」 - timakin.com | Seiji Takahashi (@__timakin__)

126あとで/719users ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 - Qiita

125あとで/736users 高知県物部村にある、消滅寸前の「堂平集落」 数回にわたる訪問による、近隣地区住民から聞き取りや現地の様子、祭事の記録 - Togetter

124あとで/827users 個人的UIデザイン情報源まとめ | takanorip | Zenn

121あとで/799users エンジニアなら知っておきたい生産性を爆上げするツール8選 - Qiita

117あとで/543users 東京大学講義AWSによるクラウド入門」をTypeScript写経した - dackdive's blog

115あとで/582users エンジニアの辛い仕事をいい感じにする技術 - コンサル仕事術・思想から学べること - Lean Baseball

115あとで/997users 東京証券取引所様の株式売買システムarrowhead」で発生した障害の原因と対策について : 富士通

111あとで/1435users 特殊詐欺受け子出し子)を始めようとしているあなたへ。|ZDH|note

110あとで/529users マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング

110あとで/1092users 東証記者会見は「技術がわかる経営者」「受け答えが理路整然」と絶賛する感想が集まる。なお横山CIO落研出身 - Togetter

110あとで/840users 2020年10月に発生した東京証券取引所システム障害についてまとめてみた - piyolog

110あとで/887users まだ手元のパソコンイベント配信してるんですか?クラウド上でTeamsを利用してOBSで配信した方が楽ですよ。 | 技術的な何か。

110あとで/1366users 「本醸造醤油が当たり前になったのはここ20年ぐらい」と言っていいのは今から30年前 - 醤油手帖

109あとで/575users 入門書を終えた人に捧げる、社会人のためのGit中級編 - Qiita

106あとで/653users Low-Level Academy

104あとで/693users 全部、完全に商用利用無料!さまざまなUIデザインに適した1,064種類のSVGアイコン素材 -Emblemicons | コリス

104あとで/1276users 「自閉症津軽弁を話さない」この謎に挑んだ心理学者が痛感したことプレジデントオンライン) - Yahoo!ニュース

常連サイトNoteQiitaに加えてZennというサイトから3ページもランクインした。Qiitaのようにプログラマー向けだがNoteのように報酬を得られるサイトはてブに捕捉されたのはこの9月と割と最近サルワカ | サルでも分かる図解説マガジンの人が開発したらしい。

2020-11-02

anond:20201102181906

文句つけるならやるなよ

友達に聞いておいて、あれこれケチつけると友情にヒビが入るよ

入門書でも買ってきて、作れそうなものだけ作れよ

2020-10-27

地方田舎で親が高卒環境からなんにも努力せずにプログラミングがやりたくて本州駅弁に来た学歴コンプから見ると、視野がクソ狭い割に勉強が出来てよかったでちゅね~~~としか思えないんだよな

町外れに一つだけある図書館の端っこにポツンとあったC言語入門書と、インターネットも引いてないのに年賀状出すためだけに親が買ったやっすいノートパソコンがお前になかった文化資本か?

地元で誰も勉強できなかった子供時代にムクムク育ったプライド大学に来て周りがみんな勉強できる環境とのギャップで苦しんだ末に自己憐憫してるだけじゃねえかよ

2020-10-17

anond:20201017220312

その一般流布している仏教の教えとやらが無意味だっつってんだよ

そもそもそんなのもう要らないだから入門書なんか何の価値も無い

知りたきゃネットにあるだろw

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