Forum Pplware

Versão Completa: Começar a programar: Linguagens recomendadas?
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Páginas: 1 2 3 4 5 6 7 8 9 10
A pedido de várias famílias neste artigo, este tópico destina-se a discutir os prós e contras de várias linguagens para quem quer começar a programar.

Citando a minha opinião nos comentários do blog:

Ana Narciso Escreveu:Na minha humilde opinião, alguém que quer uma base sólida em programação, para aprender os conceitos inerentes ao pensamento lógico e sistematizado (ciclos, declarações, conceitos recursivos, interativos, etc.), deve começar por linguagens pedagógicas mais tradicionais, sejam elas Pascal, C, etc. Linguagens simples, mas sem muitas facilidades (gestão de memória, compiladores muito amigos do programador, etc.).

Depois das bases bem consolidadas, saltar para conceitos com objectos (se bem que há quem prefira saltar logo para esta parte). Eu começaria por Java, por ser poderoso, e extremamente amigável e fácil de programar.

Só depois ingressar para linguagens como C++ ou outras orientadas a objectos.

Esta é a minha visão, não me torturem.

Pela experiência do que já vi, alguém que não tem quaisquer noções de programação, saltar para linguagens de muito alto nível, orientadas a objectos, não é nada boa ideia. Pode programar imenso, dominar imenso aquela linguagem. Mas colocam-lhe outra linguagem à frente, e os conceitos base não estão lá. Faltou a pedagogia inicial.

Ana Narciso Escreveu:Só quis desabafar um pouco, quando vejo pessoal a meter-se em C# sem ter qualquer noção de algoritmia básica, faz umas interfaces e tal, com a ajuda do IDE, lê umas coisas… mas não tem verdadeiramente o raciocínio treinado… programar é conseguir chegar ao “click” mental, não é assim tão simples!

Pelo menos não o foi para mim, foram precisos alguns meses, e 1 ou 2 cadeiras básicas chumbadas para perceber decentemente a lógica de tudo, e ganhar o verdadeiro GOSTO pelo desafio de resolver problemas do dia-a-dia usando realmente a cabeça, aprender a pensar e colocar os nosso pensamentos lógicos do dia-a-dia em texto, em instruções, seguindo um determinado ou até mesmo vários paradigmas.

Só quis mesmo reforçar a ideia de que é mau formar máquinas programadoras. Sejam humanos pensantes, reflictam, e conseguirão programar em qualquer linguagem.

Um conselho para todos aqueles que pretendem iniciar-se: Saber uma linguagem não é saber programar. É preciso saber pensar.

Venham lá essas opiniões. Discussão educada, por favor. Smile
Eu não diria melhor!

A questão é que muita gente quer saber fazer programas (umas coisas) e não "programar". Nesse caso, acho o Visual Basic bastante indicado pois obtém um resultado "visual" do que pretendem. Obviamente que terão muitas dificuldades, sem dúvida.

É a minha opinião, muito sucintamente, claro está.
Concordo com tudo o que disse a Ana Narciso e também com o que disse o Bruno Bernardino, o Visual Basic não obriga o programador a um exercicio de raciocinio abstrato, ao basear-se em objectos, tal como o mundo real, o VB torna a tarefa de programar e de criar aplicações relativamente fácil, natural e atractiva.
Bem para começar, foi este post que me fez registar no forum pplware (sempre andei pelo blog).

Voltando ao assunto, para começar a programar, primeiro de tudo, tem de haver um estudo serio de algoritmos e logica...sem esta base nada se pode fazer.

Na minha humilde opinião, a primeira coisa a fazer sera estudar algoritmos em pascal (com exercicios simples em portugues) e só depois transformar os nossos algoritmos na linguagem:

Nos meus tempos de iniciação nas linguagens de programação era qualquer coisa do genero:

Algoritmo:

Citar:Programa ola;
variavel: nome:string;

