【新機能】作り忘れたまとめはありませんか?31日前まで期間指定してまとめが作れる高度な検索ができました。有料APIだからツイートの漏れはありません!
33
ログインして広告を非表示にする
ハルト9000(低浮上中) @Haruto9000 2017-11-18 18:54:18
今日初めてプログラミングに触れて、講師の先生が「上級者が書くコードはすごく短い。軽いからコンピュータもすぐに動く。でも、初心者は長いコードを書いてしまい、重いうえにうまく動かない時がある」と言う話を聞いて、高等な魔法使いが使う無詠唱魔法がいかにすごいかを瞬時に理解した。
Dealt @John_Doe20001 2017-11-19 14:55:30
@Haruto9000 いい上司と悪い上司の説教の長さみたいな話ですね。
千寿 @senju_mizuno 2017-11-20 00:21:55
@John_Doe20001 いい校長と悪い校長の話の長さみたいな感じでもありますね。
まふゆミン@マイハピ997位 @toumyoumaru 2017-11-20 10:52:22
@Haruto9000 まさに、プログラム=現代魔法ってことですね
阿吽P @yuuto7210 2017-11-19 13:45:04
@Haruto9000 簡単な話、しっかり理解できてないと短くもできないよってことかな FF外から失礼しました
みやびさん🍌就活中 @miyabi_sun 2017-11-19 14:55:37
@Haruto9000 はじめまして 「金槌」という一言で表せるものが「木の棒に円柱状の金属がはめ込んであり、釘等を打ち付ける事が出来る工具」と毎回書かなければならないですね。 それ使えるよ、再現出来るよ、同じクオリティ維持出来るよは実は困難で、優れた小説家や数学科も素敵な魔法使いだと思います。
まう @ttymau_GRM 2017-11-20 14:44:29
いちいち長ったる肩書き書かなくてもええように最初長ったる肩書き書いてから(以降、甲とする)みたいな。 歌詞カードの※繰り返し〜みたいな感じやとわしは思ってた
かたくりこ @tortor_ggg 2017-11-20 14:46:32
プログラミングの事はてんでわからないので、プログラミング出来る時点でわたしには魔法使い
プログラミング
ピカーク @pikirk 2017-11-19 08:06:58
@Haruto9000 うーん。。いくらシンプルでも、得意になってわかりにくいコードを書く方が、私は宜しくないと思うんですよね- これは、「シンプルかつ解りやすいフロー構成が極意」と言うのが、正解だと思います、論理的に( ^)v_
ヨシヒロ@パラオ泊地 @yosxpeee 2017-11-19 10:32:26
@Haruto9000 リソースが潤沢な環境下で動くものであれば可読性を重視することもありますし、ハードウェアに近い部分のプログラムとかは速度重視で可読性は捨てることもあります。ケースバイケースですよ😄
Shu※@修行中 @kihanmoto 2017-11-19 14:42:52
@Haruto9000 その短いコードの裏には綿密な処理があるので短い=軽いってのは正確には違います でもその処理を理解している証しでもあるので違うとも言い切れませんが
CHARADE @char_ade 2017-11-19 15:24:08
@Haruto9000 若い頃、ハードが高価だった時代は「メモリ1バイトは血の一滴」などと呼ばれ、一文字でも短いものが良いとされたが、今は可読性も大事。計算速度も早いので多少の冗長性も忌避するほどではない。ただ、短いプログラムほどバグが入りにくい、とは言える。
@imozulu 2017-11-20 00:11:14
@Haruto9000 昔々、Windowsがようやく出回ってた頃にマシンパワー的に何で動いているのかわからない無数にひろがる回転する動画のプログラムが、たった数行のコードだったとか。まぁ動いてるの見たんだけど、当時も今も魔法使いの呪文詠唱コードとしか思えなかったですだす。
tatuto @tatuto017 2017-11-20 12:11:20
@Haruto9000 可読性が高くメンテナンスしやすいコードが最適かと
小義 @yoshi_koji 2017-11-19 16:15:10
@Haruto9000 若干の補足 >適切なレベルの構造 「推敲」が重要。 コーディング時「必ず周辺の記述を意識する事」が重要。 「周辺記述との不整合」と「それを解消し、更に発展させる事」が全て。 これは「現代国語に関しても言える事」。 「現代国の表現・理解」=「プログラムの表現・理解」。 ※推敲なき表現は無
小義 @yoshi_koji 2017-11-19 13:37:36
@Haruto9000 >すごく短い 機械制御等サイズが全ての世界でなければ 上級者のコードは「短い」ではなく「ムダ」が無くエレガントです。 また「盲目的に局所的でなく、適切なレベルの構造」を持っています。 現在、これらは「デザインパターン(GoF等)」として整理されています。 これらを深く理解する事は重要です。
獅子耳隊長@再起動 @CaptainCat_SGS 2017-11-19 17:57:17
@Haruto9000 @SGS_ZINGI03 非力なプログラミング力でも組み合わせの妙で大幅増強してくれる、パイプというテクニックがありましてな。 sh とか R という言語で使えます。早期に知っておくと、やれる事の幅が広がりますぜ。
JUNハープセール @JUN_SP6T7HR9 2017-11-19 19:52:02
@Haruto9000 そう言っても講師の先生は長くて重いプログラムしか教えてくれません。
ダーパ局長 @darpakyokutyou 2017-11-19 23:34:48
@Haruto9000 JavaScriptなら function hoge(){ return null; } と、 let hoge = ()=> { return null; } の2種類(以上)あるけど、 後者は上級者で前者は初心者。 だがしかし、コードの量と処理スピードは変わらない みたいな事もあるから注意(´・ω・`)
レイン@ship5 @reinsp5 2017-11-20 07:18:49
@Haruto9000 マシンの能力が上がった現代では、「効率的である事」「小容量であること」よりも「誰が見てもわかり易いこと」「メンテナンスし易いこと」を優先せよと職場では言われますね。 その次が「実績があること」、その次ぐらいが「シンプルで小容量であること」 もちろん、作るものの特性によりますが…
むらそう @murasou1834 2017-11-20 08:14:52
@Haruto9000 凄く短いというよりも、短く単純化した処理、または長くて何度も使用する処理を関数(メソッド)で作って、大本の動かす関数(メソッド)を見るだけで瞬時に何の処理を実行しているかがわかるコーティングが一番ということかも。
淼々ソラジ@ヤマメッ @byosora398 2017-11-20 12:12:51
@Haruto9000 伴わないものもありますよ?(。・ω・。) バブルソート  コード短く単純  メモリ軽い  処理長い クイックソート・マージソート  コード長く複雑  メモリ少し必要  処理早い
01045 @01045c 2017-11-20 12:34:24
@Haruto9000 FF外から失礼します。 短い=軽い ではなく 短い≒軽い ですね。例えばC++は共通化を進めれば「軽く」て「短い」コードになりますがVBでそれ(≒関数化)をやると関数呼び出しのオーバヘッドが発生するので「重く」なります。なので言語や環境による、とご理解下さい
01045 @01045c 2017-11-20 12:39:11
@Haruto9000 関数化以外にもコードを短くする方法(オブジェクト指向で継承を工夫するなど)はありますが、おおよそどの方法にしてもVBだと「重く」なる傾向にあります。最終的にコードを短くする≒共通化する という事になりますが、共通点は「バグが少なくメンテナンスが容易なプログラムになる」という事です
残りを読む(13)

ブックマークしたタグ

あなたの好きなタグをブックマークしておこう!話題のまとめを見逃さなくなります。

コメント

2D @migrant777 2017-11-20 15:58:56
大昔から高度な技術を持つハッカーはウィザードと呼ばれてるよ。
Toshiya Utoh @toshi_moon 2017-11-20 17:48:31
コードが短いから軽いってのはない。ステップが多いから重いってのは傾向としてある。OSの構造と言語特性に寄り添って書くかで重さが決まる。
@izanamu 2017-11-20 19:13:01
Cは概ねそういう傾向が出るけど、phpやjavascriptは逆に冗長に書いた方が高速化する傾向にあるので、プログラミング言語の特性によるよね。
Tの人@アホの子 @Aho_The_T 2017-11-20 20:17:46
(なんでこんなネタツイにマジレスかますアホがいるんだ…?)
権中納言明淳 @mtoaki 2017-11-20 22:08:25
Perlはマジで上級者の書いたものはビタ一理解できなくて困る。
ちょちょまる @sakuya_little 2017-11-20 22:38:43
少し違う。上級者は過不足なく且つ他人に理解できるコードを書く。極端に省略する時はコメントを残す。
カッズミール・ワイオット十三世 @twittakaku 2017-11-20 22:51:53
全部関数にまとめたらコードが短くなって編集もしやすくなったけど、実行速度が遅く重い処理になったとかあると思うし、短ければ軽いとかないわ。長いコード書いたらうまく動かないってくらいだから、今どきメモリにも余裕無いくらいシビアなプログラミングだったのかもしれないけど。
むう @nyal1999 2017-11-21 00:27:15
自己改変型とか最近あんまり聞かなくなったが、魔法で実行したらどうなるんだろうW
ぱっち @g2919119 2017-11-21 00:48:14
工数との兼ね合いが難しい。最近はコンパイラが賢いと聞いたので、わかりやすさ重視で書いています(C#界の話です
黒っ子 @DRKS1 2017-11-21 01:56:35
まあ、同じ処理でもコンパクトに書ける人はバグも少ない。
Kenji Akeno @akenox 2017-11-21 02:28:40
関数化やオブジェクト化=「短く書くこと」ではないよ。そこに書いてた処理を別のところに書いただけで処理内容が変わらないなら処理速度も当然変わらん。 「短く書く」とは「必要な処理だけを書く」ということ。どう考えてもそれしかないと言えるぐらいに無駄を削ぎ落とした処理は、それしかない故に誰が読んでも理解できるものになる。なお独りよがりの極端な省コードはそれ自体が無駄。
倉瀬美都 @clausemitz 2017-11-21 07:00:16
確かに上級者は標準ライブラリを使って短く、アホは標準ライブラリですむのをわざわざコーディングしてることがある。たとえばCだったらstrlenを使えばすむところを使わないみたいな。
ぼんぼ (動作温度範囲10℃〜28℃) @tm_bonvo 2017-11-21 11:26:01
「重いうえにうまく動かない」はたまに見るなあ。ロジック思いつかなくて適当にダラダラと長く書いたコードとか。
権中納言明淳 @mtoaki 2017-11-21 11:37:24
Z80とかで機械語書いてた頃は「1クロックを削る」のがすごく効いてくるから、うまいアルゴリズムを思いついて無駄を省く事が唯一の正解だった。けど、今はいろんな正解がある時代になったように思う。
権中納言明淳 @mtoaki 2017-11-21 11:39:20
「ナイツ&マジック」はそういう古いプログラマが無双する話っぽいようにも思う。
点面悪鬼百之助 @x743 2017-11-21 13:00:24
短くても長くても、なにより他人が読めるプログラムを書きましょう
frisky @friskymonpetit 2017-11-21 13:22:44
x743 それも他人として誰が想定されるかによるんじゃないかな。クソコードが生産される原因のひとつは、書き手が言語仕様や標準を十分理解しないからだし、そのレベルの書き手にも読めるコードを書くとクソコードになるのでは(オブジェクト指向が理解できない開発者がいるから変数は全部グローバル変数にしろ、とかいうまとめがあったような)
🚮 @recyclebin5385 2017-11-21 23:59:44
無詠唱は膨大な魔力(リソース)に物を言わせて軽く見せているだけやで
CUBE @pDKFVP4V3uAP4KV 2017-11-23 08:48:09
リーダブルコードを読もう(ダイマ)
ログインして広告を非表示にする
ログインして広告を非表示にする