Optando por .NET ao invés de Java

Pessoal, é impressão minha ou as empresas, para novos projetos, estão optando desenvolve-los em .NET? Java está mais para manutenção em sistemas legados?

É impressão sua.

Amigo, este movimento está ocorrendo de alguns anos para cá.
Mas não necessariamente java está sendo mantido para sistemas legados, a maioria das empresas ainda utiliza java em projetos iniciais.

A questão aqui é, Java é bom, mas a curva de aprendizado é alta. Pequenas empresas não dispõem de muito tempo para pagar cursos aos seus empregados, por isso elas optam por uma solução relativamente mais fácil, ou seja, .net.

Tenho percebido isso também. Além do que antes da amazon oferecer o AWS, hospedagem .net era muito mais barato.

[quote=doravan]Amigo, este movimento está ocorrendo de alguns anos para cá.
Mas não necessariamente java está sendo mantido para sistemas legados, a maioria das empresas ainda utiliza java em projetos iniciais.

A questão aqui é, Java é bom, mas a curva de aprendizado é alta. Pequenas empresas não dispõem de muito tempo para pagar cursos aos seus empregados, por isso elas optam por uma solução relativamente mais fácil, ou seja, .net.
[/quote]

Disse tudo, é isso mesmo.
Minha empresa deu um curso de APF e abrimos uma discussão sobre produtividade x horas de desenvolvimento do orçamento estimado.
A conclusão que tivemos é que somente será desenvolvido em JAVA se realmente for preciso pelo contexto em questão ou o cliente exigir, caso contrário é .NET

A curva de aprendizado do .Net é igualmente alta.

O problema é o que se vende. Que .Net é mais fácil que Java.
Não é. Eu diria que os dois são equivalentes.

Entender C# + LINQ + MSMVC + Razor + Entity Framework é tão complexo quando seu pacote java favorito.
Fazer aplicações comerciais robustas também vão exigir o entendimento de padrões enterprise, padrões de projetos comuns, etc…

[quote=ViniGodoy]A curva de aprendizado do .Net é igualmente alta.

O problema é o que se vende. Que .Net é mais fácil que Java.
Não é. Eu diria que os dois são equivalentes.

Entender C# + LINQ + MSMVC + Razor + Entity Framework é tão complexo quando seu pacote java favorito.
Fazer aplicações comerciais robustas também vão exigir o entendimento de padrões enterprise, padrões de projetos comuns, etc…[/quote]

Herere, pior que eh, grande mestre.

[quote=ViniGodoy]A curva de aprendizado do .Net é igualmente alta.

O problema é o que se vende. Que .Net é mais fácil que Java.
Não é. Eu diria que os dois são equivalentes.

Entender C# + LINQ + MSMVC + Razor + Entity Framework é tão complexo quando seu pacote java favorito.
Fazer aplicações comerciais robustas também vão exigir o entendimento de padrões enterprise, padrões de projetos comuns, etc…[/quote]

Você tem razão que a curva de aprendizado é igual, mas no fim acredito que, no Java, por existir trocentas opções de cada framework, isso aumenta a percepção de que a plataforma é mais complexa.

[quote=rsantik]Pessoal, é impressão minha ou as empresas, para novos projetos, estão optando desenvolve-los em .NET? Java está mais para manutenção em sistemas legados?[/quote]De onde você tirou isso?

[quote=ViniGodoy]A curva de aprendizado do .Net é igualmente alta.

O problema é o que se vende. Que .Net é mais fácil que Java.
Não é. Eu diria que os dois são equivalentes.

Entender C# + LINQ + MSMVC + Razor + Entity Framework é tão complexo quando seu pacote java favorito.
Fazer aplicações comerciais robustas também vão exigir o entendimento de padrões enterprise, padrões de projetos comuns, etc…[/quote]

Pois é, mas acho que quando se diz 'as empresas pequenas optam por .net" significa “as empresas que pensam pequeno e fazem gambiarras em vez de sistemas e contratam 10 juniors em vez de 2 seniors porque é mais barato e dá a impressão que tem gente trabalhando optam pelo visual studio que é drag-drop efacilita a criação das gambiarras”

Ninguém está realmente pensando na engenharia da coisa.

Se você pensar na engenharia da coisa então não é tão diferente. Mas existem exceções.
Por exemplo, ha quem defenda que o verdadeiro padrão é o Mono e a Microsoft altera ele a gosto (como tentou fazer com o swing ou com open doc format). O Mono (da novell) roda em linux , iphone, ipad, android … desde ponto de vista é melhor que o java (neste momento)
Mas por outro lado temos Scala que compila para .net e java.

Acho que nestes próximo anos assistiremos a um combate pela plataforma que encapsula melhor as outras e não é mais uma questão se roda na jvm ou em CLR é a questão de bibliotecas e linguagens.

