Qual Linguagem escolher para começar a aprender?

56 respostas
S

Pessoal eu sei que esse forum e sobre java, mas eu gostaria que vocês me ajudassem! Tenho 27 anos, quero começar a programar em 2012, mas estou em duvida, JAVA, ou C#.net ASP.net? O que me dizem? Tenho bastante facilidade para aprender, atualmente trabalho como tecnico em Hardware mas tomei corajem para enfiar a cara e mudar de área. Por isso preciso da ajuda de vocês, não quero começar nada que não seja promissor ou que não tenha vagas no mercado de trabalho. Quando digo vagas e oportunidade pq algumas empresas não querem saber em aprendiz de certas linguagens. Conto com a ajuda de vocês…

56 Respostas

mauricioadl

se voce aprender java, sera capaz de aprender qualquer uma depois.

Hebert_Coelho

Eu posso te falar de Java. O mercado é bom e dá “muuuitos dinheiros” para quem se esforça.

Se conseguir Java, cai dentro maluco pq tu consegue tirar grana boa em pouco tempo. [=

Marcio_Nogueira

Com qual linguagem você mais se identifica?
Se vor java, então cai dentro! :wink:

S

Marcio_Nogueira:
Com qual linguagem você mais se identifica?
Se vor java, então cai dentro! :wink:

Esse e o problemas vi umas aulas de .net gostei vi java tbm e gostei. Mas vi que java e multiplataforma? O .net tem algo que faz ele ser melhor do que o java? ou não.

Marcio_Nogueira

Se você gostou tanto de Java como .Net, então vale apena aprender ambos, pois se prender a uma única plataforma de desenvolvimento seria um erro na minha opinião.
Eu por exemplo, desenvolvo em Java e .Net. :wink:

S

Marcio_Nogueira:
Se você gostou tanto de Java como .Net, então vale apena aprender ambos, pois se prender a uma única plataforma de desenvolvimento seria um erro na minha opinião.
Eu por exemplo, desenvolvo em Java e .Net. :wink:

Mas qual vc gosta mais? e pq?

Marcio_Nogueira

Cada uma das plataformas se propõe a resolver problemas distintos, em particular prefiro o .Net por proporcionar um ambiente que facilita e agiliza o desenvolvimento de diferentes tipos de aplicações, tudo gerenciado pelo .Net Framework.
Sem falar no Visual Studio, que na minha opinião é o diferencial da plataforma .Net. :wink:

S

Marcio_Nogueira:
Cada uma das plataformas se propõe a resolver problemas distintos, em particular prefiro o .Net por proporcionar um ambiente que facilita e agiliza o desenvolvimento de diferentes tipos de aplicações, tudo gerenciado pelo .Net Framework.
Sem falar no Visual Studio, que na minha opinião é o diferencial da plataforma .Net. :wink:

Realmente eu tbm curto o .net mas agora ta se falando muito em java por isso minha duvida, baixei um cursinho de c# e curti. Mas o material parece sem bem escasso, os gratuitos, ja os pagos pelos videos demos parecem ser de otima qualidade.

UP.COM

Mas vc tem faculdade tbm, isso tbm conta mesmo não sendo muito ao seu apreendizado mas sempre pedem.

pois eu li seu cometário e não esta cometado nada.

Marcio_Nogueira

Você encontra muito material sobre .Net no seguinte site: http://www.msdnbrasil.com.br
Se cadastre e passe a fazer parte da comunidade de desenvolvedores microsoft na plataforma .net e obtenha muito material gratuito sobre a plataforma. :wink:

S

[quote=UP.COM]Mas vc tem faculdade tbm, isso tbm conta mesmo não sendo muito ao seu apreendizado mas sempre pedem.

pois eu li seu cometário e não esta cometado nada.

[/quote]

Não, farei EAD agora em 2012.

drsmachado

Quer aprender direito e não pela metade?

Comece por lógica. Muita lógica.
Depois, vá de C ANSI.
Você verá o básico (estruturas condicionais, laços de repetição, etc, etc, etc), o intermediário (ponteiros) e o avançado (pilhas, filas, listas, árvores, grafos).
Aí então, você poderá partir para o mundo OO.

Daí, escolha C++, pois é baseada em C e possui suporte à orientação a objetos. Muita coisa das sintaxes de C/C++ são utilizadas em java.

Só então vá de java.
Java e C# (pois .NET é a plataforma que engloba C# e VB.NET) são bem parecidos em termos de sintaxe e estrutura.

Profissionalmente falando, muita lógica e, dependendo a tua região, java/C#/C ou C++/Ruby On alguma coisa (Rails ou outro framework).

Dinheiro, você só ganha depois de alguns anos, muito estudo, noites sem dormir, projetos com prazo apertado, dores de cabeça, cafés, etc…

Não se iluda, como diria o tio Bill Gates, “você só terá um cargo com carro fornecido pela empresa, depois que trabalhar duro até comprar o teu próprio” (salvo se você for o motorista da empresa…)

S

Quer aprender direito e não pela metade?

Comece por lógica. Muita lógica.
Depois, vá de C ANSI.
Você verá o básico (estruturas condicionais, laços de repetição, etc, etc, etc), o intermediário (ponteiros) e o avançado (pilhas, filas, listas, árvores, grafos).
Aí então, você poderá partir para o mundo OO.

Daí, escolha C++, pois é baseada em C e possui suporte à orientação a objetos. Muita coisa das sintaxes de C/C++ são utilizadas em java.

Só então vá de java.
Java e C# (pois .NET é a plataforma que engloba C# e VB.NET) são bem parecidos em termos de sintaxe e estrutura.

Profissionalmente falando, muita lógica e, dependendo a tua região, java/C#/C ou C++/Ruby On alguma coisa (Rails ou outro framework).

Dinheiro, você só ganha depois de alguns anos, muito estudo, noites sem dormir, projetos com prazo apertado, dores de cabeça, cafés, etc…

Não se iluda, como diria o tio Bill Gates, “você só terá um cargo com carro fornecido pela empresa, depois que trabalhar duro até comprar o teu próprio” (salvo se você for o motorista da empresa…)

Sim sim, ja fiz logica agora falta escolher a linguagem, fiz logica em c++

drsmachado

Lógica é uma coisa, algoritmo é outra.
Lógica é o que te permite, independente da linguagem ou situação, determinar meios de atingir um objetivo. Como um MMORPG, como num jogo de tiro em 1ª pessoa, a lógica é que te permite interpretar algo, decodificar os sentidos e compreender.

Sinceramente, eu pesquisaria o mercado da região. Se for mais propenso a .NET, vá para o C#.
Se for mais java, não titubeie, escolha o café e boas.

J

concordo com o drsmachado. Se você aprender java primeiro, quando for usar linguagens que não gerenciam memória automaticamente vai passar o pão que o diabo amassou.
É bom aprender como gerenciamento de memória funciona. Para se ter idéia de como é importante, se você pesquisar nesse fórum vai encontrar tópicos de pessoas que conseguem gerar memory leaks até mesmo com um coletor de lixo os ajudando.

alanbrasil1984

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

J

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

porque?

drsmachado

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

E quanto a tudo o que java faz automaticamente?
GarbageCollector pode ser até um vilão no java, mas, quantas vezes você se preocupou em destruir objetos?
E quando algo não está no lugar que deveria, o java lança aquela bela mensagem de exception.
Há várias linguagens que não fazem isso…

Então, é preciso, infelizmente, primeiro preparar o campo, para depois plantar e colher…

alanbrasil1984

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

porque?

Devido a maioria dos tutorias forçar o OO.

J

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

porque?

Devido a maioria dos tutorias forçar o OO.

Java por si só é totalmente orientada a objetos então provavelmente usando ela não hà como sair desse paradigma. Mas digo em questão, se algum dia um profissional precisar usar uma outra ferramenta(outra linguagem) como c++, ou c no caso de um sistema embarcado se ele só conhece java, devido ao nível de abstração que ela tem do hardware esse profissional vai passar muitas dificuldades.

Dependendo do tipo da aplicação você precisar ter mais contato com o hardware real. Um exemplo disso é dar suporte a uma webcam para um aplicativo java.

alanbrasil1984

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

porque?

Devido a maioria dos tutorias forçar o OO.

Java por si só é totalmente orientada a objetos então provavelmente usando ela não hà como sair desse paradigma. Mas digo em questão, se algum dia um profissional precisar usar uma outra ferramenta(outra linguagem) como c++, ou c no caso de um sistema embarcado se ele só conhece java, devido ao nível de abstração que ela tem do hardware esse profissional vai passar muitas dificuldades.

Dependendo do tipo da aplicação você precisar ter mais contato com o hardware real. Um exemplo disso é dar suporte a uma webcam para um aplicativo java.

concordo com você nisso, porém se ele obtiver essa necessidade o nível dele terá que ser outro e não somente aprendizado.

J

Concordo plenamente com o amigo pq passei por isso,
e complementando que o java vc já inicia aprendendo do jeito certo.

porque?

Devido a maioria dos tutorias forçar o OO.

Java por si só é totalmente orientada a objetos então provavelmente usando ela não hà como sair desse paradigma. Mas digo em questão, se algum dia um profissional precisar usar uma outra ferramenta(outra linguagem) como c++, ou c no caso de um sistema embarcado se ele só conhece java, devido ao nível de abstração que ela tem do hardware esse profissional vai passar muitas dificuldades.

Dependendo do tipo da aplicação você precisar ter mais contato com o hardware real. Um exemplo disso é dar suporte a uma webcam para um aplicativo java.

concordo com você nisso, porém se ele obtiver essa necessidade o nível dele terá que ser outro e não somente aprendizado.

olha, acho que você tem razão nisso. Como java abstrai boa parte do hardware talvez seja melhor para aprender por ter menos com o que se preocupar.Para aprender e praticar algoritmos não precisa saber de hardware.

esdras_63

Eu penso diferente. Para começo você deve aprender uma linguagem sem OO para não confundir e aprender bem a lógica de programação. Tipo eu comecei aprendendo Pascal Estruturado e depois Pascal Orientado a Objetos. Depois de ter aprendido um pouco dessas linguagens daí aprendi java OO. Assim fica mais fácil porque você já tem boa noção da lógica de programação.

J

eu aprendi usando uma linguagem de médio nível como c. Ter noção de ponteiros me ajuda até hoje mesmo quando uso java, mas creio que para estudar lógica isso seja desnecessário, não acha?

kicolobo

Uma boa opção também são as linguagens de scripts. Com elas você vai “pegando as manhas” da lógica de programação com o tempo.
Além disto, costumam apresentar um ambiente de desenvolvimento bem mais simples, com um ciclo do tipo “escrevo - executo” ao invés do Javão tradicional “escrevo - compilo - executo”.

Parece bobagem tirar um passo a mais, mas te da um ganho bacana.

Sou suspeito pra falar, mas gosto muito de Groovy.

esdras_63

eu aprendi usando uma linguagem de médio nível como c. Ter noção de ponteiros me ajuda até hoje mesmo quando uso java, mas creio que para estudar lógica isso seja desnecessário, não acha?
Não sei. Foi legal eu ter começado com pascal, uma linguagem um pouco mais baixo nível que java, pois assim além de eu ter aprendido lógica de programação sem me preocupar com OO, eu aprendi ponteiros e arrays(possuem também em java, mas uso muito pouco pois os Collections da vida faz o trabalho chato) e hoje sou mais feliz ^^.

I

Não faz muito tempo eu estava na mesma dúvida que você e escolhi Java por alguns motivos.

C# é uma linguagem de propriedade da Microsoft e, por isso, fica sujeita às evoluções/decisões tomadas/determinadas pelo rumo que a empresa decidir tomar, ao meu ver, empresas de grande porte, como bancos, instituições financeiras etc…, não querem ficar sujeitas a essas variações, e, na maioria desses casos optam por java, pois podem trocar de plataforma na hora em que quiserem, caso a Oracle decida parar com o Java, podem criar suas próprias JVM’s e seguirem independentes. Continuo achando isso e não me arrependo de ter escolhido Java, e hoje vejo que dá para ser produtivo também, mas exige mais conhecimento do programador, mas pela média salarial que tenho visto, acho que paga melhor que C#. Quanto à sintaxe e outras coisas, não esquente sua cabeça com isso agora, a sintaxe, seja de C# ou de Java, vc vai aprender com o tempo e prática, ou, como falaram acima, noites sem dormir, cafés etc…

Espero poder ter ajudado.

Abraços

esdras_63

kicolobo:
Uma boa opção também são as linguagens de scripts. Com elas você vai “pegando as manhas” da lógica de programação com o tempo.
Além disto, costumam apresentar um ambiente de desenvolvimento bem mais simples, com um ciclo do tipo “escrevo - executo” ao invés do Javão tradicional “escrevo - compilo - executo”.

Parece bobagem tirar um passo a mais, mas te da um ganho bacana.

Sou suspeito pra falar, mas gosto muito de Groovy.


Com certeza essas linguagens de script são boas para começo. Pena que quando comecei com pascal não conhecia elas.
Groovy é muito bom, e você pode mais tarde chamar classes groovys compiladas no java e vice-versa. Além do mais tem o grails que é um framework que usa o groovy e te dá muita agilidade no desenvolvimento web.

J

Ivan Sotelo Codo:
Não faz muito tempo eu estava na mesma dúvida que você e escolhi Java por alguns motivos.

C# é uma linguagem de propriedade da Microsoft e, por isso, fica sujeita às evoluções/decisões tomadas/determinadas pelo rumo que a empresa decidir tomar, ao meu ver, empresas de grande porte, como bancos, instituições financeiras etc…, não querem ficar sujeitas a essas variações, e, na maioria desses casos optam por java, pois podem trocar de plataforma na hora em que quiserem, caso a Oracle decida parar com o Java, podem criar suas próprias JVM’s e seguirem independentes. Continuo achando isso e não me arrependo de ter escolhido Java, e hoje vejo que dá para ser produtivo também, mas exige mais conhecimento do programador, mas pela média salarial que tenho visto, acho que paga melhor que C#. Quanto à sintaxe e outras coisas, não esquente sua cabeça com isso agora, a sintaxe, seja de C# ou de Java, vc vai aprender com o tempo e prática, ou, como falaram acima, noites sem dormir, cafés etc…

Espero poder ter ajudado.

Abraços

No quesito “fechado” pode acreditar que a especificação java é mais que a dot net. Em termos de linguagem também.
Existe um padrão iso que regulariza c# assim como a linguagem c ansi.

L

Escolha cobol…é a melhor

drsmachado

Você não utiliza nenhum if, else, if/else? Nenhum for? while, do/while? switch/case?

Isso tudo é P estruturada…

Java não é 100% OO.

drsmachado

Claro, faça uma página web com cobol, já que é a melhor!!!

Cobol é uma linguagem estabelecida, com mercado bom e aprendizado médio (fica entre aprender PHP e C# ou java).
Embora alguns digam que pode-se programar OO em cobol, nunca vi mais gordo…

kicolobo

Sabe uma outra linguagem interessante pra aprender? Lisp

É pouco usada? Sim. Mas no entanto é uma das linguagens introdutórias no MIT.

Como vantagens cito:

  • A sintaxe é mínima (quase inexistente)
  • Fácil de aprender
  • Emprega o paradigma funcional e portanto já te habitua pra algo que vai ser sua realidade no futuro
  • Você usa a abordagem declarativa mais que a imperativa, ou seja, te ajuda a focar na descrição do problema a ser tratado

Se quiser, pode brincar com Clojure, que é um dialeto Lisp que pode ser executado direto na JVM

drsmachado

kicolobo:
Sabe uma outra linguagem interessante pra aprender? Lisp

É pouco usada? Sim. Mas no entanto é uma das linguagens introdutórias no MIT.

Como vantagens cito:

  • A sintaxe é mínima (quase inexistente)
  • Fácil de aprender
  • Emprega o paradigma funcional e portanto já te habitua pra algo que vai ser sua realidade no futuro
  • Você usa a abordagem declarativa mais que a imperativa, ou seja, te ajuda a focar na descrição do problema a ser tratado

Se quiser, pode brincar com Clojure, que é um dialeto Lisp que pode ser executado direto na JVM

Boa também.

O importante é entender conceitos.
Linguagens, por mais complexas, são apenas repetição de sintaxes e palavras chaves.
Lógica e conceitos de OO são perenes, linguagens, mudam sempre.

J

Você não utiliza nenhum if, else, if/else? Nenhum for? while, do/while? switch/case?

Isso tudo é P estruturada…

Java não é 100% OO.

todos os blocos do software são obrigados a estar dentro de objetos, então não é estruturada. Diferentes de pascal e c.
c++(multi paradigma) e object pascal não são estruturadas(isto é se você usar realmente “c++” e “object pascal”). A maioria das pessoas confundem c++ e opascal com c e pascal.

J

drsmachado:
kicolobo:
Sabe uma outra linguagem interessante pra aprender? Lisp

É pouco usada? Sim. Mas no entanto é uma das linguagens introdutórias no MIT.

Como vantagens cito:

  • A sintaxe é mínima (quase inexistente)
  • Fácil de aprender
  • Emprega o paradigma funcional e portanto já te habitua pra algo que vai ser sua realidade no futuro
  • Você usa a abordagem declarativa mais que a imperativa, ou seja, te ajuda a focar na descrição do problema a ser tratado

Se quiser, pode brincar com Clojure, que é um dialeto Lisp que pode ser executado direto na JVM

Boa também.

O importante é entender conceitos.
Linguagens, por mais complexas, são apenas repetição de sintaxes e palavras chaves.
Lógica e conceitos de OO são perenes, linguagens, mudam sempre.

isso é uma grande verdade, embora conceitos de OO não sejam necessários para se construir bons softwares. Vide linux, gimp, inkscape que são escritos em c.

drsmachado

juliocbq:
drsmachado:
kicolobo:
Sabe uma outra linguagem interessante pra aprender? Lisp

É pouco usada? Sim. Mas no entanto é uma das linguagens introdutórias no MIT.

Como vantagens cito:

  • A sintaxe é mínima (quase inexistente)
  • Fácil de aprender
  • Emprega o paradigma funcional e portanto já te habitua pra algo que vai ser sua realidade no futuro
  • Você usa a abordagem declarativa mais que a imperativa, ou seja, te ajuda a focar na descrição do problema a ser tratado

Se quiser, pode brincar com Clojure, que é um dialeto Lisp que pode ser executado direto na JVM

Boa também.

O importante é entender conceitos.
Linguagens, por mais complexas, são apenas repetição de sintaxes e palavras chaves.
Lógica e conceitos de OO são perenes, linguagens, mudam sempre.

isso é uma grande verdade, embora conceitos de OO não sejam necessários para se construir bons softwares. Vide linux, gimp, inkscape que são escritos em c.

Em nenhum momento afirmei que bons softwares são feitos apenas com OO. Veja a galeria de softwares bancários, feitos em cobol, clipper e uma infinidade de linguagens PE.

drsmachado

Você não utiliza nenhum if, else, if/else? Nenhum for? while, do/while? switch/case?

Isso tudo é P estruturada…

Java não é 100% OO.

todos os blocos do software são obrigados a estar dentro de objetos, então não é estruturada. Diferentes de pascal e c.
c++(multi paradigma) e object pascal não são estruturadas(isto é se você usar realmente “c++” e “object pascal”). A maioria das pessoas confundem c++ e opascal com c e pascal.

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

J

drsmachado:
juliocbq:
drsmachado:
kicolobo:
Sabe uma outra linguagem interessante pra aprender? Lisp

É pouco usada? Sim. Mas no entanto é uma das linguagens introdutórias no MIT.

Como vantagens cito:

  • A sintaxe é mínima (quase inexistente)
  • Fácil de aprender
  • Emprega o paradigma funcional e portanto já te habitua pra algo que vai ser sua realidade no futuro
  • Você usa a abordagem declarativa mais que a imperativa, ou seja, te ajuda a focar na descrição do problema a ser tratado

Se quiser, pode brincar com Clojure, que é um dialeto Lisp que pode ser executado direto na JVM

Boa também.

O importante é entender conceitos.
Linguagens, por mais complexas, são apenas repetição de sintaxes e palavras chaves.
Lógica e conceitos de OO são perenes, linguagens, mudam sempre.

isso é uma grande verdade, embora conceitos de OO não sejam necessários para se construir bons softwares. Vide linux, gimp, inkscape que são escritos em c.

Em nenhum momento afirmei que bons softwares são feitos apenas com OO. Veja a galeria de softwares bancários, feitos em cobol, clipper e uma infinidade de linguagens PE.

Eu sei. Estou concordando com você. Não disse o contrário no meu post.

J

drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

kicolobo

juliocbq:
drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

tirar os tipos primitivos.

J

kicolobo:
juliocbq:
drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

tirar os tipos primitivos.

o boolean , int, double, e long? Acho que se fizerem a linguagem dessa maneira um software java iria alocar 3x ou 4x mais do que aloca hoje.
Se eu não me engano ruby não tem tipos primitivos, certo?

kicolobo

juliocbq:
kicolobo:
juliocbq:
drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

tirar os tipos primitivos.

o boolean , int, double, e long? Acho que se fizerem a linguagem dessa maneira um software java iria alocar 3x ou 4x mais do que aloca hoje.
Se eu não me engano ruby não tem tipos primitivos, certo?

Eu concordo com a decisão que os caras tomaram na criação do Java. Realmente, haveria penalidades brutas de performance e consumo de memória.

Mas o argumento usado é basicamente este: uma linguagem é 100% orientada a objetos (puristicamente falando) quando todos os tipos são objetos.

kicolobo

juliocbq:
kicolobo:
juliocbq:
drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

tirar os tipos primitivos.

o boolean , int, double, e long? Acho que se fizerem a linguagem dessa maneira um software java iria alocar 3x ou 4x mais do que aloca hoje.
Se eu não me engano ruby não tem tipos primitivos, certo?

Opa, e sobre Ruby, exatamente. Tudo é objeto, exatamente como no Groovy, Smalltalk, etc.

J

kicolobo:

Opa, e sobre Ruby, exatamente. Tudo é objeto, exatamente como no Groovy, Smalltalk, etc.

eu andei brincando com ruby um tempo atraz e percebi isso.

victorcosta

juliocbq:
kicolobo:
juliocbq:
drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

tirar os tipos primitivos.

o boolean , int, double, e long? Acho que se fizerem a linguagem dessa maneira um software java iria alocar 3x ou 4x mais do que aloca hoje.
Se eu não me engano ruby não tem tipos primitivos, certo?

Mesmo com tipos primitivos, Java é a linguagem campeã em gastar memória

Veja esse comparativo com Ruby que não tem tipos primitivos

http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=yarv&lang2=java

Lembro de ter visto um artigo em blog perguntando quanto um Boolean gastava em memória no Java. O cara começava com uma estimativa de 1 bit que é oq vem logo em mente, ai ia aumentando e explicando pq, chegava a um valor altíssimo

Em compensação em CPU time Java é muito bom, são os benefícios de uma linguagem estaticamente tipada (além do suporte das IDEs)

J

victorcosta:
juliocbq:
kicolobo:
juliocbq:
drsmachado:

Independente de onde estejam, ter objetos não significa que seja orientada a objetos.
Veja na internet a quantidade de artigos, posts e tudo o que se imagina quanto ao fato de java não ser 100% OO.
Nem mesmo SmallTalk é 100% OO.

Para java ser totalmente OO o que falta?

tirar os tipos primitivos.

o boolean , int, double, e long? Acho que se fizerem a linguagem dessa maneira um software java iria alocar 3x ou 4x mais do que aloca hoje.
Se eu não me engano ruby não tem tipos primitivos, certo?

Mesmo com tipos primitivos, Java é a linguagem campeã em gastar memória

Veja esse comparativo com Ruby que não tem tipos primitivos

http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=yarv&lang2=java

Lembro de ter visto um artigo em blog perguntando quanto um Boolean gastava em memória no Java. O cara começava com uma estimativa de 1 bit que é oq vem logo em mente, ai ia aumentando e explicando pq, chegava a um valor altíssimo

Em compensação em CPU time Java é muito bom, são os benefícios de uma linguagem estaticamente tipada (além do suporte das IDEs)

a jvm tem um desempenho bom sim. Mas quando eu baixei a jrockit vi que a questão cpu x mem são inversamente proporcionais. Então percebi que jrockit afinal é uma boa jogada de marketing e não tão boa tecnologicamente falando. Se fizer um estudo em cima disso vai perceber que é muito recurso jogado fora.

Marcio_Nogueira

Acho a plataforma .Net mais fácil de aprender e desenvolver aplicações windows, web e mobile.
A curva de aprendeizado não é tão acentuada como a de outras plataformas, o que possibilita que o aluno em pouco tempo o aluno esteja desenvolvendo diferentes aplicações. :wink:

J

Marcio_Nogueira:
Acho a plataforma .Net mais fácil de aprender e desenvolver aplicações windows, web e mobile.
A curva de aprendeizado não é tão acentuada como a de outras plataformas, o que possibilita que o aluno em pouco tempo o aluno esteja desenvolvendo diferentes aplicações. :wink:

mas estamos conversando sobre linguagens. Você quer dizer que a curva de apredizado da sintaxe de c# ou vb.net é menor que a de java?

Marcio_Nogueira

Sim, isso mesmo.

RiQuInHo_

VB são para os fracos!!

Antes de tudo começe tbm uma Faculdade !!

Marcio_Nogueira

Você por a caso já fez faculdade? Parece que não!
Não estou preso ao Java, busco desenvolver tanto em .NET quanto em java.

johnny_quest

Groovy é show de bola, mas para quem está começando, eu indicaria com toda certeza a linguagem Scala.

Roda sobra a JVM, é rápida assim como a linguagem java, é orientada a objetos e Funcional,
foi projetada elegantemente para rodar paralelamente em diversos processadores, pode utilizar
tudo o que já foi feito em java, permite um tipo de herança múltipla com traits, tem uma sintaxe 10x mais
enxuta que java e uma API de Collection fenomenal, clousures e está começando a ter bons
frameworks de front controller como lift e play. Fora o fato que Scala foi feita tendo por base ser escalavel
e suportar uma gigantesca requisição de recursos.

J

eu achei a mesma coisa. Tirando alguns recursos da c# como sobrecarga de operadores, properties, que já havia usado com c++ e object pascal não vi muita diferença.

L

cobollllll

S

Dica:
quando for aprender uma linguagem de programação leve em consideração o qunto pode ser
divertido brincar com ela o resto vem depois. Você naum sabe o quanto eu acho divertido manipular coleções com python é simplismente muito fácil, sem falar que ela já vem com um monte de libs.
Nem por isso deixo de estudar Java EE e, até um tempo atrás tava querendo unir os dois mundo
com o Jython.

Bos Sorte com os estudos.

Criado 15 de dezembro de 2011
Ultima resposta 21 de dez. de 2011
Respostas 56
Participantes 16