2ch勢いランキング 全部 1- 最新50

【IT】プログラミングをやったことがない人が必ず抱く「幻想」と、その正体


田杉山脈 ★ [] 2020/02/14(金) 16:28:35.07:CAP_USER
一般向け経済誌が特集で取り上げるなど、相変わらずプログラミングが注目を集めている。「素人記者がプログラミングに挑戦してみた」といった記事も多い。

 「やったことはないが、自分もプログラミングを始めればガラッと世界が変わるのではないか」と思っている読者も多いだろう。私もかつてはそうだった。

 私がプログラミングを知ったのは中学生のときだ。出会った時期自体は早い。自分が持っていたパソコン用に簡単なゲームのプログラムを作り、遊んでいたこともある。

しかし、プログラミングに対してはずっと苦手意識を持っていた。見よう見まねでプログラムは作れるものの、どうして動くかはあまり説明できない。プログラミングを理解できている実感は全くなかった。「いつかプログラミングができるようになりたい」とずっと思っていた。

できるといっても無数のレベルがある
 私がプログラミングをきちんと学ぶきっかけになったのが、2005年に日経ソフトウエアという雑誌の編集部に異動したことだ。

 日経BPの雑誌は書店を通さない定期購読タイプが多いが、日経ソフトウエアは書店売りの一般向けプログラミング雑誌である。基本的には外部の執筆者に原稿を依頼することが多い。ただ自分で記事を書くこともある。

 プログラミングを学ぼうと思った理由は2つある。1つは自分がプログラミングの記事を書かなければならなくなったこと。もう1つは外部執筆者のプログラミングの実力を見極める必要があったことだ。

関連記事:プログラマの実力偽装を考える──初心者と中級者を分けているもの
 学習のために使うプログラミング言語には「Scheme(スキーム)」を選んだ。教育用によく使われていた言語で、実用的なソフトウエアの開発にはあまり使われない。実用的な言語を選ぶと、固有の文法やライブラリーといったその言語だけの事情に引っ張られてしまうのではないかと考えたのだ。言語にとらわれないプログラミングの本質を学びたかった。

 当時、Schemeを使ってコンピューターサイエンスの基礎を学ぶ勉強会が週に1回開催されていた。そこで、その勉強会に欠かさず参加するようになった。勉強会は2〜3年続き、それなりの量のSchemeコードを書いた。この経験が、自分のプログラミングの基礎になっていると思う。

 こうして少しはプログラミングができるようになって初めて分かったことがある。「プログラミングができるといっても、そのレベルの幅はとんでもなく広い」ということだ。プログラミングが少しできる人と最上位レベルのプログラミングの実力を持つ人の差は、想像以上に大きかった。
以下ソース
ttp://https://xtech.nikkei.com/atcl/nxt/column/18/00682/021200027/
名刺は切らしておりまして [] 2020/02/15(土) 14:05:08.17:ZY8TtOWM
そもそもプログラム言語とかなんなのかわからん
Cは
古いとか javaとスクリプトは別物とか
だったらファミコンのマリオブラザーズは何のプログラム言語で動いてるの?
名刺は切らしておりまして [] 2020/02/15(土) 14:06:42.15:baIkbSFl

ソフトウェアエンジニアリングのやり方でいいやと思ってるのは20年前の俺のレベルだわ
名刺は切らしておりまして [sage] 2020/02/15(土) 14:14:39.62:60cuAWUC
シンプルで小さくてエレガントなコードがどうしたというので止まっていて、
データが多くなった場合とかアクセスが増えた場合のことを考えてないのが多い。
ダサくても高負荷に耐えて被害が大きくならないようにしないとダメ。
名刺は切らしておりまして [] 2020/02/15(土) 14:24:13.59:baIkbSFl

でもそれは開発期間と予算があればの話だよ
想定アクセス数が2桁上がれば実装するコードも必要なハードウェア構成もミドルウェアも運用コストも変わってくるから
テスト件数が500件でOKで、5万件でNGの物を作ってくる奴もいて流石にそれはダメだけど、
500万件程度まで異常無く処理できるようであれば初期設計としては何も問題ないと思うよ
そこから5000万件、5億件となってくると、流石に主要技術の入れ替え、つまりコア部分の作り直しもしたくなるけど、やっぱり予算次第だね
名刺は切らしておりまして [] 2020/02/15(土) 14:48:40.66:pEdBW6qZ

