Una llengua per governar-los a tots

Amagat sota una capa de codi, un llenguatge languideix, anhelant ser après.

Una llengua per governar-los a tots

En el moment d'escriure aquest article, la consulta "programar quin llenguatge s'ha d'aprendre primer" retorna 517 milions de resultats de cerca. Cadascun d'aquests llocs elogiarà un llenguatge específic i el 90% d'ells acabarà recomanant Python o JavaScript.

Sense més preàmbuls, m'agradaria deixar constància que dic que tots aquests 517 milions de llocs web estan equivocats i que l'idioma que hauríeu d'aprendre primer és lògica fonamental.

No n'hi ha prou amb saber codificar. El mercat està tan saturat de graduats d'instituts i cursos que pràcticament ha deixat d'existir la plaça de júnior*. Per tenir èxit en el món actual, heu de codificar i tenir un pensament lògic fonamental avançat.

*A partir d'ara, recordeu que es tracta d'una traducció i que la situació del mercat laboral de l'autor i del vostre país pot ser diferent (així com altres matisos), la qual cosa, però, per si sol no empitjora l'article original - aprox. traducció

La meva primera lliçó d'informàtica

La meva primera exposició a la informàtica va ser una assignatura optativa que vaig fer a 10è grau. El primer dia, entrant a l'aula, vaig estar encantat de veure davant meu un gran nombre de galledes de gelats i diferents complements. Un cop tots asseguts, el professor va anunciar:

“Avui tastarem gelats d'elaboració pròpia. Però amb una condició: heu de fer una llista d'instruccions específiques sobre com preparar les postres, i les seguiré”.

"Cap problema", vaig pensar, "aquesta lliçó no serà llarga". Al cap d'un minut més o menys havia anotat la recepta perfecta per al gelat dels meus somnis:

  1. Agafeu i poseu tres cullerades de gelat de gerds en un bol
  2. Obriu la salsa de xocolata i afegiu dues cullerades al mateix bol
  3. Afegiu la nata muntada al bol
  4. Espolseu-ho tot amb palets de sucre i poseu-hi una cirera per sobre

El meu professor, l'"ordinador" d'aquesta bonica metàfora, va fer una actuació més sarcàstica i literal del que havia vist mai abans. Va començar a ficar amb zel la galleda del gelat amb una cullera sense ni tan sols tocar la tapa.

"D'acord, d'acord, però primer has d'obrir-lo!" -vaig exclamar, intentant rebre la delícia el més ràpid possible.

"No vas escriure això a les instruccions i no et vaig poder fer un gelat. PRÒXIM!"

Avancem ràpidament per intentar el número 2

  1. Obriu el gelat de gerds traient la tapa
  2. Agafeu i poseu tres cullerades de gelat de gerds en un bol
  3. Obriu la salsa de xocolata i afegiu dues cullerades al mateix bol
  4. Afegiu la nata muntada al bol
  5. Espolseu-ho tot amb palets de sucre i poseu-hi una cirera per sobre

Bé, ara definitivament no hi hauria d'haver cap problema. Per si de cas, em vaig assegurar que tots els ingredients per fer la meva obra mestra culinària estiguessin oberts.

El professor va treure la tapa, va treure i va posar tres cullerades de gelat en un bol. "Finalment, el meu bell gelat ha començat a fer-se realitat!" Després va obrir la salsa de xocolata i va afegir dues cullerades al bol. Ella no va "afegir salsa de xocolata de dues cullerades" - no ho creieu - ella, per descomptat, va posar les culleres al bol. Sense salsa en ells. De nou, no em vaig molestar en escriure-ho tot exactament. Després de fer la resta amb el mateix esperit, vaig rebre un bol de gelat i dues cullerades, amb prou feines perceptibles sota el mar de nata muntada. A sobre hi havia un parell de paletes de sucre.

Sembla que en aquest moment per fi em vaig adonar: un ordinador és lògica en el buit. No és conscient de les circumstàncies que l'envolten i no fa suposicions. Només realitza instruccions clarament formulades i les segueix paraula per paraula.

El meu resultat final va ser el resultat d'una llarga però necessària sèrie de proves i errors:

  1. Si encara no ho heu fet, obriu cadascun dels paquets següents: gelat de gerds, salsa de xocolata, nata muntada, barres de sucre.
  2. Traieu un bol i poseu-lo davant vostre
  3. Agafeu una cullerada de gelat i poseu tres cullerades de gelat de gerds una a una en un bol. Torneu a posar la cullera del gelat al seu lloc.
  4. Agafeu un pot de salsa de xocolata, treu la salsa i aboqui el contingut d'una cullerada en un bol. Repetiu el procés d'abocament i abocament una vegada més. Torneu a posar la cullera i el pot al seu lloc.
  5. Agafeu el paquet de nata muntada cap per avall i, subjectant-lo sobre el bol, aboqueu-lo sobre el gelat durant 3 segons, i després torneu el paquet al seu lloc.
  6. Agafeu un pot de bastonets de sucre, aboqueu-hi unes quaranta barres en un bol i torneu a posar el pot.
  7. Agafeu una cirera del bol de cireres i poseu-la a sobre del gelat.
  8. Doneu a l'alumne un bol amb el gelat acabat i una cullera.