PRINCIPIO
Escrever ('Qual é o teu nome?');

Ler (nome);

Escrever ('O teu nome é ',nome);

FIM

Transformando isto em pascal:

Citar:Program ola;
var nome:string;

BEGIN
writeln ('Qual é o teu nome?');

readln (nome);

writeln ('O teu nome é ',nome);

end.

Depois de dominada esta fase, o jovem programador podera avançar para c/c++ (para perceber os metodos as classes etc etc) e só, no fim disto tudo, é que pode avançar para as poo (programação orientada a objectos).

Ps:Ana, só uma coisa, onde é que se faz esses avatares todos fixolas Cool ?
Ok não quero parecer arrogante nem nada que se pareça, mas killer tens noção do erro que cometeste na seguinte frase:

Citar:Depois de dominada esta fase, o jovem programador podera avançar para c/c++ (para perceber os metodos as classes etc etc) e só, no fim disto tudo, é que pode avançar para as poo (programação orientada a objectos).

Vou passar a explicar:

Existem 3 grandes paradigmas das linguagens de programacao:

Imperativo: O programa é executado de forma sequencial
Orientado a objectos: Os objectos trocam mensagens entre si
Funcional: que não sei explicar bem como funciona mas nada como pesquisarem ou darem uma ajuda

O que é um objecto?

Um objecto é uma instância de uma classe, dai eu ter dito que o killer tinha cometido um erro, porque primeiro o c é uma linguagem imperativa, em que não existem métodos nem classes, o que existem são procedimentos e funções:

Procedimentos: acções que não devolvem valores, apenas executam, por exemplo void Andar(int numeroPassos);

Funções: acções que devolvem valores, por exemplo, int Somar(int valor1,int valor2)

em segundo o c++ é uma linguagem orientada a objectos em que é criada a classe e são criadas instancias da classe os chamados objectos.As classes são constituidas por metodos e membros.

Em relação ao tópico, para mim o importante mesmo é aprender a pensar, qualquer linguagem serve sendo que a escolha prende-se com a vossa personalidade se são impacientes e kerem ver logo algo a funcionar ou se conseguem ser persistentes e pacientes e perferem primeiro compreender toda a teoria e so depois ver os resultados, para os primeiros o VB é uma excelente opcao senao a melhor, para os outros penso que C é uma optima opcao.
(23-06-2009 23:08)Shogun Escreveu: [ -> ]em segundo o c++ é uma linguagem orientada a objectos em que é criada a classe e são criadas instancias da classe os chamados objectos.As classes são constituidas por metodos e membros.

Tens razão na parte (c++ ser orientada a objectos....passei ca hoje para ver se corrigia esse erro....mas pelos vistos nao foi a tempo)...o resto bem, se calhar intepretas-te mal a minha frase.

Na minha opinião, para quem esta habituado a pascal (alias como certa altura foi o meu caso), c++ é um novo paradigma para o programador em questão (e...aqui penso que estamos de acordo) devido a diversos factores como tu referiste, e bem, anteriormente. Mas para iniciar em c++, é sempre melhor estudar algumas bases de c (linguagem sequencial) para não cairmos de paraquedas na linguagem (como disse pascal para c++ é um passo de gigante)....em sim, foi isto que queria dizer com o "c/c++".

Shogun, sempre que mandar calinadas desta natureza, bem, agradeço que seja corrigido...e, ja agora confesso-me ao padre, c++ nunca foi o meu forte.
Na minha opinião, para alguém que começa, saltar logo para o paradigma orientado a objectos não é muito correcto, na minha humilde opinião. Digo isto porque acho bastante suave a transição de uma linguagem sem objectos para com objectos, e ao contrário, acho bastante mais difícil.

É claro que em C, por exemplo, podemos simular a programação orientada a objectos, tirando partido das estruturas, eu própria faço-o. Portanto primeiro aprender nesta fase, e depois partir para os objectos.

