Como iniciar na programação, qual linguagem?

Janeiro 2017

Uma das questões mais frequentes nos fóruns dedicados aos iniciantes nas linguagens de programação é Como iniciar na programação ? Ou as vezes Qual linguagem para iniciar? Eu vou tentar responder à estas perguntas, mas saiba que este tipo de pergunta pode suscitar discussões de opiniões divergentes. Para tentar ser objetivo eu me baseei nas ideias dos membros publicadas como respostas no nosso fórum.

Como iniciar, qual linguagem?


De antemão é preciso dizer que mão existe uma linguagem especial para começar na programação,pelo menos no que se refere à programação sobre papel, com o algoritmo. Leia esta dica.

Evidentemente, para testar os algoritmo mais simplesmente, a única coisa que eu recomendaria é uma servir-se de linguagem simples, não objeto e não gráfica. A boa escolha poderia ser as linguagens Basic, Pascal, ou a Python, mas a sintaxe delas estas será mais útil para o que vem depois. Mesmo a linguagem de uma calculadora pode bastar para testar os algoritmos simples. Em seguida, é bom conhecer os diferentes tipos de linguagem, saber o que é um compilador e outras generalidades. Leia o artigo Linguagens informáticas.

Com uma delas já nos armamos com uma boa base para começar a programar...Mas, atenção, não se programa somente por programar, devemos ter um objetivo, uma ideia, um software a fazer. Nisto eu não posso ajudar, tudo dependerá de seus gostos e de seus conhecimentos, Logo depois de ter escolhido a linguagem, devemos fazer as primeiras escolhas técnicas:

Linguagem objeto, sim ou não?
Multi-plataforma, sim ou não?
Com máquina virtual, sim ou não?
Usuário, sim ou não?
Acesso ao banco de dados ? Se afirmativo qual?...

Assim que estas escolhas estiverem definidas, fica restringido o leque das linguagens. Assim veremos as linguagens que mais frequentemente citadas para iniciar em programação, tendo sempre como ponto de vista o aprendizado.

Saiba que existe uma via mais lúdica para descobrir a programação: a KPL.
KPL significa Kid's Programming Language: site KPL (em inglês).

A Interface é bem feita (cores, sons, grafismos) e um oferece o aprendizado da programação orientado para uma concepção de jogo. A ideia é a de aprender divertindo-se. Se, realmente você não conhece nada de informática e de programação, ela pode ser uma porta de entrada. Evidentemente, este é um meio para implicar seus filhos (o que é bom para eles é bom para você, em princípio). Este software é um freeware, e não se restringe ao jogo. O site é multi-idiomas (inglês, espanhol, português, francês e algumas línguas nórdicas) como o software . A linguagem integra o básico das outras linguagens: Begin, End, Main, False, True, etc.

A escolha

Delphi/Pascal