Eu prefiro uma plataforma que seja apropriada para servidores (JVM, .NET), e outra para aplicações (Windows 8, iOS).

Todos nós sabemos que fim levou o browser, a última plataforma que tentou encapsular tudo.

[quote=NickGaspar]Eu prefiro uma plataforma que seja apropriada para servidores (JVM, .NET), e outra para aplicações (Windows 8, iOS).

Todos nós sabemos que fim levou o browser, a última plataforma que tentou encapsular tudo.[/quote]

Como assim ?! O browser tentou e consegui. Ou vc não ouviu falar em HTML 5 ? O Browser é a única plataforma que existe que funciona em todos os aparelhos. Hoje em dia aplicativos android e iphone/ipad são feitos apenas encapsulando o browser. É tudo HTML + javascript.
Não é por acaso que cada vez mais linguagens têm compiladores para js.

[quote=sergiotaborda][quote=NickGaspar]Eu prefiro uma plataforma que seja apropriada para servidores (JVM, .NET), e outra para aplicações (Windows 8, iOS).

Todos nós sabemos que fim levou o browser, a última plataforma que tentou encapsular tudo.[/quote]

Como assim ?! O browser tentou e consegui. Ou vc não ouviu falar em HTML 5 ? O Browser é a única plataforma que existe que funciona em todos os aparelhos. Hoje em dia aplicativos android e iphone/ipad são feitos apenas encapsulando o browser. É tudo HTML + javascript.
Não é por acaso que cada vez mais linguagens têm compiladores para js.[/quote]

HTML5 é um formato conhecido por qualquer cliente HTTP, e não apenas browsers.

Mas sobre aplicativos que usam HTML como interface de usuário, o único que me lembro que fez isso foi o facebook, e foi considerado o maior erro da sua história, bastar ver sua reputação na AppStore.

[quote=sergiotaborda][quote=ViniGodoy]A curva de aprendizado do .Net é igualmente alta.

O problema é o que se vende. Que .Net é mais fácil que Java.
Não é. Eu diria que os dois são equivalentes.

Entender C# + LINQ + MSMVC + Razor + Entity Framework é tão complexo quando seu pacote java favorito.
Fazer aplicações comerciais robustas também vão exigir o entendimento de padrões enterprise, padrões de projetos comuns, etc…[/quote]

Pois é, mas acho que quando se diz 'as empresas pequenas optam por .net" significa “as empresas que pensam pequeno e fazem gambiarras em vez de sistemas e contratam 10 juniors em vez de 2 seniors porque é mais barato e dá a impressão que tem gente trabalhando optam pelo visual studio que é drag-drop efacilita a criação das gambiarras”

Ninguém está realmente pensando na engenharia da coisa.

Se você pensar na engenharia da coisa então não é tão diferente. Mas existem exceções.
Por exemplo, ha quem defenda que o verdadeiro padrão é o Mono e a Microsoft altera ele a gosto (como tentou fazer com o swing ou com open doc format). O Mono (da novell) roda em linux , iphone, ipad, android … desde ponto de vista é melhor que o java (neste momento)
Mas por outro lado temos Scala que compila para .net e java.

Acho que nestes próximo anos assistiremos a um combate pela plataforma que encapsula melhor as outras e não é mais uma questão se roda na jvm ou em CLR é a questão de bibliotecas e linguagens. [/quote]

Isso já era para ter acontecido a muito tempo. As empresas donas de vms e linguagens que atrasaram. É perfeitamente possível usar c# e rodar na jvm desde que se tenha um compilador para o bytecode dela. Aliás, acho que a ikvm já faz isso.

[quote=sergiotaborda][quote=NickGaspar]Eu prefiro uma plataforma que seja apropriada para servidores (JVM, .NET), e outra para aplicações (Windows 8, iOS).

Todos nós sabemos que fim levou o browser, a última plataforma que tentou encapsular tudo.[/quote]

Como assim ?! O browser tentou e consegui. Ou vc não ouviu falar em HTML 5 ? O Browser é a única plataforma que existe que funciona em todos os aparelhos. Hoje em dia aplicativos android e iphone/ipad são feitos apenas encapsulando o browser. É tudo HTML + javascript.
Não é por acaso que cada vez mais linguagens têm compiladores para js.[/quote]

Tomara que a guerra de navegadores não suje o html 5 também.

[quote=juliocbq]
Isso já era para ter acontecido a muito tempo. As empresas donas de vms e linguagens que atrasaram. É perfeitamente possível usar c# e rodar na jvm desde que se tenha um compilador para o bytecode dela. Aliás, acho que a ikvm já faz isso.[/quote]

Que eu saiba o IKVM roda java no .net, não o contrário ( o ikvm é uma vm .net escrita em .net que roda em .net + um compilador bytecode->CLI).
Vc tem a certeza que o contrário é possível ( rodar net na jvm ?)