No entanto, o meu primeiro contacto com programação foi no paradigma funcional (com Scheme, apenas na universidade), e achei bastante pedagógico, visto que, depois de percebido o esquema funcional, o estilo de programação fortemente recursivo (mas também se usa iterativo), é possível programar imperativamente e até por objectos, usando esta mesma linguagem. Com isso, fiquei com fortes noções teóricas de vários paradigmas, que me ajudaram nas linguagens seguintes.

Também é comum começar-se por Pascal e C, Pascal por ser extremamente simples, e C por ser a base para muitas linguagens. Quem se quiser iniciar no paradigma imperativo, deve investir nesta área.

Eu penso que qualquer linguagem é boa para aprender a programar, acho é MUITO importante focar os vários paradigmas de programação e ter um estudo mais ou menos prévio de algoritmia.

Um bom programador não se mede pela quantidade de linguagens que domina, mas simplesmente pela quantidade de formas de pensar diferentes que domina (paradigmas), e pela eficiência e simplicidade das suas soluções, como é óbvio.

A minha evolução foi mais ou menos esta:

Scheme (funcional) -> Mathematica (imperativo) -> Assembly -> C (imperativo/"pseudo"-objectos) -> Java (objectos) -> Prolog (paradigma lógico) -> C++ (objectos)


@killer
O avatar foi criado aqui: http://forum.pplware.com/showthread.php?tid=2136
Ora viva,
só vi este tópico agora Sad

Ana, estás correctíssima na tua opinião, que eu aliás partilho.

Eu comecei com Fortran77 que foi por causa "das coisas" Smile

Tem sido giro ao longo dos anos, em vários fóruns, eu já ter dito que na minha opinião (complementando o que já disseste), os IDE's demasiado intuitivos e demasiado simples têm contribuído para cada vez mais gente programar mal e algumas vezes quase ser "abatido" por o dizer.

É que efectivamente, antigamente, era quase obrigatório seguir a evolução correcta começando por uma linguagem que nos ensina a pensar, depois começa-se a dominar a linguagem em particular e depois estamos aptos e mexer em mais do que uma linguagem de programação.

Hoje, qualquer pessoa pega no VisualStudio, vai ao google, faz um paint, um notepad, depois daí, vão googlando mais um pouco melhoram algumas coisas e ao fim pouco tempo já andam a fazer aplicações comerciais.

á uns anos, comecei um projecto de um website para iniciados em programação onde o objectivo era ter a historia de cada linguagem de programação e objectivos da sua existência, mostrar os mesmos programas em várias linguagens, tentar indicar paralelismos entre linguagens, guiar as pessoas para a linguagem correcta e dar links de ajuda para as linguagens mais correntes.
depois a minha vida mudou radicalmente e larguei isso, além de que estava a ser dificil encontrar parceiros, porque como é bom de ver uma pessoa apenas domina um conjunto limitado de linguagens de programação.

Hoje mexo quase exclusivamente em SQL e continuo a usar noções (adaptadas é certo) que já tenho á anos e não é a sintaxe que me incomoda, os desafios são sempre o que fazer do "enunciado" ou "problema" de forma a chegar a um objectivo. Ás vezes tenho aqui lutas que nem vos conto, só 1 exemplo e nem é de modelação de objectos
Ás vezes irrita de tão simples que é, por vezes encontro em scripts sql coisas como to_date(to_char(data,'formato')), na realidade o que a pessoa quer é forçar o objecto data ao formato que lhe convém, para isto basta no inicio da sessão definir o parametro nls date correctamente.
Portugol - para começar a trabalhar com fluxogramas e pseudocódigo.

E so depois entrar mesmo na programação. Linguagens que eu aconselho para começar: Visual Basic ou C/C++
Nao começem com C++ nao e bom meter objectos no meio logo na primeira linguagem
Páginas: 1 2 3 4 5 6 7 8 9 10
URL's de Referência