PDF download Baixe em PDF PDF download Baixe em PDF

Programação não é algo que pode ser aprendido de um dia para o outro. É necessário tempo e bastante estudo para desenvolver todas as habilidades esperadas de um profissional dessa área. Apesar disso, programar pode ser uma atividade divertida e recompensadora, tanto intelectualmente e espiritualmente, quanto no aspecto financeiro. Este guia não tem como propósito ensinar um caminho fácil ou mágico para se tornar um programador e você não precisará seguir os passos aqui propostos como se fossem sagrados. Leia-o apenas para obter uma visão geral sobre como se tornar um programador em um dos mais modernos campos da programação.

    • Lógica
    • Matemática discreta
    • Linguagem de programação (de preferência C++, Java ou Python para iniciantes)
  1. Você poderá usar qualquer pacote simples de banco de dados para fazer isso, tais como:
    • MS Access
    • DB V
    • Fox Pro
    • Paradox
    • O MySQL é um bom serviço de banco de dados para se aprender, uma vez que, além de ser gratuito e comumente utilizado, os bancos de dados são normalmente acessados com consultas SQL.
    DICA DE ESPECIALISTA

    Gene Linetsky, MS

    Fundador de Startups e Diretor de Engenharia
    Gene Linetsky é um fundador de startups e engenheiro de software em na Área da Baía de São Francisco. Trabalha na indústria da tecnologia há mais de 30 anos e é o atual Diretor de Engenharia da Poynt, uma empresa de tecnologia que constrói terminais de vendas para diferentes negócios.
    Gene Linetsky, MS
    Fundador de Startups e Diretor de Engenharia

    Não se sinta na necessidade de obter um diploma. Ainda que cursos de programação sejam úteis, Gene Linetsky, um ex engenheiro de software e fundador de startups, diz: "Discute-se muito se diplomas ajudam ou atrapalham. Programação envolve muito aprendizado prático: você aprenderá mais errando que teorizando."

  2. Programadores geralmente pertencem a uma das seguintes categorias:
    • Programador web
    • Programador de aplicações desktop
      • Programador orientado a um sistema operacional (preso a um único sistema operacional ou conjunto de sistemas operacionais)
      • Programador de plataforma independente
    • Programador de aplicações distribuídas
    • Programador de bibliotecas, plataformas, framework e core
    • Programador de sistemas
      • Programador de Kernel
      • Programador de drivers
      • Programador compilador
    • Cientista da programação
  3. As próximas seções detalharão as etapas necessárias para se tornar cada um dos diferentes tipos de programador.
    Publicidade
Método 1
Método 1 de 6:

Programação web

PDF download Baixe em PDF
  1. Aplicações web são componentes de software projetados para trabalhar em cima da arquitetura da internet. Isso significa que as aplicações são acessadas através de um navegador web, como Firefox ou Internet Explorer. Isso não quer dizer que é necessária uma conexão ativa com a rede e sim que as aplicações estão construídas em cima de tecnologias padrão de web, tais como:
    • HTTP
    • FTP
    • POP3
    • SMTP
    • TCP
    • Protocolos IP
    • HTML
    • XML
    • Coldfusion
    • ASP
    • JSP
    • PHP
    • ASP.NET
  2. pelos diversos sites para descobrir como eles geralmente funcionam. Clique com o botão direito na página e, em seguida, vá em "exibir código fonte" ou pressione a tecla F12. Concentre-se mais na diversidade de tipo e conteúdo do que na quantidade de sites visitados. Você deverá visitar pelo menos um dos seguintes tipos de sites:
    • Sites de presença corporativa (empresas comerciais, empresas e organizações sem fins lucrativos, organizações governamentais)
    • Mecanismos de indexação de web (motores de busca, sites de meta busca, motores de busca especializados, diretórios)
    • Sites de mineração de dados
    • Sites pessoais
    • Páginas informativas ou enciclopédicas (wikis, planilhas de dados, especificações técnicas e manuais de listagem de diretórios, blogs e revistas, jornais e agências de notícias locais, páginas amarelas, etc.)
    • Sites sociais (portais sociais, sites de favoritos, sites de anotações)
    • Sites colaborativos (inclui outras categorias mencionadas acima, como wikis e blogs)
  3. Por exemplo: diagramas de brainstorming e MS Visio.
  4. Isso significa criar diagramas web conceituais, mapas de site e estruturas de navegação.
  5. Tente aprender pelo menos um software de edição e manipulação de imagens (opcional, mas fortemente recomendado).
  6. Você deverá ter uma noção básica sobre:
    • Protocolos de serviços base da web (HTTP, FTP, SMTP e POP3 ou IMAP4)
    • Software de servidor web (preferencialmente um que seja da plataforma na qual você passará mais tempo trabalhando)
    • Software de navegação web.
    • Software de cliente e servidor de e-mail.
  7. Aprenda as linguagens HTML e CSS. Considere obter o software para edição de HTML chamado "What You See Is What You Get (WYSIWYG)".
  8. A maioria dos usuários aprende JavaScript. Alguns aprendem VBScript , o qual, entretanto, não é compatível com grande parte dos navegadores.
  9. Tente alcançar todo seu potencial usando apenas essa linguagem. Avance para o próximo passo somente depois de ter se familiarizado com a linguagem script para o lado do cliente.
  10. Se você optar por limitar-se a um software de servidor, aprenda uma das linguagens de programação suportadas por ele. Caso contrário, aprenda pelo menos uma linguagem de programação para cada software de servidor.
  11. e comece a fazer testes on-line em sua própria página.
    Publicidade
