Mit programozók
Valószínűleg minden programozó Vannak helyzetek, amikor elég jól ismerte az IT embereket arra kérte, hogy elmagyarázza, mi a lényege egy tagjának hivatása. Úgy történt, hogy a legtöbb ember fogalmát „programozó” társul egy zárt stréber szemüveg és egy pulóvert, vagy néhány ragyogó vörös szemű tinédzser hacker - de senki sem tudja pontosan, hogy mit csinál.
Hogyan mondd el nekik róla, anélkül, hogy ijeszteni ijesztő kifejezések és kódrészletek?
Nézzük egy kicsit olvasni a történetet, és lebontják néhány mítoszt programozás.
- 1. tévhit: A programozó dolgozik a számítógépek
- 2. tévhit: A gép képes gondolkodni
- 3. tévhit: A programozási nyelv kidolgozásához szükséges algoritmusok
- 4. tévhit: programozás - ez unalmas
- Mit jelent a programozók? Ez nem olyan könnyű megmondani ... Felelj első: hogyan két szót leírni, például a lényege a szakma a sebész?
- A sebész műtét.
- Igen, egy jó leírás! Nos, mondjuk, egy focista?
- focizni!
- Igen, de a sebész „foglalkozó műtét.” És ha senki sem gyökér szó?
- rugdossa a labdát?
- Ez biztos. És mit csinál egy programozó, de „egy olyan program”?
- ...
- A programozó írja kódot. A forráskód a program kidolgozott speciális programozási nyelv. Pontosabban az első, azt hiszi, a szerkezet az adatokat, akkor az algoritmus, hogy működjön együtt e struktúrák - is, majd bemutatja azt a formáját egy kódot.
- Mi az a „adatszerkezet”? Nem sikerül a számítógépet, ne kattints?
- Eh ...
Valamilyen oknál fogva, jelentős számú ember valóban hittek, ha a számítógép némi intelligencia. Valójában - ez csak egy sor vasaló, amelyek nem képesek gondolkodni. Ők csak tárolni a numerikus adatokat. Demagnetizált egy része egy darab vas - így, ez nulla. Mágnesezett - egység. Plusz, annál inkább képes összeadni és kivonni ezeket az egységeket, amely egy komplex szám (bináris rendszer jobb nem érdemes megemlíteni). Több, mint maga a számítógép nem tud semmit, csak tárolni és manipulálni számokat. Ez agyatlan idióta, aki csak végzi a programozó csapat.
- Általában minden programkód egy sor parancs, és a számítógép végrehajt értetlenül.
- Azaz, hogy nem érti a lényegét a parancsok magukat? De látja a szöveget, hogy azt írja a képernyőn?
- Amikor pedálozás egy bicikli - ha megérti, hogy ő most szükségünk, hogy menjen előre?
- Nem, de aztán megy. Ahogy a kör alakítja pedálozni forgás közben a kerekek.
- Pontosan! Továbbá, a számítógép átalakítja a beírt szöveg egy számsor.
- Hogyan?
- Minden egyes karakternek megvan a saját szövegét egy számkód, aki ismeri a számítógépet. Ez az úgynevezett kódolás. Például az angol «a» kódolt szám 97, és az egyenlőségjel - 61-.
- Ezért a gépet, és meg tudja érteni a szöveget, amit jelentse?
- Nem, ez „megérti” nincs értelme. És az egyetlen módja, amelyben a szöveg tárolása, és hogyan lehet kapcsolatba lépni vele.
- Szóval, először írja be a szöveget, majd a számítógép lebontja karakterek, és minden karakter már a forma?
- Rendben. Összetett szerkezetek vannak ábrázolva egyszerűbb. és hogy „megérti” a gépet.
- Mondd, mi van a házban?
- Hát ... a padlóról.
- És mit jelent az emeleten? És így tovább.
- szintjei - a falakon. A fal - tégla. És a tégla ...
- Itt vannak a számok a számítógép - ez ugyanaz, mint a tégla a ház felé. Szimbólumok - ezt a falat. Külön felhívás - emeleten. A könyv - az egész házat! De a programozók előnyt élveznek építők.
- A fizetés?
- Nem csak. Az építő nem lehet építeni egy egész emelet, mindig kell megállapítania tégla. Még ha egy nagy teherbírású daru lehetővé teszi számára, hogy építsenek egy teljes emelet, nem lesz képes építeni az egész lakás, vagy lakott területeken. A programozó! Egyszer ő „képzett”, hogy megértsék az autó végleges szöveg -, hogy valójában, hogy „tanította” daru kész építeni egy házat egy lépésben.
- Azaz, a programozó használhatja egyre bonyolultabb adatszerkezetek?
- Igen. Ezért az első eleme a munkáját - a közölt emberbarát adatok (szöveg, kép, hang), mint az unió egyszerű adat, egyértelmű, hogy a számítógépet. Fejlesztő gyakorlatilag „a semmiből” egy olyan szerkezet, meg kell teljesen leírni emberi olvasásra dolog -, és hogy ez a struktúra volt könnyű bővíteni és változás (mert a program gyakran, hogy néhány új funkciót).
- Heh! Kiderül, hogy ő épít egy házat gumi kivehető panel!
- Kb. Azonban minél több ő lesz nem csak leírni, mit kell építeni -, de azt is, hogyan épül. Azaz, hogy dolgozzon ki egy algoritmust. Ez a második eleme a munkáját.
- A programozó jön fel egy algoritmus minden egyes fellépés?
- Pontosan. Ezért algoritmusok kap nagyon. De a dolgát az, hogy egyes intézkedéseket tartalmazhat más már leírta őket korábban.
- Itt jön a támogatás egy programozási nyelv?
- Nem igazán ...
Nem, a nyelv - ez csak egy eszköz. Mint egy gitárt zenész. Önmagában a képesség, hogy gitározni nem garantálja dicsőség -, mert az emberek általában megcsodálták a zene maga, hanem a képesség, hogy gyorsan és pontosan, hogy húzza a szálakat. Másrészt, szinte senki sem jönne, hogy nézd meg a rossz gitáros, nem számít, milyen csodálatos dal, ő nem teljesítenek. Továbbá, PL: a tudás a szintaxis és a kapcsolódó árnyalat nagyon fontos, valamint az a képesség, hogy írjon szép és tiszta kódot. Azonban, ha a személy nem képes arra, hogy az algoritmusok és adatszerkezetek - ez nem nevezhető egy jó programozó.
A számítógép nem érti a nyelvet közvetlenül. Mint korábban, ez jelenti minden parancs nyelvet, mint egy sor „egyszerű” utasítás (üzletek száma, a szám nulla, adjunk hozzá egy rá), hogy képes teljesíteni. „Megérteni” a nyelv a programozó és a készülék csak úgy. Tény, hogy bármilyen programozási nyelv - egy sor parancs, hogy lehet kommunikálni vele.
- Igaz, hogy sok a jelenlegi programozási nyelvek már tartalmaznak „a” meghatározott, előre megtervezett algoritmus, hogy egy fejlesztő használja, mint a kész. Ezért nyelv még mindig egy kicsit könnyebb a kidolgozási folyamatának algoritmusok.
- Azaz, ha egy programozó tett néhány algoritmus, akkor majd a másikat?
- Igen, és ez történik minden alkalommal. Ez az egyik oka annak, hogy az IT-ipar fejlődik olyan gyorsan. Azonban az új algoritmusok kell magad.
- Egy voltak, most!
- Egyszerű. A klasszikus példa: van egy könyv, 1000 oldalas benne. Meg kell nyitni, például a 875-ik oldalon. Hogyan tennéd?
- Nos, csak fut az első 875 th, ennyi az egész.
- Igen, és van, hogy nézd meg a számot minden oldalon. És képzeld el, ha minden sarkából beragadt - akkor mennyi idő telik el? És ez nekem elég arra, hogy csak 3 oldal!
- Hogyan?
- Először is, én kiválaszt egy olyan oldalt, amely a közepén a könyv, amely 500.. Akkor vessen egy pillantást: egyes kapott felét kell, hogy a kívánt oldalon?
- a második. És akkor mi van?
- Az ugyanaz. Az intervallum 500 th 1000 én újra fogom osztani a felére, megnyitva egy központi oldalon. Ez terjedhet 750-ik oldalon a 1000., benne fogok választani a központ újra. Mi az a szám?
- 750 plusz 125 ... Tehát ez 875!
- Látod. Csak 3 lépésben! Még ha nem vagyok teljesen pontos, amikor kiválasztják a központi oldalon, még mindig nem találja a megfelelő sokkal gyorsabb, mint te. Ez az algoritmus az úgynevezett „kettősség”. Bár a valóságban, a programozók használják sokkal összetettebb algoritmusokat.
- És akkor írd le papírra?
- Természetesen. Hol a toll ott?
- Nos, az algoritmus világos?
- Hmm ... igen, tényleg tiszta.
- Most meg van írva az űrlapot, már kissé hasonlóan a valós kódot.
- És mi a különbség?
- Valós kódszavak lesz írva angolul, majd előre, hogy leírja a szerkezet egy „könyv” (emlékszem, mit beszélt a korábbi adatok szerkezete?). Plusz, az intézkedések a „keres”, és az „eltávolítás” algoritmusok is kell készíteni. De általában - mindegy.
- És ezt minden nap?
- Alapvetően.
- Nem unod?
- Egyáltalán nem!
Természetesen a fejlődés elég unalmas, ha csak azokkal a rutin és a monoton házimunkát. Például, rajz egy nagyon egyszerű algoritmust, de nagy mennyiségben. Vagy monoton hibakeresés valaki másnak a kódját. De ugyanez vonatkozik minden más munka - rutin mindig megöli a kreatív folyamat. Sok kreativitás programozás, kód írása, mint az írás fikció könyvet. Csak, ellentétben a legtöbb író, programozó első, aki létrehozza a saját világában (adatszerkezetek) - és csak akkor tölti be plot (algoritmusok).
Iskolai szabályok 1872
45 frivol szabályok a magyar nyelv