「C言語」を含む日記 RSS

はてなキーワード: C言語とは

2017-10-29

はてなハードウェアエンジニアが少ない件

エンジニア一言で言っても星の数ほどのジャンルがあるが、その中でも代表的なのはハードウェアエンジニアソフトウェアエンジニアだと思う。

まりに広範囲区分けだが、敢えて定義はしないでおく。

さて、自分新米ハードウェアエンジニアで、ソフトウェア趣味人間である

はてなにはソフトウェア記事(及びブックマーク)が多く、日曜プログラマ自分にとって大変有益である

大抵の悩みは検索をかければ解決するし、自分では想像し得ないようなユニーク記事もあり毎日が発見連続だ。

特にユーザコメントが好きで、皆の関心が伺える“はてなはいくら見ていても飽きない。

ただ、ハードウェアに関する記事が少ないことが残念でならない。

エンジニアカテゴリを覗いても、ハードウェアに関する記事が上がっていることは稀である

たまにラズパイIoTキットに関する記事があるだけで、デジタル回路におけるインピーダンスシミュレーションとか、高速差動信号の放射電波対策とか、そういった踏み込んだ記事はほぼ無いと言っていい。

当然アナログ回路のGNDレイアウトに関する記事は皆無だし、ソフトウェア寄りと言えるRTLコーディング記事さえ見当たらない。

ハードウェアエンジニア守秘義務なのだろうか?

・・・・・・

・・・

ソフトウェア技術日進月歩

イマイチ盛り上がらないハードウェア業界比較して、ソフトウェア業界の隆盛は火を見るよりも明らかである

コーディング環境、つまりPCがあればその先には広大な世界が広がっている。

語弊を恐れず言うが、アイディア次第ではその日のうちにスターダムにのし上がることも可能かもしれない。

当然、アマチュアを含めたエンジニア人口を見るとソフトウェアエンジニア人口は突出しているだろう。

なので記事数の多さは人間性質に依るものではなく、単純に人口の違いだろう。

ハードウェア面白いのに、何故手を出す人が少ないのだろうか。

ロボコンなんか見ていると、胸に込み上がるものがあると思う。

ハードウェア自然界の物理法則の下で成り立っているため、主に電磁気学電気回路電子回路勉強するだけでいくらでも応用が効く。

言うなればソフトウェアよりも参入障壁は低いはずで、高校物理で習ってきたこである程度の回路が組める。

FPGAなりでハードウェアアクセラレータ自作し始めると計算機科学知識必要になるが、ここはむしろソフトウェアエンジニアの方が得意な領域だ。

・・・・・・

・・・

こんなことを言っておいて、自分ハードウェアを始めたのは社会人になってからである

学部修士時代の専攻は材料物理学だったため、工学とは全く縁が無かった。

ここから自分ハードウェアの道に進んだきっかけを書こうと思う。

新人研修の昼休み、あるフラクタル図形を高速描画するハードウェア記事が目に留まった。

当時の自分にはその偉大さが理解できなかったが、2年もの間寝食を忘れて没頭できるその世界に心が惹かれた。

人生を変えることになる出会いだった。2012年の春である

早速オームの法則から復習し、使ったこともない半田ごてやテスターを買ってきて4bit CPU製作に取り掛かった。

ALU(算術論理演算回路)以外はディスクリート部品で組んだため、デバッグ含めて完成までに6ヶ月も掛かってしまった。

その後FPGA存在を知り、8bit CPUを載せてみた。

機械語勉強し、命令デコーダ設計して1年後、自分の考えたプログラム動作したときは嬉しかった。

上述した記事追体験しているようで、仕事を忘れて没頭していた。

続いてFPGAマイコン+汎用ROMの組み合わせでプリント基板を起こしてみた。

目的は勿論、あるフラクタル図形の高速描画である

ここでレベル変換やリセットシーケンスなど、デジタル回路の基礎を身に付けることができた。

基板レイアウトの考え方は専門的であるものWEB簡単情報が手に入ったし、殆ど電磁気学世界なので理不尽ものは無かった。

苦労したのがマイコンプログラムだった。

機械語論理的な手順をコード化するだけだったが、組み込みC言語はそのルールが難解だった。

言い方は悪いかもしれないが、人間の考えたルールだろうと理不尽に思える理論もその設計思想を調べもせず暗記で済ましていた。

メモリリークが発生した場合ハードウェアのように現象を観察して仮説検証することが難しく、ダンプなどのデバッグ手法も知らなかった。

そんなとき、社内でセキュアプログラミングなる研修があったため同期と潜り込んでみた。

参加資格の無い自分が参加できたのは、配線だらけの汚い自作CPU子供のような目で見てくれた上司の厚意だった。

そして1年後、自分モニタの中で鮮やかに描画されるフラクタル図形を眺めていた。

上述した研修講師に1年間師事し、半ばマンツーマン計算機科学を教えて頂いていた。

大学講師の方だったため、C言語ルールではなく命令処理系としての働き、ハードウェアとの関連を核にして叩き込んでもらった。

・・・・・・

・・・

紆余曲折を経て、ハードウェアエンジニアとして働いている。

こういう部署では多少なりともソフトウェアができると光るものである

ただ組み込みC言語以外はサッパリのため、日々独学の毎日だった。

そこで出会ったのが“はてな”だった。

そこにある記事はどれも眩しくて、「ある疑問の解決法」を検索するだけでは決して出会えない珠玉記事の宝庫だった。

きっとハードウェア世界にも、自分では想像し得ないような発見があるはずだ。

それこそあのフラクタル図形のような驚きが。

・・・・・・

・・・

今は仕事の傍ら、奇しくもプロになってしまった自分義務として細々とハードウェア記事を書いている。

残念ながら驚くような技術ではないが、誰かにとって小さな発見があれば嬉しい。

これを読んだ人がハードウェアに興味を持ってくれたらと思う。

2017-10-20

インポート用のファイル形式CSVにする必要があるのか問題

C言語とかで開発してるわけじゃないんだしExcelファイルそのまま読めばいいんじゃないかと思うんだけど

どのシステム見てもだいたいインポート形式CSV

JavaならPOI.NETならNPOIPHPならPHPExcelみたいにだいたいどの言語でもそれなりのライブラリあるはずだし

CSVExcelで開いて編集しようと思ったらコードの頭0が消えてます」みたいなことを言われなくて済む

でもCSV

ユーザーExcelCSVを開いて編集してCSVで保存してインポート

2017-10-18

C言語入門書

AmazonでCの入門書新刊をみかけて、十数年前に「毎年のようのにCの入門書がでてるけど、こんなの一冊あればいいだろ」みたいな話をしていたのを思い出して検索してみたら、あいかわらず毎年のように入門書がでてるみたいだな。

すごい競争率が高いと思うけど「おれだったらもっとわかりやす解説できるぜ」とか思うのかな。

2017-10-03

[]Rails初心者が3ヶ月かけてKindleセールまとめページを作った結果

[追記]

なんの反応もなくて辛い

増田で書いたらいいことあるってどこかに書いてたので書く。

要件

1. 開催中のKindleセールを一覧表示したい

2. かつ各セール対象商品も1ページ内で見られるようにしたい

1番目の要件を満たしているサイトブログはたくさんあるが、

2番目の要件を満たすサイトあんまりない気がしたので、

自分で作ってみることにした。

自己紹介

Railsを選んだ理由

Railsを使ったら簡単webサービスが作れる

ってどっかに書いてた気がしたか

作ったページ

http://www.kindletoku.com/

お世話になったサイト

最初にここをみて作り方のイメージを掴んだ

 https://openbook4.me/projects/92

railsコマンド等で迷ったらここを見た

 http://www.rubylife.jp/rails/

情報

 http://chalow.net/2016-01-18-3.html

からないことググったらだいたいここに行き着く

 https://qiita.com/

スケジュール

1週目

 ・とりあえず『https://openbook4.me/projects/92』をみてイメージを膨らませる

2週目

 ・とりあえずrailsプロジェクト作成する

 ・amazon-apiを叩いてセール情報が返ってきた時は嬉しくて泣いた

 ・ただ、あまりにもゴミデータが多すぎて悲しくて泣いた

(終了済のセール/全然安くないセール/アクセサリ等のセール情報が大量に含まれている)

 ・ゴミデータを弾く方法を色々考える

3週目

 ・ある程度ましなデータが取れるようになったので見た目(view)を作り出す

4週目

 ・ドメイン取る

 ・とりあえず公開する

 ・動作が遅くて/メモリ消費量が多すぎて頭を悩ませる

2ヶ月目

 ・アクセスがなさすぎて泣きたくなる

 ・動作遅い/メモリ消費量多すぎる原因を考えるがわからない

 ・アクセスがなさすぎて泣きたくなる

3ヶ月目

 ・アクセスがなさすぎて泣きたくなる

 ・動作が遅い原因がなんとなくわかり改善する

(キャッシュとか)

 ・見た目も改善する

イマ

 ・アクセスがなさすぎて泣きたくなる

 ・増田宣伝する

感想

  • 振り返ると2ヶ月目何もしてなかった
  • 結構思い描いていたサイトにはなってきた

何も知らなかった状態から頑張ったのでサイトを見ると嬉しい

  • でも誰かに見て欲しい

課題はまだ山積み

- 有効セールを弾いてしまうことがある/無効セールを弾けないことがある

- アクセス数が増えた時、耐えられるかわからない

- みんなが欲しい情報提供できているだろうか

お願い

感想ください。頑張って改善します。

2017-09-30

中退したFラン(中堅私立大の偏差値45情報学科)のレビュー投稿して掲載された

本式バージョン 甲南大学の口コミ:甲南大学知能情報学部知能情報学科の口コミ | みんなの大学情報魚拓ttp://archive.is/50sEl)

略式バージョン のんびり過ごしたい人におすすめ:甲南大学知能情報学部知能情報学科の口コミ | みんなの大学情報魚拓ttp://archive.is/lEnOK)

偏差値受験生や在学生の目に留まりやすいように、投稿先は「大学 口コミ」でググってトップに出る頭が弱そうなサイトを選んだ。

本式バージョン投稿してみて偏向的すぎて掲載を蹴られるかと思い略式バージョンも続けて投稿したが、なぜか両方とも掲載されていたので記念に魚拓をとっておいた。

ちなみに本式バージョンタイトル投稿申請時には「滑り止めでもやめとけ」だった。なぜ本文未修正掲載されたのにタイトルだけ修正されたのかサイト運営方針不明

Googleに残りやすいように2chにもレスしておいた(>>60) http://rio2016.5ch.net/test/read.cgi/student/1473946293

タイトルの「Fラン呼称ネット基準です。河合塾基準は言わんや、公道基準ではギリギリFラン」に分類されません。

