Uma viagem pela tecnologia até aqui
- #JavaScript
- #Python
A área de tecnologia é fantástica e amplamente abrangente (chega a ser um pleonasmo), pode atingir várias frentes e especialidades, obviamente não se resume apenas em linguagens de programação, mas sempre culmina na mesma base: 0 e 1.
Vou contar um pouco da história geral, o que me despertou e como cheguei até aqui.
A computação moderna, da forma como a conhecemos hoje, pode ser dividida em cinco gerações e iniciou-se no século XX, mais precisamente com a utilização da arquitetura de “von Neumann” (nome dado ao seu criador John von Neumann que desenvolveu a subdivisão do computador em unidade central de processamento, unidade de memória e dispositivos de entrada e saída de dados), em 1951, com o desenvolvimento do EDVAC.
A primeira geração de computadores se deu com o uso de circuitos eletrônicos valvulados; a segunda geração com a utilização dos transistores, possibilitando a criação de computadores menores, baratos e confiáveis; a terceira geração com o uso de circuitos integrados em pequena e média escala; a quarta geração com o uso da tecnologia firmware e circuitos integrados em grande escala, muito grande e ultra grande e, por fim, a quinta geração, cuja existência ainda paira no âmbito teórico: integração com DNA e computação quântica.
Voltando ao “zero e um”, falemos dos dados processados. Os dados são essenciais para o funcionamento de um sistema computacional e são compostos por dois estados: presença e ausência de energia, os quais são convertidos para a representação binária (0-1), utilizada em todos os tipos de dados, desde números até imagens e sons. Embora os dados observados na natureza possam representar fenômenos contínuos, eles precisam ser convertidos para a representação binária antes de serem processados pelo computador.
Deste ponto, saltamos para as linguagens de programação, dividindo-as em baixo nível e alto nível.
O nível da linguagem não tem nada a ver com a qualidade, mas sim com o grau de proximidade com o hardware e sua sintaxe mais distante da linguagem humana. Quanto mais próximo dos “zero e um”, mais baixo, quanto mais próximo do que entendemos por linguagem, mais alta. Hoje em dia é muito mais comum a utilização de linguagens de alto nível como Python, Javascript, C#, Java, etc. Essas linguagens utilizam-se de interpretadores ou compiladores para realizar a transformação dos códigos em linguagem de máquina - baixo nível - mas são escritos utilizando-se de palavras chave em uma linguagem humana, mais precisamente o inglês.
Como aprendiz de programação, em 2020, decidi iniciar meus estudos com uma linguagem “difícil” que abordasse conceitos de manipulação de memória: a linguagem C.
A linguagem C foi criada entre 1969 e 1973 pela AT&T Bell Labs, mas foi na década de 80 que se tornou uma linguagem popular e padronizada, foi muito utilizada para criação de sistemas operacionais. A linguagem C é uma linguagem compilada, de propósito geral, estruturada, imperativa e procedural, focada em fornecer acesso irrestrito à memória e baixos requerimentos de hardware. Isso tudo quer dizer que para programar em C, temos que ser muito precisos na descrição das variáveis e escrever os códigos linha a linha, nos preocupar com a manipulação de memória, saber quanto “custa” cada data type, o que pode fazer seu programa parar de funcionar e que no final, deve-se compilar o arquivo para executá-lo.
Com esses conhecimentos, foi fácil passar para a linguagem C++, que muitos tratam como uma evolução da linguagem C.
O C++ foi desenvolvido por Bjarne Stroustrup, também do Bell Labs, durante a década de 80, e inicialmente se chama “C with classes”. Em 1983 foi alterado para C++. Se chamava assim, pois introduziu o conceito de Classes, permitindo a utilização do paradigma de orientação a objetos por meio desta nova linguagem.
A linguagem C++ foi minha parceira por algum tempo, até que decidi migrar para o desenvolvimento web.
Com esta decisão, pular para o Javascript foi natural e, juntamente, Python.
Hoje me especializo em desenvolvimento web, começando com front-end antes e back-end depois, porém é uma tarefa árdua. Apesar da base em programação, há muitos outros conceitos de rede, conexões, ambientes, design que enriquecem e dificultam esta tarefa.
De maneira muito resumida, o front-end é a “fachada” da aplicação web, o design, as cores, a animação dos componentes visuais. O back-end se responsabiliza pela comunicação com o servidor, pelo tráfego em segurança das informações e a conversa com o banco de dados. São mundos distintos, porém complementares e muito requisitados. Tudo é web!
Este foi um pequeno resumo de como chegamos até aqui e concluo dizendo esta fantástica viagem pelo mundo da tecnologia nunca encontrará um destino final, o caminho é longo e contínuo, sempre em construção e a única certeza é que aquele que adentra nesta caminhada deve estar preparado para nunca parar – estudar e progredir: esta é a lei.