Uma boa solução, os compiladores e o ambiente de desenvolvimento encontram-se gratuitos (sob algumas condições pouco restritivas). Pode-se começar fazendo pequenos programas de shell com a Pascal e em seguida passar (depois de ter aprendido a noção de objeto) para linguagens mais complexas com o ambiente gráfico graças à Delphi (e Kylix no Linux. A linguagem é relativamente intuitiva, rigorosa, a criação gráfica simples, pode-se rapidamente sentir o prazer da programar. A portabilidade é medíocre, mas existe em algumas plataformas.

Para aprender:

Linguagem Pascal
Guia do Hardware
Recursos para programação (em inglês)

Java

Linguagem objeto, portátil, sintaxe utilizada igualmente por scripts internet (a sintaxe, não a linguagem...). Existe numerosos ambientes de desenvolvimento gratuitos na internet: basta escolher um em função da sua necessidade, entretanto, não tem a facilidade de Delphi ao nível das interfaces gráficas. Trata-se de uma linguagem "nova geração" que dará também uma experiência interessante aqueles que queiram trabalhar em informática.

Para aprender:

Introdução a linguagem Java
linguagem Java

Python

Ela é simples rápida, oferece bons hábitos de programação, leve (a tal ponto que passar à uma outra linguagem depois vai parecer difícil), aberta, com muitos documentos na net, é a preferida de muitos iniciantes. Ela permite uma rápida satisfação fazendo scripts potentes (graças principalmente a programação objeto). Ela é pertence à "nova geração" e portátil e funciona com uma máquina virtual que pode ser empacotada graças a certas disponibilidades no web (encontra-se qualquer tipo e para qualquer fim...) em um EXE para distribuir o aplicativo de maneira simples e independente:


Site oficial da Python (em inglês)
Introdução à Python
Livro Aprender a programar com Python, em francês, e totalmente acessível online.
Wikibooks
Programar em Python publicado por Alcides Fonseca
Tutorial Python

Net

Aliás o futuro de acordo com Microsoft, de bom e de ruim nesta plataforma, mas ela permite programar aplicações gráficas de maneira simples, funcionando unicamente no Windows com algumas tentativas de adaptação no Linux. Eu aconselharia a C# que é a linguagem «nativa» desta plataforma: sua sintaxe é próxima da C e da Java, sem apontador, tudo se passa no nível da abstração superior às linguagens da Microsoft. É comparável a Java e a Python, porém ela não é gratuita.

Um ambiente de desenvolvimento gratuito e OpenSource para.Net:

OpenSource/SD
Macoratti

Smalltalk

Para mim é a linguagem objeto por excelência. Gratuita, com a sintaxe simples, ela impões um rigor inegável na programação objeto. Infelizmente pouco popular, é muito raro encontrar trabalho com ela, mas de qualquer maneira é sempre uma referência sólida.

Site oficial Squeak em inglês
Squeak em português
Smaltalk em inglês

Outras linguagens

C/C++

São boas linguagens, mas com uma sintaxe complicada que não facilita o aprendizado. De mais a mais a utilização dos indicadores torna sua utilização, mesmo por profissionais, seguidamente bastante trabalhosa. A vantagem é que estas linguagens podem ser utilizadas por várias plataformas (depois de compiladas) e, mesmo dominadas, elas fazem as outras aparecerem muito mais simples. Além disso são estas as mais utilizadas no mundo profissional. A utilizar exclusivamente com a finalidade de fazer da informática uma profissão.


Para aprender:

C/C++ apostilas em português

PHP

Uma linguagem inicialmente prevista para o desenvolvimento de páginas web dinâmicas. Sua sintaxe é próxima da C++.

A PHP é bastante simples para abordar e permite comunicar facilmente com o banco de dados. Para desenvolver páginas web dinâmicas, precisa-se igualmente de um bom conhecimento do código HTML e eventualmente de um banco de dados. Ela permite ter rapidamente a "visibilidade" de seu trabalho, colocando-o on-line, a assim ter comentários/sugestões dos internautas. Pode-se também desenvolver aplicativos normais com esta linguagem (fora da web). Note também que você pode programar por procedimento ou orientada ao objeto, permitindo uma boa visão do horizonte.

Em resumo, ela é uma boa linguagem, porém não a melhor para começar o aprendizado. Ela é eficaz e você corre o risco de ficar mal acostumado. Particularmente no que concerne às páginas web. Se você está buscando uma linguagem fácil para aprender, que permita aprender uma linguagem orientada ao objeto, e que livra você de maus hábitos, escolha uma linguagem como a Python

Para aprender:

Fazer upload de arquivos PHP e PHP Redirecionamento e o Site oficial PHP. Veja também o artigo HTML, PHP uma apostila em português e Wiki PHP e PHP .net em inglês.

Para o download: EasyPHP

Ada

Linguagem utilizada no mundo do tempo real. Continua a ser relativamente fácil para o aprendizado, mas é recomendada sobretudo para aqueles que trabalham com informática, senão o interesse é limitado. É preferível passar à Ada somente com o objetivo "tempo real" ou então na informática embarcada. A tendência é que ela desapareça.


Para aprender:

Softwares embarcados (em portuguê) e Tutorial Ada 95 (em inglês).

Lisp/Caml/

As linguagens funcionais são em grande número, classificadas em duas grande famílias: as puras(haskell) e as impuras(família lisp). A família pura é classificada em duas: as puras realmente, sem efeito de borda (família haskell) e a família ML (Caml,SML,...). A maneira de programar de uma é totalmente diferente das outras. A programação funcional é outra maneira de ver um programa não impedindo, por exemplo, de ter uma linguagem funcional e objeto (Scala por exemplo) ou mesmo uma linguagem que alia imperativo/objeto/funcional (Ocaml). Conhecendo uma delas,permitirá ter boas bases, permitindo também às pessoas mais orientadas à matemática de passar facilmente para a informática. Elas são muito utilizadas em análise numérica ou para a inteligência artificial (somente por causa de sua origem). Pode-se utilizar para programar tudo aquilo programado com as outras linguagens: a referência é caml.inria (em inglês), Ocaml e
Osdir-Python, (ambos em português)

Aquilo que pode-se deixar de utilizar

(x)HTML/CSS

Escrever uma página ou um site em HTML é, para a programação, a mesma coisa que um copo de água é para o alcoolismo.


Para aprender (em português):

Introdução em HTML Introdução ao HTML
HTML Formulários HTML
As balizas HTML As marcad HTML
Tutorial HTML
Aprenda HTML
curso de HTML
Apostila de HTML

Perl

Sejamos claros, esta linguagem, aparentemente simples, não é adaptada ao aprendizado. Sua "molesa" e sua potência poderão te dar maus hábitos de programação, até mesmo de desestimular, pelos erros que ela autoriza e induz. O melhor é começar por aprender com uma linguagem rigorosa, para depois explorar ao máximo a Perl.

Para aprender:

Introdução à Perl

Visual Basic/Basic: D

Ele é desaconselhada formalmente por todos os profissionais que trabalharam com ela. Ela permite adquirir maus hábitos de programação. E, diga-se de passagem que mesmo a Microsoft a abandonou (trata-se de uma linguagem proprietária) em favor do Framework.Net. Para finalizar, não existe nenhuma versão gratuita. O único ponto positivo que eu reconheço enla, é o lado lúdico e a facilidade para fazer interfaces gráficas para o Windows, pois ela não é portátil, mas isto não é exclusividade dela. Se interessa a você utilize Delphi ou Net.

O caso da Basic é mais ou menos o mesmo caso. Existe compiladores gratuitos, mas trata-se de uma linguagem ultrapassada e lenta, não é portátil e não tem rigor. Prefira Pascal que permite a evolução para a Delphi.

Para aprender:

[www.commentcamarche.net/vb/vbintro.php3 Introdução à PHP3]

Divers/matemática

Para os fãs da matemática, pode-se utilizar também as linguagens de ajuda. Até o momento, a sua eficácia é limitada, mas com o tempo elas serão desenvolvidas. Atualmente as mais populares são aquelas dependentes da família ML ou Haskell. Para Ocaml, você tem coq. Os paradigmas são fundados na lógica.

Para aprender:

PERL tutorial em português
Apostila Perl Apostila em português

Alguns links do site CCM: Criar uma página Web, As cores CSS, As linguagens Web, Estruturas de um programa.

Para saber mais, existem vários links em português e em inglês:

Programação
Google
Ariel

Eu espero que vocês tenham encontrado as informações que buscavam e que esta dica sirva como uma orientação mais ou menos completa e objetiva.

Conclusões e links

Você encontrará igualmente muitos compiladores gratuitos para as diferentes linguagens neste endereço: Thefreecountry

PS: começar na programação, é se confrontar com esta questão "Mas porque meu programa não funciona?" As mensagens de erro fornecidas pelo ambiente de compilação ou de execução (ou de comportamento de conjunto) levam os iniciantes muitas vezes para dentro de uma complexidade sem saída. Um bom método é o de dar o código para alguém ler, e/ou de explicar à alguém seu problema. As vezes o enunciado de seu problema explicitado em voz alta permitirá a sua compreensão. Enfim, a capacidade para programar anda de mãos dadas com aquela de poder abstrair-se do mundo material, no qual nós estamos mergulhados. Bem vindo ao mundo virtual, onde nada é material nem concreto.

Se a programação te fascina, tenha sempre ao seu lado uma folha de papel e um lápis e quando você pensar em alguma solução, escreva-a e teste-a. Esta é a arma de qualquer programador de informática. Você será provavelmente surpreso com a eficácia destas ideias surgidas, não se sabe como nem de onde elas surgiram.

<Imagem: @ Pixabay.</signature>

Veja também

Artigo original publicado por . Tradução feita por ninha25. Última modificação: 24 de maio de 2016 às 11:10 por ninha25.
Este documento, intitulado 'Como iniciar na programação, qual linguagem?', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.