修正:補足したい文章について(この記事自体更新中だが、スナップショット魚拓ttp://archive.is/f0jBM)

近畿圏でここより低偏差値情報学科大阪工業大学大阪電気通信大学しかありません。

大阪産業大学工学部電子情報通信工学科もあった。産近甲龍では偏差値が低い順に甲南大学・知能情報学部・同学科 <= 龍谷大学理工学部・数理情報学科 <= 京都産業大学コンピューター理工学部・同学科 <= 近畿大学理工学部情報学科、だと思われる。団栗の背比べだが。京産大はITイベントで筆記型AO入試最近アピールして(仮に学力不足でも)技術力がある学生を集めようとしている姿勢が見える点がいいけど。

・「院進率は9%で、そのうち内部進学が7.5%、他大学院進学が2.5%」

足し算が間違っている(正しくは10 = 7.5 + 2.5)のはFラン(低)知能情報学中退ということで許せ。数値は年度や計算方法でズレるがイメージが変わるほどの誤差は出ないはず。

・ほぼ全員が入学時点から大学院に進む気はない学部就職予備校です。院進しないので、講義でもTOEIC対策とかはやりません。

就職予備校というより後述のように専門学校表現した方が正しい(予備校は基礎を固めるためにあり将来に可能性があるためFランより遥かに格上)

院試そもそも受けないからを揶揄したので、まともな大学TOEIC自体を推奨しているわけではない(学部教養英語TOEFLと違いTOEICビジネス英語なので)

初年次教育などで情報技術資格を取得するよう勧められるなど、中身は実質的専門学校である

・「図書館では出入り口に音声を発するロボット

案内ロボット「KoRo(コロ)」をご紹介します。 | 甲南大学図書館ブログ のこと。

・「中の下の公立高校から推薦入試で入る(この大学の全入学者に占める推薦入学者の割合は約61%です)か、一般入試勉強をサボって偏差値50未満で滑り止まる(ほぼ4割?私を含む)か、ブルジョア子弟が甲南高校で遊び呆けて内部進学するか(1%?)で学生構成されています。」

ttps://goo.gl/2ehz1X の学歴フィルターに通る関大様に失礼なスレタイ噴飯もの

日東駒専とMARCH偏差値60の分け目の戦いの意味 | わせ美

だが一ランク下の摂神追桃と違い治安は皮一枚で保たれている。表面上は隠蔽されているので初手退学しづらい辺りが逆に陰湿だが。

追手門学院大学 履修登録抽選で大荒れ 教務課に爆竹を投げ込まれ、打ち上げ花火も上げられる騒動 - NAVER まとめ

だが>>16の内部バカ脳筋バカ・推薦バカ私立専願・国立落ちの区分は的確だと思う。

大学偏差値高校偏差値-10が妥当なので、受験組の出身高校「中の下の公立高校」の偏差値は55だろう。推薦組はもう少し下という程度か。

私立専願は妥当バカ国立落ちは身の程知らずなバカで、全員バカなわけだが。

内部バカブルジョア子弟まり中小企業社長教育投資失敗した没落アホ3代目ことだ。

おそらく「経営学部」「マネジメント創造学部」に集中している。そもそも彼らに大卒を与えコネ入社させ将来経営させるために創立された大学なので。

社会にはブルジョア階級が1%しかいないので、子息が集まるこの大学でも全体の一割もいないだろう。そもそも教育投資成功しているなら慶應に進めるはずだ。

南高校の偏差値は60あるので一般受験して上を目指せる偏差値学生が大半のはずなので、内部進学者中学も内部進学した無勉のアホに限られる。

コネ入社できる内部バカか、スポーツ選手体育会系就職できる脳筋バカが主役の大学で、他は彼らの搾取対象に過ぎない。

・「知能情報学部と理工学を合わせても学生数では全体の15%しかいません。85%が文系です。」

私立文系大学に小さい理系専門学校がおまけで併設されていると捉えればよい。文系学部より理系学部偏差値が5程度低いし。学内でも二級市民

カタカナ学部理系フロンティアサイエンス学部文系マネジメント創造学部)の存在を忘れて計算していたかもしれない。割合相殺で大して変わらないだろう。

・「中央値正社員中央値と同等の320万円程度だと個人的には推測します。学歴フィルターに落ちる偏差値なので非正規雇用就職失敗もそれなりにいるでしょう。」

就活経験なしの中退者の想像なので不当に下げすぎかもしれない。正社員採用なら30代で420万円くらいだろうか。非正規雇用率は不明非正規雇用なら210万円くらいか

しか中退前にJob Hunter(学内求人サイト)で採用実績があるIT企業リストアップして手元にデータを保存しているので、暇があれば年収価格帯を調べることはできる。

・「サブカルオタクヤンキーの混合物しか居ません」

書籍「融解するオタクサブカルヤンキー読了後だったので表現を引きずられてしまった。

ヤンキー7割とオタク3割で占められている。Twitter大学名を検索すればヤンキー色が広がる。

低学歴から在籍大学自称を控えているのかもしれないが、プログラミングに関して呟いているアカウントが全くない。誰もはてなブログGitHubを使っていない。

集合写真は ttps://twitter.com/keikei06081/status/870514186031251456(魚拓ttp://archive.is/JIcXA)

・「プログラミング自主的にしている個人は少しは居るようですが、ネット上やIT勉強会などで活動している様子はあまり観測できませんでした。」

私自身が学力学歴が無理ならプログラミングしITイベントに参加する逃げ道を求めた「意識高い系」だったので書いた。

学科全体が「意識高い系」だらけらしいが、他の学生はIT以外の方向へ意識を高めていたのだろう。

・「プログラミングはよくある「C言語入門」みたいな教科書の丸写しの文法をなぞるだけの講義

一年次の必修通年科目「プログラミング実習」が前期後期に分割され、前期はProcessing言語を変更したようだ。入学する学生レベルが下がったからだろうか。

専門科目でプログラミング必要な時はVisual Studioを、確率統計講義ではPythonなどではなくExcel強制します。

追記0:大学の実力2018(読売新聞教育ネットワーク事務局)の調査欄を読んだ。口コミでの数値は私が独自算出したので信憑性は怪しく、こちらが正しいと思う。

甲南大学・知能情報学部・知能情報学科の同年次入学者に占める比率は、留年21.3%・退学7.1%・正規雇用60.6%・進学6.3%だった。

他の大学は院進が低いとその分だけ正規雇用が高くなるが、この学科は院進しないのに正規雇用が低い。

院進が少ないので、やはり知能情報学部は理系ではない。甲南大学理工学部の進学は21.8%。

追記1:私は新卒就活を始める前に退学したので就職実態が分からないが、Yahoo知恵遅れに該当する質問があったので整理のため載せておく。

中堅私立大学の就職率って実際 どれくらいなのですか? - 中... - Yahoo!知恵袋

追記2:Fランが成り立つ理由について良い投稿を見つけたので載せておく。

大学学力問題労働市場 ttps://plus.google.com/111914211653276243730/posts/BGg3nT86NBZ(魚拓ttp://archive.is/Z9aPs)

追記3:Fランに関する別件でググっていたらこんな記事を見つけた。

甲南大学岡本キャンパスにTSUTAYA BOOKSTOREを2店舗同時出店 新しい大学の価値創造を目指し、同大学生協と初の取り組み|TSUTAYAのプレスリリース

図書館ではなく書店だが、武雄市TSUTAYA図書館騒動を思い出した。生協書籍部を民間委託して劣化させるのだろうか?

もともと書籍部の品揃えはアカデミック感が低く漫画平積みになっているような場所だったが、「大学書籍部」すら消滅したのだろうか。

私は梅田蔦屋書店に何回か行ったことがあるが、私立文系感濃厚な場所で強い生理的嫌悪を感じた。同じ生理的嫌悪のせいで私はFランを退学した。

追記4:退学後はじめて別件でFランを訪れ、新校舎に一瞬だけ入った。意識が高い外観の校舎だ。

休日だったが、食堂TEDxKobe 2017: Spiralling Inspiration - TEDxKobe: Ideas worth spreadingの会場だったらしく、食堂だけ入ることができた。

Fラン意識高い系ビジネススクールなので、同じような文化のTEDの会場になったようだ。

受験に失敗して偏差値だけで下見もせず知らない無名校に入ったが、この同調圧力が激しい雰囲気に馴染めず吐き気を催す人間は入るべきではなかったと思う。

C言語最初に学ぶべきではないが最初に学ぶことのメリット

私は今とある大学の4年生です.

本格的にプログラミングを始めとしてコンピュータ科学を学び始めたのは大学入学してからです.

今では幸運なことにインターン都内ベンチャー企業golangpython, scalaを用いた大規模なシステム構築に携わっています.

給料日本大学生にしては破格といえるのではないでしょうか. それも大学で真面目に勉強したお陰であると胸を張って言えます.

大学の方の卒業研究では組み込み系のセキュリティに関して研究しています. 正直テーマ選びに失敗したなと思っているので大学院にいったらシステムプログラミング系の方にシフトしようと思っています.

無駄話が過ぎました. 表題に関して話しましょう.

私が大学の授業で初めて習ったプログラミング言語C言語でした. 理由教授に聞くと, 並行して座学で教えるコンピュータ科学系の専門授業全般と結びつけやすいからだそうです.

最近TwitterQiita, StackOverflowなどでは「初学者最初に学ぶべきプログラミング言語はなに?」という質問に対して, JavaScriptPythonから入るのがベストだと言う人を沢山見かけます.

私自身こういった意見には賛成です.

JavaScriptブラウザというものが有る限り20年は消えなさそうですし, Python機械学習を始め, Webシステムでも使え, 非常にクレバー言語です.

javaオススメだと思います. 30億?ものデバイスで動く言語ですしドキュメント豊富です. 色々な分野にも応用が効くでしょう.

さて, そんな中でC言語という悪い評判しか聞かない, でもやたら色々なところで使われているらしい言語最初に学ぶメリットとは一体なんなのでしょう.

一つ, 私が思いついたのはコンピュータと仲良くなれる.

というのもC言語アセンブリ機械語に比べれば, 人間にわかやすく, かつコンピュータ側にも近いという顔をもちます.

真面目にプログラミングしようとするとどうしてもそのコンピュータの仕組み(主にメモリ) について学ぶ必要が出てきます. これらの知識現代の開発に置いて役立つ分野比較的限られると思います.

しかし, それらは思わぬバグ特定意図していない動作改善に役立つことがあるかもしれません(実際に私もいくつか出会いました)

二つ目は他の言語を学ぶ時のハードルが非常に低くなる. これはどの言語を学んでも同じだとは思います.

そして, 他の言語の高級な機能に思わず涙ぐみながら感謝すること間違いなしでしょう(javaのsplitとか他の言語にもあるHashとか)

ただ, 私はC言語構造体やポインタのお陰でオブジェクト指向プログラム言語を低レイヤ実装的な面と概念的な面ですんなりと理解することができました.

そしてよく挫折ポイントとなるポインタ(ダジャレじゃないですよ?). これもメモリの住所だと考えればそれほど難しくはないのです.

メモリ管理を適切に設計した時あなたプログラムボルト並みに早く走ってくれるかもしれません.

他の言語では味わえないやりがいがあるのもこの言語の魅力でしょう.

書いているとこれぐらいしか思いつきませんでした.

それでもコンソールに初めて Hello World! が出力された時の感動はやはり忘れられません.

昨今, 高機能言語が沢山ありますが, あなたプログラミング生活ささやかアクセントとしてC言語を学び直してみてはいかがでしょうか?

きっと今使っている言語普段言わない感謝言葉を述べること間違いなしです.

それではこんな駄文に付き合っていただきありがとうございました.

一刻も早く世界からC言語が消えることを祈っています.

2017-07-14

プログラミング言語名に「言語」つける風習

C言語とかGo言語とかJava言語とか。

わざわざつけなくても文脈でわかるよね。

 

つけたほうが紛れがないってことなら、

Raspberry PiGo言語ミニトマト栽培環境監視してLINE Botで通知する」