Método 2
Método 2 de 6:

Programação de aplicações desktop

PDF download Baixe em PDF
  1. A maioria dos programadores de desktop escreve códigos para soluções comerciais, por isso, ter uma ideia sobre como funcionam as empresas, as estruturas organizacionais e financeiras será um grande economizador de tempo.
  2. Um curso de nível introdutório em projeto de circuitos digitais e outro em arquitetura de computadores serão úteis – entretanto, como alguns veem isso como sendo avançado demais para um ponto de partida, ler dois ou três artigos tutoriais em sites especializados pode ser suficiente. Dessa forma, você pode voltar nesse passo posteriormente, após aprender a sua primeira linguagem de programação.
  3. Aprenda uma linguagem de programação para iniciantes (para crianças) [1] . Não tenha vergonha de aprendê-la apenas porque você é velho demais para ser chamado de criança. Um exemplo de linguagem de programação para iniciantes é a chamada Scratch. Linguagens de programação desse tipo podem aliviar tremendamente as dificuldades de se aprender sua primeira linguagem de programação. Entretanto, esse passo é opcional. Ele também pode ser feito antes do passo anterior.
  4. Estude os conceitos básicos dos paradigmas de programação procedural, programação orientada a objetos e programação funcional.
  5. Seja qual for a linguagem de sua escolha, ela certamente exigirá programação procedural em algum ponto. Além disso, a maioria dos programadores afirma que a programação procedural é a maneira mais fácil de entrar no mundo da programação
  6. Você pode usar pequenos exercícios comuns em livros de linguagens de programação. Para isso, escolha uma ferramenta para escrever programas com a linguagem de programação que você usa.
  7. Tome o cuidado de entender bem os seguintes conceitos e de poder aplicá-los com facilidade antes de continuar:
    • Entrada e saída de informações para os usuários de um programa.
    • O fluxo lógico e o fluxo de execução de programas em linguagens procedurais.
    • Declarar, atribuir e comparar variáveis.
    • Construtores de ramificações, tais como if..then..else e select/switch..case.
    • Construtores de laços, como while..do, do..while/until, for..next.
    • A sintaxe da linguagem de programação para criar e chamar procedimentos e funções.
    • Tipos de dados e a manipulação deles.
    • Tipos de dados definidos pelo usuário (registros, estruturas e unidades) e respectivos usos.
    • Caso a linguagem suporte sobrecarga de funções, entenda esse conceito.
    • Os métodos de acesso à memória da linguagem que você escolheu (ponteiros, filas, etc.).
    • Caso a linguagem suporte sobrecarga de operadores, entenda esse conceito.
    • Caso a linguagem suporte ponteiros de delegação e função, entenda esse conceito.
    • Paradigma orientado a objetos.
  8. É recomendado aprender uma linguagem de programação para cada paradigma, assim como fazem a maioria dos programadores avançados. Entretanto, você geralmente começa com uma, trabalha com ela por um tempo aplicando seu conhecimento e praticando, para só depois, quando já tiver uma sólida experiência profissional, aprender outra. Experimente uma das seguintes áreas:
    • Paradigma de programação lógica.
    • Paradigma de programação funcional.
  9. Avalie os pontos fortes e fracos de cada uma delas. Isso geralmente é feito da seguinte forma:
    • Pegando amostras simples de seus primeiros trabalhos na primeira linguagem de programação e reescrevendo-os usando a segunda linguagem de programação.
    • Criando um novo projeto e tentando implementá-lo usando ambas as linguagens. Às vezes, dependendo do projeto e linguagens escolhidos, você poderá não ser capaz de programar o projeto em uma das linguagens!
    • Escrevendo uma cola ou um quadro resumo de comparações entre as estruturas semelhantes nas duas linguagens e as características únicas de cada uma delas.
    • Tente encontrar maneiras de imitar características únicas de uma das linguagens utilizando a outra.
  10. usando uma das linguagens que você aprendeu. Quase todas as linguagens de programação possuem versões ou bibliotecas que suportam programação visual e outros tipos de programação em console. Faça o seguinte:
    • Aprenda o básico da programação orientada a eventos. A maioria das linguagens de programação visual se baseia em eventos e tratamento eventos (usando a linguagem de programação de sua escolha).
    • Experimente o máximo de softwares de desktop que puder e entenda o que cada um deles fazem. A maioria das empresas de desenvolvimento de software oferecem versões de teste dos produtos, as quais você pode usar para testar o software. Mantenha-se atualizado em relação aos avanços nas interfaces de usuário.
    • Leia alguns artigos ou tutoriais sobre interfaces gráficas de usuário.
  11. Tente aplicar seus conhecimentos de programação nos problemas que você enfrenta no dia-a-dia. Por exemplo, escreva programas que renomeiam arquivos em massa, comparam arquivos de texto visualmente, copiam os nomes de arquivos de um diretório para um arquivo de texto, etc. Comece fazendo coisas simples.
  12. Faça-o por inteiro, aplicando as técnicas de programação visual que você aprendeu até agora.
  13. Amplie sua compreensão sobre framework, biblioteca e pacote visual fazendo cursos avançados, prestando atenção extra aos detalhes e aprendendo mais dicas e truques sobre seu framework através de fontes na internet.
  14. Isso será muito útil para programadores que desejam criar elementos de interface atrativos para os usuários.
  15. Torne-se um programador de jogos (opcional) . A programação de jogos é considerada, na maioria de suas partes, programação desktop. Caso pretenda tornar-se um programador de jogos, você precisará aprender mais sobre esse tipo de programação após concluir as etapas anteriores. Um curso de gráficos é um requisito obrigatório para programadores de jogos e sua segunda linguagem deverá ser uma de programação lógica ou funcional (de preferência Prolog ou Lisp).
    Publicidade
