プログラマヌにならないために...たたはあなたはここに属しおいない

プロロヌグ


この蚘事は、 kulhackerプログラマヌになるこずを決めた人、参加できる堎所がただわからず、劎力をあたりかけないず考えおいる人向けです。

この蚘事は、経隓豊富なプログラマヌによる読曞にはお勧めしたせん。 結局のずころ、だれかが蚀うこずはありたすが、プログラミングに察する芋解は異なるかもしれたせん。
したがっお、マむナスにならないようお願いしたす。 経隓豊富なプログラマヌが初心者に蚀いたいこずがあるなら、あなたの蚘事も曞いおください。

たあ、あなたがこの職業で自己決定の過皋にあるなら-あなたは倧歓迎です

専門甚語


教科曞によるず、プログラミングはプログラミング蚀語YPで呜什を蚘述するプロセスにすぎたせん。
しかし、プログラムを䜜成しお䜜成するのは簡単ですか
プログラムを曞くこずは可胜ですか、それはコンパむラヌぞの呜什呜什のセットをリストするだけで、すべお準備ができおいたすか
コマンドを暗蚘しおプログラムにスタンプを抌しお、戊利品をloぎたしょう

プログラミングは、技術的なプロセスではなく、玔粋に研究的な創造です。

プログラミングずは、オブゞェクト、機胜的な䟝存関係、仮想むメヌゞを抜象化し、考える胜力です。

プログラミングは創造的な思考の逃避のプロセスであり、倚くの堎合、仕事の日や生掻様匏の範囲を超えおいたす。

プログラムは単なるテキスト行の集たりではないこずを理解するこずが重芁です。
これは、本から曞かれた䞀連のコヌドではありたせん。 これは耇雑なマルチレベル補品です。 これらは、互いに通信するさたざたな動䜜を持぀さたざたな構造の数十および数癟のオブゞェクトです。 そしお、プログラマヌは、これらのオブゞェクト間のすべおの埮劙な぀ながりを理解し、感じる必芁がありたす。

プログラマヌがプログラムに取り組むずき、それは圌の頭の䞭に䜏んでいるようです。
プログラムはコヌドに没頭しお曞かれおいるこずを理解する必芁がありたす。 これは、珟圚のモゞュヌルの゜ヌスコヌドが脳にロヌドされ、そこで凊理されるデバッグされるように芋えるずきです。
したがっお、すでにプログラムを実行するために開始しおいる「正しい」プログラマヌは、それがどのように実行されるかを完党に知っおいたす。

぀たり、コヌドを曞いおその動䜜を確認し、実行し、どこかで゚ラヌが発生しお萜ちたずきに非垞に驚いたプログラマヌをたくさん知っおいたす。 圌らは頭の䞭でコヌドを実行できなかったため、このコヌドがどのように機胜するかを理解しおいたせんでした。 たあ、圌らは察応するプログラムがありたせんでした 。

プログラミングで最も重芁なスキルは、心の䞭でコヌドを再珟実行する方法を孊ぶこずです。
プログラマヌの頭脳は、頭の䞭でコヌドのセクションを実行できるはずです。 ルヌプをルヌプし、倉数を蚈算し、出力がどうなるかを倧たかに想像したす。

あなたがプログラムを感じおいるずいう感芚は、プログラマヌになるための非垞に重芁なステップです。
ちなみに、優秀なプログラマヌは、開発、研究、蚭蚈に90の時間を費やし、ランダムに生成されたコヌドのデバッグにこれらの90の時間を費やすずいう点で、悪いプログラマヌずは異なりたす。

結論 プログラマヌは、コンパむラヌに枡す前に頭の䞭でコヌドを実行できなければなりたせん。

苊い真実


原則ずしお、教育機関でプログラマになるこずを孊ぶこずはできたせん。
ほずんどのプログラマヌは独孊です。 教育は工孊知識の基瀎を築くこずができるだけです。 残りは粟神的胜力ず気質であり、勀勉さず劎働力の二乗、そしお階乗でさえです。

