Qual deve ser a primeira linguagem de programação para aprender?

48 respostas
M

No Lifehacker, apareceu uma pergunta: “Qual a melhor primeira linguagem de programação para aprender?”

Java é a melhor primeira linguagem para aprender? Alguém possui outra sugestão?

48 Respostas

jingle

eu gostei de começa aprendendo por java… mas já vi varias pessoas dizendo que Delphi é bem mais fácil pra começar.

F

É que, eu acho que as linguagens podem ser divididas em dois grupos, as estruturadas e as orientada a objetos.

A primeira linguagem que eu aprendi, que era estruturada, foi Pascal.
Depois, com orientação a objetos, aprendi Java, mas os meus conceitos de programação estruturada sempre faziam com que não seguisse a risca os conceitos de orientação a objeto.

Hoje, como profissional em Java, eu penso que o melhor é aprender logo de cara Orientação a Objetos.

Link_pg

Pascal foi feita com o intuito mesmo de ser de fácil aprendizado… assim como Basic… Eu comecei com java e acho que difícil mesmo é aprender lógica e OO… linguagem qualquer manual sabe :smiley:

L

Eu recomendaria Java por um motivo bem simples: as mensagens de erros reportados pelo javac são claras. Muito mais que o compilador gcc ou o interpretador ruby.

Rubem_Azenha

Eu comecei por Pascal, acho que foi uma excelente escolha do meu professor.

thegoergen

Eu comecei com uma estruturada, C . Achei fácil, parecida com algoritmo, era fácil de fazer a conversão da lógica para a linguagem.

Para Orientação a Objetos… o mais difícil é A Orientação a Objetos em si, não a linguagem.

gomesrod

Eu continuo acreditando que é melhor começar por linguagens estruturadas simples, como Basic (que foi a minha) ou Pascal. Assim o aprendizado da “programação” em si fica separado do aprendizado de coisas mais específicas de determinadas tecnologias/linguagens (por exemplo, OO ou manipulação de memória e ponteiros).

Também não concordo que seja necessário começar com OO para aprender “do jeito certo” (se é que isso existe), afinal esse é apenas um outro paradigma que pode ser aprendido depois de se passar pelo básico. Como disse antes, melhor aprender primeiro a programar, depois amplie seus horizontes conforme a área que pretende seguir.

victorwss

Eu comecei com Basic, ainda criança, realmente uma liguagem muito fácil e simples. Óbvio, que para fazer qualquer coisa séria ela se torna um monstro, mas para começar a entender como funciona uma linguagem de programação, é excelente.

Depois fui para o Visual Basic (com 12 anos de idade), é legal para você fazer programinhas simples e se empolgar na arte de programar. Mas quando o negócio fica grande, é um inferno.

Depois aprendi FoxPro, Pascal, C, Delphi, C++, Java, Javascript, brainfuck…

Na minha opinião Java não é uma boa linguagem para começar. É uma linguagem difícil com regras muito complexas. Para pessoas que nem sabem direito o que é uma variável, há um abismo gigantesco a ser transposto até se tornar um programador com um mínimo de fluência.

Mas, java como uma segunda linguagem é excelente. Afinal, a melhor forma de saber o porque de java ter tantas regras complexas é já ter vivido em um mundo muito pior onde elas simplesmente não existiam.

otaviofcs

Seguramente começaria por algo orientado a objetos. Mas, leonardo, quanto às mensagens de erro, acho que você está errado em relação ao ruby. Até porque as mensagens de ambos (java e ruby) são extremamente simples de verificar, com a vantagem para o ruby que você testa mais rápido (só dar um reload no console se precisar).

De qualquer forma, seja por onde começar, o importante é não se prender a nenhuma. Aprenda uma linguagem todo ano para comparar forças e fraquezas de cada uma.

rdantas
Acho o aprendizado deve ser um processo gradativo, do facil e simples para o dificil e complexo. Para quem está começando, aprender portugol, pascal, C, e outras linguagens estruturadas facilitam a abstração que a meu ver é essencial para um bom trabalho com O.O e Java. Eu aprendi a programar com pascal, e quando comecei a trabalhar com Java e OO eu achei tudo muito fácil.
CarlosEduardoDantas

Comecei com C… porém, depois de muito pseudo-codigo, algoritmos, fluxogramas, estruturas de dados na mao, etc…

LPJava

se nao tiver logica… nao aprende nem pascal! alias nem o velho portugol o cara nao consegue desenvolver nada… entao essa questao de “qual deve ser” é meu abstract…

