Como aprender uma nova linguagem de programação este verão

Que objetivo melhor para o seu verão do que aprender uma nova linguagem de programação? Esqueça os livros de praia este verão e concentre-se em aprender uma nova linguagem de programação – mas qual delas deve escolher?

De acordo com o que foi reportado pela EDC, existem aproximadamente 24 milhões de programadores profissionais no mundo, e quase 700 linguagens de programação relevantes (de acordo com a Wikipedia). Aposto que existe um número igualmente grande de plataformas online onde se pode aprender uma ou outra linguagem de programação. Quer já seja um dos 11 milhões de especialistas em programação, quer seja um iniciante, existe uma enorme quantidade de informação disponível para consultar.

Para os fins deste artigo de blogue, vamos certamente analisar o panorama mundial As linguagens de programação mais utilizadas em 2021, mas também em linguagens importantes para a manipulação e consulta de dados, por isso, vamos abordar: C e as suas variantes (C++, C#, e Objective-C), Java, Python, R, JavaScript, Ruby, SQL e XQuery.

A escolha de por onde começar depende inteiramente do tipo de cenário de desenvolvimento que tem em mente, por isso, organizámos as informações para facilitar o processo. Não importa se é um programador experiente que procura adicionar uma nova linguagem ao seu conjunto de conhecimentos, ou um iniciante que ainda não distingue entre C, C++, Objective-C ou C#. Elaborámos uma lista de explicações para o ajudar a escolher qual linguagem gostaria de aprender a seguir.

Antes de nos aprofundarmos e analisarmos cada linguagem em detalhe, vamos falar sobre as seis principais áreas onde as linguagens de programação são utilizadas atualmente, e quais linguagens podem ser úteis em cada contexto. Isso irá fornecer-lhe um guia e uma primeira ideia de qual linguagem pode ser a mais adequada para si aprender.

Aplicações móveis

Quando pretende desenvolver aplicações para smartphones ou tablets, a escolha da linguagem é, em grande parte, determinada pela plataforma para a qual pretende desenvolver. Se pretende direcionar-se a dispositivos iOS, a linguagem padrão é o Objective-C; ao desenvolver para Android, a linguagem padrão é Java; e para o Microsoft Surface (e, de forma geral, para dispositivos Windows 10 ou 11), é C#. Se a sua aplicação móvel requer um servidor de apoio que funcione na nuvem, consulte o parágrafo sobre desenvolvimento do lado do servidor abaixo para obter informações sobre linguagens adicionais. Se pretende direcionar-se a todas as três plataformas móveis e achar que aprender tudo de uma vez é demasiado, recomendo que explore ferramentas de desenvolvimento multiplataforma, como o Altova MobileTogether, que permitem criar uma única aplicação móvel para todas as plataformas a partir de uma única fonte, utilizando XQuery e scripting visual ActionTree.

Desenvolvimento Web

Para o desenvolvimento de websites, tanto para dispositivos móveis como para navegadores de computador, a linguagem de programação mais utilizada é o JavaScript, que é executada pelo navegador. É certo que o conteúdo principal do seu website será escrito em HTML5 e, idealmente, todas as informações de estilo estarão codificadas em folhas de estilo CSS3, mas estas não são linguagens de programação propriamente ditas. Até agora, apenas falei sobre a programação do lado do cliente.

Desenvolvimento no lado do servidor

Independentemente de se tratar da parte de trás de uma aplicação móvel ou de um servidor web tradicional, existem inúmeras linguagens de programação adequadas para o desenvolvimento no lado do servidor. É neste contexto que se utilizam mais frequentemente linguagens como Java, C#, Python, PHP e Ruby. E isso é válido tanto para servidores web tradicionais como para servidores baseados na nuvem, que podem estar a funcionar nas plataformas AWS ou Azure.

Aplicações clássicas para PC/computador de mesa

Embora as aplicações Java e Visual Basic sejam por vezes utilizadas em ambientes empresariais, a maioria das aplicações de ambiente de trabalho desenvolvidas para computadores pessoais tem sido e continua a ser desenvolvida em C, C++ ou C#. No entanto, linguagens como Python estão a ganhar popularidade, mesmo no ambiente de trabalho, como linguagem de script para automatizar tarefas comuns.

Computação científica

Para análise de dados, estatística e matemática avançada, existem três linguagens de propósito específico que são frequentemente utilizadas: Matlab, Mathematica e R. Baseado apenas na popularidade, a linguagem R tem superado as outras duas nos últimos anos, por isso, irei apenas discutir a linguagem R a seguir.

Dispositivos integrados e Internet das Coisas

No que diz respeito aos dispositivos embarcados, C e C++ continuam a ser as linguagens dominantes. Este campo tem certamente passado por mudanças nos últimos anos, à medida que um número crescente de dispositivos embarcados e da Internet das Coisas acabam por ser computadores Linux completos, mas, para o desenvolvimento de software que está muito próximo da camada de hardware, bem como para muitas funções do sistema operativo e drivers de dispositivos, a potência, a velocidade e a eficiência de C continuam a torná-la a melhor opção para esta área.

Consultas a bases de dados e manipulação de dados

Independentemente da área específica que tenha em mente, é quase sempre necessário conhecer uma linguagem que permita consultar um subconjunto de dados de uma base de dados. Embora o Hadoop/MapReduce e outras plataformas focadas em grandes volumes de dados estejam a receber muita atenção atualmente, o SQL – a Linguagem de Consulta Estruturada – existe desde os anos 70 e continua a ser a linguagem de consulta de bases de dados mais utilizada, sendo suportada por todos os principais sistemas de bases de dados.

Além do SQL, recomendo também que se familiarize com o XQuery, a linguagem de consulta para XML, porque grande parte dos dados está atualmente acessível em formatos XML ou JSON, e o XQuery é uma linguagem muito poderosa para manipular esses dados de forma eficiente. Em particular, ferramentas móveis avançadas, como o Altova MobileTogether, utilizam o XQuery para permitir a programação funcional da manipulação de dados a partir de diversas fontes, incluindo XML, JSON, HTML e bases de dados SQL.

Agora que lhe dei uma visão geral de onde algumas destas línguas são mais frequentemente utilizadas, espero que tenha uma ideia de qual língua poderá ser uma boa opção para aprender a seguir. Então, vamos falar agora sobre cada uma das línguas em detalhe e onde pode aprendê-las online:

C

A linguagem C e as suas variantes (C++, C# e Objective-C) são linguagens de programação de uso geral, e a linguagem C tem sido amplamente popular desde a publicação do livro fundamental de 1978 A Linguagem de Programação C de Kernighan e Ritchie. Se pretende seguir uma carreira na área da ciência da computação, o conhecimento de C continua a ser fundamental, mas não o recomendaria como a melhor opção para iniciantes, uma vez que é mais frequentemente utilizado em trabalhos relacionados com hardware ou outras aplicações de nível inferior. A linguagem C foi originalmente desenvolvida para ser utilizada no sistema operativo UNIX e, atualmente, é mais frequentemente utilizada para a implementação de sistemas operativos, drivers de dispositivos e aplicações embarcadas.

Locais onde pode aprender C: https://alison.com/courses/Diploma-in-Programming-in-C https://www.udemy.com/c-programming-for-beginners/ http://c.learncodethehardway.org/book/

C++

A linguagem C++ deriva da linguagem C e já existe há algum tempo. É necessário, no mínimo, um nível intermédio de conhecimentos de programação para começar a aprender esta linguagem. O C++ possui características de programação imperativa, orientada a objetos e genérica, o que a torna extremamente poderosa, mas também exige o conhecimento de vários conceitos avançados de ciência da computação para ser dominada completamente. Esta linguagem é utilizada principalmente para o desenvolvimento de software de sistemas, jogos de vídeo, aplicações de software e aplicações cliente/servidor, bem como software de servidores baseados na nuvem.

Locais onde se pode aprender C++ incluem: http://www.learncpp.com/ http://www.cplusplus.com/doc/tutorial/

C#

C#, originalmente concebida pela Microsoft como parte da sua iniciativa .NET, é utilizada para desenvolver aplicações de software para plataformas Windows. Uma vez que C# é uma parte essencial do framework .NET, se pretende desenvolver para a Microsoft, esta é a linguagem ideal. É muito semelhante a Java, pelo que, se conhece uma delas, a transição para a outra não é tão difícil. Tal como Java, C# foi originalmente criada para introduzir conceitos de programação orientada a objetos numa linguagem semelhante a C, sem a complexidade do C++.

Locais para aprender C#: https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/ https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners

Java

Java é uma linguagem orientada a objetos e, atualmente, uma das linguagens mais utilizadas. Os programadores apreciam Java porque, por design, é uma linguagem portável e funciona bem em diversas plataformas de software. Java é uma linguagem versátil que pode ser utilizada para criar aplicações móveis, aplicações para servidores, bem como software empresarial.

Locais onde se pode aprender Java incluem: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/ https://www.codecademy.com/edn/courses/learn-java/

R

R é uma linguagem com um foco específico, utilizada para análise estatística e criação de gráficos, incluindo análise bivariada e correlação. Esta linguagem tem ganho popularidade devido à crescente procura por ciência de dados, tanto no ambiente académico como no empresarial, onde a visualização e análise de dados são essenciais para o progresso dos projetos. R é uma excelente opção se precisar criar qualquer tipo de projeto de análise de dados, ou se sentir limitado pelas capacidades básicas do Excel, que são demasiado rudimentares para analisar completamente as correlações que possam existir nos seus dados.

Locais onde se pode aprender R incluem: https://cran.r-project.org/manuals.html https://www.edx.org/course/r-programming-fundamentals https://www.datacamp.com/courses/free-introduction-to-r

Python

Python, considerada uma das linguagens de programação mais fáceis de aprender, é uma linguagem de script de alto nível e de uso geral. Utilizada para criar desde websites e aplicações móveis até análises de dados, Python possui uma biblioteca padrão vasta e abrangente. Devido à sua simplicidade, Python é também uma das linguagens de programação mais ensinadas nas escolas dos Estados Unidos. Se você é novo na programação, este é, sem dúvida, um excelente ponto de partida.

Locais onde se pode aprender Python: https://www.python.org/doc/ http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/ https://developers.google.com/edu/python/?hl=en

Rubi

Ruby é outra linguagem de script excelente que gozou de alguma popularidade nos últimos 10 a 15 anos, mas parece estar um pouco em declínio atualmente. É utilizada para o desenvolvimento de websites e aplicações móveis. Esta linguagem de código aberto tem uma comunidade dedicada, o que torna muito mais fácil encontrar recursos para aprender Ruby. Ruby foi criada em meados da década de 1990 no Japão por Yukihiro Matsumoto, que combinou elementos de algumas das suas linguagens favoritas (Perl, Smalltalk, Eiffel, Ada e Lisp) para criar uma nova linguagem que é, por natureza, orientada a objetos e funcional.

Existem vários locais onde se pode aprender Ruby, incluindo:

https://www.ruby-lang.org/en/documentation/quickstart/
https://rubymonk.com/

JavaScript

JavaScript é uma linguagem baseada em Java que é frequentemente utilizada para adicionar funcionalidades programáveis a páginas web HTML. É uma linguagem relativamente simples de aprender, e existem muitos tutoriais práticos disponíveis na internet para ajudar os utilizadores a começar. Normalmente, é executada dentro de um navegador web, embora também sejam possíveis outras aplicações do lado do servidor. Nos últimos anos, o JavaScript também se tem expandido para outras áreas, incluindo aplicações móveis e até mesmo alguns dispositivos integrados.

O JavaScript utiliza um formato de serialização integrado para escrever objetos da memória para um disco ou fluxo de dados, chamado JSON (JavaScript Object Notation). O JSON ganhou popularidade para a transmissão de dados entre computadores, de uma forma semelhante ao XML, como um método rápido e eficiente para transferir dados. Portanto, o conhecimento de JavaScript prepara para a proficiência em JSON e em JSON Schema, ambos requisitos essenciais para a criação de aplicações web e serviços web.

Locais onde pode aprender JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide https://www.codecademy.com/tracks/javascript

SQL

SQL, ou Linguagem de Consulta Estruturada, é uma linguagem de consulta de bases de dados utilizada para gerir dados em bases de dados relacionais. Quem deve aprender SQL? Todos! O SQL está presente em todo o lado, e aprender esta linguagem não é assim tão difícil. Se alguma vez precisar de obter ou manipular dados numa base de dados (e sejamos honestos, quem não se beneficiaria desta capacidade), esta é uma excelente linguagem para aprender.

Locais para aprender SQL: https://www.codecademy.com/learn/learn-sql http://www.sqlcourse.com/ http://www.w3schools.com/sql/ http://www.tutorialspoint.com/sql/

XQuery

O XQuery é uma linguagem de programação funcional concebida para consultar e transformar dados XML e JSON. De acordo com o W3C, o XQuery está a substituir programas Java ou C++ complexos com apenas algumas linhas de código, porque é mais simples de usar e mais fácil de manter. O XQuery é também a linguagem preferida para a manipulação de dados em plataformas móveis, provenientes de uma vasta gama de fontes de dados, como o Altova MobileTogether. O XQuery é uma linguagem muito poderosa e não é difícil de aprender.

Locais para aprender XQuery: https://www.altova.com/training/xquery3/ https://www.w3schools.com/xml/xquery_intro.asp http://www.tutorialspoint.com/xquery/

Além de todos estes recursos online, existem também muitos livros excelentes sobre todas estas línguas disponíveis na Amazon. Certifique-se de consultar também esses livros e procure por avaliações de clientes antes de decidir qual comprar.

Não existe uma linguagem de programação "má" para adicionar ao seu conjunto de habilidades; na verdade, cada uma delas só irá aumentar a sua empregabilidade. Portanto, comece já a aprender uma nova linguagem de programação este verão!