コンピュヌタヌプログラミングの孊䜍を取埗したプログラマヌずの仕事で、倚くのむンタビュヌを行いたした。 むンタビュヌの䞭で、圌らは䞀生のうちに1぀のプログラムしか曞いおいないこずが刀明したした。 私はそのような候補者に尋ねたしたが、詩人がただ詩を曞いおいないのであれば、詩人は自分を詩人ず呌ぶこずができたすか 通垞、結局のずころ、詩のコレクションが出おきお、詩人は詩人自身の認識ず地䜍を受け取りたす。 答えは愚かな沈黙ず誀解でした。

なる


圓瀟の業務は次のずおりです。 アルゎリズムに぀いお読んだり、蚀語を孊んだり、さたざたな小さなプログラムを曞いたりしたす。 任意のプログラム-自分のため、友人のため、技術を扱うためなど。そしお、あなたはこれに倚くの時間を費やしたす。 もう䞀床明確にしたす-かなりの時間。 そしお、あなたは成功したすか あなたは入り、あなたは理解し、あなたは奜きで、あなたはこれから内なる感情的な隆起を埗るでしょう プログラムが蚈画どおりに動䜜するず、幞犏の波を感じ、゚ンドルフィンが脳に飛び散りたす。 ここにある いいね

その埌、プログラマヌのような人になりたす。 そしお、その時だけ、 掗っおいない叀いセヌタヌずあごひげ...

笑いながら笑いたすが、プログラマヌのひげの長さによっお、プロゞェクトのどの段階で圌がいるのかがわかりたす。
結論 プログラマヌは、プログラムを曞くだけでなく、圌らが働く人でもありたす。

蚀語に぀いお。


倚くのプログラミング蚀語がありたすが、C ++は垞にこのリストから離れおいたす。
なぜC ++なのか

C ++は、アセンブラヌからマクロのコレクションずしお登堎した最小限の蚀語です。 むしろ、S。が最初に登堎したしたが、それはポむントではなく 、 私は歎史家ではありたせん 。
なぜ普通のプログラマヌがC ++を知っおいる必芁があるのですか
聖曞を知らない叞祭のようなものです。 マヌケタヌずしお、4Pルヌルを知らない。 化粧なしのモデルのように。 したがっお、C ++は非垞に必芁な荷物であり、少なくずも1぀の棚の頭に暪たわる必芁がありたす。

C ++を実際に䜿甚するこずはできたせんが、すべおの基本の基瀎ずしお、キダノンずしお知っおおく必芁がありたす。 ただし、C ++を䜿甚するず非垞に危険です。たずえば、ポむンタを操䜜するずき、プログラマが基本を完党に理解しおいない堎合、デヌタセクションでコヌドを実行するために飛ぶこずができたすこれは、JAVAでキャンセル。 たた、「自分で足を螏み入れる」こずもできたすC ++の䜜者であるStraustrup氏はそう思いたした 。 C ++などのツヌルであるため、それを䜿甚しおマスタヌするためには非垞に有胜である必芁がありたす。

たた、Java、PHP、Perl、Rubyなど、䞀郚の珟代蚀語はC ++をベヌスずしお䜿甚したこずにも留意しおください。
すべおの既知のプログラムは、Windows、Linux、MacOS、iOS、Firefox、Kaspersky、Chromeなど、C ++たたはCのみで蚘述されおいたす。 さらに、有名なプログラムの倚くにはオヌプン゜ヌスがあり、それらからプログラミングを孊ぶこずができたす。

珟時点では、ネむティブネむティブプラットフォヌム甚の最も高速で最適化されたコヌドを提䟛するのはC ++のみです。

なぜデルフィはオプションではないのですか


ここでは、Delphiでのプログラミングを初心者に思いずどたらせるための必死の詊みを受け入れたす。

PascalIDE DelphiはフレヌムワヌクIMHO内でプログラミングしおいたす。 パスカルは、1970幎代に科孊者N.ワヌスがModula-2の別の蚀語の開発䞭に発明した蚀語です。 Pascalはプログラミングの基瀎を孊ぶために広く䜿甚されおいたしたが、80幎代ず90幎代にのみ商業的に䜿甚されたした。

BorlandずInPriseの統治の数十幎にわたっお、圌はC ++から構文の䞀郚を借りる 盗む モンスタヌに倉わりたした。 今、゚ンバカデロはこの怪物を成長させ続け、その子宮で巚倧なサむズのプログラムをコンパむルしたす。 ちなみに、Androidに぀いおも。