Com uma boa logica aprende qualquer uma… sem problemas nenhum…

M

Olá pessoal,

Eu entendo que a maioria das pessoas acredita que o importante não é a linguagem, mas aprender lógica de programação.

No entanto, a maior parte dessas pessoas passou pela faculdade, tiveram cursos de lógica de programação, algoritmos, etc.

E para quem não foi (e nem vai) para uma faculdade, etc? Ele vai ficar aprendendo lógica de programação sem utilizar linguagem nenhuma?

Eu acredito que ter que aprender lógica não desmerece a pergunta de ter uma primeira linguagem para aprender.

Acho que os melhores argumentos agora são para o aprendizado de pascal e basic, não?

L

Seguramente começaria por algo orientado a objetos. Mas, leonardo, quanto às mensagens de erro, acho que você está errado em relação ao ruby. Até porque as mensagens de ambos (java e ruby) são extremamente simples de verificar, com a vantagem para o ruby que você testa mais rápido (só dar um reload no console se precisar).

De qualquer forma, seja por onde começar, o importante é não se prender a nenhuma. Aprenda uma linguagem todo ano para comparar forças e fraquezas de cada uma.

Pensando bem, se o iniciante usar o irb, até que vai ser fácil pra ele.

O problema do interpretador ruby é a qualidade das mensagens apresentadas. Acho que pra quem já tem conhecimento não vai haver problema nenhum, mas pra quem tá no zero, uma mensagem que não explica bem pode ser um problema.

LPJava

mtoledo:
Olá pessoal,

Eu entendo que a maioria das pessoas acredita que o importante não é a linguagem, mas aprender lógica de programação.

No entanto, a maior parte dessas pessoas passou pela faculdade, tiveram cursos de lógica de programação, algoritmos, etc.

E para quem não foi (e nem vai) para uma faculdade, etc? Ele vai ficar aprendendo lógica de programação sem utilizar linguagem nenhuma?

Eu acredito que ter que aprender lógica não desmerece a pergunta de ter uma primeira linguagem para aprender.

Acho que os melhores argumentos agora são para o aprendizado de pascal e basic, não?

E precisa ir para faculdade para aprender logica? ou melhor logica de programacao? Cada pessoa ja nasce com a logica… porem a faculdade apenas desperta ela de seg à sabado(ou sexta) mais para logica de programacao nao precisa ir para faculdade nao… o processo de desenvolver a logica pode ser feito no dia-dia e vc pode fazer tb somente um curso tecnico de logica de programacao com umas 60h para facilitar… ou comprar bons livros com exercicios nada mais… e outra… jogar RPG por exemplo vc aprende logica… ate pq nem dar para evoluir em determinados jogos sem logica… o importante que eu e outros falaram isso… é pq nao podemos ter “apego” a linguagem em si…

Kknd

C. Aprenda como funciona, depois, se preciso, passe pra uma linguagem mais abstrata.

pcalcado

Eu diria que a maneira menos trabalhosa de ser um proramador de verdade rapidamente é ler o SCIP, e por consequência seria Scheme. É claro que’programador de verdade’ neste contexto é algo que quase ninguém precisa ser no mundo atual.

peerless

Aos 16 anos eu aprendia mIRC Scripting, isso justiica algo que “o que você obtem resultado rapido de forma gratificante, que se torne divertido de aprender” é a mais recomendada. o mIRC no Brasil faliu… eu recomendaria, javascript, pois seu ‘‘compilador’’ é seu browser (resultado rapido)

D

C++.

Orientada a objetos, com diversos recursos, grande encapsulamento, otimas abordagens, didática, consolidada.

Não começar com C, pq vc pega vícios. Comecei com C++ e me senti abençoado, OO grudou na mente e ficou tão natural como programar.

De C++ vc pega qualquer linguagem de forma bem rápida. Java foi mto ezy, entender algumas peculariedades e basicamente não se perder no inferno de siglas, letrinhas e framorks, 1.000.000+ desses que fazem a mesma coisa.

Hoje, trabalho com Java, Delphi, C# e PHP. C++ só em projetos pessoais, o mercado não é muito bom para ela.

cv1

drungrin:
C++.

Orientada a objetos, com diversos recursos, grande encapsulamento, otimas abordagens, didática, consolidada.

Traducao pro Portugues:

fabiozoroastro

NA MINHA OPINIÃO, o bom é aprender, e ver logo algum resultado. Então, eu acho que um php da vida, é bem legal pra vc ver logo resultados em apenas uma semana de estudos. Abraços.