L'últim punt va ser especialment important, perquè sense ell, la penúltima vegada que el professor es va posar a menjar el meu gelat.

Però això és programació. L'estrès de crear un conjunt acurat d'instruccions per a un ordinador. Essencialment, això és el que es redueix a tots els llenguatges de programació: escriure instruccions.

Carrera en programació

La programació ha arribat al punt en què és difícil discutir com a indústria única, de la mateixa manera que és difícil utilitzar la paraula "programador" com a descripció de la feina. Dos desenvolupadors poden ser igualment demandats pel mercat, coneixent idiomes completament diferents, la qual cosa significa que la capacitat de desenvolupar-se és més important que el coneixement d'un llenguatge específic. Un atribut universal compartit per tots els desenvolupadors d'èxit és lògica fonamental.

El millor programador és aquell que és capaç de mirar el codi des d'un nou angle. I això és fonamentalment important, perquè la majoria de productes de programari són una col·lecció de fragments no documentats de codi dolent. S'han de reunir constantment, omplint els buits segons sigui necessari. Les persones que no poden connectar punts dispars amb una sola línia hauran d'estar sempre al marge.

Tot això em porta a una altra declaració, aquesta vegada en negreta: El coneixement fonamental sempre ha estat i serà primordial per a un programador.

Les llengües vénen i van. Els marcs estan quedant obsolets i les empreses responen a la demanda canviant la pila tecnològica que utilitzen. Hi ha alguna cosa que mai canviarà? Sí, el coneixement fonamental, que s'anomena fonamental perquè subjau a tot!

Com millorar els coneixements bàsics

Una llengua per governar-los a totsFoto de Christopher Jeschke en Unsplash

Si busqueu un punt de partida per millorar el vostre pensament lògic fonamental, proveu de començar aquí:

Coneix la complexitat del teu programa

També anomenat Gran O La "complexitat de l'algoritme" es refereix a la dependència del temps que triga a executar un programa de la mida de les seves dades d'entrada (n). Mantenir el dit al pols dels algorismes que s'utilitzen és un pas important.

Coneix les teves estructures de dades

Les estructures de dades es troben al cor de cada programa modern. Saber quina estructura utilitzar en quin cas és una disciplina per si mateixa. Les estructures de dades estan directament relacionades amb la complexitat del temps d'execució, i escollir l'estructura incorrecta pot provocar problemes fonamentals de rendiment. Trobar un element en una matriu és O (n), que indica l'alt cost d'utilitzar matrius com a dades d'entrada. Cerca de taula hash − O (1), que vol dir que en aquest cas el temps per buscar un valor no depèn del nombre d'elements.

La gent va venir a mi per a una entrevista i va afirmar que cercar a través d'una matriu era més ràpid que buscar a través d'una taula hash. Aquest era el senyal més segur que no hauríeu de contractar-los: coneixeu les vostres estructures de dades.

Llegir / mirar / escoltar

Llocs com UdemyPluralsight и CodeAcademy - Una opció excel·lent per aprendre nous llenguatges de programació. Però per als conceptes bàsics, consulteu llibres sobre principis generals de codificació, pràctiques i estils. Els llibres més recomanats són “Patrons de disseny”, “Refactorització. Millora del codi existent, "Codi perfecte", "Codi net" i "Programador pragmàtic". Finalment, cada desenvolupador hauria de conservar una còpia del "Algorismes" a la mà.

Practica!

No es poden cuinar ous remenats sense trencar ous. Llocs com HackerRankCodeWarsCoderByte, TopCoder и LeetCode ofereix milers de trencaclosques interessants per posar a prova el teu coneixement d'estructures de dades i algorismes. Proveu sort per resoldre un problema que us agradi, publiqueu la vostra solució a Github i, a continuació, mireu com s'hi van abordar els altres. El que ens porta a l'últim punt:

Llegeix el codi d'altres persones

L'error més gran que pots cometre quan segueixes el camí de desenvolupament és anar-ho sol. El desenvolupament de programari és en gran mesura un esforç d'equip. Creem estàndards junts, cometem errors junts i, malgrat tots els fracassos, fem millors junts. El temps dedicat a llegir el codi d'altres persones pagarà molt. Només assegureu-vos que sigui un bon codi.

Bé, el millor consell que puc donar és que no t'avergonyis que encara no sàpigues alguna cosa. Com ja s'ha dit, la nostra indústria és enorme i la quantitat de tecnologia és infinita. Es necessita molt de temps i esforç per crear una imatge general, encara més per convertir-se en un professional en alguna cosa específica, i un ordre de magnitud més per perfeccionar les teves habilitats en el teu camp. T'ho faré saber quan ho aconsegueixi jo mateix.

Font: www.habr.com

Afegeix comentari