Kuidas peaksin õppima programmeerimist, kui minu eesmärk on ainult mõista, kuidas asjad toimivad?


Vastus 1:

Programmeerimise õppimine seisneb tegelikult programmide toimimise õppimises ja programmid on vaid üks osa tänapäevasest kübermaailmast. Kui soovite õppida, kuidas võrkude ja arvutite ning pilvede üldine maailm töötab, on teil ees pikk tee ja programmeerimise õppimine on sellest vaid üks väike osa. Jämedas järjekorras ja tõenäoliselt puuduvad paljud asjad, mida peate katma:

  • tahkisfüüsika, sealhulgas pooljuhid
  • transistorid
  • transistoridele ehitatud loogikaväravad
  • kiibi disain, sealhulgas ajastus, registrid, ALU-d (kas neid ikka on ?!), erinevat tüüpi mälukiibid.
  • masina kood ja monteerija kood
  • arvuti arhitektuur, sealhulgas erinevad alamsüsteemid ja kiibid ning kuidas nad omavahel räägivad.
  • USB ja muud protokollid, mida süsteemi erinevad osad kasutavad omavahel rääkimiseks
  • Ethernet
  • IPv4 ja IPv6 (kahjuks pole täna muid tõsiselt kasutatavaid protokolle ...)
  • BGP ja muud protokollid, mis võimaldavad IPv4 / 6-l töötada kogu maailmas
  • Operatsioonisüsteemid. Nii lühiajaline, nii suur väli ...
  • Virtuaalsed masinad ja kuna need on nüüd moes, konteinerid.
  • Sel hetkel võite hakata õppima programmeerimiskeelt või kolme.

Kuhu te pärast seda lähete, on teie otsustada - kui soovite teada, kuidas ettevõtted nagu Google ja Facebook töötavad, võite hakata otsima andmebaase ja suurandmeid; kui soovite aru saada, kuidas veeb töötab, võite hakata uurima HTML-i ja http-i ning see viib teid julgeoleku- ja krüptimistehnoloogiatesse, nagu SSL ja võtmepaarid. Ja muidugi ei tohiks te pilvi vahele jätta.

Selle kõige mõistmiseks piisavalt põhjaliku õppimiseks kulub minu hinnangul neli kuni kuus aastat (st see on kuskil bakalaureuse- või magistrikraadi vahemikus). Kõigis neis valdkondades piisavalt kogemuste saamine toimuva mõistmiseks võib võtta umbes kümne aasta.

Siin on tõeline takerdumine see, et kübermaailm on keeruline. Peate mõtlema, mida mõtlete "asjade toimimise" mõistmise all. Hea uudis on see, et kübermaailm on väga kihiline - saate aru IPv4-st, mõistmata, kuidas signaalid mööda juhtmeid liiguvad või kuidas arvutid mõlemas otsas neid signaale saadavad; saate IP-st aru saamata aru IP-st; saate andmebaasidest aru ilma, et saaksite palju aru, millele need on üles ehitatud. Ainult ühe väikese osa, nagu programmeerimine, õppimine ei anna teile siiski palju teavet maailma toimimisest, samamoodi nagu sõidu õppimine ei anna teile palju teavet sisepõlemismootori toimimise kohta.

Nii et siin on, mida peaksite tegema: valige midagi, mida soovite õppida, ja googleige seda. Seejärel järgige seda, kuhu teid viib. Õnn kaasa ja toredat olemist!