そそ、データ量とか運用時間とかは、最初の要件定義で
近い将来に拡張必要があるなら、それも含めて対応量を決める
ある程度制限しないとコストが嵩むだけだから
その制限された範囲で必要性能が出れば良い
名刺は切らしておりまして [sage] 2020/02/15(土) 14:51:32.89:5fvru2PA

アセンブリ言語だそうです
名刺は切らしておりまして [] 2020/02/15(土) 14:51:50.59:zaiUn/cg
ハードウェアリソースの限界を考えずにメモリガバガバ使うプログラムとか多すぎ
名刺は切らしておりまして [] 2020/02/15(土) 15:00:12.24:9sbhBDtg

組み立て手数料で売り上げ上げるビジネスしかしないならそれでもいいかな
名刺は切らしておりまして [sage] 2020/02/15(土) 15:04:41.84:60cuAWUC

>テスト件数が500件でOKで、5万件でNGの物を作ってくる奴もいて流石にそれはダメだけど、

大多数がこんなん
名刺は切らしておりまして [] 2020/02/15(土) 15:09:41.09:9sbhBDtg

フレームワークってフレームしか提供しないよ?
ビジネスロジックを実現するのはプログラマの仕事だし
将来コストがかからないシステム作れるかどうかもプログラマ次第
名刺は切らしておりまして [sage] 2020/02/15(土) 15:14:10.97:0SHDzfo8
木を見て森を見る
が本質だと思ってるよ。
名刺は切らしておりまして [] 2020/02/15(土) 15:18:57.35:VHa8pR6x
趣味ならいい
仕事でやってはいかん
名刺は切らしておりまして [sage] 2020/02/15(土) 15:19:49.65:WYH/An6L

君みたいな認識を持っている上司とかPMがいたら会社はブラックだろうな
「プログラマなんて書くだけ」じゃないよ
クライアント環境を調べて依存関係を複雑に回避しながらコード書き
それでも動かないからデバッグ
それで動けばいいけど、複雑な依存関係でたまーーに出るバグが厄介で
ひたすら発生条件を調べるプログラムまで作る
本当のプログラマってそこまでやるんだよ?
名刺は切らしておりまして [] 2020/02/15(土) 15:20:22.82:yM04iRpN
プログラミングは必要な時に一人でやった方が楽しい
名刺は切らしておりまして [] 2020/02/15(土) 15:37:34.08:kKeZwzEY

そんなの説明通りにライブラリ呼び出すだけじゃん(文系)
まぁ、通信関係は仕様分かってないとデバッグ時に死ぬが。
名刺は切らしておりまして [sage] 2020/02/15(土) 15:47:53.12:JDhnF/kr

プログラマの定義が人によって違うから仕方ない。

俺はソフトウェアの設計もやるし、回路や基板もつくるけど
名乗るときはプログラマってことにしてる。
名刺は切らしておりまして [] 2020/02/15(土) 15:50:26.44:fKBAc8Hh

文系に限らず、OSやインフラまわりに興味無い奴は避ける奴多いような……
名刺は切らしておりまして [] 2020/02/15(土) 16:17:06.21:O/oqgMAl
出力画面に結果出すだけで開発の即戦力になれる訳ではない
名刺は切らしておりまして [] 2020/02/15(土) 16:25:04.60:S486xkTS

外国人のSEってコード書ける上にハードにもネットワークにも詳しい奴が多いが
日本人は特定のジャンルに偏ってる奴が多い

学位とかバックグラウンドの差?
名刺は切らしておりまして [sage] 2020/02/15(土) 16:26:33.99:OyxcHtm+

組織の体質
名刺は切らしておりまして [] 2020/02/15(土) 16:31:41.44:9sbhBDtg

自分の周りを見る限り外国人のプログラマってフロントエンドならフロントエンド、
DBならDBと特定の技術に特化してる奴が多いけど。
日本人みたいにDBもインフラもネットワークもバックエンドもフロントエンドも全部
担当ってのは少ない。
名刺は切らしておりまして [] 2020/02/15(土) 16:48:02.69:3XqRB1/I
スペシャリスト数人抱えるよりジェネラリスト()一人の方がランニングコストとクオリティ低く出来るからな
名刺は切らしておりまして [sage] 2020/02/15(土) 16:56:00.90:0SHDzfo8