みたいなのは

Raspberry Pi端末とGo言語ミニトマト栽培環境監視してLINEアプリ Botで通知する」

と書くかというとそんなことは絶対ないし。

 

--追加

Goじゃわからないとかつけたほうが優しいみたいな人がいるけど、golang.orgのドキュメントでさえ、golangみたいな書き方しないでGoしか書いてないよな。

CだってC Languageとか書かないでただCと書くのが普通だし。

ーー追加

TPOとか状況に応じてつけろとかいい加減なこと言ってる人がいる。

常に付けなくていいよ。

明示するときは「プログラミング言語C」みたいに文章最初に書くよ。あとはC。

English語とか、Japanese語みたいな書き方変でしょ。C言語とかCOBOL言語みたいな書き方おかしい。

イングリッシュ語と書くのが適切な状況ってどういう状況だ。

2017-07-13

ホワイト企業に勤めてるんだが、もう俺は限界かもしれない

大企業名前だけならたぶんほとんどの人が知ってる。毎日定時に帰れて、週休二日で、有給もフル消化できて、給料福利厚生も申し分無くて、寂しい時は社内イベント勉強会に出てワイワイできて、仕事もそこそこ面白い。だけどもうダメかもしんない。

俺はエンジニアだ。うちは IT 企業だ。俺はエンジニアとして働くつもりで入社した。面接でもそう言ったし、先輩にも上司にも主張した。衝突も多かったけれど、概ね希望は通ったと思う。今の仕事面白い。でも、それでも、もうダメかもしんない。こうしてお酒を飲みながら不満を垂らしちゃうほどに。

服装

スーツ強制である意味がわからない。あんな窮屈な服をわざわざ好んで着るほど俺はマゾじゃない。

営業マンオフィス街に勤めるビジネスマンだってんならまだわかるけど、違う。田舎に構える拠点だ。俺たちはエンジニアだ。仕事しやすい格好であるべきだ。だからといってさすがに裸は非常識だが、ジーパンくらいはいいじゃないか。

たまにお客さんやお偉いさんが来る時もあるけど、そんなの応接室で応対する奴だけ正装すればいい。なんで俺たちにまで押し付けるのか。本当に意味がわからない。マゾという性癖を押し付けたいの?

Webフィルタリング

ネットニュースは見れるくせに、Twitter は見れない。技術用語で検索して情報収集できることを知らないのかよ。

Stackoverflow や Quora や Qiita も見れない(知恵袋は見れる)。GitHubBitbucket も、そしてはてなさえもだ。え?IT企業だよね?何の冗談だよ。全然笑えないぞ。

情報漏えい対策です」だって?だったら POST だけ禁止すればいいじゃん。一部のサイトはそうしてるじゃん。情シスなのに GET と POST の違いもわからないの?

とにかく不便で不便で仕方がない。管理職は「自分のスマホで見ろ」「制限解除した専用タブレットで見ろ」とかほざいてるんだけど、なんでいちいち PC から離れてそっち見なきゃいけないの?コピペしたい時とかどうすんの?効率って言葉知りませんか?何なの?マゾなの?

ウォーターフォール

ウォーターウォールが常にダメとは言わない。ただウォーターフォールは昔のやり方であって、少ない人材スピードも求められる現代ではだいたい役不足だ。にもかかわらず、馬鹿の一つ覚えみたいにウォーターフォールで開発しようとする。

テストコード書いて効率化して暇を持て余して改善に勤しむ俺よりも、いっしょうけんめい(笑)ワード使ってコード日本語にひたすら翻訳するという詳細設計書執筆に勤しんでる奴の方が評価されてるという現実。第一ウォーターフォールに従うなら先にコードができてるのもおかしいじゃねーかよ。

開発審査

ウォーターフォール続き。開発審査といってこれを通過しないと先の肯定に進めない関所みたいな審査があるんだけど、これがまた冗談みたいに面白い(笑えない)。何十年も(何年も、ではない)前につくられた基準で、かつ無理矢理定量的解決しようとした体系をしていて、結果、

「30ページの仕様書ならレビューはx時間しているはずだ」

「x時間に至ってない?それはおかしい。x時間になるまでレビューしろ」

「x時間超えてる?それはおかしい。なんで超えたのは理由を説明しろ」

なんてことが起きている。何なの?ソフトウェア開発がそんなに単純にいくと思ってるの?そんなはずない。みんなわかってる。だけど逆らうこともなく、おかしいとも思わず、ただただ過剰な仕事を投入したり、数字いじりと作文に勤しんだりする。一体何と戦ってるんだよ。

パワポ民族

ちょっとした資料でもパワポが強要される。テキストで書くと渋い顔をするし、他部署や他拠点、部長より上向けの資料となると絶対に OK が出ない。

独自フォーマットじゃねえよ。Markdown 知らないの?別に Markdown 覚えろって話じゃない。ちゃんと見易いテキストで書いてるだろ。分量的にも、話題的にもこれで十分だろ。なのにわざわざパワポなの?何がしたいの?パワポ萌えなの?勝手にやってろよ。俺たちまで巻き込むな。

PC

PCとディスプレイは会社側が用意したものしか使えない。Windows 強制メモリとかCPUは家電量販店で売ってるレベル。いやそっちの方がまだ高性能かも。おいおい、総務とかじゃないんだぜ?エンジニアですぜ?開発マシンだよ?こんな貧弱なマシンでどうしろって言うの?

キーボとマウスディスプレイ枚数が自由なのがせめてもの救い。といってもディスプレイは会社支給品なので一人あたりどう頑張ってもトリプルだけど。

サーバー

サーバー仮想マシン動かしてそっちで開発しようとか、むしろ開発用のハイスペックマシン手に入れようとか画策するんだけど、無理。調達できない。壁が二つ。

上司の壁。「何贅沢言ってんの?」 贅沢じゃねえよ。それ営業マンに向かって「車?何贅沢言ってんの?(原付あるだろうが)」て言ってるようなもんだぞ。

会社の壁。やたら承認やらエクセル申請書やら冗長で数日じゃ終わらない。ちょっと記入ミスってたらやり直し。融通の利かないお役所仕事そもそもお金が無いからそんな調達できないんだってさ。無いことはないだろ。利益出してんだろうが。その金はどこ行ってるの?お偉いさんがガハハとかっさってんの?

結局、今部署にある分でやりくりしなきゃいけない。だいぶ昔から使ってるやつだから古いし、キャパも限界。使わないマシンを落とさないと他が使えなくて、そのためにみんなに使用状況聞いて回るとかしている始末。おかしいだろうがよ。

え?クラウド?「クラウド企業秘密置くなんて何事だ!」だってさ。だったら紙で仕事してろよハゲ

常駐ソフト

必ずインストールして常駐させるソフトが結構ある。特にセキュリティ系。中には Windows Update みたく動作に支障を及ぼすものもある。お前自身がウイルスじゃねえかよと言いたくなるレベル

あと全体的に実装が稚拙なようでメモリも CPU もやたら食う。ソース見せてもらえないから何とも言えないけど、初心者ゴリ押しで書いたみたいな臭いがする。これで何百、何千の人間の、いったいどれだけの時間を無駄にしているんだろう。

インフラ

インフラがとにかく弱い。メンテナンス日常茶飯事だし、入社年度とか拠点とかでアクセスしていい時間帯を分けるようアナウンスするし、24時間稼働じゃないし、稼働するにしても昼休憩とか夜間とか制限かけるし。自社のインフラさえままならない企業にいったい何ができるというのか。

本当に力入れた方がいいと思う。どれだけ損失してると思ってんだよ。お偉いさんのイベントで主張してみたりもしたけど、俺が浮いただけだった。こういうことに関して鈍感なのがデフォなのだ

IE

社内システムはほとんど IE しかサポートしてない。バージョンまで固定する始末。UI もレガシーだし、UX も全然考慮されてなくて、フォームを何十個もずらずら並べたみたいなページが普通に登場する。

バージョン管理

SVN である。これでもまだマシだ。いや SVN も相当にオワコンだけど(Git 信者が何を知ってるって?いやいや Git 知らないだけでしょ。gitignore が無い時点でどれだけレガシーなのかがわかりませんか)。

ひどいと VSS とかい化石だったりする。VSSて何ですか?だよね、知らないよね。調べてみるといいよ。面白すぎて笑えない。

残業体質

今上に立っている人たちが残業何十時間何百時間当たり前の世界バリバリ頑張ってきた人たちだから、そういう価値観蔓延している。残業40時間くらい何とも思わない人種である。いや40でも十分多いから。

物理的に仕事が多いならわかる。本質的に難しいことしてるならわかる。残業しなきゃままならないシチュは存在する。でもそんなの見たところ一握りだよ。大半はただだらけてて怠けてて非効率的無知なだけ。

いや、無頓着というべきかもしれない。たとえばつい先日こんなことがあった。レビューで(俺はレビューア。他にもたくさん)、レビューイがブラウザからファイルダウンロードした時にブラウザなのかダウンロード先なのかどこかおかして、ブラウザフリーズしたのね。イラっとするじゃん?と思ったら、したのは俺だけだった。数十秒くらいは続いたのに、俺以外はみんな平気な顔してた。平然と待ってた。そういうことに無頓着なんだ。プログラマの三大美徳を備えろとまでは言わないけど、そこまで無頓着なのは社会人として、エンジニアビジネスマンとして、どうかと思う。

俺は巻き込まれたくないからうまく立ち回っていて、帰ろうと思えば毎日定時で帰れるが。この体質はほんとどうにかした方がいいと思う。

全角

数字とスペースを全角で打つのはやめろ。それが許されるの小説だけだ。

コード規約「タブ4文字

インデントはタブを挿入すること ← 俺はスペース派だが、まあわかる。規約ならしゃーない。

タブはスペース4文字であること ← え?

いや何文字かはこっちが決めることだろ。何自由奪ってんだよ。

「従わなければいいじゃん」 俺もそう思ったよ。でもね、みんなね、レイアウト整えるのにタブ文字を入れやがんだよ。わかるかい、タブ4文字にしなきゃレイアウトが崩れるってことだよ。おかしくない?レイアウトはスペースで揃えよ。タブが許されるのは行頭のインデント部分だけだよ。

この件について戦ってみたことがあるけど、誰一人として賛同は得られなかった。俺は自分勝手な人間との烙印を押されただけだった。エンジニアとして主張すればそうなっちゃうのがうちなのだ

この件については宗教論争的なこともあるから最悪引き上がる覚悟もあった(それにぶっちゃけ手元のエディタツールで変えればいいことだし)。でもどいつもこいつも真面目に考えることなく、俺を一蹴した。俺が嫌いだから?何大人げないことしてんの?小学生かよ。意見を見ろよ、中身を見ろよ。

REST API

こんなことがあった。

オンプレで立ち上げてるサービスに対して REST API勝手に使ったら怒られた。曰くシステムがダウンしたらどうなるんだと。業務停止するだろうがと。

言ってることは正しいけど、だったらエントリポイントを閉塞しておけよ。あるいは注意で REST API 使うなと書いておけよ。REST APIデフォサポートしていて、何の注意や閉塞もなく解放されているなら、それは自由に使っていいってことだろ?(もちろんだからといってリクエストバーストさせていいわけじゃないが)。悪いのはそんなことも知らなかった無知管理者だ。責任転嫁するな。

