Como entender um iniciante, qual idioma escolher para a profissão desejada?

Isenção de responsabilidade: este texto não é recomendado para crianças menores de 13 anos (elas precisam estabelecer uma política de privacidade separada), idosos, intermediários, pessoas com uma mentalidade fraca, amantes da linguagem VBA e ALGOL, bem como mulheres grávidas. Todas as opções acima são da opinião pessoal do autor inadequado e não são apresentadas aqui com o objetivo de semear discórdia entre os adeptos da tipagem estática e dinâmica. Vamos lá: novo Thread (). Start ()



Honestamente, este artigo está amadurecendo há muito tempo, porque ultimamente tenho discutido, holivar e artigos similares, onde autores e participantes apresentam várias hipóteses da melhor maneira possível, como resposta à pergunta do título. E todo o seu significado se resume à mesma argumentação confusa que a sentença ornamentada escrita acima.

Percorri um longo caminho desde o esperma até um programador, de um adolescente que adora pascal e windows 3.11, a um homem que não gosta de nada, exceto rolos e terminais. Então agora vou explicar tudo para você e até mostrar algumas fotos. Vai.

Então, qual linguagem de programação escolher?


A estupidez de todas essas perguntas é que você não pode se tornar um programador esférico condicional no vácuo. Um programador agora não é um matemático discreto do passado, para quem o software e o hardware são secundários. Na maioria dos casos, o programador é agora um artesão que trabalha dentro da estrutura da "janela" da tecnologia atual. Além disso, esta é a “janela” de um carro em movimento, para o qual você está correndo. A tecnologia está em constante mudança e somos obrigados, como Alice Carroll, a fugir para permanecer no lugar. Se você pegar meu Google favorito, pelo menos, não terá tempo para entender uma API do Android, e já existem metade dos recursos obsoletos, eles também apertam os parafusos ...
Ah, sim, sim, um artigo como para iniciantes, bem, vamos descobrir. Para começar, você ainda precisa determinar o que exatamente deseja fazer? Área, bem, pelo menos aproximadamente?

Não entende nada?


Comece a aprender construções algorítmicas. Ramos, loops, estruturas de dados, diagramas de blocos. Ajuda muito a transferir (transferir, não copiar e colar da Wikipedia!) Algoritmos e bloquear diagramas para uma linguagem de programação real.

Em que idioma começar, se você deseja estabelecer as bases?


Em princípio, qualquer. Como você só precisa aprender a escrever programas simples, entender quais são as variáveis, operadores, explorar algoritmos clássicos, como pesquisa máxima, classificação, pesquisa binária, etc. Em seguida, vá para OOP e estruturas de dados, porque você será solicitado na entrevista, como o vetor é diferente da lista!

Mas e se você precisar de um idioma para tarefas aplicadas ?
Sim, e você não deseja se tornar um programador. Talvez você seja um cientista que precisa analisar arquivos de texto com cadeias de DNA ou um investidor com a idéia de escrever um robô comercial. Aqui eu aconselho Python, que adeptos de outras línguas me perdoem. Python é uma linguagem com recursos estonteantes e um baixo limite de entrada. No começo, mesmo no começo, parece para os iniciantes que essa é uma linguagem fácil e "educacional" (até você começar a colocá-los em corotinas e funcionais).

Bem, você diz, mas para onde ir a seguir ? Nem um único python ...? Claro que não. Para onde está puxando você? A teia? Área de Trabalho? Scripts? Nível do sistema Celular? Você, querido, decide, não há soluções universais!

Como construção de site? Bem, vamos escrever como um papagaio aqui: html, javascript e outros como eles (ainda existe python com django e outros silenciosamente escondidos por lá)

Deseja serviços Web severos? PHP, node.js, ruby, Java e o mesmo Python.

Deseja estar mais perto de hardware e sistemas operacionais? Segure C / C ++ (apenas não atire uma perna e se corte, embora todos tenham ido para lá no elenco). A propósito, eu aconselho todos os programadores a lidar pelo menos com o básico do C / C ++ e as classes básicas do STL, você sabe, isso ajuda a olhar o GC com olhos diferentes. Se um pedaço de ferro cair sobre sua cabeça, aprenda montador.

Deseja criar scripts, analisar, explorar, trabalhar com big data, criar modelos, escrever bots, administrar o sistema operacional e muito mais?Tome Python3 + já dublado. Se mais trabalho com dados - você ainda pode tomar R.

Sonhando em escrever um aplicativo de desktop? Aqui em qualquer coisa! Embora Delphi aceite! Uma piada, é claro. Aqui você precisa analisar em qual sistema escrever e se é necessária uma plataforma cruzada. Por exemplo, o código Python ou Java será portátil. O C / C ++ precisará ser criado separadamente para cada plataforma.

Quer conhecer o java core? Então você já sabe por que precisa do java. Não sei? Como você explicaria agora por que precisa disso? Você viu o ar? No entanto, não se pode viver sem ele. :)

É claro que existem coisas chiques, Kotlin, por exemplo. Legal, essa linguagem matou meu velho amigo, apelidado de NPE, bem, como ele matou - ele se machucou! Só não entendi como estudá-lo normalmente para pessoas que não conhecem java? Não, o "Hello world" é escrito com facilidade e sem Java, mas não sei mais.

Talvez você tenha decidido escrever jogos? Existem muitos designers prontos, o mesmo Unity3D, bem como mecanismos bidimensionais, geralmente imediatamente sob várias plataformas. Você já está lá: C #, Java etc. E tudo isso é aprimorado pelo conhecimento de vários protocolos de transferência de dados, sistemas operacionais, estruturas, criptografia e criptografia, autorização e autenticação, XML, JSON, tecnologias de banco de dados, proteção de aplicativos, sistemas de controle de versão e muito, muito mais.

Agora vou abrir o maior segredo de como me tornar um programador: programa! Qualquer coisa! Escreva programas mesmo quando ninguém precisar. Escreva porque você precisa, não outra pessoa. Descanse constantemente contra a incompetência, preencha essas lacunas e repouse novamente contra as novas. E enquanto houver memória suficiente em todos os caches possíveis da sua cabeça.

De que outra forma você pode responder à pergunta: “Qual idioma aprender?”. Obviamente, com quem você vai falar.

Atenciosamente, Edward Koch,
professor da Escola Internacional HackerU de TI e segurança cibernética

All Articles