仕事でロンドンの現場は何回か行ったが、多国籍だったけどスペシャリストは少なかった。仕事面だとお喋りで仕事進まねー奴と、仕事が早いと思ったらバグだらけで終える奴とか日本より仕事雑な印象多かったけどw
全員じゃ無いけどね。場所によるのは日本と同じか。
名刺は切らしておりまして [sage] 2020/02/15(土) 16:58:33.04:E7hecWMv

プログラム関連の仕事の鉄則だよな
仕事速い奴は信用できない
名刺は切らしておりまして [sage] 2020/02/15(土) 17:04:25.38:0SHDzfo8

今の時代は勉学としての文理は関係はなさそう。興味がもてるかどうかじゃないかな。まぁ適正とかはあるのかも?

キー打つだけで画面に文字が出る(光る)のは何でかなって思ったり。
プログラミングじゃないけどね。
名刺は切らしておりまして [sage] 2020/02/15(土) 17:17:24.10:RtAPfinL

バカにするならご自由に
ただし、コードと独立した文書なんてデバッグを繰り返す段階だと
確実にコードと文書の同期が取れなくなるからな。
コメントから文書を生成させるのは同期を取りやすくするため
デバッグ中でもここでなんの処理をやらせるとコードにコメントを書くのは容易だから。
自分は書かずに手下にやらせてるだけの立場だとその辺の実態がわからないかもね
名刺は切らしておりまして [] 2020/02/15(土) 17:35:55.55:tIBGUzKj

オイラなんかコマンド一発、一行だ。
名刺は切らしておりまして [sage] 2020/02/15(土) 17:37:40.46:rB02sc+D
そのコマンドは自家製なんだろ
名刺は切らしておりまして [] 2020/02/15(土) 17:38:49.43:URFBgSGi

インプットとアウトプットを整理するのが基本
それ以外は必要ないし無意味な装飾
で、いかにそれを効率よく入力するか、理解しやすく出力するか
それが2番目
3番目くらいにそれらをどう管理するかが問題(ここが設計と実装)
で、やっとそれを実現する論理とか処理に至る
それを判らずやれはやりだのなんだので論理から入ると破綻する
人の成す技を処理するんだぜ?例外処理の雨あられってのが現実よ(笑)
名刺は切らしておりまして [sage] 2020/02/15(土) 17:40:37.75:0SHDzfo8
テトリスのサイズ縮小戦争って結局何バイトまでなったんかな。
まだ続いてんのか知らんが。
名刺は切らしておりまして [] 2020/02/15(土) 17:45:58.94:URFBgSGi

ああいうの楽しいよね(笑)
俺なんて某CPU専用Cコンパイラの吐き出したアセンブラソース見て
「くっそださ」
って思ったときがプログラマーになれた瞬間かなと今でも思い出す。
短く早くそして正確に!ってのは(時間があれば)とことん追求したくなる(笑)
本当に楽しい一時だ
名刺は切らしておりまして [] 2020/02/15(土) 17:47:45.03:/n44aZBr

俺が働いてた外資系ソフトベンダーで世話になったSEは定年まで特定機能のアップデートだけやってたわw
まあ、創業者の一人で製品の生き字引だったけど
名刺は切らしておりまして [] 2020/02/15(土) 17:48:16.11:tIBGUzKj

そしてデバイスを動かすにはデバイスの仕様書が要る。
OSの上で動かすにはOSの仕様書が、プログラミング言語を
使うには言語の仕様書が要る。

結局、何を学んでいるかというと、他人が勝手に作った決まり事を
学んでいるだけ。
名刺は切らしておりまして [] 2020/02/15(土) 17:48:47.69:/n44aZBr
本人はプログラマだって言ってたけど新機能の策定から全部やってた
名刺は切らしておりまして [] 2020/02/15(土) 17:54:23.02:tIBGUzKj