ちなみに閉塞案と注意追加案と提案してみたが無視されている。もちろんそれらを行う権限は俺にはない。

口頭至上主義

チャットの意義は Pull 型コミュニケーションができることだ。受け取った側の都合で返信できることだ。送る側も、そのことを前提とした上で、期限に余裕のあることを送るのだ。

このことを知らない人があまりに多い。とにかく彼らは口頭を好む。え?あんたら、忙しいよね?むしろ俺は配慮してあげてるつもりなんだけど。口頭で割り込まれることでどれだけ集中を阻害されているかがわからないんだろうか。

まあ俺はいいけど。集中削がれて非生産的になって遅れるのはあんたらだから。俺には関係無い。もちろんそのせいで俺にまで影響が及ぶのだとしたら、そこは全力で反抗する。そういえば以前、この件で上司上司に対してチャットでみんなに意見を尋ねてみたら、問題行動として垢BAN食らったっけなあ。その部署からは異動しました。

C言語手続き

C言語手続きプログラミングマンがあまりに多い。OOPを使っただけで、Ruby スクリ実装しただけ異分子扱いされて「そういう最新技術を誰もが知っているわけじゃない」「自分が知っているからといって無闇に適用するにはやめろ」とか言われる始末。最新技術って。ジョークだったんだろうか。あの時は思い切り笑った。その先輩とは今でも疎遠だ。すれ違っても挨拶してくれない。

まあこれは部署や部門の問題だと思うけど。たとえば OSS で食べてる部隊ではそんなことはない。

自社製品うんちく

昇進するための要件として資格取得がある。公的資格だけじゃダメで、社内独自の資格必要なんだけど、この資格たち、試験でどうでもいい自社製品うんちくばかり問うてくるものであるはてなを例にするなら、創業メンバー全員(一人かもしんない。知らん)のフルネームを答えよとか、創業日を答えよなど。

それ、覚えて意味ある?何がしたいの?愛社精神擦り付けたいの?そんなことしても逆に離れていくだけだと思うけど。違うかな。じゃあ何のためだろ。全く見当もつかない。それくらいに不可解だ。

ソフトウェア使用前の承認

ソフトウェアを新しく使用のにいちいち承認必要かいうふざけた制度があった。ソフト使うのって、エンジニアにとっては日常茶飯事じゃん。いちいち承認してたら進まないだろ。

それでもルールなら仕方ない。俺は何十という承認依頼を送った(ちなみに部長以上のお偉いさんが承認者になるという慣習がある)。反応が悪いし、仕事が進まないので口頭でも催促した。一蹴された時は「ならもっと上の人に掛け合います、XXさんが相手にしてくれなかったので来ましたって」的なことを言ったりもした。

結局、俺の部署では「なるべく新しいソフトウェアは使わないこと」「どうしても使いたい場合自己責任で導入すること」「もちろんウイルスチェックはちゃんとしてね」「実績のあるソフトだけ使ってね」みたいな緩いルールが新設されることでケリがついた。

今でも多くの部署承認制のままだろう。みんなどうしてるんだろ。それで仕事になるの?

足を引っ張る人達

うちは IT 企業なのに、リテラシーに明るくない人がいる。たとえば Wiki の書き方も知らないような人がいる。そういう人が部下を仕切っていたり、社員を支えるスタッフ業務に携わっていたりする。

エンジニアとしてより良いやり方を提案しても、導入しても「難しそう」と一蹴されるばかり。そもそも、ここまで上述してきたことに対してピンと来ることさえない。

厄介なのは、会社そのものがそういう人達に足並みを揃えようとするところだ。だからエンジニアにとっては物足りない、窮屈で、非効率的で、むしろ邪魔しかならないようなシステムや仕組みや施策ばかりが降ってくる。元を辿れば煩わしいセキュリティソフト群や承認フローの多さも、一部のバカが何かしでかしたせいだ。

一部の人間が足を引っ張っている。大企業であるということ、図体が大きいということは、そういうことなんだと思う。そうするしかないのだろうか?個人的には、エンジニアとそれ以外に二分して、前者には前者のインフラなり体制なり整えればいいと思うんだけども。

自転車でたとえてみる

うちの会社の連中は、彼らはエンジニアではない。思えば余暇技術的な話をすることが一切無い。彼らにとって技術手段しかないのだろう。エンジニアとしての矜持というものは存在しないのだ。

たとえるならママチャリに乗っている人達みたいなものだ。ロードバイクに乗る人からすればママチャリ手段としてありえない。ロードの方が何倍も早いし、移動範囲も広がる。けれどママチャリ乗りはロードには乗らない。そんな世界があることをそもそも知らないし、知っているにしても努力してそこまで至ろうとは思っていない。今のままで十分だと思っている。

同じなのだ。彼らもまた今のままでいいと思っている。エンジニアリングのエの字もわかっていない。無論、ただのママチャリ乗りならそれでもいいんだけど、俺たちは IT を生業とする会社だ。ロードレースでメシ食べてるようなものなんだよ。なのにママチャリのままなんだ。どう考えたっておかしい。それで勝てるわけないだろ。この先どうすんの。今はたまたま誰も走ってない道を走ってるだけだ。そういう道も着実に少なくなってきているし、ママチャリで頑張って登ろうとするゴリ押しマン要員も減ってきている。

色々書いたけど

他にも挙げればいくらでも出てきそうだけど、疲れたんでこの辺で。

俺も偉そうなこと書けるほどのエンジニアではないし、ちゃんと読みやすいよううまく書けたか自信ないけど、それでも書かずにはいられなかった。

2017-06-27

学校の授業でプログラミングを教えるとしたら言語は何が良いのだろう

自分情報系の大学生

弊学では、2年生の時に必修のプログラミングの授業でC言語を習う。

中学生の頃からパソコン大先生スクリプト言語を軽く触ってた自分としては、わざわざ面倒な書き方で面倒なコンパイルをして動かす事に疑問を感じていた。

ちなみに、試験は紙ベースで、手書きプログラミングをさせられる。つらい。

スクリプト言語で良いと思ってた自分は、C言語を覚えることに疑問を感じていた。

結局、授業以外で全く勉強せずに試験結果は散々だったが、なんとか単位が取れたので良しとしよう。

プログラミング学者である人は苦労して書き方を覚えていたように思う。

脱落していった人を何人も見たが、人間やれば出来ないと思っていたことが出来るのである

本来プログラミングは誰でも出来るはずである

今学期、PHPを書く授業とPythonを書く授業を履修してみた。

PHPは、某テキストをもくもくと写経して動かしてみる授業で、独学でテキストコードを動かす気力のない自分にとっては最高の授業だ。

Pythonは、MeCabなどで形態素解析構文解析をする授業で、サンプルコード自分で考えてカスタマイズして毎回レポートで提出する。

Pythonの書き方に慣れないからか、かなりハードであるが、やりがいがあっていい感じだ。

やはり、スクリプト言語楽しい

書いたらすぐに目に見える成果が出るところが大きい。

自分は、プログラミングを授業で教えるのならスクリプト言語に限るはずだと思う。

そう思っていた矢先に事件が起こった。

最近研究室に入ったところ先生が手当たり次第Javaを教え始めたのである

せめてJavaScriptでいいかスクリプト言語を教えてほしいところなのに、なんでJavaなんだと発狂した。

それでも、30億のデバイスで動くハイブリッドさとオブジェクト指向理解する上での分かりやすさという面ではJavaが手軽なのかもしれない。

コンパイル言語も悪くはないと思い始めた。

ところで、最近になってプログラミング教育義務化とか叫ばれてるが、Scratchでパーツを並べてプログラミングをするなんてただの積み木に過ぎないと思う。

絶対にツマラナイだろう。

自分は、プログラミングの授業で数字を足し算して黒い画面に表示させるとかツマラナイと感じてしまった。

こんな複雑なことをしても、これしか成果が出ないならやってられないと思うのは自分だけなのだろうか。

お願いだからプログラミングを教えるのならツマラナイ授業をしないで欲しい。

生徒に分かるように、生徒は楽しんでプログラミングをするべきだ。

別にどんな言語でもいいと思うが、プログラミング言語は人それぞれ好き嫌いが激しいだろう。

自分は、分かりやすくて直感的なRubyというプログラミング言語学校の授業で採用されるべき言語に間違いないと思う。

別にRubyにこだわる必要はなくて、スクリプト言語であればなんでも良いと思う。

CやJavaなどのコンパイル言語は複雑で分かりにくいし、教えにくいはずだ。

スクリプト言語を教えた後に、コンパイル言語オブジェクト指向概念を教えていくのがいいのではないだろうか。

これは、あくまでもたった1人の大学生意見しか過ぎない。

みんなの意見を知りたい。

2017-05-15

初心者はまずC言語から

それでも __auto_type 使えるんだから良いよなあ今の子は。

2017-05-13

http://anond.hatelabo.jp/20170430040636

97年新卒だった。

就職関連の何かに自分の住所とか電話番号とかを登録しておくと

大量のDMが届くようになるのでそこから気になる会社を選んでエントリーするのが一般的なやりかたっぽかった。

ただ僕らの情報電気電子系は当時からe-mailは使えたので、一度向こうのリクルータと接触した後はメールで連絡して企業見学面接の日程を決めていた。

旅行ホテル予約サイトがないしWebも始まったばかりでホテル情報がないので関東企業に行くのにホテル決めて予約するのが一番大変だった。

知らない土地でXX駅からYY駅までどれくらいの移動時間がかかるかわからないので駅すぱあとっていうソフトを買って調べたりした。

当時はそこそこの大企業でもコンピュータ技術者は少なくて

簡単デバイスドライバ実装できたりC言語簡単コンパイラ作ったりできるだけで即戦力だった。

なので選考とかで苦労した記憶はない。

ただ当時は大企業就職するよりフリーターで働いたほうがしばらくの手取りは上で、

大企業就職するやつはバカ、みたいな価値観が一部にあった。

僕も初任給20万くらいで手取り16万とかだったけど、普通にその時間アルバイトやってたら月30万は稼げてたと思う。

(そのとき目先の収入につられて非正規のほうを選んだ奴らが後で恨んできたりしたけどそんなの知ったことじゃないよね)

2017-05-10

C言語やりたくない

別に無理して使う必要ないって?

あるんですよ。次のプロジェクトで使うんですよ。

システムの改修だってよ。いっそ全部作り直してほしいわ。

今まで業務ではずっとJavaを使ってきた。

まあでもJavaもなかなか面倒くさいよね。

最近ちょっとした作業自動化するためにPythonを使ったんだけど、あれは良いね

コードを書くのって楽しいんだな。久しぶりにそう思えたよ。

そしたら何ですか。いきなりC言語に戻るわけですか。

いや、使えた方がいいとは思うけどさ。

文字列扱うだけにも面倒くさすぎない?

望ましい書き方も、人によってかなり言ってること違うし。

やってらんないよ、もう。

だれかC言語メリットを教えてくれ。

あ、ちなみにC++ではないよ。純粋C言語

コメントは /* */ しか使えないです。

なんなの、ほんとに。

2017-04-15

PHPってなんで流行るの?

よく知らんけどあれってPerlだよね

Perlってめちゃくちゃ書きにくくない?

C言語から始めていろいろ言語は触ったけど、JavaScriptが一番書きやす

サーバでもJavaScriptクライアントでもJavaScriptにしてるからもうJavaScriptしか書けなくなった