D

cv:
drungrin:
C++.

Orientada a objetos, com diversos recursos, grande encapsulamento, otimas abordagens, didática, consolidada.

Traducao pro Portugues:

Belo exemplo de moderador, não consegue se manter no assunto. Se nao tem o q falar sobre o assunto fique calado. Por isso que menos de 5% desse fórum é aproveitável. Uma vergonha. Sou novo aqui e cada vez mais me sinto envergonhado por fazer parte disso.

T

Eu aprendi com uma calculadora programável (TI-59), serve? Também sabia usar a HP-41C.
Ela tinha instruções condicionais e gotos, e era terrivelmente lenta. É como se você programasse em Assembly mas com instruções de nível mais alto.
Até hoje vejo um programa e consigo ver mais ou menos como é que ele é compilado e executado pela máquina.

luistiagos

sem duvidas C pois aprendendo bem C onde vc tenque fazer tudo na mão vc aprende a programar de verdade e depois pode passar para alguma linguagem que tenha mais abstrata…

marcelomartins

DBase III Plus foi bom pra mim. Me tratou com carinho, aceitava meus erros, me levou para um nível superior de maturidade.

Sério agora. Gosto de quem aprende Java primeiro. Principalmente se aprender certo.

pissurno

Começei com Pascal na faculdade logo em seguida veio Delphi e PHP e agora estou no Java.

Marky.Vasconcelos

victorwss:
Eu comecei com Basic, ainda criança, realmente uma liguagem muito fácil e simples. Óbvio, que para fazer qualquer coisa séria ela se torna um monstro, mas para começar a entender como funciona uma linguagem de programação, é excelente.

Depois fui para o Visual Basic (com 12 anos de idade), é legal para você fazer programinhas simples e se empolgar na arte de programar. Mas quando o negócio fica grande, é um inferno.

Depois aprendi FoxPro, Pascal, C, Delphi, C++, Java, Javascript, brainfuck…

Na minha opinião Java não é uma boa linguagem para começar. É uma linguagem difícil com regras muito complexas. Para pessoas que nem sabem direito o que é uma variável, há um abismo gigantesco a ser transposto até se tornar um programador com um mínimo de fluência.

Mas, java como uma segunda linguagem é excelente. Afinal, a melhor forma de saber o porque de java ter tantas regras complexas é já ter vivido em um mundo muito pior onde elas simplesmente não existiam.

Voce aprendeu Brainfuck??

Aquilo realmente é difíçil

Nem OO nem Estruturado, exótico

E eu, já começei direto com o Java aos 14 anos ^^ agora eu to estudando C++ também.

Dieval_Guizelini

O maior problema da área de exatas, encontra-se no fato que quando o apreendiz passa de um estágio para outro da evolução ele esquece do que precisou para vencer cada etapa…

Ninguém deveria começar com linguagem de programação sem ter passado algumas semanas estudando lógica de programação, estrutura de dados, análise de sistemas, sistemas operacionais, hardware e muita, mas muita matemática (isso apenas para saber bem o básico, como teoria dos conjuntos, matrizes, algebra, geometria e métodos numéricos).

Quando você achar que está no nível fera, então você estará pronto para ser iniciado em linguagem C ou Pascal. (As boas Instituições trabalham com as duas).
O bom do Pascal é o formalismo das estruturas de controle, da modulariedade, das estruturas básicas de dados e dos tipos definidos pelo usuário.
O bom da linguagem C, é justamente não ter o formalismo do pascal, acrescido da lógica de ponteiros, modelos de memória, aproximação com SO etc.

Quando a programação estruturada, inclusive com os acessos de baixo nível para os sistemas de arquivos, não forem mais problemas, então podemos deixar de escrever soluções com o foco na lógica de processos para começar a discutir soluções com o foco na informação.

A análise e programação OO não é melhor que a estruturada para aplicações “simples”, implementações básicas de dados, fórmulas e etc, e sim em sistemas que tendem a crescer o escopo, a se integrar a outros sistemas, maior tempo de produção, produzidos por equipes maiores, etc.

logo nesse contexto, as linguagens java e C# ou similares da .NET são bem aplicadas.

Porém as instituições de ensino não as utilizam neste contexto, e ficam no B A BA da OO, exemplos básicos e recursos instrumentais dessas ferramentas.
O aprofundamento, quando ele ocorre, é realizado em disciplinas de TCC ou projetos.

A maior parte dos graduandos passam 3 a 5 anos das instituições de ensino sem terem participado de uma única discussão sobre qual o melhor instrumento (linguagem) a ser utilizada para cada classe de situações.