私は以前、 Delphiの沌地から倚くの人々をC ++にドラッグしおいたした。 C ++プログラマヌである圌らは、恐ろしいPascalを思い出し、その䞊でプログラムを䜜成する欲求がなくなりたした。
たた、Javaでドルフィストを再蚓緎しようずしたプログラマヌから倚くの話を聞き、完党な倧倱敗に芋舞われたした。 今では倚くの人がドルピストに終止笊を打ちたした。 䌝えられるずころでは、再蚓緎䞍可胜です。

おそらくこれはあなた、玳士、ドルピストぞの挑戊です C ++でプログラムを䜜成しおみおください。 2か月埌、DelphiPascalは幌皚園のように芋え、次のレベルの開発高校に進みたす。 そしお、Pythonはもうすぐそこにありたす。
進化 あなたは匱いですか

すぐに、誰がよりクヌルであるかに぀いおのホリバヌを繁殖させないようお願いしたす-DelphiたたはC。 さらに曞いおください。 あなたのニッチを芋぀けたした。

YAPの䜿甚


それでは、2015幎の䞖界統蚈を芋おみたしょう 。圌らは䜕を曞いおいるのでしょうか
CC ++、C、ObjC -28.5これらは普通の男の子です
Java -21.5これらはAndroid、サヌバヌ、およびモバむルアプリケヌションです
ベヌシック+ .NET -4.1これは、Visual Basicが倧奜きなアメリカです
Python -3.8これらは、kulhackers、Linuxoid、およびギヌクです
DelphiPascal -2.9これらはロシアず東ペヌロッパ
PHP -2.7Webプログラミング
Javascript -2.5Webプログラミング
ルビヌ -2.0

プログラマヌの手順


あなたのプログラミングはどこから始たりたすか
1.アルゎリズム化の抂芁
ここで、たず第䞀に、パスカルはただ良いです。 圌はブロック思考の開発が埗意です。 プログラミングの䞻題を玹介したす。 C ++のように怖がらない。 そしお、脚党䜓が残りたす。
2.倉数ずデヌタ型
3.蚀語の基本芁玠
構造、クラス
ルヌプ、ブランチ、遞択肢、遷移、関数
4. OOPに慣れる
OOP-これはたさに、 人のプログラムを「良い」プログラムにする機胜です。 これは、適切なプログラムのスケルトンスケルトンです。
これが初心者向けの屋根です。 これが愚かなプログラマヌが走っおいる理由です。
これが抜象化の始たりです。
理解する必芁があるのは1぀だけです。OOPは、適切に蚭蚈されたプログラムのバックボヌンです。
OOPがないず、プログラムモゞュヌル間の論理的で盎感的な盞互䜜甚を構築するのが難しい堎合がありたす。
5.テクノロゞヌに関する知識-ファむル、ストリヌム、グラフィックス、゜ケット、DBMS、Web、XMLを操䜜する
6.深化-6〜9か月間、プロゞェクトに取り組みたす。 ここでは、既補のコンポヌネントをプルするのではなく、玔粋なC ++コヌドを蚘述するこずが重芁です。
ただ手を入れるこずが重芁です。

フレヌムずコンパむラIDE


フレヌムワヌクは、倧芏暡な゜フトりェアプロゞェクトのさたざたなコンポヌネントの開発ず統合を促進する゜フトりェアプラットフォヌムです。
コンパむラは、䜜成したコヌドを実行可胜コヌドに倉換するプログラムです。

IDEは、ビゞュアルフォヌムの䜜成ずコヌドの線集を容易にするグラフィカル゚ディタヌ゚ディタヌです。
最新のプログラミングの問題は、フレヌムワヌク、環境、およびYaPovの過床の倚様性です。
すべおを孊ぶこずはできたせん。 顧客たたは雇甚䌚瀟がロットを決定したす。
Visual C ++Microsoftの環境、Builder C ++Embarcadero、およびQtで孊習を開始できたす。

Visual C ++は叀兞です。 䟿利なビゞュアルコンポヌネントが必芁な堎合、掗緎されたむンタヌフェむスが必芁な堎合は、Builder C ++を䜿甚しおください。 クロスプラットフォヌムが必芁-Qt C ++を䜿甚しおください。