VBエクセルに付いてるからたまに使うくらい

2017-04-07

http://anond.hatelabo.jp/20170407112743

意識低い企業研究者です。プログラミングはサブウエポン。だけど趣味でも勉強してる。

働き方改革のせいで早く帰れって言われて、酒のみながら今これを書いてる。

C言語とかC++・・・これで作らないといけないものが今の所ないし、これでお金を稼ぐのはハードルが高いし、

WindowsAPIを使って複雑なプログラムを作りたいわけじゃないのでwhileとかifとか基本的な構文だけ覚えるだけで満足。

組み込みプログラミングではC言語はいまだに現役。お金普通に稼げると思うよ!次代のCOBOLと化しそうで怖いとこはあるけど。

Java・・・使える人が多いからあえて今から学習しなくてもいいような気がする。

文字列の結合だけでもダメやり方と良いやり方があるらしくて、何かPHPのようにその言語特有セオリーみたいなのを覚えるのが面倒くさそうなので入門の時点で学習するのをやめた。

セオリーとかあるかもしんないけど速度とか気に揉むまえに書いて測れ。たいていは杞憂か、あるいはCPUパワーで殴れるから

Go・・・HTTP/2が使えるから学習してる。他の言語だとnghttp2をインストールしないといけないようなのでGo便利だと思ってる。

ライブラリ選択肢が多すぎるのでこういうのが作りたいってときにこれを使うのがいいよっていうのが知りたい。

GUI作るのにライブラリありすぎてどうやって選べばいいのかさっぱりわかんない。

Goデータベース扱うならこれを使え、だけどMySQLしか使わないならこれを使え、あっSQLiteならこっちのライブラリ使うと便利みたいなこういう情報が欲しい。

GoGUIつくるの?あんまり普通じゃない気がする。軽量プロセスうまみがそんなない(詳しい人に否定されそうだけど)

普通にC#(mono/.net)かwebアプリにするかで良くないか

ただ、言語をあれもこれも覚えるのって僕は意味があるのかなという思いもある。

20言語Hello World出来るより、1つの言語でいろんなアルゴリズムを知っている方がすごいと思う。

コミュ症がフランス語英語ドイツ語覚えても、使う機会がないとまったく価値がないと思う。

アルゴリズムは使うものだ書くものではない!!

広く浅く学習するより、狭く深くいきたいとおもうけど、paizaでCランクしか取れない。

twitterで有名な人てやっぱりSランクとか余裕なのかな、こういうのもいろんなプログラマーに聞いてみたい。

一応著名なプログラマーTwitterフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像RTしてたりと、twitterはメインの情報収集としては利用してない。

twitterやってるプログラマーって勉強会とかオフ会に参加してるようなリア充の人ばっかりなので、肩身が狭いか自分からリプは送ったりはしない。

ファンがたくさんいるのに最近ニコ生配信してくれないchokudai先生みたいに、アルゴリズムを学ぶのがいいのかな。

深さ優先探索とか理解できない。

コード写経しても覚えられないし、仕組みは理解したけど自力コードが書けない。

コードにする能力ってどうやって鍛えるのか知りたい。

アルゴリズムは使うものだ書くものではない!高階関数とかテンプレートプログラミングとかその辺勉強するといい。

あと計算制限時間内に終わるなら総当たりが最速で品質も高いぞ。

エディタサクラエディタからVimに変えた。

どうしてVimかというとプラグインが多いしIDEっぽくできるから

Vim使う一番の理由は補完が強いのが気に入ってるから

Vimってハードル高いイメージあったけど、入門記事がたくさんあるので助かっている。

NetBeansが重すぎるんだよ。補完ボックスが表示されるの遅すぎて警告メッセージが出た。補完ボックスが表示されるまで7秒ぐらい経過すると警告メッセージが表示されたと思う。

Vim知らない。Linux使うならVimemacs使えるだろみたいな雰囲気あるけど、GUIならgedit, CUIならnanoでいいよね。

パソコンスペックもどのくらいのものを用意したらいいのかわからない。

10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートからプログラミングに向いてないのかもしれない。

VirtualBox上のubuntuMySQLコンパイルすると2時間20分ぐらいかかった記憶がある。

CPUが1コアなのでコンパイル中にそれ以外の作業なんて重くてできない。

スペックお金をかけることで時間節約ツール選択肢が増える

EclipseなどのIDEが支障なく使えるレベルスペックってどのくらいするんだろう。

ノートCore i3メモリ4GBにランクアップしたらいけるのかな。

他人がどんなスペックPCで何のツール使ってプログラミングしているか知りたい。

3年前のCore i7, SSD, 8GB。最近はもっぱらJupyter。

もっと早いPCが欲しいけど、年度末に買うのを忘れた。

Python・・・機械学習する上で避けて通れないけど、今のPCだと無理。

例題が豊富逆引き辞典みたいなサイトや本がほしい。

あと、クレジットカード持てないのでAWS上で機械学習するのだけは遠慮したい。

過大請求されるの怖いし、トラブルが起きた時に英語コミュニケーション出来ないから。

Pythonはいいぞ、機械学習だけじゃなく計算系はエクセルじゃなくてJupyter使う。でも周りはエクセルつかってる、勿体ない。

使ってないけど最先端研究では機械学習使って当たり前感があってそろそろヤバい

僕は中学生の頃、いじめにより心の余裕なんてなかったか勉強どころではなかったけどもっと英語勉強しておけばよかったと後悔している。

やっぱり子供の頃の生活環境って大事だなと思う。

今は英検3級に向けて勉強中。

APIドキュメント頑張って読もう。俺も頑張って読んでる。

何を学習したらいいのか本当にわかんない。

迷宮にいる感じ。

なんとなく、プログラミングじゃないほうがいい気がするなあ。

とりあえずバイトしてPC買わない?プログラミングバイトでもいいと思うよ。

働き方改革最前線からは以上です。

プログラミングの学び方がわからない

C言語とかC++・・・これで作らないといけないものが今の所ないし、これでお金を稼ぐのはハードルが高いし、

WindowsAPIを使って複雑なプログラムを作りたいわけじゃないのでwhileとかifとか基本的な構文だけ覚えるだけで満足。

Java・・・使える人が多いからあえて今から学習しなくてもいいような気がする。

文字列の結合だけでもダメやり方と良いやり方があるらしくて、何かPHPのようにその言語特有セオリーみたいなのを覚えるのが面倒くさそうなので入門の時点で学習するのをやめた。

Go・・・HTTP/2が使えるから学習してる。他の言語だとnghttp2をインストールしないといけないようなのでGo便利だと思ってる。

ライブラリ選択肢が多すぎるのでこういうのが作りたいってときにこれを使うのがいいよっていうのが知りたい。

GUI作るのにライブラリありすぎてどうやって選べばいいのかさっぱりわかんない。

Goデータベース扱うならこれを使え、だけどMySQLしか使わないならこれを使え、あっSQLiteならこっちのライブラリ使うと便利みたいなこういう情報が欲しい。

ただ、言語をあれもこれも覚えるのって僕は意味があるのかなという思いもある。

20言語Hello World出来るより、1つの言語でいろんなアルゴリズムを知っている方がすごいと思う。

コミュ症がフランス語英語ドイツ語覚えても、使う機会がないとまったく価値がないと思う。

広く浅く学習するより、狭く深くいきたいとおもうけど、paizaでCランクしか取れない。

twitterで有名な人てやっぱりSランクとか余裕なのかな、こういうのもいろんなプログラマーに聞いてみたい。

一応著名なプログラマーTwitterフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像RTしてたりと、twitterはメインの情報収集としては利用してない。

twitterやってるプログラマーって勉強会とかオフ会に参加してるようなリア充の人ばっかりなので、肩身が狭いか自分からリプは送ったりはしない。

ファンがたくさんいるのに最近ニコ生配信してくれないchokudai先生みたいに、アルゴリズムを学ぶのがいいのかな。

深さ優先探索とか理解できない。

コード写経しても覚えられないし、仕組みは理解したけど自力コードが書けない。

コードにする能力ってどうやって鍛えるのか知りたい。

エディタサクラエディタからVimに変えた。

どうしてVimかというとプラグインが多いしIDEっぽくできるから

Vim使う一番の理由は補完が強いのが気に入ってるから

Vimってハードル高いイメージあったけど、入門記事がたくさんあるので助かっている。

NetBeansが重すぎるんだよ。補完ボックスが表示されるの遅すぎて警告メッセージが出た。補完ボックスが表示されるまで7秒ぐらい経過すると警告メッセージが表示されたと思う。

パソコンスペックもどのくらいのものを用意したらいいのかわからない。

10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートからプログラミングに向いてないのかもしれない。

VirtualBox上のubuntuMySQLコンパイルすると2時間20分ぐらいかかった記憶がある。

CPUが1コアなのでコンパイル中にそれ以外の作業なんて重くてできない。

スペックお金をかけることで時間節約ツール選択肢が増える

EclipseなどのIDEが支障なく使えるレベルスペックってどのくらいするんだろう。

ノートCore i3メモリ4GBにランクアップしたらいけるのかな。

他人がどんなスペックPCで何のツール使ってプログラミングしているか知りたい。

Python・・・機械学習する上で避けて通れないけど、今のPCだと無理。

例題が豊富逆引き辞典みたいなサイトや本がほしい。

あと、クレジットカード持てないのでAWS上で機械学習するのだけは遠慮したい。

過大請求されるの怖いし、トラブルが起きた時に英語コミュニケーション出来ないから。

僕は中学生の頃、いじめにより心の余裕なんてなかったか勉強どころではなかったけどもっと英語勉強しておけばよかったと後悔している。

やっぱり子供の頃の生活環境って大事だなと思う。

今は英検3級に向けて勉強中。


何を学習したらいいのか本当にわかんない。

迷宮にいる感じ。

2017-03-12

から情報学部学科で学ぶあなたへ

購入すべき物

macでもwindowsでもいい、core i3以上、メモリが8G以上が乗った持ち運べる物。これは絶対に買うべき。atomceleronが乗った廉価機は避ける。どうしてもお金が無いなら5年以内の中古でも良い。

これは講義資料などの閲覧用。なくても良いが、あると非常に便利。逆にプリンターは大抵の大学にあるのでいらない。情報系の教科書web上に無償で公開されている物が多いので、それらを活用して学ぶべし。MOOC活用するのもよい。

以下は学ぶべき

大学カリキュラムにあっても、先行して学んで損はない。

コンピュータのしくみと合わせて学ぶ。

英語情報の方が早くて正確である場合が多い。

どうせいつか覚えるので、早めに使えるようになっておいて損なし。

  • OSにまつわる内容

基本。

使えると色々自動化できて便利。個人的にはpython(3)がオススメ

必須では無いと思うが変換ツールと合わせて使うと便利。レポートにも使える。

どちらかお好みで。大抵のエディタIDEで使えるため汎用性がある。筆者はemacs派。

サークル課外活動

ひとりで手を動かして継続的に学べるのであればそれでいいが、そうで無い人間の方が多いのでは無いかと思う。筆者もそうだ。そういった人間他者と共に学ぶのがよい。

大学情報系や電気電子系のサークルがある場合はひととおりみておくといい。真面目に活動していて、ソフトウェアなりロボットなり成果物があるようなら入って良いと思われる。唯のオタクの溜まり場になっているようならまあ入らない方がいい。

