Ce programatori

Probabil că fiecare programator Există situații în care destul de familiarizat cu oamenii pe care ii ia cerut să explice ce este esența unui membru al profesiei sale. Sa întâmplat că cei mai mulți oameni au noțiunea de „programator“ este asociat cu un închis tocilar cu ochelari și un pulover, sau cu unele genial hacker adolescent cu ochi roșii - dar nimeni nu știe exact ce face el.

Ce programatori

Cum să le spun despre ea, fără să sperii termeni înfricoșătoare și fragmente de cod?
Să citesc o poveste puțin, și demitiza unele mituri despre programare.

  • Mitul # 1: Programatorul lucrează cu calculatoare
  • Mitul # 2: Aparatul este capabil să gândească
  • Mitul # 3: Limbajul de programare este necesară pentru elaborarea algoritmilor
  • Mitul # 4: programare - este plictisitor

- Ce fac programatorii? Nu este atât de ușor să-i spun ... Răspunde-mi mai întâi: cum două cuvinte pot descrie, de exemplu, esența profesiei de chirurg?
- Chirurgul efectuează o intervenție chirurgicală.
- Da, o descriere mare! Ei bine, să zicem, un jucător de fotbal?
- joacă fotbal!
- Da, dar chirurgul „implicat în chirurgie.“ Și dacă nici un cuvânt o rădăcină?
- lovind o minge?
- Asta-i sigur. Și ce face un programator, dar pentru a „dezvolta un program“?
- ...
- Programatorul scrie cod. Codul sursă al programului elaborat la un limbaj de programare specială. Mai precis, în primul rând, el crede ca structura datelor lor, atunci algoritmul este de a lucra cu aceste structuri - bine, și apoi prezintă sub forma unui cod.
- Ce este o „structură de date“? Oare nu el reușește computerul, nu faceți clic pe?
- Eh ...

Din anumite motive, un număr considerabil de oameni au crezut de fapt, în cazul în care computerul are unele informații. De fapt, - aceasta este doar un set de fiare care nu sunt în măsură să se gândească. Ele pot stoca numai date numerice. Demagnetized unele porțiuni dintr-o bucată de fier - prin urmare, acesta este zero. Magnetizate - unitate. În plus, cu atât mai mult se pot adăuga și scădea aceste unități, formând un număr complex (un sistem binar este mai bine să nu merită menționat). Mai mult decât calculatorul în sine nu poate face nimic, stoca și manipula doar numere. Acest idiotul lipsit de rațiune care efectuează numai echipa programator.

- În general, orice cod de program este un set de comenzi, iar calculatorul le execută cu indiferență.
- Asta este, el nu înțelege esența comenzilor ei înșiși? Dar el vede textul pe care de tip I de pe ecran?
- Când te pedalare pe o bicicletă - dacă înțelege că el trebuie acum să meargă mai departe?
- Nu, dar apoi el merge. Ca circuitul său se transformă în timpul pedalării roților de rotație.
- Exact! De asemenea, calculatorul convertește textul introdus într-un set de numere.
- Cum?
- Fiecare personaj are propriul său text un cod numeric, care cunoaște calculatorul. Aceasta se numește codificare. De exemplu, în limba engleză «o» codat numărul 97, iar semnul de egalitate - numărul 61.
- Prin urmare, aparatul și poate înțelege textul, pe care l-am raporta?
- Nu, „înțelege“ nici un sens. Și singurul mod în care textul este stocat, și cum să-l contacteze.
- Deci, mai întâi vom introduce textul, apoi calculatorul se rupe în caractere, și fiecare caracter este deja sub forma?
- Corect. Structurile complexe sunt reprezentate ca fiind mai simplu. și că „înțelege“ mașina.

- Spune-mi, ce este într-o casă?
- Păi ... De la podele.
- Și ce constituie podelele? Și așa mai departe.
- Etaje - de la pereți. Un perete - cărămizi. Și cărămizi ...
- Aici sunt numerele pentru calculator - este aceeași cu cea a cărămizilor pentru casa. Simboluri - acest zid. propuneri separate - etaje. O carte - toată casa! Dar programatorii au un avantaj față de constructori.
- Salariul?
- Nu numai. Generatorul nu se poate construi un întreg etaje, el are întotdeauna să se stabilească cărămizi. Chiar dacă o macara grele îi va permite să construiască un etaje complet, el nu va fi capabil să construiască casele lor întregi sau zone rezidențiale. Un programator poate! După ce a „antrenat“ pentru a înțelege masina un text final - care, de fapt, el a „învățat“ macara gata de a construi o casă într-un singur pas.
- Asta este, programator poate utiliza structuri de date mai multe și mai complexe?
- Da. Prin urmare, prima componentă a activității sale - de a prezenta date umane prietenoase (text, imagine, sunet) ca uniunea dintre un simplu de date, este clar computerul. Dezvoltator practic „de la zero“ este o structură care trebuie să descrie pe deplin lucru care poate fi citit-uman - și, astfel încât această structură a fost ușor să se extindă și schimbare (pentru că programul de multe ori pentru a face unele caracteristici noi).
- Heh! Se pare că el este construirea unei case din panouri detașabile de cauciuc!
- Aproximativ. Cu toate acestea, cu atât mai mult el va trebui să descrie nu numai ceea ce are nevoie pentru a construi - dar, de asemenea, modul în care este construit. Asta este, de a veni cu un algoritm. Aceasta este a doua componentă a operei sale.
- Programatorul vine cu un algoritm pentru fiecare acțiune?
- Exact. Prin urmare, algoritmi de a obține foarte mult. Dar treaba lui este mai ușor faptul că unele acțiuni pot conține alte deja le-a descris mai devreme.
- Aici el vine în ajutorul unui limbaj de programare?
- Nu chiar ...