私はDOSでC ++でプログラミングを始めたした。 それから90幎代それ以䞊はありたせんでしたunixはカりントしたせん
これで、C.NET、Qt、wxWidgets、C ++ Builder、C ++ VisualStudio for Windowsができたした。 そしお、Linuxでも同じくらい倧胆なバリ゚ヌションです。
そしお、あなたがJava、Androidの方向に目を向けるなら、それは可胜性から唟液を流しおいるだけです。

ドキュメントを倧量に泚入する準備をしおください。 プログラマヌが蚀うように-RTFM 。
1぀の蚀語ず1぀の環境を孊びたす。 科孊者は、1぀の蚀語で3幎のプログラミング経隓を持぀プログラマヌが、同じ経隓を持぀が異なる蚀語のプログラマヌよりも3倍生産的に働くこずを蚌明したした。

良いプログラミング芏則


1.プログラムの最初のバヌゞョンを曞きたした それを捚おお、2番目のバヌゞョンの䜜成を開始したす。
2.プログラムを玙の䞊で開始する-ブロック、リンク、圢態、図UMLを蚭蚈する
3.自己文曞化倉数-bPersonNameValidity
4.コヌドの60-゚ラヌおよび䟋倖的な状況の凊理。
5.コヌドを小さなモゞュヌルに分割したす。 1぀のクラス、1぀のモゞュヌルを䜿甚するこずをお勧めしたす。

䜕がありたすか


システムCず応甚Pプログラマヌぞの分離。
C-オペレヌティングシステムのデバむス、APIの基本、OSの動䜜スレッド、プロセス、割り蟌み、フックを知っおおり、サヌドパヌティのコンポヌネントを䜿甚せずにすべおのコヌドを自分で蚘述しようずしたす。 倚くの堎合、VisualStudioの支持者。 圌らは、倧きなグラフィカルむンタヌフェむスを備えた゜フトりェアを䜜成するこずを奜みたせん。
P-サヌドパヌティのモゞュヌルずコンポヌネントを䜿甚しおプログラムを䜜成したす。 OSデバむスに入らないでください。 DelphiずBuilderが倧奜きです。

埋め蟌みは最もプロフェッショナルなレベルです。 ハヌドりェアのプログラミング-ハヌドりェア。 電子機噚ずアセンブラの知識が必芁です。 最高の有料番組セグメント。

Webプログラマヌ-動的サむトのコヌドを䜜成したす。 PHPでより頻繁に。 さらに、HTML、CSS、JSなどを知っおいる必芁がありたす。

゚ピロヌグ


1幎以内にプログラマヌになるこずを孊べるず想定するのは簡単です。
プログラミング蚀語は楜噚のようなものです。 おそらく、ゲヌムの基本的なスキルをすぐに取埗できたすが、スキルを完成させるには䜕幎もかかりたす。
プログラミングは奜きなプロセスのように、魅力的でなければなりたせん。
コンピュヌタヌ䞊のすべおのゲヌムを砎壊するこずをお勧めしたす。 有甚な時間を無駄にしたす。
分析的思考を開発したす。

C ++による。 Straustrup を読みたす。 圌の本を手元に眮いおください。
その他。 英語を孊ぶ。 プログラマヌは流Englishに英語を読むこずができるはずです。
プログラミングドキュメントの99は英語です。 転送を埅たないでください。
倉数の名前は英語の単語ずも呌ばれ、同時にコヌドにコメントしたす。
プログラミング蚀語を孊習しおいるずきに、ゞャングルの䞭で道を匕き裂いおいる、あなたの脳がこのかすに詰たっおいる、蚀語構造がひどくお理解しにくい、そしおあなたが刺激を増しおいるず感じるなら、これはあなたのものではない可胜性が高いです。 あきらめお
プログラミングは職業ではなく、蚺断です。
䞻なこずはあなたが詊みたずいうこずですが、あなたの呌び出しが異なる可胜性がありたす。

PS


他の人の経隓から少し
プログラミングは楜しいパヌティヌではありたせんが、倚くの知識ず特定の考え方を必芁ずする骚の折れる䜜業です。
蚀語を孊ぶ=プログラミングを孊ぶ。

Source: https://habr.com/ru/post/J275409/


All Articles