Mas existem outras linguagens, para outras situações… LISP, PROLOG, JAVASCRIPT etc

fw

cv1

O botao de logout eh serventia da casa.

Sugerir C++ como linguagem limpa e didatica eh o mesmo que sugerir um traveco da Augusta como boa maneira de comecar a vida sexual da sua filha.

bsmachado

Linguagem C é uma boa… Depois Java.

Pra Web PHP… depois Java pra Web.

jmoreira

Se for pensar em termos didádicos, Pascal é uma boa escolha para ser a numero um. É uma linguagem fácil e que fundamenta os paradigmas de programação. Na sequência vem C/C++ e ai sim…, Java.

Andre_Fonseca

Eu tb voto no Pascal, justamente por que foi inventado para isso…

Tem um site legal aqui http://www.freepascal.org/

Luca

Olá

Certo, o Niklaus Wirth inventou o Pascal para ensinar a programar de forma estruturada e modularizado. Mas isto eram necessidades da década de 70.

Para mim, aprender Pascal em 2008 não vale a pena.

Tempos depois um maluco criou uns puxadinhos, colocou uma laje e uma churrasqueira e fez o Pascal orientado a objetos meio Frankenstein que depois virou Delphi.

Para mim a opção de retorno mais imediato seria Javascript.

Outras boas opções para se iniciar no meio da programação são Java e Ruby. Ruby é mais fácil por ser interpretada.

[]s
Luca

cv1

JavaScript parece ser uma otima maneira de comecar: TODO MUNDO tem um interpretador instalado, e eh razoavelmente facil de comecar. O problema eh a quantidade de referencia e material ultrapassado ou errado que tem por ai. Ja vi uns guias de JavaScript que sugerem coisas TAO erradas que beiram a maldade. :frowning:

Kenobi

Minha namorada está fazendo direito e quer se especializar em Digital. Quis aprender a programar…tinha tentado com Java mas ela achou meio difícil, troquei para Ruby e a menina já tá fazendo coisinhas !! :slight_smile: Ela achou super fácil !! Estou usando aquela tradução - site do Learn Ruby para ensiná-la !

Paulo_Silveira

dizem por ai que a primeira linguagem deveria ser funcional, como lisp ou scheme, por causa da proximidade com as funcoes matematicas que a garotada ja ta vendo no 2o grau… ai fica mais claro as analogias…

java nao eh uma boa primeira linguagem…

victorwss

Discordo. Acho que uma linguagem simples que você vê resultados saindo rapidamente com pouca codificação é melhor. Visual Basic é bom nisso, bem facinho (mesmo que a estrutura no fim seja uma merda).

Concordo.

Luca

Olá

Repito as mesmas considerações que fiz quanto ao Pascal.

Basic foi criado em 1970 justamente para ser a primeira linguagem a ser ensinada nas universidades. VB veio do Basic mas com a inclusão de um monte de parafernálias que dificultam o aprendizado porque tem várias maneiras de fazer a mesma coisa.

Como Pascal, aprender VB é pura perda de tempo porque não servirá para muita coisa no futuro.

[]s
Luca

dreamspeaker

C ou javascript, mas com uma tendência maior pro primeiro. Minha resposta na verdade seria Pascal, mas o Luca destruiu minha resposta. :cry:

Eu penso em C porque via de regra a pessoa está aprendendo, junto com a linguagem, as primeiras noções de lógica básica (loops, condicionais, etc) e de como é um programa (estrutura, código fonte, compilação…), e acho que C é ótimo pra isso. (Pascal é ótimo pra isso… rs…)

Andre_Fonseca

Eu não quis dizer aprender Pascal para ter mercado de trabalho, eu quis dizer aprender Pascal para aprender conceitos, loop, comandos de decisão, algorítimo, etc… depois que você aprender isso ai vai para uma linguagem da moda tipo Java, que na minha opinião é bem mais dificil aprender de cara porque envolve muitos conceitos …

Guitar_Men

Luca:
Olá

Repito as mesmas considerações que fiz quanto ao Pascal.

Basic foi criado em 1970 justamente para ser a primeira linguagem a ser ensinada nas universidades. VB veio do Basic mas com a inclusão de um monte de parafernálias que dificultam o aprendizado porque tem várias maneiras de fazer a mesma coisa.

Como Pascal, aprender VB é pura perda de tempo porque não servirá para muita coisa no futuro.

[]s
Luca