サークル以外にも、都市部に住むのであれば技術主体としたコミュニティが多くある。SNSや同期、先輩のツテを使って興味のあるものに参加してみるとよい。

プログラマーバイトなども良い経験になる。しかブラック職場もあると聞くのでよく選ぶべし。

といっても、課外活動に惚けて大学の授業を疎かにするのは愚の骨頂。大学の授業で学ぶのは全ての基礎なので、これを知らずにどんな最新技術に触れようと意味が無い。

競技プログラミング

これは情報学部で学ぶならやらない理由が無い。プログラミング力を鍛えるには最適である

AIZU ONLINE JUDGEやAtCoderゲーム感覚で楽しむとよい。

まとめ

思いつきで書いたので書き漏らしはあると思う。あとよく言われる教授質問に行ったりして活用しろ〜などは情報系でも同じ事が言えると思う。

情報系の学生として最もやってはいけないことは、読んだだけ、聞いただけで理解した気になってしまう事だと思う。授業で聞いた事全てとは言わないが、せっかく場所を問わず実験ができる学問なので、興味を持った内容だけでも良いのでコーディングして動かしてみて欲しい。

2017-02-09

http://anond.hatelabo.jp/20170209002119

うーん、行間からいろんなものが漂ってくるな。

>在学中はC言語からプログラミングを学んだのだが理解できずJavaもまったく理解できない状態に陥った。

相談した講師からネットワーク関係DB関係知識を深めれば就職のあてはあると言われてCiscoCCNAとか

オラクルDB資格とかLinuxLPICまで取ってたのだが学歴の壁に苦戦。

専門学校に行っても全く理解できないってことは、素養が無かったんだろう。

あと、IT場合学歴あん関係なくて(DeNAみたいなところは除く)、結果的高学歴ハイスペック人材が成果を出しているだけなんだよね。資格も実際に使えないんじゃペーパー免許と一緒。

SE肩書倉庫での作業がメインでパソコンに触れるのが在庫管理表を更新する週に1回か2回ほどだった。

テスターとかコーダーとか底辺人材ですら人手不足のこのご時世に、そんな仕事を振られるってことはよっぽど使い物にならなかったんだろう。

会社あんたを雇ったときいくらなんでも専門学校まで出ているんだから、最低限使えるだろ」っておもったら、研修の段階で想定以上に使えなくて誰も行きたがらない現場に回したんだろう。

うちの職場にも、あなたみたいな人が高ギャラのエンジニアバーター派遣されてきているけど、そいつ教育管理する工数のせいで高ギャラエンジニアパフォーマンスが下がっている。

悪いことは言わない。他の業界に行ったほうがいい。SIerにしがみついたところで、あなた派遣先派遣元も誰も得しない。

会社辞めた

情報系の専門を卒業就職してから2年、辞めた

在学中はC言語からプログラミングを学んだのだが理解できずJavaもまったく理解できない状態に陥った。

相談した講師からネットワーク関係DB関係知識を深めれば就職のあてはあると言われてCiscoCCNAとか

オラクルDB資格とかLinuxLPICまで取ってたのだが学歴の壁に苦戦。

 

何とか特定派遣会社就職できたが就職してから2年間は酷かった・・・

インフラエンジニアが足りないから是非うちにと言う事でその会社就職を決めたのだが1ヶ月の研修後、派遣先が見つからないと言う理由で急きょ運用現場半年派遣された

SE肩書倉庫での作業がメインでパソコンに触れるのが在庫管理表を更新する週に1回か2回ほどだった。次に1年ほど派遣された保守現場では保守サポートが行われている現場

日替わり2交代制の24時間365日体制現場責任者シフト作成社員の都合は一切聞かない)を行い2日以上休むのは禁止と口頭で注意された。

そんな感じで働いていたが精神と体に限界が来て会社営業に「現場を変えて欲しい」と訴えると契約終了後、社内待機になった。

社内待機の間は打ち合わせと称した会議管理職5人と営業2人がいかに僕が会社負担になっているか昏々と説明したのち転職を勧める事が続いた。

僕に転職を進める理由営業は、派遣する現場がないのと業務経験評価できるようなものではないからと説明した。

さすがに憤りを感じたため反論したが「でもお前、大した経験できてねーじゃん。そんな技術者はうちにいらないよ。」と言いい聞いてくれなかった。

社内待機になって半年後、退職届会社に出した。

 

退職届を出したのちに、ハロワに行き僕がいた会社実態を話して「あの酷い会社制裁を加える事ができないのか」と聞いてみたら

「グレーでも法律違反していない以上はどうすることもできません。」

と言われたため不満を持ちつつ納得するしかなかった。

自分なりに2年間頑張ったのに評価されるどころかバカにされて実質的にクビになったのが惨めだった。

 

転職を勧められるまでは会社を信用していたが今、考えてみれば初めから都合よく捨て駒的な使われ方をされた思う。

派遣先がない事を理由に大した経験の出来ない現場新卒派遣して以降は適当現場派遣して派遣できなくなったり不満を言い出したら追い出す。

実にいいように利用されたものだ、会社を信用していた自分が恥ずかしい。

 

インフラエンジニア希望して入社したのにインフラに一切触れることはなかった。

希望職種に就くのがこんなに大変だとは思わなかった、IT業界は本当に人手不足なのだろうか・・・

しばらくしたら転職活動を始めようと考えているが僕は本当にインフラエンジニアIT業界を目指すべきなのか悩んでいる。

2017-01-31

プログラミング特別じゃない

ポエム

冬なのでポエムを書きたかった. 炎上したら怖い.

プログラミングしてみたいとぼんやり考えている仮想的な若者妄想しながら書いた.

プログラミング特別じゃない

プログラミングは, おそらく多くの人が触れたことがないからだろう, 特別扱いされるきらいがあるように感じる.

すぐできるという錯覚

よく話題に上がることであるが, 最近プログラミング簡単!」「一ヶ月でプログラマになれる!」のようなキャッチコピーを売りにしたサービスなどが多い. そういうものを見るたび, たとえできたとしても, それは本当に目的合致しているのか考えてしまう.

料理だって, 一ヶ月あればできるようになると思う. ただし決して, それだけでお金を儲けられるということではない.

これは料理に限らない. スポーツだって, 日々の練習があるからちゃんとプロたりえているし, 自動車整備士だって, 普段やって慣れているか安心して任せられる. そういうものだとみんな知っている.

もちろん, プログラマだって, コードを書いたり勉強したり, そういうことは必要なはずである.

ビジネスとしての教育

「教育」は儲かりにくいとはいえ, ビジネスになる.

料理教室, 英会話教室や, 資格講座, パソコン教室などがある. 学校も加えても良いかもしれない.

そういうものをみて, カリキュラムを終えたらゴールだとは思わないと思う. あくま入り口として有用ものである.