Método 3
Método 3 de 6:

Programação de aplicações distribuídas

PDF download Baixe em PDF
  1. Além de ser considerada por muitas pessoas do meio como uma das mais difíceis de aprender, a programação de aplicações distribuídas requer conhecimentos diversos em informática e tecnologias de comunicação.
  2. Apesar de opcional, esse passo é bastante útil na compreensão das topologias de rede.
  3. Será necessária uma boa compreensão do modelo de Interconexão de Sistemas Abertos (OSI), Ethernet, IP, TCP, UDP e HTTP antes de começar a programação de aplicações distribuídas.
  4. Para programação no Windows, essa seria qualquer script que funcione com o Windows Scripting Host. Para programação no Linux, os scripts Bash e Perl serão suficientes. Javascript é fortemente recomendado em ambas as plataformas pelas seguintes razões:
    • Ele é suportado por quase todos os hosts de script em qualquer sistema operacional (o Windows Scripting Host suporta javascript por padrão, a maioria das distribuições Linux possui um pacote para suporte de script em javascript por console).
    • Ele é considerado mais fácil de aprender por vários desenvolvedores.
    • Ele possui uma sintaxe derivada ALGOL que vai familiarizá-lo com muitas outras linguagens de programação quando você precisar escolher uma segunda linguagem ( C , C++ , C#, Java e J# possuem sintaxe derivada ALGOL).
    • Ao aprender javascript, você se familiarizará com o script do lado do cliente de páginas web, o qual é um efeito colateral útil!
  5. Posteriormente, você poderá utilizar técnicas de programação e paradigmas mais avançados de acordo com a linguagem de script e o que ela pode suportar. Todas as linguagens de script apresentam aspectos de programação procedural em algum ponto.
  6. Saiba o que é necessário para fazer isso. Uma comunicação simples será suficiente.
  7. De preferência, uma linguagem multiparadigma, como a Python . Faça uma introdução simples a essa segunda linguagem. A linguagem favorita da maioria dos programadores é a Java, entretanto, a linguagem C# está ganhando cada vez mais espaço nesse campo. As linguagens Java e C # são preferidas pelas seguintes razões:
    • Elas são linguagens de programação orientadas a objeto que protegem os programadores que trabalham em grandes equipes dos detalhes de implementação, uma vez que ambas suportam componentes (unidades de código pré-compiladas, as quais executam uma determinada tarefa e podem ser usadas em outros programas).
    • Elas suportam programação orientada a eventos, bem como OO e programação procedural em algum ponto.
    • O framework sobre o qual a linguagem é construída é distribuído por natureza (no caso da linguagem Java).
    • A disponibilidade de muitos pacotes prontos para uso que trabalham com redes, tanto de código-fonte aberto quanto de framework integrado. Isso torna mais fácil para os programadores construir em cima do trabalho dos outros.
  8. mais nas características fundamentais da linguagem, especialmente no que diz respeito a suporte de rede. Preste menos atenção aos elementos de interface de usuário, tais como saída, design e técnicas de janela.
  9. Isso pode ser feito usando livros, tutoriais online ou cursos acadêmicos. Entretanto, é necessário compreender a arquitetura de aplicações distribuídas e seus conceitos.
  10. É recomendado aprender pelo menos o básico de todas elas. A maioria dos programadores de aplicações distribuídas aprende, pelo menos, uma linguagem de programação em cada sistema operacional. Isso porque, caso queira que sua aplicação seja "distribuída", você precisará fornecer uma versão dela para cada sistema operacional principal.
    • Common Object Request Broker Architecture (CORBA)
    • Simple Object Access Protocol (SOAP)
    • Asynchronous JavaScript and XML (AJAX)
    • Distributed Component Object Model (DCOM)
    • .NET Remoting
    • XML Web Services
    Publicidade
Método 4
Método 4 de 6:

Programação de bibliotecas, plataformas, framework e core

PDF download Baixe em PDF
  1. Programadores de core são simplesmente programadores avançados que saíram da programação de aplicações e foram para a programação de unidades de código, que, por sua vez, serão usadas por outros programadores.
  2. Aprenda uma linguagem de programação que suporte a construção de componentes e pacotes reutilizáveis, caso ainda não tenha aprendido.
  3. A maioria dos desenvolvedores de biblioteca usa pelo menos um deles.
  4. Quanto mais paradigmas de programação e linguagens você dominar, mais bem-sucedido se tornará como um programador de bibliotecas e pacotes.
  5. Saiba mais sobre os diferentes sistemas operacionais e sobre os frameworks de programação suportados por eles.
  6. Tente usar o código padrão sempre que possível.
  7. Isso será útil durante a fase inicial de sua conversão em um programador de bibliotecas e pacotes. Comece com pacotes simples, como pacotes de conversão de unidades e cálculos científicos intermediários. Se você for um estudante de faculdade, faça uso das disciplinas não relacionadas à programação para tentar implementar equações e núcleos científicos na forma de bibliotecas.
  8. Primeiro, baixe os binários do pacote. Tente usá-los e descobrir os pontos fortes e fracos. Em seguida, baixe o código fonte e tente descobrir como ele foi feito. Tente recriar essas bibliotecas ou partes delas. Comece fazendo isso após ver o código e, em seguida, tente fazer sem vê-los. Nas fases posteriores, tente melhorar essas bibliotecas.
    • Normalmente, os programadores de bibliotecas e pacotes tendem a pensar de forma recursiva e/ou iterativa sobre todos os problemas apresentados. Tente pensar em cada problema como uma soma de problemas menores (uma sequência de tarefas mais simples) ou como um processo iterativo pelo qual o problema original é dividido em unidades menores que são, em seguida, empilhadas hierarquicamente.
    • Os programadores de bibliotecas e pacotes tendem a generalizar. Isto é, quando apresentados a um específico problema simples, eles pensam em um problema mais geral e tentam resolvê-lo, para assim resolver automaticamente o problema em questão.
    Publicidade
Método 5
Método 5 de 6:

Programação de sistemas

PDF download Baixe em PDF
  1. Os programadores de sistemas lidam com "a ciência" da programação e não com as implementações específicas da mesma. Não se prenda a uma plataforma específica.
  2. .
  3. Para isso, você precisará:
    • Saber o básico sobre como os sistemas operacionais são instalados.
    • Aprender a instalar diferentes sistemas operacionais em um PC (opcional, mas recomendado).
    • Instalar mais do que um sistema operacional. Não instale nenhum pacote de ajuda nos sistemas; em vez disso, use as funcionalidades básicas fornecidas pelos mesmos.
  4. Posteriormente, você aprenderá a integração de outras plataformas e sistemas.
  5. Preste atenção particular ao Standard Template Library (STL) e talvez ao Active Template Library (ATL).
  6. Procure por sites, livros e cursos na internet para conhecer as peculiaridades da linguagem C para sua plataforma em específico.
  7. Isso será mais fácil se você escolher um sistema operacional baseado no Unix. Conheça bem o sistema com o qual você trabalhará.
  8. Primeiro, crie pequenos utilitários de sistema. Isso será útil para:
    • Tentar recriar pequenas ferramentas que já existam no sistema.
    • Tentar utilizar utilitários de porta disponíveis em outros sistemas operacionais no seu.
  9. Essa é a única área onde a escolha da primeira linguagem de programação importa. Aprenda ANSI C primeiro, não C++, C# , Java ou D. Em seguida, aprenda C++.
    • Limitar a primeira linguagem exclusivamente a C se deve ao fato de que a programação de sistemas requer que o programador esteja familiarizado com os seguintes conceitos:
      • Compilação real e completa de código fonte.
      • Arquivos de saída de objetos de baixo nível.
      • Vinculação de binários.
      • Programação em linguagem de máquina e integração de baixo nível. Algumas pessoas dizem que a linguagem C é uma linguagem de integração disfarçada, mais fácil de aprender. Ela também suporta a inserção de código de integração sempre que você quiser e é apenas procedural (como o integrador).
    Publicidade
Método 6
Método 6 de 6:

Ciência da programação

PDF download Baixe em PDF
  1. Cientistas da programação são programadores muito avançados que, em vez de trabalhar no desenvolvimento de aplicações, trabalham no desenvolvimento de tecnologias de computação, como criptografia, linguagens de programação e algoritmos de mineração de dados. Esse nível raramente é alcançado sem estudo acadêmico e dedicação.
  2. Isso pode ser feito das seguintes maneiras:
    • Obtendo um grau acadêmico real (que é o que geralmente acontece).
    • Conseguindo o material do curso através de uma das universidades modernas e estudando-o. Apesar de ser possível aprender desta maneira, é recomendado seguir o primeiro caminho.
  3. Quanto mais específico, melhor. Essa escolha dependerá unicamente de suas preferências. A seguir você poderá ver uma lista de algumas das principais áreas da ciência da programação de computadores:
    • Projeto de algoritmos (pesquisa, classificação, criptografia, descriptografia e detecção de erros nas comunicações são alguns exemplos)
    • Linguagens de programação, desenvolvimento de compiladores, otimização
    • Campos relacionados à inteligência artificial (reconhecimento de padrões, reconhecimento de voz, processamento de linguagem natural, redes neurais)
    • Robótica
    • Programação científica
    • Supercomputação
    • Modelagem ou projeto auxiliado por computador (CAD/CAM)
    • Realidade virtual
    • Computação gráfica (gráficos de computador são em geral erroneamente confundidos com design gráfico ou design de interface gráfica do usuário. A computação gráfica se refere ao estudo da representação e manipulação gráfica em sistemas de computador).
  4. Você pode optar por buscar um mestrado ou um doutorado.
  5. Publicidade

Dicas

  • Seja qual for o tipo de programação que você quer aprender ou o nível que deseja alcançar, considere fazer um curso em algum colégio ou faculdade. Não se deixe intimidar por termos como "Ciência da Computação". Qualquer disciplina que não possua pré-requisitos deverá concentrar-se em ensinar os fundamentos da programação. Fale com um instrutor ou um conselheiro com antecedência, para ter certeza de que o curso é realmente o que você está procurando, uma vez que disciplinas como "Alfabetização Digital" podem focar-se em programas de escritório e afins.
Publicidade

Sobre este guia wikiHow

Esta página foi acessada 79 852 vezes.

Este artigo foi útil?

Publicidade