Unha lingua para gobernalos a todos

Agochada baixo unha capa de código, unha lingua esmorece, desexando ser aprendida.

Unha lingua para gobernalos a todos

Ata o momento de escribir este artigo, a consulta "programar que linguaxe aprender primeiro" devolve 517 millóns de resultados de busca. Cada un destes sitios encomiará unha linguaxe específica e o 90% deles acabará recomendando Python ou JavaScript.

Sen máis preámbulos, gustaríame deixar constancia de que todos estes 517 millóns de sitios web están equivocados e que o idioma que debes aprender primeiro é lóxica fundamental.

Só saber codificar non é suficiente. O mercado está tan saturado de titulados de institutos e cursos que a praza de júnior practicamente deixou de existir*. Para ter éxito no mundo actual, debes codificar e ter un pensamento lóxico fundamental avanzado.

*en diante, recorda que esta é unha tradución, e que a situación no mercado laboral para o autor e no teu país pode ser diferente (así como outros matices), o que, con todo, en si mesmo non empeora o artigo orixinal - aprox. tradución

A miña primeira clase de informática

A miña primeira exposición á informática foi unha materia optativa que fixen en 10º curso. O primeiro día, ao entrar na aula, quedei encantado de ver diante miña unha gran cantidade de baldes de xeados e varias coberturas. Despois de estar todos sentados, o profesor anunciou:

“Hoxe degustaremos xeados de elaboración propia. Pero cunha condición: debes facer unha lista de instrucións específicas sobre como preparar a sobremesa, e eu as seguirei”.

"Non hai problema", pensei, "esta lección non será longa". Dentro dun minuto máis ou menos anotara a receita perfecta para o xeado dos meus soños:

  1. Coller e colocar tres culleradas de xeado de framboesa nunha cunca
  2. Abre a salsa de chocolate e engade dúas culleradas ao mesmo recipiente
  3. Engade nata montada ao bol
  4. Espolvoreo todo con palitos de azucre e pórlle por riba unha cereixa

O meu profesor -o "computador" nesa metáfora bonita- fixo unha actuación máis sarcástica e literal do que nunca vira. Comezou a meter celosamente o balde do xeado cunha culler sen sequera tocar a tapa.

"Está ben, está ben, pero primeiro tes que abrilo!" - exclamei, tratando de conseguir a golosina o máis rápido posible.

"Non escribiches isto nas instrucións e non puiden facerche xeado. SEGUINTE!"

Avancemos rápido para tentar o número 2

  1. Abre o xeado de framboesa quitando a tapa
  2. Coller e colocar tres culleradas de xeado de framboesa nunha cunca
  3. Abre a salsa de chocolate e engade dúas culleradas ao mesmo recipiente
  4. Engade nata montada ao bol
  5. Espolvoreo todo con palitos de azucre e enriba colocamos unha cereixa

Ben, agora definitivamente non debería haber ningún problema. Por se acaso, asegúrese de que todos os ingredientes para facer a miña obra mestra culinaria estivesen abertos.

O profesor quitou a tapa, colleu e colocou tres culleradas de xeado nunha cunca. "Por fin, o meu fermoso xeado comezou a facerse realidade!" A continuación, abriu a salsa de chocolate e engadiu dúas culleradas de sopa ao recipiente. Non "engadiu salsa de chocolate a partir de dúas culleradas" - non o penses - ela, por suposto, puxo as culleres no recipiente. Sen salsa neles. De novo, non me molestei en escribir todo exactamente. Despois de facer o resto co mesmo espírito, recibín unha cunca de xeado e dúas culleres de sopa, apenas perceptibles baixo o mar de nata montada. Enriba había un par de palitos de azucre.

Parece que neste momento por fin deume conta: un ordenador é lóxica no baleiro. Descoñece as circunstancias circundantes e non fai suposicións. Só realiza instrucións claramente formuladas e ségueas palabra por palabra.

O meu resultado final foi o resultado dunha longa pero necesaria serie de probas e erros:

  1. Se aínda non o fixeches, abre cada un dos seguintes paquetes: xeado de framboesa, salsa de chocolate, nata montada, palitos de azucre.
  2. Saca unha cunca e colócaa diante de ti
  3. Colle unha cullerada de xeado e coloque tres culleradas de xeado de framboesa unha a unha nunha cunca. Coloque a cullerada de xeado de novo no seu lugar.
  4. Toma un frasco de salsa de chocolate, colle a salsa e bota o contido dunha culler de sopa nunha cunca. Repita o proceso de coller e verter unha vez máis. Coloque a culler e o frasco de novo no seu lugar.
  5. Colle o paquete de nata montada boca abaixo e, suxeitandoo sobre a cunca, bótao sobre o xeado durante 3 segundos, despois volva o paquete ao seu lugar.
  6. Colle un frasco de varas de azucre, bótalle unhas corenta varas nun recipiente e volve poñer o frasco.
  7. Toma unha cereixa do bol de cereixas e colócaa encima do xeado.
  8. Dálle ao alumno unha cunca co xeado rematado e unha culler.