ツールの変化が激しいからね。あなたの常識もすぐに非常識になる。
名刺は切らしておりまして [sage] 2020/02/15(土) 17:56:10.14:URFBgSGi
osの無いCPU使って求められる仕様を満たせたらプログラマー名乗っても良いかなと
16bit保護モード有りからな
名刺は切らしておりまして [sage] 2020/02/15(土) 17:57:09.38:URFBgSGi
俺は血反吐穿いたけど(笑)
名刺は切らしておりまして [] 2020/02/15(土) 17:58:12.25:lZHcAsUI

プロトコルを言う前に、OSI参照モデルの7つのレイヤーを頭に叩き込むほうが先。これが解っていない
人はプロトコルについても、例えばTCPとUDPの同じ層にHTTPを当て込んだりと、頓珍漢なことを言う。
名刺は切らしておりまして [] 2020/02/15(土) 17:58:57.35:tIBGUzKj

DNAの9割はコピペとか。
名刺は切らしておりまして [] 2020/02/15(土) 18:04:05.33:tIBGUzKj

高い金出してOS買ってもAPIの解説書ひとつ付いてこない。
どうしろっちゅんじゃ。マウスカチカチしか出来ひんじゃないか。
名刺は切らしておりまして [] 2020/02/15(土) 18:13:59.69:pEdBW6qZ

コンパイラって、言語仕様通りに動くオブジェクト・コードを吐き出すことが第一で、
そのコードのサイズや性能は二の次ですからね
それをあ程度の改善・最適化するのはコンパイラの役目として次の段階で、結構面倒
結局、パフォーマンス絶対重視ならアセンブラになるが、
生産性超激悪と引き換え
名刺は切らしておりまして [] 2020/02/15(土) 18:17:27.04:NVOizuEF
プログラマに必要とされる能力って業務仕様やシステムといった目に見えないものを相手に考える抽象化能力と、
抽象的な世界で何をどう組み合わせればいいのかシミュレートする能力かな。

プログラムやったことない人はコンピュータに対する複雑な命令方法を知ってるみたいに思いがちだけど、
実際にやってるのはデータの加工と移動だけで、このプリミティブな操作をどう組み合わせれれば
望む動作になるかひたすら考える作業がプログラミングだからね。
名刺は切らしておりまして [sage] 2020/02/15(土) 18:23:41.35:uOU0z2ZX
プログラミングの勉強したのってIT業界辞めてからだな
当時は、ただひたすら設計とトラブルシューティングに明け暮れていただけで
当時はケータイバブルで考えている暇すらなかったけど
名刺は切らしておりまして [] 2020/02/15(土) 18:27:30.82:pEdBW6qZ

そういう仕事の人も確かに居るが、それは業務SEという言われる職種で、
本来プログラマとは少し違う仕事
ただ、業務SEとプログラマは日本じゃボーダレスなので、
両者を混同する人が少なくない
そして、業務SEも多岐に渡るSEの一分野にすぎない
名刺は切らしておりまして [] 2020/02/15(土) 18:31:59.68:NVOizuEF

組み込みでも同じだよ。
メカトロになると実際サーボが動いたりするから幾分目に見えやすいけど。
名刺は切らしておりまして [] 2020/02/15(土) 18:32:37.19:x5dtP/Q3
IT革命で失敗した日本
名刺は切らしておりまして [] 2020/02/15(土) 18:33:58.60:zJyO7MHV
マイコンのキャラクタ液晶にADCからの整数を表示するだけで苦労した
itoaはコピペでもってきたがchar*に文字列を投げる意味が最近まで分からなかった
名刺は切らしておりまして [sage] 2020/02/15(土) 18:51:09.19:nMGXxms7
男は黙ってCOBOL
名刺は切らしておりまして [] 2020/02/15(土) 19:59:44.55:yncpHLM9

その系統の本を読んだあと
ブラック企業に転職して
いきなり炎上案件に放り込まれ
罵倒と嘲笑を受けながら、毎日終電、土日も出社
いよいよ納期に近付くも完成できずに徹夜数日、
幻聴うるさくて集中できなかったがなんとか完成
って言うのを数プロジェクト繰り返してたらやっと普通に働けるようになってた。

その間、精神科に2回はかかった。
名刺は切らしておりまして [] 2020/02/15(土) 20:15:32.61:17czzza9

定時になったら速攻で退所。退所と同時に050の番号の利用を一時停止。
定時出勤と同時に050を利用再開ってやってる

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

2ch勢いランキング 全部 1- 最新50 ビジネスnews+板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら