Una lingua per guvernà tutti

Ammucciata sottu à una strata di codice, una lingua languisce, brama d'amparà.

Una lingua per guvernà tutti

À sta scrittura, a quistione "programma quale lingua per amparà prima" torna 517 milioni di risultati di ricerca. Ognunu di sti siti lodarà una lingua specifica, è u 90% di elli finiranu per ricumandà Python o JavaScript.

Senza più preghjudiziu, mi piacerebbe andà in u registru cum'è dicendu chì tutti questi 517 milioni di siti web sò sbagliati è chì a lingua chì duvete amparà prima hè logica fundamentale.

Solu sapè à codificà ùn hè micca abbastanza. U mercatu hè cusì saturatu di graduate di istituti è corsi chì a pusizione junior hà praticamente cessatu di esiste *. Per successu in u mondu d'oghje, duvete sia codificà è avè un pensamentu logicu fundamentale avanzatu.

* in seguitu, ricordate chì questu hè una traduzzione, è a situazione nantu à u mercatu di u travagliu per l'autore è in u vostru paese pò esse sfarente (cum'è altre sfumature), chì, però, in sè stessu ùn peghju micca l'articulu originale - ca. traduzzione

A mo prima lezione di informatica

A mo prima esposizione à l'informatica hè stata una elettiva chì aghju pigliatu in u 10u gradu. U primu ghjornu, intrutu in l'aula, eru piacè di vede davanti à mè un gran numaru di buckets di ghjacciu è diversi toppings. Dopu chì tutti sò stati pusati, u maestru annuncia:

"Oghje tastàremu i gelati autopreparati. Ma cun una cundizione: duvete fà una lista di struzzioni specifiche nantu à cumu preparà u dessert, è i seguitaraghju ".

"Nisun prublema", aghju pensatu, "sta lezziò ùn serà micca longa". In un minutu o più aghju scrittu a ricetta perfetta per u gelato di i mo sogni:

  1. Scoop è mette trè scoops di ice cream lampone in una ciotola
  2. Aprite a salsa di cioccolatu è aghjunghje duie cullizzioni in u stessu tazzu
  3. Aghjunghjite a panna montata à a tazza
  4. Sprinkle it all with sugar sticks and put a cherry on top

U mo maestru - l'"urdinatore" in quella carina metafora - hà fattu un rendimentu più sarcasticu è litterale ch'e aghju mai vistu prima. Ella cuminciò à sferisce u bucket di gelato cù una scoop senza mancu toccu u coperchio.

"Va bè, va bè, ma prima avete bisognu à apre!" - aghju esclamatu, circandu di piglià u trattatu u più prestu pussibule.

"Ùn avete micca scrittu questu in l'istruzzioni, è ùn aghju micca pussutu fà un gelato. AVANTI!"

Avanzamu veloce per pruvà # 2

  1. Aprite u gelato di lampone togliendu a tapa
  2. Scoop è mette trè scoops di ice cream lampone in una ciotola
  3. Aprite a salsa di cioccolatu è aghjunghje duie cullizzioni in u stessu tazzu
  4. Aghjunghjite a panna montata à a tazza
  5. Sprinkle it all with sugar sticks and put a cherry on top

Ebbè, avà definitivamente ùn deve esse micca prublemi. In casu, aghju assicuratu chì tutti l'ingredienti per fà a mo capolavora culinaria eranu aperti.

U maestru hà sguassatu a tapa, scooped è pusò trè scoops di ghiaccio in una ciotola. "Finalmente, u mo bellu ghjacciu hà cuminciatu à esse vera!" Dopu apre a salsa di cioccolatu è aghjunghje dui cucchiai à a tazza. Ùn hà micca "aghjunghje a salsa di cioccolata da dui cucchiai" - ùn pensate micca cusì - ella, sicuru, mette i cucchiari stessi in a tazza. Nisuna salsa in elli. In novu, ùn aghju micca preoccupatu di scrive tuttu esattamente. Dopu chì u restu hè statu fattu in u stessu spiritu, aghju ricevutu una ciotola di ghjacciu è duie cullizzioni, appena notevuli sottu u mare di crema battuta. In cima c'era un paru di bastoncini di zuccaru.

Sembra chì in questu mumentu hè infine à mè: un urdinatore hè logica in u vacuum. Ùn hè micca cunnisciutu di e circustanze circundante è ùn face micca supposizioni. Esegue solu struzzioni chjaramente formulate è li seguita parolla per parolla.

U mo risultatu finali era u risultatu di una longa ma necessaria serie di prucessi è errori:

  1. Se ùn avete micca digià fattu, apre ognuna di i seguenti pacchetti: gelato di lampone, salsa di cioccolata, crema battuta, bastoncini di zuccaru.
  2. Pigliate una ciotola è mettela davanti à voi
  3. Pigliate una cullizzioni di gelato è mette trè scoops di ice cream raspberry unu à unu in una ciotola. Mettite a cullette di gelato in u locu.
  4. Pigliate un vasu di salsa di cioccolatu, scoop a salsa è pour u cuntenutu di una cucchiara in una tazza. Repetite u prucessu di scooping and pouring una volta più. Mettite a cucchiara è u vasu in u locu.
  5. Pigliate u pacchettu di crema battuta à l'inversu è, tenendu nantu à a tazza, pouru nantu à u ghjacciu per 3 seconde, è torna u pacchettu à u so locu.
  6. Pigliate un vasu di zuccheru, pour circa quaranta bastoni in una ciotola è rimette u vasu.
  7. Pigliate una cirasa da a tazza di ciliegie è mette nantu à u ghjacciu.
  8. Dà à u studiente una ciotola cù u ghjacciu finitu è ​​una cucchiara.

L'ultimu puntu era particularmente impurtante, perchè senza ellu, a penultima volta chì u maestru simpricimenti hà cuminciatu à manghjà u mo ghjacciu.

Ma questu hè u prugramma. U stress di creà un inseme attentu di struzzioni per un computer. Essenzialmente, questu hè ciò chì ogni lingua di prugrammazione si riduce - struzzioni di scrittura.

Carriera in prugrammazione

A prugrammazione hà righjuntu u puntu induve hè difficiule di discutiri cum'è una sola industria, cumu hè difficiule d'utilizà a sola parola "programatore" cum'è descrizzione di u travagliu. Dui sviluppatori ponu esse ugualmente in a dumanda di u mercatu, sapendu lingue completamente diverse, chì significa chì a capacità di sviluppà hè più impurtante chè a cunniscenza di una lingua specifica. Un attributu universale spartutu da tutti i sviluppatori di successu hè logica fundamentale.

U megliu programatore hè quellu chì hè capaci di vede u codice da un novu angulu. È questu hè fundamentalmente impurtante, perchè a maiò parte di i prudutti di u software sò una cullizzioni di frammenti non documentati di codice male. Hanu sempre bisognu à esse riuniti, cumpiendu i spazii quantu necessariu. E persone chì ùn sò micca capaci di cunnetta punti disparati cù una sola linea duveranu esse per sempre à u latu.

Tuttu chistu mi porta à un'altra dichjarazione, sta volta in grassu: a cunniscenza fundamentale hè sempre stata è serà di primura per un programatore.

Lingui vene è vanu. I quadri sò diventati obsoleti, è e cumpagnie rispundenu à a dumanda cambiendu a pila di tecnulugia chì utilizanu. Ci hè una cosa chì ùn cambierà mai? Iè - a cunniscenza fundamentale, chì hè chjamata fundamentale perchè sottu à tuttu!

Cumu migliurà a cunniscenza fundamentale

Una lingua per guvernà tuttiFoto di Christopher Jeschke nantu Unplays

Sè vo circate un puntu di partenza per migliurà u vostru pensamentu logicu fundamentale, pruvate à principià quì:

Sapete a cumplessità di u vostru prugramma

Chjamatu ancu Grande O "A cumplessità di l'algoritmu" si riferisce à a dependenza di u tempu necessariu per eseguisce un prugramma nantu à a dimensione di i so dati di input (n). Mantene u to dettu nantu à u pulsu di l'algoritmi utilizati hè un passu impurtante.

Sapete e vostre strutture di dati

Strutture di dati sò in u core di ogni prugramma mudernu. Sapendu quale struttura aduprà in quale casu hè una disciplina in u so dirittu. E strutture di dati sò direttamente ligati à a cumplessità di u runtime, è a scelta di a struttura sbagliata pò purtà à prublemi di rendiment fundamentali. Truvà un elementu in un array hè O (n), chì indica l'altu costu di utilizà arrays cum'è dati di input. Ricerca di tavulinu Hash - O (1), chì significa chì in questu casu u tempu per circà un valore ùn dipende micca di u numeru di elementi.

A ghjente hè ghjunta à mè per una entrevista è hà dichjaratu chì a ricerca à traversu un array era più veloce di a ricerca in una tavola hash. Questu era u segnu più sicuru chì ùn avete micca ingaghjatu - cunnosce e vostre strutture di dati.

Leghjite / fighjate / ascolta

Siti cum'è UdemyPluralsight и CodeAcademia - Una scelta eccellente per amparà novi lingue di prugrammazione. Ma per i principii, cunsultate libri nantu à i principii di codificazione generale, pratiche è stili. I libri più cunsigliati sò "Modelli di Design", "Refactoring". Migliurà u codice esistenti, "Codice Perfettu", "Codice Pulito" è "Programmatore Pragmatista". Infine, ogni sviluppatore deve tene una copia di "Algoritmi"a manu.

Pratica!

Ùn pudete micca coce ova scrambled senza rompe l'ova. Siti cum'è HackerRankCodeWarsCoderByte, TopCoder и LeetCode offre migliaia di puzziche interessanti per pruvà a vostra cunniscenza di strutture di dati è algoritmi. Pruvate a vostra furtuna per risolve un prublema chì ti piace, postà a vostra suluzione in Github, è poi vede cumu l'altri si avvicinavanu. Chì ci porta à l'ultimu puntu:

Leghjite u codice di l'altri

U più grande sbagliu chì pudete fà quandu si scende in a strada di u sviluppu hè di andà solu. U sviluppu di software hè largamente un sforzu di squadra. Creemu standard inseme, sbagliemu inseme è, malgradu tutti i fallimenti, diventemu megliu inseme. U tempu passatu à leghje u codice di l'altri pò esse pagatu bè. Solu assicuratevi chì u codice hè bonu.

Ebbè, u megliu cunsigliu chì possu dà hè di ùn esse mai vergogna chì ùn sapete micca qualcosa. Comu hè digià dettu, a nostra industria hè tamanta è a quantità di tecnulugia hè infinita. Ci vole assai tempu è sforzu per custruisce una stampa generale, ancu più per diventà un prufessiunale in qualcosa di specificu, è un ordine di grandezza più per affinà e vostre cumpetenze in u vostru campu. Vi faraghju sapè quandu aghju realizatu questu stessu.

Source: www.habr.com

Add a comment