コードによるプログラミング能力の向上


原文は次のとおりです.http://qing.weibo.com/2059598087/7ac2f90733002b1b.html
ほとんどのプログラム言語はプログラミングツールとして登場しています.そのため、各言語には必然的に他の言語と異なる文法特性があり、後に現れる言語はすでに現れたプログラム言語の良い文法特性を統合したり、適切な言語特性を適切に作成したりする可能性があります.while、for、switch文の出現など、もっと早いです.pythonのジェネレータ、ジェネレータ関数など、後で.pythonでは、switch文も削除され、elifキーワードが追加されます.
したがって,ソースコードによる言語学習は能力の進歩の最終段階である.結局初心者はオウムが舌を習ってプログラミング言語を使うだけだ.先輩のプログラムのソースコードを学ぶことで、「こんなふうにコードを書くことができたのか」と悟ることが多い.このような悟りはもちろん、個人のプログラミング実践と聡明な知恵の模索を通じて創造することができる.しかし、結局は「車輪の再発明」であり、効率は低い.たとえばC言語では、「代入文も式」です.この言葉は初心者には難解だ.彼は決して独立して次のコードを創造することはできません.
while(c = getchar())
{
	...
}

このようなコードを書く可能性があります.
c = getchar();
while(c)
{
    ...
    c = getchar();
}
その言語においても、初心者は再帰関数の作成を学ぶことができない.
void frecurse()
{
    ……
    ……frecurse()……
    ……
}
で、Cからpythonに移行するプログラマーは、for、while文のelse文ブロックを選択的に無視する可能性があります.Pythonから削除されたC言語のswitch文は、この文が柔軟すぎてエラーしやすいためです.私も本で見ましたが、switch文にはif...else...文をネストすることもできます.if...else...およびbreakを使用しないことによってプログラムフローを制御します.このような寛容な制約の下で、制御フローの混乱を生じる可能性が高いコードは明らかである.switch文という欠点のため、C#では、各case文をbreakまたはgoto文で終わらせなければならないことを規定しています.これにより、switch文の柔軟性が制限されますが、保持されます.しかし、goto文の不適切な使用は、プログラムフローをより理解しにくくします.このようにpythonでswitch文を取り消すのは賢明である.ただ、Cプログラマーにとっては、多少慣れていません.