Nu, limba - este doar un instrument. Ca o chitară pentru un muzician. În sine, capacitatea de a juca chitara nu garantează glorie - pentru că oamenii sunt, în general, admirat de muzica în sine, mai degrabă decât capacitatea de a a trage rapid și precis corzile. Pe de altă parte, aproape nimeni nu va veni să se uite la chitarist rău, indiferent de ce un cântec minunat, el nu a efectuat. De asemenea, cu PL: cunoașterea sintaxei sale și nuanță conexe este foarte important, precum și capacitatea de a scrie cod frumos și clar. Cu toate acestea, în cazul în care o persoană nu este în măsură să facă algoritmii și structurile de date - aceasta nu poate fi numit un programator bun.

Calculatorul nu înțelege în mod direct limba. Ca și mai înainte, reprezintă fiecare limbaj de comandă ca un set de „simplu“ (număr de magazin, numărul de zero, adăugați o să-l) instrucțiuni care este capabil să-și îndeplinească. „Înțelegerea“ limba de programator și mașina este nevoie numai. De fapt, orice limbaj de programare - un set de comenzi care sunt folosite pentru a comunica cu ea.

- Este adevărat că multe dintre limbajele de programare actuale deja conțin „un“ set de algoritmi pre-proiectate cu care un dezvoltator poate folosi ca de-a gata. Prin urmare, limba este încă un pic mai ușor procesul de elaborare a algoritmilor.
- Asta este, în cazul în care un programator a făcut unele algoritm, se poate utiliza apoi celălalt?
- Da, și acest lucru se întâmplă tot timpul. Acesta este unul dintre motivele pentru industria IT este în curs de dezvoltare atât de repede. Cu toate acestea, noi algoritmi trebuie să fii tu însuți.
- A fost unii chiar acum!
- Ușor. Un exemplu clasic: aveți o carte, 1000 de pagini în ea. Ai nevoie să-l deschidă, de exemplu, pagina 875-lea. Cum ai face-o?
- Ei bine, doar a alerga de la prima până la 875-lea, asta e tot.
- Da, și trebuie să se uite la numărul fiecărei pagini. Și imaginați-vă dacă toate colțurile lor blocat - atunci cât de mult timp va trece? Și asta e suficient pentru mine pentru a rezolva doar 3 pagini!
- Cum?
- În primul rând, voi alege o pagină care se află în mijlocul cărții, care este 500th. Atunci o privire: în unele dintre cele două jumătăți rezultate ar trebui să obțineți pagina dorită?
- în al doilea. Și apoi ce?
- Același lucru. Intervalul de la 500 mii la 1000 mii din nou, voi împărtăși în jumătate, deschizând o pagină centrală. Acesta va varia de la pagina 750-lea la 1000a, în el, voi alege din nou centru. Care este numărul?
- 750, plus 125 ... Deci, este 875!
- Vezi tu. Doar 3 pasi! Chiar dacă nu sunt în întregime corecte atunci când aleg o pagină centrală, eu încă mai găsesc corectă mult mai repede decât tine. Acest algoritm se numește „dihotomia“. Cu toate că, în realitate, programatorii folosesc o mult mai sofisticate algoritmi.
- Și puteți scrie pe hârtie?
- Bineînțeles. Unde este stiloul meu acolo?

- Ei bine, algoritmul este clar?
- Hmm ... Da, într-adevăr clar.
- Acum este scris în formă, deja ușor similar cu codul reale.
- Și care este diferența?
- toate Real-cuvinte de cod vor fi scrise în limba engleză, și va avansa pentru a descrie structura unei „carte“ (amintiți-vă ce am vorbit despre structura de date mai devreme?). În plus, pentru acțiunile „cauta“ si „elimina“ algoritmii lor vor fi, de asemenea, elaborate. Dar, în general - toate la fel.
- Și tu faci asta in fiecare zi?
- Practic.
- Nu Te-ai plictisit?
- Deloc!

Desigur, dezvoltarea este destul de plictisitor, în cazul în care se ocupe doar cu treburile de rutină și monoton. De exemplu, desen un foarte simplu algoritmi, dar în cantități mari. Sau vina monotonă a găsi codul altcuiva. Dar același lucru este valabil pentru orice alt lucru - rutina ucide întotdeauna procesul creativ. O mulțime de creativitate în programare, cum ar fi scrierea de cod scris o carte de ficțiune. Numai, spre deosebire de cei mai mulți scriitori, un programator în primul rând, el creează propria sa lume (structuri de date) - și numai apoi umple intriga (algoritmi).

Regulile școlare 1872

45 reguli frivole ale limbii române

articole similare