O último punto foi especialmente importante, porque sen el, a penúltima vez que o profesor simplemente comezou a comer o meu xeado.

Pero isto é programación. O estrés de crear un conxunto coidadoso de instrucións para un ordenador. Esencialmente, isto é ao que se reduce toda linguaxe de programación: escribir instrucións.

Carreira en programación

A programación chegou ao punto no que é difícil discutir como unha única industria, do mesmo xeito que é difícil usar a única palabra "programador" como descrición do traballo. Dous desenvolvedores poden ser igualmente demandados polo mercado, coñecendo idiomas completamente diferentes, o que significa que a capacidade de desenvolverse é máis importante que o coñecemento dunha linguaxe específica. Un atributo universal compartido por todos os desenvolvedores exitosos é lóxica fundamental.

O mellor programador é aquel que é capaz de mirar o código desde un novo ángulo. E isto é fundamentalmente importante, porque a maioría dos produtos de software son unha colección de fragmentos non documentados de código malo. Necesitan unirse constantemente, enchendo ocos segundo sexa necesario. As persoas que non poden conectar puntos dispares cunha soa liña terán que estar sempre á marxe.

Todo isto lévame a outra declaración, esta vez en negra: o coñecemento fundamental sempre foi e será primordial para un programador.

As linguas van e veñen. Os marcos están quedando obsoletos e as empresas responden á demanda cambiando a pila tecnolóxica que usan. Hai algo que nunca cambiará? Si, coñecemento fundamental, que se chama fundamental porque subxace a todo!

Como mellorar os coñecementos fundamentais

Unha lingua para gobernalos a todosFoto de Christopher Jeschke en Unsplash

Se estás buscando un punto de partida para mellorar o teu pensamento lóxico fundamental, proba comezar aquí:

Coñece a complexidade do teu programa

Tamén chamado Big O A "complexidade do algoritmo" refírese á dependencia do tempo que tarda en executar un programa co tamaño dos seus datos de entrada. (s). Manter o dedo no pulso dos algoritmos que se utilizan é un paso importante.

Coñece as túas estruturas de datos

As estruturas de datos están no corazón de todos os programas modernos. Saber que estrutura empregar nese caso é unha disciplina por si mesmo. As estruturas de datos están directamente relacionadas coa complexidade do tempo de execución, e escoller unha estrutura incorrecta pode levar a problemas fundamentais de rendemento. Buscar un elemento nunha matriz é O (n), que indica o alto custo de usar matrices como datos de entrada. Busca na táboa hash − O (1), o que significa que neste caso o tempo para buscar un valor non depende do número de elementos.

A xente acudiu a min para unha entrevista e afirmou que buscar nunha matriz era máis rápido que buscar nunha táboa hash. Este foi o sinal máis seguro de que non deberías contratalos: coñece as túas estruturas de datos.

Ler / ver / escoitar

Sitios como UdemyPluralesight и CodeAcademy - Unha excelente opción para aprender novas linguaxes de programación. Pero para o básico, consulte libros sobre principios xerais de codificación, prácticas e estilos. Os libros máis recomendados son “Patróns de deseño”, “Refactorización. Mellorando o código existente, o "código perfecto", o "código limpo" e o "programador pragmático". Finalmente, todos os desenvolvedores deben gardar unha copia do "Algoritmos" á man.

¡Práctica!

Non se poden cociñar ovos revoltos sen romper os ovos. Sitios como HackerRankCodeWarsCoderByte, TopCoder и LeetCode ofrece miles de crebacabezas interesantes para probar o teu coñecemento sobre estruturas de datos e algoritmos. Proba sorte para resolver un problema que che gusta, publica a túa solución en Github e despois mira como o abordaron outros. O que nos leva ao último punto:

Le o código doutras persoas

O maior erro que podes cometer ao ir polo camiño de desenvolvemento é ir só. O desenvolvemento de software é en gran parte un esforzo en equipo. Creamos estándares xuntos, cometemos erros xuntos e, a pesar de todos os fracasos, somos mellores xuntos. O tempo dedicado a ler o código doutras persoas pagará moito. Só asegúrate de que é bo código.

Ben, o mellor consello que podo dar é que nunca te avergoñes de que aínda non sabes algo. Como xa se dixo, a nosa industria é enorme e a cantidade de tecnoloxía é infinita. Leva moito tempo e esforzo construír unha imaxe xeral, aínda máis para converterse nun profesional en algo específico, e unha orde de magnitude máis para mellorar as súas habilidades no seu campo. Avisareino cando o consiga eu mesmo.

Fonte: www.habr.com

Engadir un comentario