Java: É esta a melhor linguagem para aprender a programar?

112 Comentários

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!

Partilhar:
Tags:

Comentários

112

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

    1. Avatar de Marco B.
      Marco B.

      A níveis académicos, sim, profissional apenas faço uma questão:
      Quantos Produtos e/ou Serviços fizeres em C?

      1. Avatar de Helder
        Helder

        É muito utilizada na área do firmware e código de alta performance.

        Se não sabes, devias aaber

        1. Avatar de rjSampaio
          rjSampaio

          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.

          1. Avatar de Paulo
            Paulo

            Podes fazer em C e traduzir para assembler, pois é mais fácil programar em C.

          2. Avatar de Helder
            Helder

            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!

          3. Avatar de bola
            bola

            Podes sim.

          4. Avatar de rjSampaio
            rjSampaio

            @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”

        2. Avatar de Goncalo
          Goncalo

          Correcto.

        3. Avatar de fulano
          fulano

          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

        4. Avatar de Marco B.
          Marco B.

          Eu disse que não é utilizado? Quantos projectos produtos ou serviços fizeste em C ao longo da tua carreira? Pois…

          1. Avatar de André Rodrigues
            André Rodrigues

            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

      2. Avatar de Maisquecedo
        Maisquecedo

        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.

      3. Avatar de Vitor Correia
        Vitor Correia

        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.

      4. Avatar de bubulindo
        bubulindo

        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.

      5. Avatar de Marcos Defina
        Marcos Defina

        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.

    2. Avatar de José
      José

      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).

    3. Avatar de Alisson Carvalho
      Alisson Carvalho

      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!!

      1. Avatar de Alisson Carvalho
        Alisson Carvalho

        Façam nas demais linguagens de programação. Verifiquem total de linhas de código coo também a sintaxe.

        1. Avatar de Stéphane Moser
          Stéphane Moser

          Acho que com nodejs utilizo menos linhas

      2. Avatar de entusiasta
        entusiasta

        Desculpa a pergunta imbecil mas é como se “pizza” virasse uma variável do sabor de pizza em comparação com matemática?

  1. Avatar de Joao
    Joao

    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

      1. Avatar de fulano
        fulano

        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.

        1. Avatar de João Alves
          João Alves

          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.

          1. Avatar de Não Interessa
            Não Interessa

            É 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

        2. Avatar de António Oliveira
          António Oliveira

          Javascript é mais difícil que C.

  2. Avatar de Gabriel
    Gabriel

    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.

  3. Avatar de Jason
    Jason

    Python é lindo

    1. Avatar de Helder
      Helder

      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!

  4. Avatar de André Ribeiro
    André Ribeiro

    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.

    1. Avatar de Marco B.
      Marco B.

      Concordo 🙂

  5. Avatar de Filipe Teixeira
    Filipe Teixeira

    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.

    1. Avatar de Paulo Martins
      Paulo Martins

      Quando referes Java não queres dizer C++?

    2. Avatar de Diogo
      Diogo

      Mesma coisa aqui no Brasil. Começou com C porem programação orientada a objetos aprendi com java.

  6. Avatar de Helder
    Helder

    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.

  7. Avatar de Gabriel
    Gabriel

    No instituto onde estudo o Java é a linguagem escolhida para fazer a iniciação à programação

  8. Avatar de khidreal
    khidreal

    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.

    1. Avatar de Carlos
      Carlos

      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

      1. Avatar de khidreal
        khidreal

        @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.

    2. Avatar de Filipe Teixeira
      Filipe Teixeira

      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.

      1. Avatar de khidreal
        khidreal

        @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.

    3. Avatar de Vitor Correia
      Vitor Correia

      Cobol ?? A sério? 99% dos programadores de COBOL não sabe o que é programação orientada a objetos.

      1. Avatar de khidreal
        khidreal

        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.

    4. Avatar de rjSampaio
      rjSampaio

      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.

    5. Avatar de bubulindo
      bubulindo

      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.

  9. Avatar de Ricardo Morgado
    Ricardo Morgado

    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.

    1. Avatar de Paulo
      Paulo

      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!

  10. Avatar de Neves
    Neves

    Comecei com o C/C++ na universidade, depois o JAVA

  11. Avatar de César Oliveira
    César Oliveira

    Na minha opinião escolher Javascript é um erro.
    A POO é pobre em Javascript.
    A melhor opção : Java ou C#

    1. Avatar de prof
      prof

      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.

      1. Avatar de César Oliveira
        César Oliveira

        É prof. O C# é extremamente produtivo.
        Já o Java por outro lado é menos produtivo do que o C#.

    2. Avatar de Marcos Pereira
      Marcos Pereira

      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.

      1. Avatar de César Oliveira
        César Oliveira

        Olá Marcos,

        Na minha opinião Javascript não é uma linguagem pura. Não tem pés nem cabeça.

  12. Avatar de Adelino Amaral
    Adelino Amaral

    Concordo com o Python como linguagem de introdução.

  13. Avatar de Luís Silva
    Luís Silva

    Comecei em 1998 – Pascal – C – C++ (a que uso hoje em dia)
    C++11 foi um grande avanço, 17 continua….

  14. Avatar de MShaitan
    MShaitan

    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..

    1. Avatar de Filipe Agrati
      Filipe Agrati

      Nao tem de ser, podes programar para Android so com HTML e Javascipt/typescript. Procura por Ionic.

      1. Avatar de César Oliveira
        César Oliveira

        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.

        1. Avatar de Filipe Agrati
          Filipe Agrati

          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.

          1. Avatar de César Oliveira
            César Oliveira

            Refiro-me aos pseudo programadores de pseudo aplicativos.

    2. Avatar de Tagus Park
      Tagus Park

      Se começares com C era pior. Java é muito fácil para chegar a nível intermédio, há inúmeros tutoriais na net.

  15. Avatar de rodrigo
    rodrigo

    por onde devo começar na linguagem python

    1. Avatar de Tagus Park
      Tagus Park

      print(“Hello world\n”)

    2. Avatar de Alisson Carvalho
      Alisson Carvalho

      Introdução à Programação com Python – 2ª Edição
      Algoritmos e lógica de programação para iniciantes
      978-85-7522-408-3

  16. Avatar de Fábio
    Fábio

    No Politécnico de Setúbal usam Java em Engenharia Informática e C# em Sistemas de Informação nas cadeiras introdutórias.

  17. Avatar de Zé Primavera
    Zé Primavera

    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…

  18. Avatar de psychok7
    psychok7

    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.

  19. Avatar de Jorge
    Jorge

    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.

    1. Avatar de Mr.T
      Mr.T

      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.

    2. Avatar de Vitor Correia
      Vitor Correia

      @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…

  20. Avatar de Ivo
    Ivo

    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.

  21. Avatar de Daniel
    Daniel

    Na faculdade do Minho, iniciei com Haskell no 1º semestre do 1º ano e C no 2º semestre

    1. Avatar de JBB
      JBB

      Uminho é outro nivel… 😉

      1. Avatar de Mr.T
        Mr.T

        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.

  22. Avatar de a
    a

    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….

    1. Avatar de César Oliveira
      César Oliveira

      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

  23. Avatar de Hugo Afonso
    Hugo Afonso

    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.

  24. Avatar de Marcos Trindade
    Marcos Trindade

    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.

    1. Avatar de prof
      prof

      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.

    2. Avatar de Gabriel G
      Gabriel G

      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.

  25. Avatar de maxim
    maxim

    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

  26. Avatar de Rui Lopes Praça
    Rui Lopes Praça

    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.

  27. Avatar de Rui Lopes Praça
    Rui Lopes Praça

    Peço desculpa por alguns erros de escrita. Finger trouble.

  28. Avatar de Alisson Carvalho
    Alisson Carvalho

    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.

  29. Avatar de prof
    prof

    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#.

  30. Avatar de Manuel Aidos
    Manuel Aidos

    No Politecnico de Viseu em Engenharia Informática é C como introdutório depois e C++ e C#

  31. Avatar de Pedro
    Pedro

    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.

  32. Avatar de Daniel
    Daniel

    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.

  33. Avatar de Gonçalo
    Gonçalo

    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…

    1. Avatar de Pedro Pinto

      Isso é bom pois motiva.

    2. Avatar de Mr.T
      Mr.T

      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.

      1. Avatar de Daniel
        Daniel

        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.

  34. Avatar de Homo Erectíssimo
    Homo Erectíssimo

    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.

  35. Avatar de Pepê do Teclado
    Pepê do Teclado

    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

  36. Avatar de Pedro Lopes
    Pedro Lopes

    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.

  37. Avatar de Pedro Osório
    Pedro Osório

    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.

  38. Avatar de andre
    andre

    O melhor é mesmo programar em binário 😀

  39. Avatar de Pedro
    Pedro

    Na universidade aprendi a proNa universidade aprendi a programa com haskell. E bem curti a linguagemgrama com haskell. E bem curti a linguagem

  40. Avatar de Rudi
    Rudi

    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.

  41. Avatar de Miguel Canossa
    Miguel Canossa

    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.

  42. Avatar de NoName
    NoName

    Iniciar com C e depois C# ou Java para vida profissional

  43. Avatar de Zitta
    Zitta

    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…

    1. Avatar de NoName
      NoName

      Com esse curso EFA consegues arranjar trabalho?

  44. Avatar de Zitta
    Zitta

    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?

  45. Avatar de Tiago Martins
    Tiago Martins

    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.

  46. Avatar de António Carvalho
    António Carvalho

    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…

  47. Avatar de David Paiva
    David Paiva

    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.

    1. Avatar de Gonçalo
      Gonçalo

      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…

  48. Avatar de Zandax
    Zandax

    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..)