Java: É esta a melhor linguagem para aprender a programar?
Quem entra para o Ensino Superior, especialmente para a área da Informática, facilmente percebe que há uma disciplina de introdução à programação. Além da quase obrigatória disciplina de Algoritmos (Estruturas de Dados), as instituições têm apostado especialmente no Java como linguagem de introdução.
Mas será o Java a melhor linguagem para se aprender a programar?
Para se começar a programar é preciso saber programar! Para se aprender a programar é importante escolher uma linguagem de programação que nos ajude a perceber o fundamental da programação e, nesse sentido, a decisão recai normalmente na linguagem de programação JAVA.
Mas não será o Java complexo para começar? Ora vejam o exemplo seguinte de um simples Hello World. O que é uma classe? Porquê Public? Para que serve o main? E o String[] args?
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } |
Mas a área da programação tem vindo a mudar assim como a forma de programar.
Segundo um estudo de 2014, depois do Pascal, C e do Java, o Python tem sido a linguagem de programação escolhida para se lecionar na disciplina de introdução à programação, especialmente nos Estados Unidos.
Segundo um artigo do site thenextweb, programar é normalmente uma tarefa divertida. No entanto, quando se ensina Java numa fase inicial, corre-se o risco de quem esteja a aprender considere que "programar é um tédio".
No Pplware lançamos agora o debate sobre o que acham do Java ser a linguagem de introdução à programação. Qual a linguagem que é usada na vossa Universidade/Politécnico? Contem-nos tudo!
Este artigo tem mais de um ano
C
A níveis académicos, sim, profissional apenas faço uma questão:
Quantos Produtos e/ou Serviços fizeres em C?
É muito utilizada na área do firmware e código de alta performance.
Se não sabes, devias aaber
Depende da area, para mim “firmware e código de alta performance” é assembler.
Tudo o que seja controladores, ou equipamentos de medição é feito em assembler, quando depois leva algum tipo de interface, já é feito em C, normalmente num integrado a parte.
Podes fazer em C e traduzir para assembler, pois é mais fácil programar em C.
Não, não é assembler, vais usar a ABI do C em assembler? Bem me parecia que não…
E não, nada é feito em assembler hoje em dia, mesmo nada, é impossível em ARM, não foi feito para isso!
Podes sim.
@Paulo faz-se em Assembler porque os compiladores de C não são perfeitos, quando queres fazer as contas a cada ciclo não podes confiar que uma operação demora X ms, quanto mais exatamente X ciclos.
@Helder, o que tu queres dizer que que TU não conheças nada que seja feito em assembler.
E dizeres que é impossível programar em ARM… da la uso ao google e procura “ARM assember”
Correcto.
discutir qual é a melhor linguagem de programação é como discutir qual o melhor super heroi que existe, eu ia dizer equipa de futebol mas isso é mais facil de saber a melhor. Sempre resulta em debates acalorados com bons argumentos de ambos os lados com eventuais insultos sem que no fim saia um verdadeiro vencedor
Eu disse que não é utilizado? Quantos projectos produtos ou serviços fizeste em C ao longo da tua carreira? Pois…
Malta, não existe nenhuma linguagem chamada Assembler, existe sim Assembly para diferentes arquiteturas de processadores 🙂 C e Assembly são usadas para muita coisa mas para criação de software muito mais complexo e em larga escala ninguém vai programar em C ou Assembly
Sabes qual a linguagem com que foi devolvida maioritariamente sistemas operativos unix, Linux, iOs… ? Em termos de sistemas de alta performance, sistemas criticos, sistemas real time e sistemas empresariais o C ainda é rei é pode-se dizer que é a mãe de todas as linguagem modernas.
Produtos? Serviços? O que é que isso tem a ver com artigo. A questão é posta em termos da linguagem mais fácil para começar é não o que fazemos com ela. C é sem dúvida a melhor opção. A partir daí pode se partir para Java ou C#, ou qualquer outra linguagem porque o mais importante é conseguir projectar espacialmente um algoritmo e ter a lógica mental para o implementar e C da esta capacidade.
Pesquisa por serviços bancários ou financeiros e são todos baseados em C ou C++… Isto entre outros mais exóticos como sistemas de tempo real nos quais os Produtos e/ou serviços que são fornecidos a consumidores são apresentados.
Ou seja… o Java por muito bonito que seja, não existiria sem uma bela camada de C por baixo.
A maior parte do kernel e as systemcalls do linux é feito em C.. em análises de cálculo numérico usamos C e Fortran visando o desempenho.. Python tem funções excelentes que facilitam a vida de todos, no aprendizado, pois na hora de ter que executar um programa com grande número de repetições, python leva 4 a 5 vezes mais tempo..
Mas nada que um programador astuto não consiga otimizar.
Concordo que seja C seguido de C++. Para mim não interessa o seu uso profissional, interessa sim ter uma boa base de programação. Quem programa em C/C++ depois programa em qualquer coisa (é só adaptar a sintaxe e conhecer a framework).
Pra mim não há linguagem mais indicada tanto para a introdução a programação como também para o ensino a Orientação a objetos. Para provar, convido a todos a fazer esse meu exemplo e verificar total de linha de códigos e sua sintaxe:
pizza = {
‘nome’:’Napolitana’,’tamanho’:’Grande’,’valor’:15,’ingredientes'[‘Mussarela’,’Tomates’,’Azeitonas’],
}
print(“Sua pizza: ” + pizza[‘nome’] + “\nTamanho: ” + pizza[‘tamanho’] + “\nPreço: ” + (str(pizza[‘valor’]))+ ” euros.”)
print(“Ingredientes:”)
for ingrediente in pizza[‘ingredientes’]:
print(“\t * ” + ingrediente)
Nesse exemplo 8 linhas de código.
Vamos testar!!
Façam nas demais linguagens de programação. Verifiquem total de linhas de código coo também a sintaxe.
Acho que com nodejs utilizo menos linhas
Desculpa a pergunta imbecil mas é como se “pizza” virasse uma variável do sabor de pizza em comparação com matemática?
Stanford abandonou o Java em favor do JavaScript. Ainda assim aprender JAVA é uma grande mais valia visto que é das linguagens de programação mais usadas no mundo.
https://medium.freecodecamp.com/stanford-just-abandoned-java-in-favor-of-javascript-for-its-intro-cs-course-fe40543e81d8
Nem mais
universidades hoje em dia ao meu ver sao guarderias de bebes, extremamente caras, nivel das pessoas que andam nestas universidades hoje em dia é tao mais tao baixo que até uma pessoa com pouquissimos conhecimentos pode ser considerada muito inteligente. isso explica optarem por javaScript, no meu tempo era C e ponto final, as mais mente abertas usavam tambem c++ ou java em uma segunda etapa mas o principio era C, com o baixo nivel das pessoas nas universidades agora faz sentido usar linguagens mais simples afinal é politicamente incorreto exigir que eles aprendam algo que desafie um pouco mais os limites,,, pode ate assustar os pobres e fazer com que abandonem o curso, isso vindo de mim que nao passei do 12ºano mas enfim…. minha opiniao.
Eu ando na uni e dei C (1 ano), Java/JavaScript/CSS/HTML/XML/XML*/Ajax/Assembler(Sistemas Digitais)/C/Perl… e PHP e shell script… tudo depende da tua licenciatura.
É pah dares Ajax, acho dificil, deves ter dado foi jQuery que é uma library de javascript (que tem uma função chamada Ajax)
Depois pores HTML, CSS e XML num post de linguagens de programação é pedir para ser achincalhado à força toda
Javascript é mais difícil que C.
Para mim o Python é a linguagem mais divertida e a que mais uso para prototipagem e implementação de algoritmos. Depois da diversão vem o Java.
Python é lindo
Python é a coisa mais feia.
Funções com nomes esquisitos
Biblioteca feita em cima do joelho
Estrutura baseada em marcas de whitespace
Espaços
Duck typing
Yuck!
Eu trabalho no dia a dia mais com JAVA. Mas diria por experiência que o python seria a linguagem que eu começaria hoje me dia para sugerir alguém começar a programar. Pelo facto de requerer identação como requisito para o código compilar é logo uma coisa boa para quem começa que normalmente não respeita essas pequenas “regras”, entre muitas coisas que o python oferece.
Concordo 🙂
Eu tive C como introdução e Java para aprender programação orientada a objectos, Java foi pioneira em muitos dos paradigmas de programação, e que são essenciais para depois aprender qualquer outra linguagem facilmente.
Quando referes Java não queres dizer C++?
Mesma coisa aqui no Brasil. Começou com C porem programação orientada a objetos aprendi com java.
Swift
Ponto final. Melhor linguagem.
https://redmonk.com/sogrady/2017/03/17/language-rankings-1-17/
Está em 11.o e se formos a ver em linguagens recentes (menos de 10 anos), está em primeiro.
No instituto onde estudo o Java é a linguagem escolhida para fazer a iniciação à programação
Se vais perder tempo a aprender algo, aprene algo mais dificil que mas que abra mais possibilidades. foi o que um amigo meu me disse. esse meu amigo, Aprendeu Assembly como a sua primeira linguagem de programação. é trabalhosa, feita de 0 e 1, mas ele diz que faz de tudo nessa linguagem e que possibilitou que ele aprende-se C++ e Python muito mais rapido.
isso agora deixa-me a pensar se vale mesmo a pena começar por algo mais facil, tipo o java ou até o Pascal ou se aprendo algo mais dificil, como o Cobol ou mesmo Assembly, que demora mais tempo, mas que me faz aprender as outras linguagens de programação mais facilmente e rápido.
Discordo completamente, começar a aprender a programar em Assembly é mesmo para metade dos alunos ao fim de 1 mês cancelarem a matrícula. Eu comecei com Java (no 1º ano). No 2º ano, para além de Java numa cadeira, tinha C e Assembly noutra cadeira, e Assembly foi sem dúvida a linguagem que mais gente odiou. Linguagem de baixo nível é bem mais complicado e muito diferente, obviamente. Eu lembro-me que muitos alunos se perderam e vários até desistiram do curso por causa da transição pseudocódigo-Java, imagino se fosse Assembly
@Carlos
sim, mas lá está, Assembly oferece quase possibilidades infinitas. com assembly, palavras do meu amigo, faz-se de tudo e mais alguma coisa. ele diz que a linguagem em si não é dificil, é até uma linguagem de desenvolvimento rápida, ela é apenas trabalhosa, exige muito codigo para pouca coisa, porque é como se estivessemos a ensinar uma criança a andar… noutras linguagens a criança já aprendeu a andar previamente.
O meu amigo disse-me uma vez que o Assembly não produz erros, os erros que produz são por pura culpa de quem escreveu o codigo, enquanto que outras linguas, como já é meio que “pré-fabricado” a propria lingua pode gerar problemas. acho que foi isso, já foi à muitos anos, quando eu falei com ele sobre aprender PHP.
Desculpa mas não vejo como cobol ou assembly, te vão permitir assimilar mais rapidamente rails ou laravel por exemplo (ou mesmo as linguagens que referiste).
Isso tem finalidades muito especificas, não é algo que o mercado necessite com a mesma frequência que programação de alto nível.
@Filipe Teixeira
permite através da Logica e dos padrões.
a estrutura de linguagem para lingua não muda muito. apartir do que se sabe doutra lingua pode-se “decifrar” outra desconhecida. todas começam por uma tag a dizer em que lingua vais escrever, seguido de outra tag para um titulo, outra para o texto, outra para imagens, etc.
quanto mais dificil for a lingua que sabes, mais facil se torna desvendar este tipo de coisas só olhando pra elas. tás habituado com estruturas complicadas e a muito texto, tás habituado a lê-lo… quando apanhas uma lingua mais facil, as vezes nem precisas de ler o codigo, basta olhar para a estrutura para te aperceberes do que faz. foi o que aconteceu comigo quando andei a aprender HTML na escola. embora o nome das tags sejam auto-explicativas, muitas vezes bastou-me passar os olhos para ter uma ideia do que aquela tag fazia. depois é só brincar com as tags, apagar isto e aquilo e ver o resultado.
Cobol ?? A sério? 99% dos programadores de COBOL não sabe o que é programação orientada a objetos.
O COBOL, corrijam-me se estiver enganado, também não é orientado para objetos… daí talvez grande parte do pessoal não saiba o que é programação orientada para objetos.
Eu concordo completamente contigo, hoge em dia a malta não faz a mínima idea do que é código eficiente, e olha para assembly e diz que algo ridículo.
Mas garanto que todos os que aprenderam e começaram com assembly são melhores programadores no geral do que os que não o fizeram.
Eu aprendi C como primeira linguagem e depois passei para o Assembly, depois usei assembly com processadores RISC e também com processadores CISC e eventualmente aprendi outras linguagens como VB, PHP e demais… por curiosidade aprendi um pouco de Java e Python.
Em electrotecnia, Assembly tem mesmo de ser ensinado porque existem projectos nos quais o desenvolvimento tem de ser em Assembly para poder garantir certos parâmetros como velocidade. Assembly é também (é menos agora, mas era muito mais há uns 10 anos) uma boa maneira de aprender ou exercitar a programação de controladores industriais (aqui depende um pouco da marca, mas qualquer uma que use acumuladores pode ser comparada a assembly).
Para informática, acho que o Assembly é interessante de ser estudado de forma a perceber os passos que o compilador faz na transformação de C até chegar a código máquina. Se uma pessoa passar por essa etapa, percebe melhor os tipos de dados de cada linguagem, o peso que cálculos com cada um dos tipos de dados tem, bem como velocidade dependendo dos registos utilizados e da maneira de codificar ciclos e instruções de comparação.
Eu aprendi a programar em Java e hoje em dia programo em Java, Python, PHP e entre outras linguagens.
Tenho colegas que aprenderam programar em Python e tiveram muitas dificuldades quando tiveram de aprender Programação Orientada a Objectos. Por este motivo, acho que o Java até é uma boa linguagem para ensinar alguém a programar.
Não é a melhor devido à complexidade que se encontra inicialmente. No ínicio queres algo fácil e que dê um olhar sobre a programaºão (normalização, interpretação dos problemas, pensar em soluções e a implementação) e java não é bom nisso.
Melhor linguagens para começar: C ou VB e dar fluxogramas antes!
E programar em papel e não depender de código já feito e coisas pré formatadas!
Comecei com o C/C++ na universidade, depois o JAVA
Na minha opinião escolher Javascript é um erro.
A POO é pobre em Javascript.
A melhor opção : Java ou C#
Concordo plenamente. Para linguagem universal que corre em tudo desde smartphone, PC até supercomputadores é Java. Para quem prefere plataforma Microsoft, o C# é de longe a melhor escolha.
É prof. O C# é extremamente produtivo.
Já o Java por outro lado é menos produtivo do que o C#.
Discordo, javascript tem muitas vantagem, toda complexibilidade de configurar o ambiente (ide, variáveis de ambiente, instalar pacotes etc) não existe em JavaScript. Simplesmente qualquer máquina está apta, é muito mais simples para o aluno Em relação a programação OO, lembre se que são iniciantes em programação, nesse momento explicar esse contexto irá complicar muito para o aluno, programação procedural será melhor, ou seja, vamos ensinar estruturas de decisão, variáveis, loops etc. Em um segundo momento abordamos OO.
Olá Marcos,
Na minha opinião Javascript não é uma linguagem pura. Não tem pés nem cabeça.
Concordo com o Python como linguagem de introdução.
Comecei em 1998 – Pascal – C – C++ (a que uso hoje em dia)
C++11 foi um grande avanço, 17 continua….
Eu ainda estou a aprender Java e é esta a minha primeira linguagem mas está mesmo a custar a entrar, é difícil perceber a ordem das coisas.. Por outras palavras, é fácil desistir nesta linguagem.. Mas para programar Android tem de ser..
Nao tem de ser, podes programar para Android so com HTML e Javascipt/typescript. Procura por Ionic.
Filipe, o que vou dizer a seguir não é um ataque pessoal. Gostaria de deixar isso bem claro.
Sites dentro de aplicativos são um horror.
A Play store está a ser inundada com esse tipo de “aplicações”.
Eu defendo que a Google e a Apple deviam proibir esse tipo de “aplicações” nas suas lojas.
Para além disso esse tipo de “aplicações” estragam o mercado mobile.
MShaitan, não entre nesses facilitismos prejudiciais.
Chegará o dia se é que ainda não chegou de vermos pseudo programadores a vender “aplicações” a 100 Euros.
Não percebi a parte de pseudo programadores. É preciso saber java para ser um programador? Um programador front-end não é um programador? Uma coisa é dizeres que não gostas e tudo bem, outra já é dizeres que as pessoas que o fazem não são programadoras.
Refiro-me aos pseudo programadores de pseudo aplicativos.
Se começares com C era pior. Java é muito fácil para chegar a nível intermédio, há inúmeros tutoriais na net.
por onde devo começar na linguagem python
print(“Hello world\n”)
Introdução à Programação com Python – 2ª Edição
Algoritmos e lógica de programação para iniciantes
978-85-7522-408-3
https://youtu.be/1JZnj4eNHXE
No Politécnico de Setúbal usam Java em Engenharia Informática e C# em Sistemas de Informação nas cadeiras introdutórias.
Boas,
a pergunta é muito redutora e ao dar como (intenção de) resposta Java, significa que quem quem escreveu tendencialmente gosta (ou sabe melhor, ou trabalha apenas) com linguagens imperativas e orientadas a objecto.
Tive grande parte das cadeiras dadas em C, o que considero uma linguagem moderadamente acessível para se começar apenas porque é uma “lingua franca” que esta muito enraizada no open source, incluindo código fonte dos mais importantes SO usados por todos.
Por outro lado, C é demoniaca com tanto side effect e com todo o poder de gerir memoria, andar a brincar com apontadores,etc… é bastante facil cometer erros, demasiado facil, o que leva a concluir que é uma boa linguagem para ensinar o que é hardware e o que é software, e para dar aquele toque de “muito perto do metal”…
Mas partindo dai, o melhor seria uma linguagem que ensine o que é realmente computação, o que realmente se pode fazer, até onde se pode confiar no programa que fazemos… não é que que o código fonte do linux ou de um BSD não seja confiável, mas aquilo é uma montanha gigante de hacks, que vai muito para alem do que o que se aprende na universidade… ha ali código maquiavélico que resolve uma serie de problemas, mas não deixa de ser hacks pela falta de melhor opção…
Um velho truque (da matemática até) é: quando o problema é grande, generaliza, ou seja, mete uma camada de abstracção em cima…
SIm claro, Java dirá quem me le, e é em parte razoável opção (mais propriamente o JVM).
O problema de Java (ou os muitos) são da mesma natureza do C. Como exemplo, side effects como a não garantia do estado dum objecto, ou os null, ou o emaranhado de excepções, ou o forçar a utilizar POO e tudo o que a isso acarreta, design patterns, etc…
Então o que é uma boa linguagem para se aprender coisas como código fiável, seguro, que de para ser provado formalmente?
Duas opções vêm á mente, Haskell e Ocaml (dei a segunda opção na universidade)…
Para finalizar o logo comentário, sim sei bem que na industria vigora Java, que existe uma linguagem que está a ganhar tracção á custa de ser implementada no JVM, sim Scala (uma coisa complicada que parece um hulk dentro de um colete de forças), e sim, o Java 8 (e até 7) já usa uma espécie de função anónima (lambda), e que ja tem um map implementado, e um fold, e mais uns kung fu’s para deixar os amantes de Java com a ideia que já têm uma linguagem funcional…
Mas realmente o que é importante aprender, não são uns hacks e uns kung fu’s de Java, ou C ou C++, o que se deve aprender é o que se pode fazer com o que existe( e o que existe de bom), onde ficam os limites do que se consegue fazer, que nível de confiança temos naquilo que fazemos.
Eu desafio alguém a dizer se metia o rabo num aviao em que a parte computacional fosse feita em java numa consultora qquer a operar aqui em portugal… (quem é que tem coragem para tal delírio?)
E quantos já nao meteram o rabo um que coi usado Ocaml e Coq?!
Pensem nisto… e da próxima vez que ouvirem que foi o sistema que falhou, pois, é porque provavelmente levou muitos hacks, tb conhecidos por martelar o código…
Hoje em dia trabalho exclusivamente com Python, mas confesso que foi com o C que realmente comecei a perceber como as coisas funcionam na programação.
Existe muita magia negra no Python e no Java e penso que o C (ou até mesmo o pascal) a nível mais básico consegue ser bastante educativo.
C seguido de C++
Eu se entrevisto alguém para Java ou C# ou o que quer que seja, faco perguntas sobre a implementacao de funcoes que sao “oferecidas” pelas linguagens de alto nivel. Se alguém nao sabe como é que as coisas funcionam por trás nao vai saber o PORQUE das coisas mas apenas as utilizar. Há falta de developers, mas há ainda mais falta de BONS developers. Se for para contratar alguém que faca o trabalho mais vale ir contratar a países onde se gaste menos (india, china), do que no mercado nacional.
Mais importante do que saber de cor o que fazem as funções ou como estão implementadas, é perceberem o porque de funcionarem da forma como funcionam, ou ainda mais importante, é não sabendo como funcionam ou estão implementadas, como fariam para implementar uma função que faça determinada funcionalidade, ainda que no limite o faça numa primeira abordagem através de pseudo-codigo. O resto é pesquisa (para não ter de criar algo que já existe ou para saber exactamente o que deve usar, por ex.) na altura em que tiver de usar ou desenvolver uma determinada função.
@Jorge, não deves fazer a mínima ideia do valor dos developers nacionais. Digo te que á anos que trabalho com pessoal do mundo tudo é NÓS somos dos melhores para trabalhar (E ouço isto vindo do estrangeiro). Hoje para além das capacidades técnicas procura se boas soft skills é nós temos. Se achas que vale a pena contratar indianos ou abrir um nearshore lá força… Depois de um ano tornamos a falar…
Ps: As frameworks existem para o developer se abstrair do que está por trás, ninguém inventa a roda…
Não sei se ainda é mas no IST a cadeira de introdução à programação era dada em uma variante de LISP.
O objectivo segundo os professores era que todos alunos tivessem de aprender a programar a partir mais ou menus do mesmo nível e por isso escolheram uma linguagem menus conhecida.
Aprender a programar e aprender uma linguagem de programação não são a mesma coisa.
Na faculdade do Minho, iniciei com Haskell no 1º semestre do 1º ano e C no 2º semestre
Uminho é outro nivel… 😉
Por acaso das piores entrevistas que já fiz, as pessoas ou eram da UMinho ou de Aveiro… No entanto tenho as duas em boa consideração e também tenho colegas da UMinho que são excelentes profissionais.
Para mim foi mesmo BASIC com o meu spectrum 😀 Depois C no secundario, Na univ passou para JAVA, e nalgumas cadeiras outras linguagens como Assembly , PHP, JS, LISP, MatLab, SQL, etc…. A nivel profissional C#.
Em conclusao, acho que independentemente da linguagem com que se comeca o importante he a pessoa se divertir, porque em tudo na vida temos sempre alternativas e modos diferentes de nos “apresentar-mos” em coisas novas….
Eu também comecei com o ZX Spectrum 48k com Basic e depois o 128k.
Eu adorava aquilo. Cheguei a fazer duas aplicações para uso industrial no ZX Spectrum.
Depois estudei, Pascal, Clipper, Delphi, VB, VB.NET, ColdFusion, PHP, Python, Java, C#.
Agora o meu foco é Java para Android. C# para Windows e PHP para o desenvolvimento de Portais e aplicações web. Uso também o PHP para criar as Web API’s. Neste momento já estou a trabalhar com o PHP 7. O meu site é: http://mmobile.pt
Ando há vários anos para aprender programação, seja em Java, seja em Python, e percebi uma coisa:
Para completos leigos, que não percebem a teoria da coisa, nomeadamente Programação Orientada por Objectos(ou até conceitos mais basilares, como Arquitectura de Computadores), torna-se frustrante ao fim de um tempo, porque a expressão “Mas porque raio é que isto é assim?” , ao fim de um tempo, leva a uma grande frustração.
Além disto, há também o gosto/curiosidade por aprender (neste caso, isto), que se não se tem, dificulta ainda mais.
E quem lê a minha primeira afirmação pode pensar: “Oh, não se dedica…”. e até tem a sua razão. Mas a frustração do “porquê” desmotiva-me muito. Na minha opinião e experiência, pelo menos no início, ler sobre “o que é” programação (https://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos) pode ajudar a decidir que linguagem procuram, com que objectivo (mais do que só “dinheiro” ou “trabalho”. Objectivos como “criar e gerir sites” ou “trabalhar em bases de dados”) e se realmente gostam de programar (também acontece).
Quanto a linguagens que já “provei”, já passei por Java, JavaScript, R e um pouco de Python. Quanto mais abrangentes, maior as possibilidades, mas também o risco de se dispersarem.
Fica mais uma perspectiva.
Eu comecei em 2003, no 10 ano, com Turbo Pascal e depois em Delphi 7.
Agora já não sei programar e gostaria de aprender a linguagem mais apropriada para a criação de jogos 2D. Que linguagem vocês recomendam para isto? Obrigado.
Para jogos 2D e 3D – Unity (programação em C# ou JavaScript) https://unity3d.com/pt/
Java também é muito bom e corre em todas as plataformas mas obriga a mais trabalho.
Delphi! Segue sendo potencial!
Agora até permite que a aplicação funcione em Smartphone, Linux, Mac ou Pc. É fácil, simples e também para jogos.
Eu um dia comecei com OPCode em Decimal, depois Assembler, TurboBasic e Delphi. Também C. Os russos usam Delphi e no Brasil muito, também.
Eu ia preferir começar com C# ou Java, com todos os conceitos bem exlicadinhos (classes, interfaces etc etc). Prefiro conhecer a ponta do iceberg e ir aos poucos para deibaixo d’água e conhecer todos os detalhes. Mas isso sou eu
Pois eu acho que antes de se aprender a codificar, para isso servem as linguagens, deve-se aprender Lógica.
Qualquer que seja a linguagem utilizada, sem um mínimo de Lógica, naturalmente que os programas se tornam dificeis de interpretar e alterar. Nada é eterno e a grande maioria dos programas sofre alterações ao longo da sua vida. Ainda hoje se executam programas desenvolvidos muito antes de uma grande maioria dos actuais programadores terem nascido.
Eu não serei dos mais criativos, conhecedores de dezenas de linguagens de programação, só comecei a programar em 1975, depois de um curso de programação em COBOL que me deu a ferramenta de trabalho para a minha longa carreira em Informática/Sistemasde Informação. Ainda hoje program com gusto, porque o que mais me dá prazer e pica é resolver problemas. Aprendi também Pascal, C, JavaScript, C++, C#, Python, Assembler, Lisp, etc. e o mais importante foi sempre ter tido uma boa base de conhecimento de Lógica. Não só Teoria de Conjuntos mas quais os passos principais dum programa, que no fim serve sempre para resolver um problema.
Peço desculpa por alguns erros de escrita. Finger trouble.
Este link explica tudo: https://medium.freecodecamp.com/what-programming-language-should-i-learn-first-%CA%87d%C4%B1%C9%B9%C9%94s%C9%90%CA%8C%C9%90%C9%BE-%C9%B9%C7%9D%CA%8Dsu%C9%90-19a33b0a467d
No exemplo de código em Java citado na reportagem, esse código em Python ficaria: print(“HelloWord”). Apenas isso. Já mostra o quanto que Python é indicado para introdução a lógica de programação.
Começei com Applesoft BASIC (no Apple 2E), Assembly, Borland Pascal, Java, Unity. Experimentei e odiei Python e Javascript.
A escolha entre Java e C# depende da plataforma preferida. Para Windows PC/ Linux PC e ARM/ Android é Java, para Windows PC e Windows Phone (fans da Microsoft) é melhor o C#.
No Politecnico de Viseu em Engenharia Informática é C como introdutório depois e C++ e C#
Eu comecei com C, e só depois fui para Java. E admito, não há melhor maneira de ensinar que esta, tenho que dar os meus parabéns à minha faculdade… Hoje em dia há muita gente que começa a programar logo do avançado e depois não percebe nada do básico.
Basic aos 6/7 anos (com o primeiro PC que tive em casa, do meu pai, um Amstrad PC1640), depois Pascal e C. Na faculdade, por não ter cursado em informática mas sim física, programei em Fortran e C++.
Java para linguagem de iniciação? Depende do que se pretende a meu ver. Se for para ensinar conceitos de OOP e ser preguiçoso, Java; se for para deixar com bases para tudo, C++.
Se for linguagem para iniciação geral, sem qualquer contexto mas que deixe minimamente preparado e seja útil, Python.
Javascript para começar a aprender a programar. É mais que suficiente.
Vão ensinar OOP a iniciantes?
Uma pessoa ainda não sabe muito sobre uma linguagem de programação e já está a aprender outra, as necessidades mudam consoante o tempo…
Para além de que não é preciso instalar nada e consegue-se ver rapidamente resultados apelativos (juntamente com HTML), que motivam o iniciante.
PHP, Java, C++, etc irão continuar por cá e o iniciante tem muito tempo para as aprender…
Isso é bom pois motiva.
Exactamente o que ia escrever. É isso mesmo. Como linguagem de introdução convém que seja algo que permita ver resultados rapidamente e se possível com algum tipo de interface gráfico. Desta forma a motivação para aprender mais e a um nivel mais profundo é muito superior.
Qualquer linguagem de programação que tenha um IDE tem feedback imediato, não precisa de ser uma linguagem interpretada. Com C faço uma calculadora com 4 instruções, corro e tenho feedback imediato da mesma forma como tenho com uma linguagem interpretada (como é óbvio, é diferente, mas para o efeito é negligenciável a diferença). Se for por ter de ser interpretada, python então, é simples, e pode ser bastante útil na ajuda a matemática por exemplo, ou pura e simplesmente para automatizar coisas. Vai depender da pessoa e do interesse, mas o argumento que se faz para js faz-se para qualquer outra. Visual Basic também era giro, fazia-se caixas, preenchia-se com código bonito e voilá, e no entanto por terem começado a usar tanto dessa “bodega” fez-me afastar da informática na altura, enquanto isso motivava alguns colegas. Como escrevi, vai depender das pessoas, o que me motiva pode não motivar outras e vice-versa.
Não sei se o Java da Oracle é a melhor linguagem para programação(pelo que vi por aqui as respostas de tantos são tão diversas)mas,do meu ponto de vista,é a 1ª linguagem de programação a nível mundial.Um licenciado,um técnico de Informática que domine habilmente o Java tem emprego garantido em qualquer empresa em Portugal,e das bem conceituadas,na área da programação !! Se vocês não acreditam em mim vão às páginas dos Classificados de diversos jornais diários e só se lá vê—»”Precisam-se programadores,linguagem Java”. Por isso,não é de espantar dar valor a uma boa carreira como é a de ser um especialista nesta área de programação.
Meu nome é Pedro.
Comecei a estudar sistemas de comunicação, no 1o semestre.
A linguagem C++ é a primeira que estamos vendo.
Parece difícil.
Mas vamos estudar outros linguagens, para vermos a mais utilizada.
Obrigado
Bem na faculdade, demos o Pascal como introdução apesar de no secundário já o ter tido. Depois foi C#, PHP, Assembly e por ai fora. Apesar de estar ligado ao Web Development com PHP, Node e afins – considero sem dúvidas nenhumas que a melhor linguagem para se aprender a programar é o C – em primeiro pq a maioria da sintaxe das linguagens descendem do C, depois por ser de muito alto nível é perceptível a sintaxe e por fim para dar o salto para os Objectos é num abrir e fechar de olhos. Depois cada um segue o caminho que quer e para o que pretende.
Um dos principais obstáculos, por parte dos alunos, em tirar um curso de informática prende-se com a programação. Criou-se inclusive um mito de que programar é só para algumas pessoas que nascem com esta aptidão. Estamos na era da informação e a escassez de profissionais nesta área está evidente. Trata-se de um problema atual e que merece bastante atenção.
Aprender a programar exige alguns conhecimentos e habilidades, assim como uma prática intensiva, capacidade de abstração e uma reflexão do trabalho realizado. Outro problema é a falta de motivação dos alunos e a sintaxe das linguagens de programação.
A escolha correta de uma linguagem de programação pode colmatar alguns destes problemas. Esta deve ser fácil de iniciar, proporcionar a realização de problemas mais complexos e permitir resolver diversos tipos de problemas.
A minha sugestão para a introdução à programação vai para o Scratch. Esta aplicação é muito fácil de iniciar, basta arrastar uns blocos que encaixam uns nos outros, está disponível em vários idiomas, como português, permite fazer aplicações com algum grau de complexidade, como jogos e por fim permite a criação de um leque variado de aplicações, como apresentações, jogos, videos, etc… e ir de encontro aos interesses dos alunos de forma a colmatar o problema da motivação.
O feedback instantâneo do que estamos a programar é outra das vantagens do Scratch. Depois de alguns fundamentos de programação e de os alunos perceberem qual a finalidade de um programa e a sua constituição penso que se deve continuar com C que é a base da maioria das linguagens já aqui descritas.
O melhor é mesmo programar em binário 😀
Na universidade aprendi a proNa universidade aprendi a programa com haskell. E bem curti a linguagemgrama com haskell. E bem curti a linguagem
Consiro que Python ou PHP
Python por causa dos raspberry pi para interagir mais com electronica.
PHP porque é mais rapido a testar e o pessoal pode sentir-se mais motivado porque vê uma pagina web.
Na minha opinião não é linguagem mais adequada, deve-se começar pelo C, para que o aprendiz de programador perceba bem o que é uma variável, as estruturas de controlo condicionais, os ciclos, o que é recursividade, etc. Depois, quando ja estiver bem rotinado, aí sim, dedicar-se à programação orientada a objectos, perceber os seus fundamentos, e à programação na linguagem Java, que por ter muitas semelhanças com o C, facilita a aprendizagem. Mas, claro, isto é apenas uma opinião.
Iniciar com C e depois C# ou Java para vida profissional
Venho partilhar a minha experiência, não fiz licenciatura mas sim um curso EFA de pouco mais de um ano. O plano curricular tinha java do inicio ao fim do curso mas entretanto aprendiamos as bases, e algumas outras como C, C++, Pascal, COBOL, Java# e para se rirem um pouco se quiserem Portucol (creio que era assim que se chamava) criada na universidade de Aveiro, creio… A brincar a brincar, acredito que o ensino de programação não deve ficar exclusiva ao ensino superior mas começar antes com linguagens básicas como a que referi em cima porque para ser fácil programar não é a linguagem em si que é importante mas sim saber porque se esta a carregar determinada tecla no teclado… Sabendo o que se quer depois é fácil em qualquer linguagem… Desculpem me os entendidos mas é o que uma leiga acha…
Com esse curso EFA consegues arranjar trabalho?
Não, mas também não procurei… Se queres perguntar se valeu, então sim, ao ingressar no ensino superior as cadeiras iniciais de programação já não são coisa nova. Mas a questão não é empregabilidade mas sim iniciar a programar, certo?
UBI, primeiro ano apenas C. No segundo ano Java e uma cadeira de Estruturas de Dados em C. C é a base, mas maior parte das empresas hoje trabalha em alto nível e utiliza programação orientada a objetos.
Para iniciação, na minha opinião, C é mais recomendado. Java é mais cativante (pelo menos comigo foi) mas tenho a ideia de que quem começa com C, depois tem ainda mais facilidade para aprender C#, Java e por aí fora.
C não é uma linguagem de alto nível como Java e requer ter uma maior noção de como tudo funciona. Lidar com memória, apontadores, ciclos e por aí fora…
Estudo no ISEC e começamos com C. Para quem nunca programou, como é o meu caso, no início foi um pouco estranho, mas agora tem sido bastante cativante.
vai experimentando coisas novas ao mesmo tempo, não “aprendas” uma coisa de cada vez, até porque nunca vais saber tudo de apenas uma coisa.
dá uma vista de olhos ao javascript, exemplo:
w3schools.com/html/html5_canvas.asp
muda os valores, pesquisa novas funções, altera e cria coisas novas…
Estou a tirar um CET de redes e tem programação. Sou iniciante nesta área e tive que começar com Java há cerca de 2 meses. Sinceramente para quem nunca viu linguagens de programação à frente, está a ser completamente difícil acompanhar o ritmo do formador, quanto mais ter a capacidade de desenvolver um programa em tão pouco tempo. Refiro isto porque são módulos ufcd’s de 25horas e é completamente impossível fazer sem ter conhecimentos básicos e/ou ter começado com outra linguagem de programação mais simples. Os CET e os CTeSP deviam estar mais orientados para uma primeira linguagem de programação mais fácil (digo eu…. que não percebo nada disto..)