Java ou C#?
#1
Postou 22 setembro 2008 - 09:10
Java ou C#? Qual a linguagem que devo aprender para ganhar mais? Essa é pergunta que mais me fazem por onde ando. Deve valer milhões de reais, pois ela é feita em reuniões, para indicar ao filho do amigo, para uma reportagem etc. Enfim, todos querem saber que linguagem será mais lucrativa para um profissional.
Minha resposta? Qualquer uma delas. Vale a pena saber a linguagem da moda? Claro! Mais oportunidades de emprego aparecem, os salários são maiores, mas é isso mesmo o que mais importa? Acredito que não. O que mais importa, no final, é ter conceitos sólidos de algoritmos, na programação orientada a objetos, em sintaxe SQL, na arquitetura em multicamada e, em pelo menos, uma linguagem de programação.
Na atualidade, com a internet, alguns outros conceitos são importantes, como estas sopas de letras HTML, XML, CSS, XAML, SOAP. Não esqueça de acrescentar Javascript, Ajax e Actionscript (este vindo do Flash) e um pouco de Photoshop. Além disso, mesmo conhecendo tudo isso seu trabalho pode demandar freqüentemente o conhecimento de uma nova linguagem com pouco tempo de estudo. Como fazer isso?
A primeira dica é buscar, entre diversos tutoriais na internet, aquele que mais se adapta a seu objetivo, já que uma linguagem serve a inúmeras aplicações. Eis aqui uma pequena receita, que pode servir como exemplo. Leia o manual com o tutorial da linguagem. Geralmente ele é pequeno e rápido de se fazer. Mantenha o manual de referência da sintaxe à mão, entenda como funciona o compilador, suas opções e, se houver, seu ambiente de desenvolvimento (IDE), comece com um programa simples, como imprimir uma linha no navegador. Compile-o e use as funcionalidades básicas de debugging como break points, inspeção de variáveis etc.
Depois, crie uma lista, como essa abaixo, para entrar na maioria dos recursos da linguagem e entender como el funciona. Comece, por exemplo, por aumentar a complexidade do seu programa básico em uma ordem como esta:
1) Mostre uma série de números em um looping infinito usando uma tecla especifica para parar o programa;
2) Crie um programa com uma série Fibonacci, encontre o máximo e o mínimo em uma lista de números;
3) Aceite caracteres ou números do teclado e ordene a lista em ordem ascendente e descendente;
4) Crie um programa para calcular um número Reynolds. Ele deve aceitar os valores necessários em suas unidades apropriadas. Se o número for menor que 2100 mostre a mensagem Fluxo Laminar, se estiver entre 2100 e 4000 mostre a mensagem Fluxo Transiente, se foi maior que 4000, mostre a mensagem Fluxo Turbulento. Você irá usar os desvios If, else, then etc.;
5) Modifique o programa para perguntar se deseja calcular de novo. Com a resposta S, pergunte novamente pelos parâmetros, com a resposta N saia do programa (Do while loop). Informe números que podem dar erro no cálculo. Exemplo: coloque um=0, ele dá um erro de DIVIDE BY ZERO? Como a linguagem trata essa situação? Existe tratamento de exceção? (exception handling)
6) Faça cálculos científicos, tais como raiz quadrada, fatorial, seno, coseno etc.;
7) Imprima o resultado em diferente formatos, com casas decimais, truncando após a terceira casa, colocando zeros à esquerda ou direita, justificando etc. (operações com strings);
8) Abra um arquivo texto e o converta em HTML;
9) Pegue a data e hora do sistema e o converta em outro formato;
10) Crie arquivos com a data e hora no nome do arquivo;
11) Pegue uma tabela HTML e grave um arquivo separado por vírgulas;
12) Extraia palavras em maiúsculas ou palavras únicas de um arquivo;
13) Implemente quebra de linha automática conforme o tamanho da janela mostrada (veja o programa Notepad do Windows);
14) Adicione ou remova itens no começo, meio ou fim de um array;
15) Verifique, por fim, se esses recursos são suportados na sua linguagem: funções virtuais, referencias, pointers? Existem coisas como namespace, package, module, estude então o assunto name mangling.
Java ou C#? Você responde.
Fonte: http://idgnow.uol.co...-21.7647510499/
#7
Postou 22 setembro 2008 - 14:17
Pantoja, em 22/09/2008 - 12:52, disse:
Não estou postando esses links com intuito de começar um discussão. Foi só para o jovem Pantoja ver umas comparações simples. rs
Por que o C# é melhor que o Java, Parte I
Porque o C# é melhor que o Java, parte II
#8
Postou 22 setembro 2008 - 14:48
#13
Postou 23 setembro 2008 - 08:45
Ficar defendendo uma tecnologia ou outra só nos faz restringir o nosso conhecimento e habilidade de aprender coisas novas.É dificil entender os dois lados da moeda, mas tentem, vai lhes transformar em grandes profissionais, ja que o diferencial está em nossa bagagem e não bagagem de de uma coisa só.
Ahh pra comentar este artigo:
http://www.mas.com.b...CSharp_Java.htm
Está com vários equivocos sobre a Plataforma Java ok, principalmente por dizer que Java não é derivado de um ancestral comum.
Me desculpem falar, mas acho que o pessoal que escreveu este texto não abordou corretamente o estudo sobre a Plataforma Java.
Um grande abraço a todos
#15
Postou 23 setembro 2008 - 09:10
PS. Alguem poderia me dar uma IDE free para ambas linguagens? Algo que eu possa testar Loops, arrays, sistema de variaveis etc etc... só pra brincar um pouquinho mesmo e ver o que acho de ambas
#19
Postou 23 setembro 2008 - 13:30
Link interessante sobre Orkut e .net ... destaque para este comentário
Quote
Se a aplicao deles fosse em Java e estivesse caindo o que vcs diriam? que foi mal programada?
Rafael
hehe
#21
Postou 23 setembro 2008 - 16:42
Quote
Algo que toda a nossa turma entendeu agora tambem é que temos que ter um bom entendimento de Lógica para que possamos aprender uma linguagem e poder programar em qualquer linguagem, como fora dito o interessante não é a linguagem e sim que o projeto final funcione.
Existem inumeras linguagens e surgirão inumeras outras, o diferencial é o que o programador conseguira fazer melhor e inovador baseado em uma linguagem ou um conjunto de linguagens.
Prog, em 22/09/2008 - 23:42, disse:
Para todas as outras opções, façam outra escolha.
Que estranho pra mim q grande parte do Kernel do Unix foi re-escrito em C e hoje é possivel programar em C para linux porem tera que utilizar o g++ ou o gnu C++ sendo possivel criar alguns programinhas sim em C para linux.
Pantoja se quiser pode baixar o o Eclipse com o plugin da para C ele pode ser utilizado para programar nas duas linguagens:
http://www.eclipse.org/downloads/
Ja eu prefiro ou o Dev C++ , Visual Estudio ou Bortland é outra boa opção para C e C++ , para java o jeito é utilizar o eclipse
#22
Postou 23 setembro 2008 - 18:36
Pantoja, em 23/09/2008 - 09:10, disse:
Para .NET tem o Visual Studio Express... não sei exatamente qual versão deve ser escolhida para realizar os testes que você deseja.
Para Java tem o Eclipse e o NetBeans... o NetBeans é mais pesado por ter mais recursos instalados por padrão, o Eclipse é um ambiente mais leve por ser um ambiente mais limpo, mas ambas as ferramentas podem ser configuradas para obter um melhor rendimento. Se o seu objetivo for apenas para realizar testes, o Eclipse seria mais indicado. Mas se tiver paciência, baixe os 2 ambientes e decida por conta própria.
Edultra, em 23/09/2008 - 16:42, disse:
Prog, em 22/09/2008 - 23:42, disse:
Para todas as outras opções, façam outra escolha.
Que estranho pra mim q grande parte do Kernel do Unix foi re-escrito em C e hoje é possivel programar em C para linux porem tera que utilizar o g++ ou o gnu C++ sendo possivel criar alguns programinhas sim em C para linux.
Quando mencionei "façam outra escolha" me referi a qualquer uma fora do mundo M$... Python, C, B, Algol, LISP, ou qualquer outra coisa que seja possível rodar em ambientes heterogêneos.
Ah sim... existem projetos C# para Linux, até com uma comunidade bastante talentosa, mas não entendo corretamente o objetivo deles, uma vez que as aplicações desenvolvidas no Visual Studio, na maioria dos casos, não rodam no MONO ou no DotProject.
#23
Postou 23 setembro 2008 - 19:30
Prog, em 23/09/2008 - 18:36, disse:
Ah sim... existem projetos C# para Linux, até com uma comunidade bastante talentosa, mas não entendo corretamente o objetivo deles, uma vez que as aplicações desenvolvidas no Visual Studio, na maioria dos casos, não rodam no MONO ou no DotProject.
Dependerá muito do Oque eles estão programando muitas coisas podem ser programadas em visual depois o codigo recompilado em um compilador para Linux como passei acima.
Que bom que se referiu a coisas heterogenêas, visto que muitas linguagens como php, até mesmo o java são linguagens derivadas do C, eu não penso em programar "o resto da vida para M$" aprendi que o devemos aprender tudo bem desde o inicio e vi que o C é um bom inicio, não só por experiência própria mais por muitos comentários que vi na web.
#24
Postou 23 setembro 2008 - 19:41
Seus sistemas de buscas devem ser em Phyton. E outros progs tb. Esses sites de relacionamento em geral será que é Phyton? Digo os outros sem ser google. Sistemas como o www.sxc.hu etc
na verdade quero so ver a base deles mesmo. COmo sao os loops por exemplo e tal.
O java ja percevi que é mo complicação. Cria-se um arquivo de codigo .java e depois um compilador e ai executa um bat que excuta outro bat.
nossa...
muito doido!
#25
Postou 23 setembro 2008 - 20:34
Pantoja, em 23/09/2008 - 19:41, disse:
Na verdade, Java é simples, as pessoas é que complicam o seu desenvolvimento, muitas vezes pq pensam de uma forma que o Java fica amarrado, é fato de que não é uma linguagem das mais flexiveis no que diz respeito a formas de desenvolver, e é isto que acaba por complicá-la, além disto, sua curva de aprendizado geralmente é uma curva menos acentuada, uma vez que os treinamentos em Java vão desde o inicio, bem inicio do mesmo e muitas vezes não vão muito mais adiante, diferente de outras linguagens, ou seja, seria necessário fazer vários módulos e treinamentos para definitavamente tiver um proveito comercial da plataforma.
Quanto a compilar, na verdade são necessários 2 arquivos, o javac.exe (Java Compiler) e o java.exe (que é a máquina virtual Java), depois que você compila executa a classe. Não tem essa viagem dos bats como você deve ter lido em algum lugar ou sua compreensão não foi adequada. Uma dificuldade inicial também é a configuração do sistema operacional, quando um usuário comum instalar a JVM apenas os navegadores estão prontos para utilizá-la, se você pretende desenvolver, precisa configurar algumas variáveis de ambiente do sistema para que tudo funcione como esperado.
Em .NET as coisas são bem mais práticas e a IDE (Visual Studio) facilita demais a coisa toda.
#27
Postou 23 setembro 2008 - 20:47
#29
Postou 24 setembro 2008 - 00:03
Prog, em 23/09/2008 - 19:34, disse:
Pantoja, em 23/09/2008 - 19:41, disse:
Na verdade, Java é simples, as pessoas é que complicam o seu desenvolvimento, muitas vezes pq pensam de uma forma que o Java fica amarrado, é fato de que não é uma linguagem das mais flexiveis no que diz respeito a formas de desenvolver, e é isto que acaba por complicá-la, além disto, sua curva de aprendizado geralmente é uma curva menos acentuada, uma vez que os treinamentos em Java vão desde o inicio, bem inicio do mesmo e muitas vezes não vão muito mais adiante, diferente de outras linguagens, ou seja, seria necessário fazer vários módulos e treinamentos para definitavamente tiver um proveito comercial da plataforma.
Quanto a compilar, na verdade são necessários 2 arquivos, o javac.exe (Java Compiler) e o java.exe (que é a máquina virtual Java), depois que você compila executa a classe. Não tem essa viagem dos bats como você deve ter lido em algum lugar ou sua compreensão não foi adequada. Uma dificuldade inicial também é a configuração do sistema operacional, quando um usuário comum instalar a JVM apenas os navegadores estão prontos para utilizá-la, se você pretende desenvolver, precisa configurar algumas variáveis de ambiente do sistema para que tudo funcione como esperado.
Em .NET as coisas são bem mais práticas e a IDE (Visual Studio) facilita demais a coisa toda.
Esse é um dos principais fatos que a Microsoft sai na frente, facilita a vida dos usuários iniciantes, o cara da Next, next, finish, e tem uma excelente ferramenta de desenvolvimento. Eu já tentei programar em Java antes do .net, mas não conhecia ninguem que mexia com Java e na época não frequentava fóruns acabei desistindo.
#30
Postou 24 setembro 2008 - 09:10
quintelab, em 24/09/2008 - 00:03, disse:
Prog, em 23/09/2008 - 19:34, disse:
Pantoja, em 23/09/2008 - 19:41, disse:
Na verdade, Java é simples, as pessoas é que complicam o seu desenvolvimento, muitas vezes pq pensam de uma forma que o Java fica amarrado, é fato de que não é uma linguagem das mais flexiveis no que diz respeito a formas de desenvolver, e é isto que acaba por complicá-la, além disto, sua curva de aprendizado geralmente é uma curva menos acentuada, uma vez que os treinamentos em Java vão desde o inicio, bem inicio do mesmo e muitas vezes não vão muito mais adiante, diferente de outras linguagens, ou seja, seria necessário fazer vários módulos e treinamentos para definitavamente tiver um proveito comercial da plataforma.
Quanto a compilar, na verdade são necessários 2 arquivos, o javac.exe (Java Compiler) e o java.exe (que é a máquina virtual Java), depois que você compila executa a classe. Não tem essa viagem dos bats como você deve ter lido em algum lugar ou sua compreensão não foi adequada. Uma dificuldade inicial também é a configuração do sistema operacional, quando um usuário comum instalar a JVM apenas os navegadores estão prontos para utilizá-la, se você pretende desenvolver, precisa configurar algumas variáveis de ambiente do sistema para que tudo funcione como esperado.
Em .NET as coisas são bem mais práticas e a IDE (Visual Studio) facilita demais a coisa toda.
Esse é um dos principais fatos que a Microsoft sai na frente, facilita a vida dos usuários iniciantes, o cara da Next, next, finish, e tem uma excelente ferramenta de desenvolvimento. Eu já tentei programar em Java antes do .net, mas não conhecia ninguem que mexia com Java e na época não frequentava fóruns acabei desistindo.
Eu já relatei minha experiência negativa no inicio da plataforma .NET, ainda quando era 1.0, desde então não faço mais uso, unindo a minha ira que já vinha se arrastando há alguns anos para com aquela empresa, bem... foi apenas o estopim, usei até quando não podia mais aguentar.
Tenho especialização em desenvolvimento de aplicações orientado a objetos para web, neste curso nós utilizamos Java, mas eu nunca trabalhei com Java profissionalmente. Atualmente estou tentando aprender um pouco sobre o Framework ZK e voltar a desenvolver aplicações Java para Web, mas meus estudos ainda estão bem superficiais. Se eu já programasse profissionalmente em Java, certamente não a substituiria por nenhuma outra, mas para quem esta iniciando, .NET é o melhor ponto de partida, não que estudar Java de maneira auto-didata seja inviável, mas os caminhos a serem trilhados são bem mais longos e a complexidade vai depender das manias que cada um já possui nas outras linguagens que já teve contato.
Atualmente uso PHP em 99% dos meus trabalhos profissionais e 1% de ASP (apenas manutenção).
#31
Postou 27 setembro 2008 - 10:10
Quote
Máquinas? Ok, então você desenvolve softwares que são utilizados por máquinas, certo?
Errado. Desenvolvedores trabalham com pessoas. Com clientes, gerentes, vendedores e outros desenvolvedores.
Médicos não trabalham com estetoscópios ou bisturis. Essas são ferramentas. Aprenda a utilizá-las bem, mas não esqueça do foco: pessoas, anseios, desejos, expectativas. Não importa se você domina Python ou 32 frameworks Java: se você não souber satisfazer aos anseios de pessoas, será um fracasso.
Ferramentas vem e vão, se aperfeiçoam, mudam, inovam e são deixadas para trás, ainda mais em nossa profissão. Um pedreiro não usa um martelo para tudo que faz. Um médico não depende de um esfigmômetro para fazer seu trabalho. Ferramentas são facilitadoras, não substituem a competência.
Não se prenda à ferramentas. Não dê atenção apenas aos aspectos técnicos. Uma solução que usa uma tecnologia simples ou “velha” (em TI, 6 meses bastam) que supra as expectativas do cliente é muito (muito mesmo) melhor do que uma solução que usa todos os últimos frameworks e deixa o cliente insatisfeito.
Fonte: http://www.makemesim...as-ou-maquinas/
#32
Postou 27 setembro 2008 - 15:20
Prog, em 27/09/2008 - 10:10, disse:
Quote
Máquinas? Ok, então você desenvolve softwares que são utilizados por máquinas, certo?
Errado. Desenvolvedores trabalham com pessoas. Com clientes, gerentes, vendedores e outros desenvolvedores.
Médicos não trabalham com estetoscópios ou bisturis. Essas são ferramentas. Aprenda a utilizá-las bem, mas não esqueça do foco: pessoas, anseios, desejos, expectativas. Não importa se você domina Python ou 32 frameworks Java: se você não souber satisfazer aos anseios de pessoas, será um fracasso.
Ferramentas vem e vão, se aperfeiçoam, mudam, inovam e são deixadas para trás, ainda mais em nossa profissão. Um pedreiro não usa um martelo para tudo que faz. Um médico não depende de um esfigmômetro para fazer seu trabalho. Ferramentas são facilitadoras, não substituem a competência.
Não se prenda à ferramentas. Não dê atenção apenas aos aspectos técnicos. Uma solução que usa uma tecnologia simples ou “velha” (em TI, 6 meses bastam) que supra as expectativas do cliente é muito (muito mesmo) melhor do que uma solução que usa todos os últimos frameworks e deixa o cliente insatisfeito.
Fonte: http://www.makemesim...as-ou-maquinas/
A-P-O-I-A-D-I-S-S-I-M-O!
#33
Postou 27 setembro 2008 - 20:32
Edultra, em 23/09/2008 - 16:42, disse:
Existem inumeras linguagens e surgirão inumeras outras, o diferencial é o que o programador conseguira fazer melhor e inovador baseado em uma linguagem ou um conjunto de linguagens.
A um tempo atrás um colega falou que iria montar um site para um cara e ele queria que fosse em php que php era o que mais de avançado tinha, mas o site era tão pequeno que nem necessitaria de algo assim, que algo bem bolado com html e css ja serviria, ele me disse que simplesmente renomeou a extensão para .php e arrumou os links e pronto o cliente ficou feliz da vida com o seu site feito em php, agil e moderno, vendo a historia (que nem sei se foi verdade) vejo que a linguagem pouco importa para o cliente final contanto que o projeto saia dentro dos conformes, na analise do sistema devemos avaliar todas as fases, os artefatos, e preparar o site para suprir as necessidades e o seu propósito, o restante é sabermos utilizar bem a ferramenta que temos a mão.


Entrar
Cadastre-se
Ajuda



Quote