Não é bem assim, a familia de microcontroladores PIC por enquanto pode ser programada em C, BASIC ou em casos mais hardcore ASSEMBLY, dizer que não servírá pra muita coisa é suspeito… Eu indicaria o C para começar, mas depende da linha que o cara quer seguir, automação industrial, sistemas comerciais etc etc etc…

Luca

Olá

VB em micro controladores? Vivendo e aprendendo. Isto para mim é uma tremenda surpresa.

No meu tempo algumas universidades usavam linguagens especiais só para ensinar programação. Na PUC do Rio se ensinava programação usando uma espécie de sub conjunto do assembler. Já na UFRJ a gente começava direto com Fortran ou Cobol. Só em 1970 apareceu o basic que na UFRJ foi traduzido para o português em 1971 pelo Pedro Salembauch (googlem por ele que até hoje está na UFRJ). Só que este basic 1.0 era muito diferente do VB.

Quando surgiram os computadores pessoais da linha IBM PC no Brasil só havia um único vendedor. Os micros EGO da Softec com processador 8088 vinham com 2 sistemas operacionais: DOS e Analix. No Analix que era uma espécie de CPM, havia o C da Aztec mas no DOS 1.0 só havia Assembler e Basic da Microsoft. Os micros não tinham HD e o único meio de salvar o que estava na memória era usar disquetes de 5 1/4". A gente que tentava vender os micros usava basic para fazer aplicações que provassem ao potencial comprador que era uma boa comprar um. Na época fiz uma troca rápida de dados entre a memória e o disquete e entre a memória e a tela do monitor usando linguagem de máquina embutida no basic dentro das instruções “DATA”. Dois amigos meus fizeram todo um ERP com este basic e uma empresa agro pecuaria foram seus primeiros clientes. Detalhe: o monitor era uma TV Phillips. Tenho até hoje fotos desta tela com desenhos vetoriais feitos neste Basic usando minha transferência “mágica” de dados.

[]s
Luca

Guitar_Men

Luca:
Olá

VB em micro controladores? Vivendo e aprendendo. Isto para mim é uma tremenda surpresa.

No meu tempo algumas universidades usavam linguagens especiais só para ensinar programação. Na PUC do Rio se ensinava programação usando uma espécie de sub conjunto do assembler. Já na UFRJ a gente começava direto com Fortran ou Cobol. Só em 1970 apareceu o basic que na UFRJ foi traduzido para o português em 1971 pelo Pedro Salembauch (googlem por ele que até hoje está na UFRJ). Só que este basic 1.0 era muito diferente do VB.

Quando surgiram os computadores pessoais da linha IBM PC no Brasil só havia um único vendedor. Os micros EGO da Softec com processador 8088 vinham com 2 sistemas operacionais: DOS e Analix. No Analix que era uma espécie de CPM, havia o C da Aztec mas no DOS 1.0 só havia Assembler e Basic da Microsoft. Os micros não tinham HD e o único meio de salvar o que estava na memória era usar disquetes de 5 1/4". A gente que tentava vender os micros usava basic para fazer aplicações que provassem ao potencial comprador que era uma boa comprar um. Na época fiz uma troca rápida de dados entre a memória e o disquete e entre a memória e a tela do monitor usando linguagem de máquina embutida no basic dentro das instruções “DATA”. Dois amigos meus fizeram todo um ERP com este basic e uma empresa agro pecuaria foram seus primeiros clientes. Detalhe: o monitor era uma TV Phillips. Tenho até hoje fotos desta tela com desenhos vetoriais feitos neste Basic usando minha transferência “mágica” de dados.

[]s
Luca

Quem disse VB ?? eu disse BASIC

Luca

Olá

Pois é, você respondeu meu comentário sobre VB

[]s
Luca

Guitar_Men

No mesmo comentário vc disse VB que veio do BASIC…

ricardosoares

Gosto do COBOL.
Foi criado por solicitação do Pentágono para que o código fosse auto-documentável. Dessa forma, bastando saber lê inglês, um padeiro poderia entender o que estava programado.
algo como:

if ( idade >= 18 ) { contador++; ultimaIdade == idade;
fica:

IF IDADE NOT LESS THAN 18 THEN ADD 1 TO CONTADOR MOVE IDADE TO ULTIMA-IDADE.
É pouco produtivo. Mas, bem fácil de aprender.

dlt

scheme ou c

http://catb.org/~esr/faqs/hacker-howto.html#skills1

victorwss

Acho que Malbolge é a melhor para começar…

HQ9++ é uma boa também…

Criado 4 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 48
Participantes 35