ビジネスなのだから, 良いことを売りにするのは当然である. [『苦しんで覚えるC言語』](http://amzn.to/2htZRFi)のような稀有なケースもあるが, 大抵の人は苦しみたくないと思うので, 「明快!」とか「猫でも分かる」とか, 「n日でできる」ほうが心地よいと感じるであろう. また, カリキュラムを終えたら一人前な方が良いと思うので, そういうことを売りにしようとするであろう.

知らないからと言って, 鵜呑みにして良いものではない.

プログラミング楽しい
ポジショントーク

※ここで言う「[ポジショントーク](http://d.hatena.ne.jp/keyword/%A5%DD%A5%B8%A5%B7%A5%E7%A5%F3%A5%C8%A1%BC%A5%AF)」は誤用としての意味であるが, ぴったりなので使いたい. 正しい意味リンク先を参照されたい.

プログラマに聞けば, 「プログラミング楽しい!」答えると思う.

料理人に聞けば, 料理楽しいと答えるだろうし, プロ野球選手に聞けば野球楽しいと答えるだろう.

人によって合う合わないはあるだろう. 少なくとも, プロとして働いてる人は, 意識的であれ無意識的であれ, 続けようと思った人である.

ものづくり楽しい

工作好きな人は多いと思う. プラモデルとか体験教室とかは, お金を払ってでも工作を楽しみたい良い例だと思う. プログラミングもその中に加えたい.

教室などで, プログラミングアプリを作ってみることは楽しいと感じたとして, では次それが仕事になってまで楽しいかといえばそうとは限らない.

創作楽しいからといって, 美味しくもない料理を出すわけにはいかない.

プロにはもちろん責任が伴うし, すべてが自分の思い通りなわけではない.

はい

はいえ, 少なくとも自分は, 時にはつらくても, 最終的には楽しんでいるので, 世の中そういう人もいっぱいいると信じているし, いてほしいとも思っている. そう信じているが, あくま自分感情なので, 自分プログラミングを教える時, どうしてもその人にとって本当に幸せか考えてしまい, ジレンマを感じる.

もし今あなたが誰かに教わっているなら, ここまで考えてどう思ったかを, その人に伝えてあげてほしい.

プログラミング価値がある?

自尊感情

自分は, プログラミングを昔からしてきたから, 論理的思考力が身について, 大学受験もうまくいった気がしているし, バイトプログラミングのお陰で人並みに稼ぐことができた. PCの使い方に慣れて, 検索や, 情報の真偽判断もうまくなった気がする. もちろん, ただの結果論であって, 因果関係保証はない.

もし自分プログラミング価値はなかったといえば, それは同時に自分人生否定することに繋がる. 自分一定自尊感情を持って生きているので, 自分過去生き方について一定肯定し, その結果プログラミング価値見出しているにすぎない.

プログラミング楽しい?の節とほぼ同じ内容だが, プログラミングに限らず, そういうものだと思う.

プログラミングで何ができる?

プログラミング手段という考えは浸透しつつあるように思う. 同時に, プログラミングができると何ができる?という質問をされることもよくある.

大きなもので言えば, 人工知能と騒がれているものだったり, LINETwitterだったり, いろんなアプリだったりゲームだったり, WEBメールといった大きなシステムも, プログラミングの延長であると言えると思う.

ただし, そういうものは, 何十人, 何百人という, エンジニアだけでなくデザイナー, 企画, マネージャーなどが何年も協力してできていて, また, エンジニアだけでもフロントエンドエンジニア, サーバーサイドエンジニア, インフラエンジニア, グラフィックエンジニア, ……とても多くの, 各部分のスペシャリストが作っていることを知る必要がある.

一人でできる範囲は, それほど大きくはない.

さなことで言えば, 計算などを, 電卓よりもプログラミングをしたほうが速いという話がある. 僕の場合は, 確かにくり返し同じような計算をする場合や, 複雑な式の場合は, そうかもしれない.

但し注意すべきは, なにか新しいことができるようになれば, 他にもできるようになることが増えるのは当たり前である. 軽いプログラミングができることは、それほど価値があるのか?

アマチュアとしてのプログラミング

プロとしてのプログラミングをしなくても, アマチュアとしての仕事もある.

ホテル料理人は, 一人で良いものを作ることを求められる. 一方で, 飲食チェーンでのアルバイトぐらいなら, そこまでは求められないだろう.

いわゆる, エンジニアコーダーの違いだと思う.

また, オーナーとしても, 料理に関する知識を持っていれば有利なことはあると思う. デザイナーマネージャープログラミングをする目的である.

これも一つの価値だと思う.

やってみることの価値

何事も, 一度やってみることは価値があると思う. 自分田舎育ちかつ父親の影響もあり, 自転車パンク修理や, 車のタイヤ交換等は, 家で行っている.

本職ではなくても, お金節約になるし, いつでもできるというのはメリットではある.

将来の選択を決めかねている場合でも, やってみないと楽しいかどうかも判断できないので, やってみることは決して否定しないし, プログラミングに関して言えば自分もっと広めたい立場なので, ぜひやってみて欲しいとも思っている.

偉そうに書いておいて

偉そうに書いておいて, 自分自身全然社会の波に揉まれてるような年齢じゃないし, 人生めっちゃ成功しているわけでもない.

全てにおいて, 僕がプログラミングに近い立場いるからこそ言えたことだし, 自分が違うことをしていれば多分こうは言っていなかっただろう.

もしコメントを読んで自分が間違っていたとか、扇動的だと思えば記事を削除するし, そうやって考えを成長させていく. ネットの1記事というのはそういうものだと思っているし, そういう目線で読んでほしいとも思っている.

まとめ

プログラミング特別じゃない.

ビッグデータ, 人工知能, プログラミング, そういう流行言葉に踊らされて, 大事ものを見失わないでほしい.

意志を持って学びたい人を邪魔する人はいない. みんなプログラミングが大好きだし, 広めたいと思っているはず. 自分含め.

2017-01-28

C言語Go言語Java言語COBOL言語HTML言語JavaScript言語

ジャパニーズ語」とか「イングリッシュ語」とか書いたら絶対受け入れられないと思うけど「C言語おかしい」みたいな事を言ったら、めちゃくちゃ叩かれるんだよな。

2016-11-21

尊敬していた、大嫌いな教師の話

たまに思い出してはウジウジ引きずってる、高校の頃の話です。どっかに供養すればすっきりするかなと思って、ちょっと書いてみます

これでも大分削ったんですがだらだら書いてると長くなってしまいました。お暇なときにお読みください。

嫌味に聞こえるかもしれないけど、私は勉強しなくても授業をそれなり聞いてればテストの点は取れるような、要領の良い人間だった。

周りの評価は、別に直接言われたわけじゃないけど「優等生」だった。生徒から教師からも多分そう思われてた。

校則はきっちり守るし。授業態度良いし。成績も良いし。コミュ障で地味な根暗から、ツンとしたつまらない真面目ちゃんって思われてんだろうな。

私は「怒られること」が嫌い、というか、恐怖すら感じる。小中で何度か理不尽にキレられたトラウマからなんだけど今はそれはどうでもいい。ともかく怒られるということが怖かった。

校則守って授業ちゃんと受けてれば怒られることはないでしょ。だから真面目だった。ちゃんとルールは守るべきだとかそういう使命感?正義感?みたいなのは別にない。私は本当は優等生なんかじゃなかった。

それで高校でも授業ちゃんと聞いてたら、さっき書いたように要領がいいから、テストの点は勝手についてきた。

それでますます私には優等生イメージがついた。そのせいか、私は教師たちからバリバリ期待された。

私が通ってた高校は、俗に言う「自称進学校」で、教師たちはみんな私を大学に行かせたがった。

でも私は大学に行きたくなかった。

だって大学行ったら勉強しなきゃいけないじゃん。

私は勉強が嫌いだああああ!!!キャンパスライフも待ってなくていいぞおおおおお!!!

興味のあることの勉強なら楽しいけど、興味がないことの勉強ほど私にとっての苦痛はない。

私は両親も、複数いる兄もみんな高卒だったか大学に行くっていうイメージがそもそもなかった。大学は将来なりたいものがしっかり決まってる人が行くみたいなイメージだった。私は特になりたいものもないので、高卒適当事務職とかに就職する気満々だった。

あと、私の家は貧乏な方で、大学に行くお金を用意するのはキツかった。親は優しいから何も言わないけど、私も早く稼いで親に楽させてあげたい気持ちがあった。

じゃあなんで自称進学校に来たのかというと、家から近い高校適当に選んだら自称進学校だったんですよ。馬鹿ですね。

それでまあ、最初無難公務員を目指してた。

2年の時、勉強の出来る優秀クラスに入れられた。

つらかった。他のクラスより何倍も勉強させられた。

そしてこれは私の性格の面倒くさいところなんだけど、周りが抱く私の「優等生」のイメージ裏切りたくなかった。というより、そのイメージを壊したときの周りの目が気になった。なんというか、目立ちたくなかった。勉強サボって、成績が落ち、優等生ちゃんが急にグレた!とか思われたくなかった。

今思えば、別に落ちぶれても大して何も言われなかったと思うけどね。自意識過剰なんだよね。

それで仕方なく、勉強頑張って、優等生を演じた。

おかげでガンガン成績が上がった。周りの評価も期待も上がった。

苦痛だった。ますます勉強が大っ嫌いになった。

2年の担任は、私を大学に行かせたくてたまらないようで、公務員になるって言っても聞いてくれなかった。

勉強したくないとは言いにくいので、お金がないと言い訳すると、奨学金がどうのとか、高卒公務員になるより長い目で見れば大学に行ったほうが得だとか、出来るんだから進学しろとか言われた。

若干ノイローゼ気味になりつつ、じゃあ第二希望として大学を考えときます、と言った。担任は嬉しそうだった。

3年。大学進学クラスに入れられた。ふざけんな。

そして何を隠そう、3年の担任、これがタイトルにある大嫌いな教師です。

今書いたらそういえば2年の担任もひでぇや!と思ったけどそれまで忘れてたほど3年の担任が嫌い。でもタイトルにある通り、尊敬してたんです。

あの人の授業、本当に分かりやすかった。今までのどの教師の授業より一番分かりやすくて、面白くて。得意科目だったこともあるけど、一回テストで満点をとったのはどう考えても彼の授業が良かったから。

とても頭が良くて、言ってることはだいたい正しいと思えたし、本当に理想教師像で、尊敬していた。

公務員目指すと言うと、ちょっと残念そうな顔されたけど一応応援してくれた。

そして迎えた公務員試験……

いくつか受けたけど全滅でした。あのね、いくら勉強できてもコミュ障公務員なれない。

もしこれを読んでくれてる人で公務員目指してる人がいたら、適性試験勉強はそこそこにしてとにかく対人能力を鍛えて。そして面接練習をたくさんしてください。健闘を祈る。

それでも私は懲りずに、浪人して来年また公務員目指そうと思ってた。だって給料いいんだもん。休みも多いんだもん。

しか自称進学校浪人なんて認めるわけがない。

担任は、専門学校ならまだ間に合う〜とか言ってやはり進学を勧めてくる。

しつこいんですねこれが。でもその時は私はまだ彼を尊敬してたので、進学も視野に入れるようになりました。

じゃあどうせなら自分がやりたいことを考えて、向いてない公務員じゃなく、何か将来の夢を作ってそれを目指してみようかな…と思うようになった。

そして考えて、決めた。私はパソコンが好きだからプログラマーになろう!と。

安直に見えるかもしれないけど、いや実際安直だったかもしれないけど、プログラマーという職に実は前から興味はあった。適性もそれなりにあると思ってた。でも、絶対なりたい!!ってほどでもなかった。大学行くくらいならならなくていいや、って感じ。それほど、大学に行って勉強ってのが私には地獄に思えた。

でも進学進学言われるし、じゃあいっそ情報系の専門学校に進学してちょっとなりたいと思ってるプログラマーを目指してみるか、と思った。

基本勉強は嫌いだけど、興味のあることの勉強なら楽しめるはずだし。

そして調べた。実家の近くに、情報系の専門学校があるじゃないか

パンフを見ると、わあ楽しそう!C言語や、他にもいろいろ情報系のことが学べるようだ。これなら楽しめそう。プログラマーになれそう。レベルも低めで、まあ私なら余裕で受かるだろう。ここにしよう!

嬉々として担任に報告した。ここ行きたいです!とパンフを渡した。

それから数日後。担任に呼び出された。進学の話だ。

お望み通り進学してやるぜ…と、したり顔で職員室に行った。

もう私は既に進学したつもりになって、これから学べるいろんなことに思いを馳せていた。

担任に怒られるまでは。

私が選んだ学校は、レベルが低いことからも推測できるけどあんまり良くない学校で、情報系のくせに就職先は花屋とかホテルマンとか情報関係ない場所ばっかりだった。

私はパンフの楽しそうな授業内容のとこだけ見て浮かれてて、就職先のところを見てなかった。

「何でこの学校選んだの?」

パソコンが好きで…C言語とか学びたくて」

「お前はC言語学んで花屋になりたいの?」

もっとである

もっともなんだけど、威圧がすごくて、怖かった。

私は怒られるのが怖いんだ。

泣きそうだった。実際目に涙が溜まってた。よく耐えたと思う。

担任説教は続く。

プログラマーになりたいって言うけどプログラマーなんて高校生でもなれる」

「そもそもプログラマーが何か分かってるのか。お前はよく分からないものを目指しているのか」

C言語なんて俺でも出来るし今は使われてない。今はjava時代だ」

「授業が楽しそう、で学校を決めていいのか。大事な進路なのにそんな適当に決めていいのか」

尊敬してたんですよ。彼の言ってることはだいたい正しいと思ってたんですよ。

そんな尊敬する、いつも正しい人に、全否定されたんですよ。キレ気味に。恐怖ですよ。これ書いてる今も、ちょっと泣いてる。それくらい怖かった。

だけど、恐怖と同時に少しずつ苛立ちも覚えてきた。

適当に決めたって。確かに今思えば適当だったかも、安直だったかもしれないけど、私は私なりに考えてあの学校にしたんだ。お前らが進学進学うるさいから!自分の興味のあること、学びたいことを考えたんだ!!!

こっちの気も知らないで。何をもってして私が適当に進路を決めたと言ってるんだお前は。勝手に決め付けるな。私の思想をお前が!勝手に決めるな!!

あとこれは今だから思うことなんだけど、プログラマーを、C言語を、馬鹿にするな!!!

当時は詳しくなかったことは事実なので、そうなんだ…って鵜呑みにしたけど、今なら言える。

プログラマーは立派な職業。それを高校生でもなれる底辺職みたいに言って。お前が使ってるスマホパソコン洗濯機電子レンジも全部全部プログラマープログラミングしてるから動いてるんだ!!

C言語大事言語。お前の言うjavaだって構文はCから引き継いでんだよ。馬鹿にするな。馬鹿にするな!!

こんなこと言われたせいで、私はjavaが嫌いになったよ。javaに罪はないのに。javaは便利なのに。あいつのせいでどうしても好きになれなくなってしまった。javaって聞くだけで思い出して、涙が出そうになる。

怒りが募って、もう、嫌になった。

そんな時に降りかかってきた、

「何でそんなに大学進学が嫌なの?」

という質問に、今まで隠してた本当の理由

勉強が嫌いなんです」

これをはっきり言った。

そうしたら、呆れたようにため息を吐かれた。

「じゃあもういいよ。お前の人生だし。勉強から逃げたいなら逃げれば?」

そうさせてもらいます、とは言えなかった。言いたかったけど。そんなこと怖くて言えなかった。

じゃあ考え直します。そう言って面談は終わった。

もうこのままどこにも進路決定せず卒業しちまえと思った。

言われた通り勉強から逃げちまえ。

嫌なことから逃げることの、何が悪いんだ。

2年で散々勉強させといて、まだ私に苦しめというのか。

甘えだって言いたいのか。

こんなことなら。

こんなことな勉強なんてサボれば良かった。

テストなんて白紙で出せば良かった。授業なんて寝てればよかった。

優等生なんてやめて馬鹿になればよかった。

そしたら誰も、私に、進学しろなんて言わなかった。

数週間後、担任が、私が選んだ学校より就職先もしっかりした専門学校パンフを持ってきた。

そこでは私の興味のある、情報系のことも学べるようだった。

そこに行くことに決めた。

それで今、その学校の2年生です。

就職先が決まりました。来春から晴れてシステムエンジニアになります

結局あの人が正しかったんです。

あのまま意地はって自分で選んだ学校に行ってればC言語学んで花屋にでもなってたんでしょう。

あのまま意地はってどこにも行かず卒業してたら最悪ヒキニートにでもなっていたことでしょう。

私が間違ってたんですよ。私が勝手逆ギレしてたんですよ。そうですよ。

でも、正しい、正しくないは置いといて、私にとってあの人の言葉の一つ一つは私のトラウマになったんですよ。

先生

感謝してます

この学校を勧めてくれてありがとうございます

おかげで就職も決まりました。

でも、私、

私にトラウマを植え付けたあなたのことが大嫌いです。

2016-11-20

大多数のプログラマは…

IT業界に努めてもうそろそろ二桁年。

そこそこの企業特にWeb系で渡り歩いた経験から真実を書こう。

一般的プログラマと呼ばれる人たちは

はっきり言う、ほとんどのプログラマ自称する人間の 9 割はコーダーである

言われたものを作る事はできるが、それ以外何も出来ないと言って過言ではなく、何もしない。

そんな驚きの生体をここに晒していく。

一般的コーダー自称プログラマ)は、アプリケーションの基盤が作れない

標準化と呼ばれるプロセスで、プログラマ環境設計、組み合わせ、開発プラットフォームセットアップ、開発環境の構築手順作成、開発手順の作成必要技術考察を行う。

なぜそうなったのかは知らないが、一般的にそうなっている。

その環境に浸っているせいか、彼らはゼロベースものを作ることが出来ない。

彼らにできるのは HelloWorldコマンドプロンプトで表示するプログラム程度の事しか出来ない。

複数ソースの連結、ライブラリの読み込み、サーバへのデプロイ、どれも手動で出来ないのだ。

一般的コーダー自称プログラマ)は、保守性を考えない

