プログラミング筋
とは何か??nishio.icon
思いついたものを書いてけする
読解力
他人の書いたソースコードを読んで改造する能力nishio.icon
最初「未知のプログラミング言語で書かれた」って書いてあったけど少し緩めた
今どき言語仕様の公開されてない言語を使うシチュエーションなんてあんまりなさそうだから
今後の人生で自分が書くソースコードの量よりも読むソースコードの量の方が何桁も多いから
脳内実行能力
ソースコードを実行しないで実行結果を予想する能力nishio.icon
サーキット・スイッチャーの主人公(天才)はこれが強いsta.icon
バグったときにバグの原因を想像したり「こうしたら直るのでは」と思いつくために必要
ある程度バグのパターンやセキュリティ知識とかを持っておくと楽になるイメージMijinko_SD.icon
他人が作ったソフトウェアを雑にいじってバグらせる遊びしていると手っ取り早く学べる
デバッグ力
期待通りに動かないプログラムの振る舞いを観察して原因を突き止める能力nishio.icon
プログラムを書いている時間よりもデバッグしてる時間の方が長いから
デバッグとウミガメのスープは似ていると思ってる綾坂こと.icon
→ので、ウミガメのスープで求められる能力に近いものが要求されていると思う
与えられた問題に対して知っている解法の中から適した物を探し出して当てはめる能力kuuote.icon
解法を知らないけど「いや、それは解けるはずだ」と思う力とかもnishio.icon
「だって〜ってサービスがあるんだから、現実的にまともなコストで実現できる方法がないわけがない」的な
思いついたアイデアを高速にとりあえず動く状態まで持っていく能力kuuote.icon
短距離走っぽさあるnishio.icon
休むとダメになるので確かに短距離走っぽいkuuote.icon
これができるようになりたいimo.iconkuuote.iconMijinko_SD.icon
書き方やショートカットキーやタイピング運指などを覚えて素早く発揮するマッスルメモリ
覚えるのが苦手でいつもメモ見たりググったりしながら書いているが、強い人はある程度覚えた上でスラスラ書いてそうsta.icon
このあたり無意識的にできるようになりたいimo.icon
コードリーディングした内容を頭に入れながら読み進めていくワーキングメモリ
これが弱いといちいちメモしたり図描いたり書き直したりするので遅いsta.iconkuuote.icon綾坂こと.icon
もちろんある程度以上煩雑なものは誰でも書く・描くとは思うが
スパゲッティにならずに設計できる能力inajob.icon
工夫しながら書いていけばそのうち身につきそうMijinko_SD.icon
最初からスパゲらないようにちゃんと設計する必要があるイメージsta.icon
そのためには設計論含めて深い知識とその実践が要る、OOPとか
あるいは変更してもスパゲらないようなやり方、DDDはこっちか?
いずれにせよ単に書いているだけでは及べない領域や境地があって、勉強と練習でちゃんと鍛えないと届かないイメージ
才能ある人はわからない
シェフ「スパゲッティ好きなのに...」
言語仕様・ライブラリーの知識erniogi.icon
マッスルメモリと微妙に被っているかもerniogi.icon
すぐに思い出せるようにする仕組みをととのえておく性質基素.icon
筋力感はない