[quote=NickGaspar][quote=sergiotaborda][quote=NickGaspar]Eu prefiro uma plataforma que seja apropriada para servidores (JVM, .NET), e outra para aplicações (Windows 8, iOS).

Todos nós sabemos que fim levou o browser, a última plataforma que tentou encapsular tudo.[/quote]

Como assim ?! O browser tentou e consegui. Ou vc não ouviu falar em HTML 5 ? O Browser é a única plataforma que existe que funciona em todos os aparelhos. Hoje em dia aplicativos android e iphone/ipad são feitos apenas encapsulando o browser. É tudo HTML + javascript.
Não é por acaso que cada vez mais linguagens têm compiladores para js.[/quote]

HTML5 é um formato conhecido por qualquer cliente HTTP, e não apenas browsers.
[/quote]
[/quote]

Mais ou menos. Vc precisa de mais recursos que nem todos os clientes HTTP têm, não apenas hooks para uma vm javascript, mas media e outras coisas. Veja a apresentação no link para mais detalhes.

[quote]
Mas sobre aplicativos que usam HTML como interface de usuário, o único que me lembro que fez isso foi o facebook, e foi considerado o maior erro da sua história, bastar ver sua reputação na AppStore.[/quote]

Veja a apresentação. Tem mais exemplos lá de aplicações que são apenas browsers e sobre os frameworks que tornam isso possível. HTML 5 sim é uma plataforma de dev. Hoje em dia tão poderosa quando o OS do Android, por exemplo.

[quote=sergiotaborda][quote=juliocbq]
Isso já era para ter acontecido a muito tempo. As empresas donas de vms e linguagens que atrasaram. É perfeitamente possível usar c# e rodar na jvm desde que se tenha um compilador para o bytecode dela. Aliás, acho que a ikvm já faz isso.[/quote]

Que eu saiba o IKVM roda java no .net, não o contrário ( o ikvm é uma vm .net escrita em .net que roda em .net + um compilador bytecode->CLI).
Vc tem a certeza que o contrário é possível ( rodar net na jvm ?) [/quote]

Você tem razão, é o caso contrário. Converte bytecode java pra .net.

Putz, que pancada certeira!!! Preciso o seu comentário.

Só para esclarecer a quem lê, e acho que é a opinião do Sérgio também, é que ninguém está dizendo que java é melhor para aplicações robustas e .Net para aplicações pequenas. Elas são duas linguagens equivalentes e dominá-las é igualmente difícil.

Se for pra um programador iniciante fazer uma aplicaçãozinha com duas telinhas cruds, talvez o .Net leve uma pequena vantagem. Mas pra se acreditar que esse mesmo programador iniciante será capaz de fazer uma aplicação comercial, só porque consegue arrastar uns componentes na tela tem que ser bem inocentinho.

Talvez a curva de aprendizado do java de fato seja levemente (e bem levemente) maior, mas se ao começar um projeto comercial sério a curva de aprendizado de uma plataforma é fator determinante a chance de dar M… no final do projeto é BEM grande.

[quote=YvGa][quote=sergiotaborda]
Pois é, mas acho que quando se diz 'as empresas pequenas optam por .net" significa “as empresas que pensam pequeno e fazem gambiarras em vez de sistemas e contratam 10 juniors em vez de 2 seniors porque é mais barato e dá a impressão que tem gente trabalhando optam pelo visual studio que é drag-drop efacilita a criação das gambiarras”
[/quote]

Putz, que pancada certeira!!! Preciso o seu comentário.

Só para esclarecer a quem lê, e acho que é a opinião do Sérgio também, é que ninguém está dizendo que java é melhor para aplicações robustas e .Net para aplicações pequenas. Elas são duas linguagens equivalentes e dominá-las é igualmente difícil.

Se for pra um programador iniciante fazer uma aplicaçãozinha com duas telinhas cruds, talvez o .Net leve uma pequena vantagem. Mas pra se acreditar que esse mesmo programador iniciante será capaz de fazer uma aplicação comercial, só porque consegue arrastar uns componentes na tela tem que ser bem inocentinho.

Talvez a curva de aprendizado do java de fato seja levemente (e bem levemente) maior, mas se ao começar um projeto comercial sério a curva de aprendizado de uma plataforma é fator determinante a chance de dar M… no final do projeto é BEM grande. [/quote]

essa questão de arrastar e colar componentes não tem nada a ver com o .net. Se for assim é igualmente fácil fazer isso com o netbeans(o mesmo profissional citado usando java). A curva de aprendizado das duas linguagens(java e c#) na minha opinião possuem quase o mesmo tamanho. Ainda acredito que a curva da c# seja um pouco maior por causa da quantidade de recursos que a linguagem possui(que é maior que a da java).