彼らは自分に任されたものを動かせればタスクが終了する。

逆にそれ以外のこと、コードの読みやすさや、クローン率の低減、メソッドコメント記載などの保守に関わることをしない。

それは彼らにとって「必要ない無駄作業」としか考えないのだ。

早く仕上げるためなら、似たような動いてる箇所から、よく読みもせずにコピペを行う。

そして彼らは、作るより運用する期間の方が遥かに長くて、その間に修正地獄を見るという簡単論理に気づかない。

…何度味わっても気づかない。

一般的コーダー自称プログラマ)は、勉強しない。

一般的プログラマコーダー)は勉強をしない。

たとえするとしても、業務時間中に業務で使ってる技術ピンポイント学習するだけだ。

勉強会は確かに多い。「.dits」何かがいい例だ。

だが、プログラマと呼ばれる人間の母数に比べれば微々たるものだ。

彼らは言う「土日にまで仕事してられるか」「勉強会行ってるの?馬鹿か?」

あえて言おう、馬鹿は彼らだ。

一般的コーダー自称プログラマ)は、自分の使う道具がわからない

Web仕事をするならIDE統合開発環境エディタコンパイルテストデバッグ実行などを画面から行えるツール)はほとんど必須エディタで済ませる事も出来なくはない)が、彼らは状況に応じたセットアップができない。

たとえば「Mavenプロジェクト管理ツール)、checkstyleコーディング規約チェック)、editorconfig(改行、インデント文字コード設定)」が入っていたとする。

するとEclipseなどを使うとして

  1. どのプラグインを入れればいいか調べられない
  2. どうやってプロジェクトを取り込めばいいかからない
  3. プラグインを入れても設定方法がわからない(IDEデフォルト設定と、プロジェクト内の設定の違いを認識できない)
  4. IDE の設定画面がわからない

マニュアルチュートリアルを用意しないと、道具の使用もままならない。

一般的コーダー自称プログラマ)は、テストコードで書かない

テストをなるべく機械やらせようということの利点が理解できない。

コンパイルして動かして確かめればいいと本気で考えている。

そのために、何十回もコンパイルデプロイアクセスログインの手順を何度も繰り返す。

関連する他の修正を行うたびに繰り返す…。

そしてやっと動くとひと仕事終えたと満足感に浸る。

一般的コーダー自称プログラマ)は、プライドが無いか、変なプライドを持っている

ラリー・ウォールというとある有名な人物Perl開発者にしてC言語ハッカー)がいる。

彼の言う三大美徳に「傲慢」がある。

これは、自分の作るもの完璧なのだ、だから完璧であるように出来る限りのことをするという美徳である

一般的コーダー自称プログラマ)は、このプライドはない。

彼らは金のために嫌々動くだけのものを作るのだ、動きさえすれば報酬は変わらない、よって当然完璧かどうかなどどうでもいい。

同じ金でより良いものを作るのではない、要件だけ満たせばよいのだ。

変なプライドを持つコーダーは、それで運良く成功すると、自分知識は正しい、自分技術は十分なのだと考えている。

こういう人間は、プライドの無いコーダーよりたちが悪く、うまくいかないと他人環境のせいにする。

そして調べず周囲を苛立たせるのだ。

おわりに

土日に自ら勉強会に行くプログラマや、それこそ 50 人以下などという会社であればこうした事はあまりない(んじゃないかと思う。)彼らは自分でなんでもやらないといけないからだ。

だが、大企業に飼われる子飼い企業派遣(そもそも人手のみを求められる企業)、100人以上の企業では、役割分担に伴いこうした状況が多々発生する。

だが役10年、エンジニアを見てきた結果は変わらない。現実問題こうなのだ、こんな人間が大多数なのだ

人の多い企業ほど考えたほうがいい、それでより良いものが生まれるのかと。

必要とされる技術だけを叩き込んで金にしたいと言うのは分からなくないが、基本姿勢思想はどうなんだと。

経営者マネージャーよ、あなた方の言う「最適化」とは現場が日々考え行っている最適化か?人員最適化だけを行って、生産性が伸び悩んでいないか

そのあたりは考えた方がいい。

2016-11-14

Linux勉強して、プログラムってこんなに地味で泥臭いことやってたのかって感動した

windowsしか使ってこなかったからってのもあるんだけど

プログラムって魔法に思えて仕方がなかった

なにがどうなってこれが動いてるんだって思いながらゲームやったりしてたんだけど

部活HP作るってことになってサーバーの本読みながらサイトを公開しようと思ったんだけど

ぜんぶ文字でやっててボタンとかでないからすごいと思った

C言語勉強したときはいつまでたっても絵の話がでなくて文字ばかりで、文字表示ばっかりじゃんっておもったけど

実際文字を処理することで仕事できるんだな

命令するbashかいうやつも、それすら一つのプログラムで、ちゃんとファイル場所があって

あーこれwindowsでもあるPATHってやつじゃんって面白かった

にしてもここからどうやってGUIってやつに進化するんだこいつって思いながら

結局俺はLinuxのことがよくわからないままではある

こいつがどう進化したらwindowsとかみたいに絵になるんだか

それにしても面白い

まりプログラマーってのは俺らにGUIで見せてはいるけど

裏では文字で処理できるようなことをしてるってことだ

ボタンを押すのとコマンドをたたくのは違いがないってことか

から開発者文字だけで処理できるCLIってのがいいのか

しかし絵はどうするんだ

わからん

2016-10-13

英文法で迷ったら、一回プログラミング言語にすると良いよ

なんか知り合いが、↓を読んで、全く判らんが何だこれって言ってたんで解説したのメモっとく

英語が読めるようになるには英語を読むしかないが『日本人の英語』シリーズは読む価値あると思う - しいたげられたしいたけ

制限用法」と「非制限用法」は、「まず制限用法ありき」の用語

日本人英語シリーズは、

「a」と「the」と「何もついてない」名詞が、

全部違う名詞って話から入ってると思うんだけど(うろ覚え

ぶっちゃけ、「the」って言ってんのにそれが自明以外で説明がなかったらキレて良い。

と、英語話者は思ってるってのが、まず大前提にある。

なので、「制限用法」ってのは、

「オレの言ってる姉は、例のアレよアレ、あのアネよ」って制限するって意味がまずある。

で、そのうえで、そうじゃない「非制限用法」がある。

制限用法を、短文で理解するのムリ

そのまんま引用するけど、ここで「older sister(姉)」って言ったあとに、

なんかシカゴとか言ったな、姉の説明ねって、英語話者はボーっと聞いてたら思う。

  • 「こないだ姉ちゃん家行ったんだけどさ、シカゴに住んでる」

これを聞いた日本人は、どう思う?

『そんなん、聞いてる相手によって違うに決まってんじゃねーか』が正解。

  • (息子→父親)「こないだ姉ちゃん家行ってきたんだけど、シカゴの」
    • 父、母、姉、姉、息子の5人家族で、父親は姉が二人居るのを知ってる

この状況だと、父は「ああ、2人の姉のうち、シカゴの方だってのを伝えようと制限したんだな」って考えるわけだ。

まあ、考えないけど。どっちの姉ってああシカゴの方のねって理解するだけで。

これが制限用法ね。

この状況だと、友達は「ほーん、姉ちゃんシカゴに住んでんだ」と素直に思うだろう。

これが非制限用法ね。

おいおい、前提条件で制限用法か非制限用法か違うってナニソレ、とか思うだろ?

それが頻出である文脈によって判断する」ってヤツだよ。

(厳密に言うと、『日本人英語』での説明にも『前提条件無しで短文を読むなら』ってのが常についてると思って読まないといけないハズ)

プログラミングに置き換える

そうすっと、「どういう姉」かを伝えるやり方があって、

  • シカゴに住んでる方の姉貴を訪ねた。

って書いてあったら、日本人は「ほーん、じゃあシカゴに住んでない姉も居るのね」って考えるから

  • 「私には複数の姉があり、そのうち一人がシカゴに住んでいる。私はその姉を訪ねた」

って意味である、ってのが「I visit my older sister who live in Chicago.(コンマなし)」の解説なワケよ。

このまんまだと判り難いだろ?

疑似C言語あたりにすると、こんな感じ。

#define CHICAGO 1

int sister[3] = {45, 43, 41};
int who;

who = CHICAGO;
printf("%d", sister[who]);

まあ結果は43が出てほしいよね。

シスター配列を、CHICAGO指定してんのね。sister指定するのに使う変数who

ならこんな感じ

#define CHICAGO 1

int sister = 43;
int who;

printf("%d", sister);

who = CHICAGO;
printf("%d", who);

カンマで区切られてるから、『一回出力』してんのね。姉だ。

で、その後、どこ住んでるかの番号が出力される感じ。シカゴだ。

英語カンマは、「そこで一回出力してくれ」って命令だと思うのがコツ。

カンマが入っていないwhoは、ワザワザそれを伝えて限定しようとしてると読むべき。

まとめ

英語よりC言語の方が楽。

楽な言語に落とし込んで理解した方が早い。

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん