はてなキーワード: 処理系とは
大学の専門課程ではじめてプログラミングに触れるケースを想定する。
情報科学専攻で半年か一年かけてやる程度の内容だが、他のほとんどの科目でもそうであるように、要領の良い奴なら数週間でマスターできる。
実際、世の中にはこのレベルの奴なんか珍しくもなくいる一方、Pythonチュートリアルレベルの文献を数ヶ月かけても前半数章すら読めないような奴もいて、そういう奴が「プログラマになりたい」とか言ってる。本当に社会の迷惑。やめてくれ
昔の私もそういう考えだったよ。でも、うんざりする気分もある。
若い頃は私はいろんなフレームワークで簡単なWebアプリ作ったり、あとゲームを深夜まで作ったり、言語処理系を実装したりしてどんどん新しい刺激が増えていくんだよ。それは楽しかった。でも、そういう感じが今は無くなっていることを話そう。
たしかに新しいことを学ぶのは今でも楽しい。私もガンガン知識を吸収していったし、いまも継続している。けれども、吸収していったものがどんどん使えなくなってしまって、新しいことを「覚えなおし」がつらかったりする。(たとえば、言語ライブラリやフレームワークを熟知したとしても、別の設計思想を持つ言語やライブラリやフレームワークを学ぶ機会は何度もやってきた)。
また、家庭を持ったり、新しい趣味をもったり、あと体力とかなくなったりして、「自分の時間」がどんどん少なくなっているんだ。若い頃は今ほど交友関係なんて無いし、子育てや家のことなんて考えなくていいし、歳をとって深夜まで勉強なんて体力的にも家庭的にもつらかったりするんだ。
また、スキルが上がっていって、責任も重くなって、そうじゃなくても体力とか無くなっていくから、家に帰って勉強の気力じゃなくて、もっと仕事のこと以外のことを家ではしたくなくなるなるのよ。体力とかなくなるから、筋トレしたりスポーツとかジムを始めるけどそういうのもプライベートな時間を削っていく。いや運動も楽しいのだけどね。
なんか巷では近頃プログラミングスクールが流行ってるらしいが、知らないなら言っておく。それは完全に無意味だ。そんなのはプログラマーなら誰でもわかってるはずだが。情弱が金を搾り取られるのは資本主義社会の常であるにしても、さすがに偽の希望を抱いてプログラミングスクールに通うためだけに安定した大企業に勤めてたのに退職する人の話なんかが流れてきて看過できないなと思ったので書いておくわ。どうせ情弱には届かないだろうが。
そもそも今プログラマーやってる奴はほとんど独学でプログラミングを習得したという事実がある。GAFA 社員もそこらへんのいわゆる下流工程のSEも。30年前はベーマガっていうプログラム投稿雑誌があって、当時プログラミング教室なんか当然ないが普通に小学生とかが独学して自作のプログラムを投稿してたわけだ。プログラミングスクール登場以前はプログラミングは独学するものだった。
確かに既に分かってる人に指導されないと学べない分野は存在することはするんだが(定義・定理・証明スタイルの大学以降の数学とかね)、プログラミングはそうじゃない。数学で論理的に間違った証明を書いても最初は自分では気づけないしだから独学で高等数学を学んだ人というのは控えめに言って悲惨なことになるんだが、プログラミングだと間違えたら分かるんだよな。エラー吐くし動かないし動いても間違った答えを出すので。
間違えたら即座にコンピューターが教えてくれるという最高のフィードバック環境が整っているのがプログラミングというものであって、独学が可能というだけでなく、この上なく独学に向いている。
そうは言っても誰かに教えてもらった方が効率がいいという議論はあるだろう。しかし1年前のベストプラクティスは今日の時代遅れになる、日進月歩のこの環境でエンジニアやっていくなら独学は必須のスキルだし、プログラミングという独学にうってつけの分野で独学だと著しく効率が悪くなるようならそもそもエンジニア向いてない。ゼロからプログラミングを独学してみるというのはその試金石でもあるわけ。よしんば今特定のフレームワークの使い方を誰かに教えてもらって使えるようになったとして、次のフレームワークが出てきたらどうすんの?って話。
プログラミングを独学って具体的にどうするのよ?という人のために学び方を書いておく。
これが出来る奴はそんなに多くないかもしれないが、そもそもプログラミングというのは適性というものがあって、向いてない奴はやらない方がいい。絵心がない奴、音痴な奴、文才がない奴がいるようにプログラミングの適性がない奴がいる。そんなの当り前じゃないか?適性があるなら上の手順で難なく独学できるし、適性がないならプログラミングスクールに行っても無駄。プログラミングスクールは金儲けさえ出来ればいいからプログラマーなら誰でも知ってる適性というものの存在を隠すんだよな。そんな詐欺の被害に遭う人が出るのは嫌なのでこうして正しい情報を書いておいた次第。
最近、ジェネレーションギャップ的なものを感じる
自分は20代半ばになるんだが、5~6歳下の年の人と話しているとどうもPCの扱いが苦手な人が多い印象がある
勿論そんな世代の中にも自作プログラミング言語の処理系を作り上げてしまう天才やフロントエンドでもう現役で働いていけるんじゃないかってほどの技術を持った人は居るんだけど、その一方でWindowsの操作がおぼつかない、みたいな人も見る
子供世代からいじりまわしてきたデバイス・ガジェットの中央値が変わったんだろうなぁとつくづく思うようになった
Mac慣れしててWindowsは分からないとか、スマホはすごく触ってるけどPCは殆ど触ってない、みたいな中央値のギャップを感じる
VTuberなんかも、中の人の世代はどうも自分と同じか少し上ぐらいの世代が多くて、ターゲットも広げようという意思を感じる人も居るがたいていの場合視聴者層の中央はニコニコ動画、2ch、mixi、アメーバ、etc...の時代を通ってきた人のように思える
上の世代にIT頓珍漢な人がいるって話もよく上がるけど、下に深い溝が見えてきてるというか、ギャップを感じるようになってきたのは自分だけだろうか?
おれが幽霊を見た時は、焦りや圧迫感を強く感じてストレス過多の心理状況だった。
夜中にふと目が覚めたが、体が動かないいわゆる金縛り状態で、枕元に影があるように見えた。敵性や悪意は感じず、濃縮された恐怖感が実体化したように感じて、とても怖かった。
先に恐怖感が自分の中にあって、影のように見えた視覚信号を幽霊と処理した感覚だった。
見えてから恐怖を感じた、もしくは恐怖感がなかったのであれば脳の処理系統がおれの時とは違うかもしれないけど、同じように臓器の誤作動である可能性は十分にあると思う。
急性的なものであればお祓いのような対症療法でも予後がいいかもしれないけど、少しずつ深刻化する慢性的なものであれば脳の外科的な検査やカウンセリング、服薬でないと改善できないと思う。
実害がなければ飼ってもいいとは思う。
求人資料を見るだけじゃなくて、可能な限り、直接面接で聞いたり、中の人に聞いたほうがよい。
Developer Experienceてきなところっすね。
バックエンド系なので、フロントエンドのことはよくわからない。
(給料とかは当然見ると思うので省略)
Windowsが悪いという話ではなく、WIndows以外の選択肢(Mac、Linux)を選べるというのが大事。
Windows縛りのところはだいたいろくでもない。
リモートワークが好きってわけではないんだけど、台風の日とか出社しなくてもいいのはありがたい。
あと、リモートワーク可な職場は、非同期コミュニケーションが発達していて、エンジニアとしての仕事がしやすい可能性が高い。
例えば、Github Enterpriseじゃなくて、github.comが使える、とか。ASP/SaaSがどの程度使えるか、ってのは、セキュリティがめんどくさいかそうでないかの試金石として有用。
Oracle RACを使っているところは経験上、結構がちがちな開発スタイルの可能性が高い。
古いRubyとか、古いMySQLを使い続けている職場は、そもそもあまり技術に関心がない可能性が高い。
エンジニアブログが無いのは論外(いい会社かもだけど、外からはわからん)、あと更新頻度、更新者のプロフィールをちゃんと出してるか、など。
更新者のプロフィールをちゃんと出している会社は、中の人間の対外発表をそれなりに推奨(黙認)していると想像できる。
偶数奇数を判定するための途方もないプログラミングコードが話題に
http://blog.livedoor.jp/itsoku/archives/55507489.html
x mod 2
で行いますが、ビット演算を使い、最下位ビットが立ってるかチェックする
x and 1
負の表現に2の補数を使うプログラミング言語では問題無いのですが、Cではちょっと問題が起きます。
X3010:2003 プログラミング言語 C 6.2.6.2 整数型
符号付き整数型において、オブジェクト表現のビットは、値ビット、詰め物ビット、および符号ビットの三つのグループにわけられなければならない。
詰め物ビットは存在しなくてもよく、符号ビットは丁度一つでなければならない。それぞれの値ビットは、対応する符号なし整数型のオブジェクト表現における同じビットと同じ値をもたなければならない。(略)
符号ビットが0であれば、それは結果の値に影響を及ぼしてはならない。符号ビットが1であれば、値は次に示す方法の一つにしたがって変更されなければならない。
- 符号ビットが0のときの値を負数化した値[符号と絶対値(sign and magnitude)]
- 符号ビットが値-(2N)をもつとするときの値[2の補数(two's complement)]
2の補数の場合(1111 1111)2
1の補数の場合(1111 1110)2
よって、処理系が2の補数を採用している場合では問題ありませんが、1の補数を採用している場合に判定が逆になります。
UNISYS社のClearPath Dorado Systems(ClearPath OS2200)で採用されているという話です。