25 Mar 2014 às 19:53 0 1169 Programação
Grandes nomes do mundo inteiro apoiam a ideia que todos têm o direito e devem aprender a programar. Não estamos falando de quaisquer nomes, estamos falando de Mark Zuckerberg (CEO e Cofundador do Facebook), Gabe Newell (criador de Half-Life e Cofundador do Steam), Bill Gates (Cofundador da Microsoft), entre outros. Esses nomes apoiam uma organização não governamental, a Code.org, que está empenhada em trabalhar para que todos os estudantes, de todas as escolas dos Estados Unidos, tenham a oportunidade de aprender a programar. Então, caso você seja fluente em inglês e queira aprender a programar pela internet com Bill Gates ou Mark Zuckerberg, lá é um bom lugar.
Até o ano de 2020, estima-se que o Brasil terá uma perda de R$115 bilhões por conta da escassez de profissionais na área de Tecnologia da Informação (TI). Algo que não aconteceria se houvesse um forte investimento educacional na área, já que a carência é causada pela falta de profissionais bem capacitados para entrar no mercado de trabalho, e não por graduados em uma das áreas relacionadas a TI.
Antes de partir para qualquer uma das áreas que necessite de desenvolvimento e programação, é essencial ter um conhecimento básico da área.
HTML: o início
Sim, se você já sabe HTML, já começou a ter uma noção de como se constrói um site. Entender a semântica e os padrões desta linguagem para a estruturação é obrigatório para qualquer programador entender a construção de páginas web. Mesmo que HTML não seja uma linguagem de programação, mas sim uma linguagem de marcação.
E como estamos falando em formar um programador muito bem preparado para o mercado de trabalho e para qualquer tipo de situação que aparecer, temos que citar o HTML. A quinta versão da tão conhecida linguagem de marcação traz muitas novidades que ajudam muito no desenvolvimento de sites web e aplicativos, tanto para computadores quanto para tablets ou smartphones.
Se você quer ser bom em HTML, procure ententer todas as tags e se aperfeiçoe com as novidades do HTML5, como gráficos em canvas, banco de dados client-side e novos elementos como header, article, nav e footer.
CSS: mais simples do que parece
É a linguagem de folhas de estilo que é utilizada para dar estilo, formas, cores e tamanhos para os elementos da suas páginas web e até sistemas inteiros.
De forma fácil e simples, o CSS pode alterar todos os elementos visuais de todas as marcações de uma só vez. Exemplificando, caso seja preciso alterar o tamanho de fonte e a cor de um parágrafo, basta alterar uma vez no CSS que em todos os parágrafos de todos os documentos de HTML ligados ao documento CSS irão seguir o padrão.
Por mais simples que pareça, todos os dias você vai aprender algo novo sobre CSS. Além de todos os navegadores interpretarem as instruções das folhas de uma maneira diferente - o que nos força a estar sempre atualizados -, a linguagem recebeu uma atualização e trouxe a possibilidade de fazer animações, transições e até instituiu um esquema de atualizações em módulos.
E não se esqueça de sempre procurar por tópicos de design responsivo, que torna o conteúdo de um site apresentável e acessível em diversos tipos e resoluções de tela, sejam eles em desktops, tablets ou smartphones.
Lógica de programação: o 1+1 de todo o resto
Muitos comparam a lógica de programação com receitas de bolo ou caminhos para se chegar a um determinado local - e não há nada que a explique melhor de tal modo resumido.
Para você chegar a um determinado local há uma série de etapas que, em programação, são descritas nas linhas de códigos para que o servidor (linguagens server-side, que será processadas pelo servidor e enviadas de volta para o cliente/navegador) ou o navegador (linguagens client-side, que serão processadas no navegador do cliente) mostre sempre o resultado final.
Se você tiver sólidos conhecimentos em lógica de programação e programação orientada a objetos, então foque na parte teórica, mesmo que a prática seja a mais esperada. Com uma boa base teórica, aprender e compreender qualquer linguagem de programação será muito mais fácil, pois você só precisará aprender a sintaxe dela.
Controle de versão: foco no Git
É comum que, ao se trabalhar em equipes de desenvolvimento, o profissional utilize um ou mais sistemas de controle de versão do código da aplicação.
Basicamente, um sistema de controle de versão (VCS, version control system) tem como finalidade gerenciar diferentes versões no desenvolvimento de um documento qualquer, seja nas linhas de código de um sistema feito em PHP ou simples fotos e elementos dentro de um site corporativo.
O VCS mais usado hoje é o Git (Git/GitHub) e é essêncial que o programador saiba pelo menos o básico para usá-lo no dia-a-dia. Algumas empresas usam outras alternativas, como o CVS, Mercurial, SVN, SourceSafe, PVCS e ClearCase.
Além do Git ser mais elegante que outras alternativas, ele também é gratuito e de código aberto (assim como o CVS, Mercurial e SVN), porém, diferente dos outros, o Git é muito mais fácil de aprender e está disponível para todos os sistemas operacionais mais populares (Windows, OS X, Linux e Solaris).
JavaScript: a primeira de muitas que estão por vir
O JavaScript é uma linguagem de script orientada a objetos que é muito usada para desenvolvimento web. Além de ser um ótimo início para começar a praticar os conhecimentos de lógica de programação, o Javascript te dará resultados rápidos, visíveis e funcionais. Atualmente, quase todas as páginas na internet usam JavaScript, que é executada no navegador do cliente (também pode ser executada no servidor em outros casos).
Com JavaScript, o programador poderá desenvolver desde manipulações dinâmicas do HTMLe desenhos, até jogos, validação de formulários e sistemas completos (com o Node.js, por exemplo). Sem falar que, caso você queira integrar alguns recursos de grandes sites como YouTube ou SoundCloud, poderá utilizar suas APIs (conjunto de pequenos códigos preestabelecidos para a implementação de um recurso de terceiro, como uma playlist de vídeos do YouTube, por exemplo) baseadas em JavaScript.
Conhecendo bem essa linguagem, você já pode começar a mandar seu currículo em busca de uma vaga de desenvolvedor front-end. Contudo, não se esqueça: há muito mais a ser explorado do que somente JavaScript.
Banco de dados: armazenando um mundo todo
Um banco de dados (database, em inglês) permite armazenar e gerenciar todos os tipos de dados nele inserido. Ao acessar o Canaltech, saiba que todas as notícias, os artigos, as imagens e todas as informações estão armazenadas em um banco de dados, que é acessado por um servidor responsável por entregar eles ao cliente (você).
De início, uma ótima alternativa é o MySQL (sistema de gerenciameno de banco de dadosbaseado em SQL), pois além de ser um dos bancos mais usados atualmente, você o encontrará em aplicações CMS (sistema de gerenciamento de conteúdo, do inglês Content Management System) como Joomla e Wordpress, trabalhando lado a lado com a linguagem PHP. Com o MySQL, foque em apredender sobre sua estrutura e o funcionamento de umbanco de dados.
PHP: o sonho de consumo de qualquer aprendiz
O Facebook foi desenvolvido em PHP. A Wikipedia foi desenvolvida em PHP. O Wordpress foi desenvolvido em PHP. E esses três já são motivos suficientes para qualquer pessoa crêr no amplo mercado de trabalho que os programadores PHP têm, sem falar da capacidade dessa linguagem.
O PHP é a porta de entrada para a maior parte dos desenvolvedores back-end e isso não significa, de maneira alguma, que essa linguagem é desprovida de recursos - pelo contrário. Como ela é possível desenvolver desde aplicações web leves e simples até aplicações web robustas e complexas. Sem falar que a transição dos conhecimentos de lógica de programação é fácil e intuitiva. E mesmo se surgirem dúvidas o programador poderá contar com a enorme comunidade online dedicada exclusivamente à linguagem.
É muito fácil encontrar uma agência digital, ou até uma empresa multinacional, que não esteja procurando profissionais que têm conhecimento em PHP. Com tantas oportunidades assim, o mercado de PHP cresce cada vez mais a cada dia de passa.
Ruby: em um relacionamento sério com Rails
Além de ter sido a principal linguagem de programação para desenvolver as engrenagens do Twitter, GitHub e do site de compras coletivas Groupon, é muito usada para fazer aplicativos web inteiros, principalmente por seu `casamento` com o Rails.
É bem provável que quando você for aprender Ruby on Rails, leia muito algo como `não reinvente a roda`. Isso se dá ao fato de Ruby ser uma linguagem muito fácil de ser aprendida por causa de sua sintaxe fácil de ser lida, decorada, escrita e reescrita. A adição do framework Rails facilitou ainda mais as coisas e conferiu mais liberdade ao programador, que passou a não precisar escrever tanto código como antes.
Como Ruby é uma linguagem dinamicamente tipada (quando não é preciso declarar o tipo de uma variável), fica muito mais fácil aprendê-la, seja para desenvolvimento para desktops, web ou mobile. E não podemos deixar de citar as grandes bibliotecas que Ruby têm espalhadas por aí, mas que na maioria pode ser encontrada diretamente no The Ruby Toolbox.
Python: para as crianças
Os veteranos da área de programação dizem que Python é tão fácil de se aprender e usar no dia-a-dia que até crianças podem programar em Python. E não se engane achando que o nome Python vem do nome de uma espécie de cobra, mas sim do grupo humorístico britânico Monty Python.
Partindo do princípio de que Python também é uma linguagem de tipagem dinâmica (assim como Ruby), podemos garantir que Python é tanto para adultos (afinal, boa parte do Google e do YouTube estão no ar graças a esta linguagem) quanto para crianças, pois muitos pais ensinam seus filhos a linguagem usando o pequeno robô Mindstorms, da Lego.
A linguagem é tão fácil que tem sido adotado por muitas instituições de ensino. Um dos casos que se tornou um grande sucesso é o de um professor na FATEC de São José dos Campos, Fernando Masanori, que resolveu fazer um curso online gratuito ensinando lógica de programação com Python. O nome do curso é `Python para Zumbis`.
Desenvolvimento mobile: sua aplicação em todos os lugares
O mercado mobile está em plena expansão, e no Brasil não poderia ser diferente. Segundo dados divulgados pela Anatel em janeiro deste ano, o número de terminais móveis ativos com acesso à internet cresceu 99% em apenas um ano, passando de 20,6 milhões, em 2010, para 41,1 milhões em 2011. Esse número representa mais da metade do número de internautas brasileiros, que chegam a 94,2 milhões, de acordo com dados do Ibope Media de dezembro de 2012.
Segundo o IDC Analyze the Future, em 2015 o acesso à internet internet via dispositivos móveis será maior que o acesso a partir de PCs ou notebooks. Esse é um dado muito importante e domonstra que a nova força de consumo será através de smartphones, tablets ou outros dispositivos móveis. Portanto, é de se esperar que aumente a demanda por profissionais especializados em desenvolvimento para dispositivos móveis. Se você quer largar na frente e estar pronto para o futuro, é uma boa investir nessa área.
Ter conhecimento em linguagens como Objective-C (para aplicações em iOS), Java (muito usado para desenvolver aplicações para Android) e a plataforma .NET (Windows Phone) será essencial para se garantir na área. Se você conseguir unir a isso os conhecimentos adquiridos nas demais tecnologias já citadas, será visto como um profissional diferenciado. Seja dedicado e estude com afinco para competir e se destacar no mercado de trabalho.
Ligue-se. Sintonize-se.
Ou simplesmente: Acorde. Atualize-se. Programe!
Esse deveria ser o lema de todo bom programador. Nunca parar de aprender e de buscar conhecimento. Essa é a melhor forma de se tornar um bom programador. procure sempre se manter em dia com as novidades. Há uma infinidade de linguagens de programação que sequer foram mencionadas, mas que com certeza você ouvirá falar futuramente. Tecnologias como NodeJS, HAML, LESS, SASS, ExpressJS, Sinatra, CodeIgniter, CakePHP, etc. Todos esses nomes devem ser familiares a um bom programador.
Esses são os primeiros passos que todo bom programador tem que, no mínimo, conhecer. Mas cada tecnologia tem um foco e não adianta querer aprender todas elas se não conseguir implementá-las.
Fonte.: Canaltech Aultor: Felipe Orlando