Ruta de aprendizaje para el desarrollador web .NET o Java [cerrado]

10

¿Me interesa saber cuántos servidores de aplicaciones web del mundo real están alojados por Windows?

Voy a aprender C # y ASP.NET y quiero convertirme de un desarrollador integrado a un desarrollador de aplicaciones web.

Mis amigos me dijeron que hay muchas más servidores basados ​​en Linux que servidores de Windows. También mencionó que la pila de habilidades de Java es mucho más útil que .NET en el mundo de las aplicaciones web.

Mi experiencia con Java y C # es muy similar. Aunque soy un desarrollador experimentado de C ++.

¿Alguien puede darme alguna sugerencia al respecto?

Muchas gracias

Kevin Zhang
fuente
@home - ¿Por qué esta manía por cerrar preguntas en este foro? Es una pregunta para los programadores sobre la programación y es posible dar respuestas bastante específicas sobre los pros y los contras sin recurrir a una guerra de llamas.
James Anderson el

Respuestas:

14

En contraste con @John Fisher (+1), soy un chico de Java.

Siempre estoy celoso del mundo de Windows / .Net porque todo parece estar mucho más integrado, al menos para alguien que no está familiarizado con todos los detalles y dificultades.

El lugar de Java es un poco más caótico, por lo tanto, produce una serie de ideas bastante innovadoras (piense en hadoop, Spring, etc.) fuera del JCP que promueve los estándares oficiales JavaSE y JavaEE. Como el JCP está impulsado por un grupo de diferentes organizaciones (comerciales), a veces está muy por detrás (por ejemplo, funciones lambda en Java), ya que simplemente lleva tiempo encontrar acuerdos entre todos los diferentes participantes.

Hay una serie de ventajas y desventajas para ambos lados. Sin embargo, desde un punto de vista técnico, realmente no importa si hacer Java o .Net ya que el desarrollo web se trata mucho más de pensar en la escalabilidad y la complejidad general cuando se trata, por ejemplo, de 10k usuarios concurrentes que acceden a su sistema.

Desde el punto de vista de la arquitectura de software .Net y Java (marcos EE +) son bastante similares, ambos proporcionan API para resolver todos los problemas comunes (por ejemplo, MVC, Rest, JSON, Persistencia, mensajería, solo por nombrar algunos) enfrentando en el mundo de hoy.

Para concluir, eche un vistazo a ambos conceptos y elija uno. No es una decisión para toda la vida.

casa
fuente
2
+1 Tienes razón, no es una decisión para toda la vida. En realidad, mi objetivo en la vida es aprender tantos lenguajes de programación y entornos diferentes como sea posible. En mi humilde opinión, me da una comprensión de la programación, independientemente del lenguaje. Casi sugiero que la gente aprenda ambos.
James Khoury
1
@James Khoury: Sabias palabras, tengo 'aprender .Net' en mi agenda desde hace 3 o 4 años, el problema es encontrar un lugar y supongo que es un desafío para todos nosotros. Acabo de dar un paso atrás de los marcos empresariales 'exagerados' y me mudé al mundo funcional, algo que aprendí hace años en la universidad, pero que nunca apliqué en escenarios del mundo real.
Inicio
+1 porque no es una decisión para toda la vida.
Badar
12

No estoy seguro de que la cantidad de servidores realmente importe. Lo que importa es: ¿puede lograr los objetivos de manera confiable, rápida y económica con {x}?

En lo que respecta a .NET, sería raro obtener una respuesta "no" a esa pregunta. (No soy una persona de Java, así que no puedo ayudar mucho allí).

Los servidores Linux vs. Windows tampoco son muy relevantes. Puede desarrollar aplicaciones web .NET para ejecutar en servidores Linux, utilizando Mono .

John Fisher
fuente
1
+1 para "Linux vs Windows no es del todo relevante".
James Khoury
8

Después de haber trabajado mucho en Java y un poco en .NET, diría categórica y absolutamente que .NET es un entorno mucho más agradable para trabajar.

Es un entorno de programación mucho más coherente e integrado y el marco ".NET" está completo . Java es mucho más parecido a una búsqueda del tesoro, existen buenas bibliotecas y marcos, pero debe buscar y evaluar activamente casi todo lo que necesita para un proyecto práctico, solo tener un entorno de desarrollo configurado correctamente puede llevar días.

Hay muchos más servidores * nix que servidores de Windows (y son más baratos de alquilar), pero no muchos de ellos alojan un servidor J2EE, por lo que el recuento de servidores es irrelevante. Es mucho más un caso de .ASP vs PHP.

La razón principal para favorecer Java sobre .NET es que muchas de las compañías Fortune 500 se han estandarizado en una de las dos grandes plataformas J2EE: Webshpere de IBM o Weblogic de Oracle. Fuera de esto, es cierto que Java, un nicho gigantesco como plataforma de aplicación web, parece haber caído en desgracia.

James Anderson
fuente
4

En estos días, el debate es más php vs asp.net que asp.net vs jsp. No veo muchas soluciones jsp / tomcat en estos días. De todos modos, ¿por qué no aprender asp.net y jsp? Son ideas similares y creo que jsp establece un buen marco para comprender asp.net. Estoy de acuerdo con @John en que Linux vs Windows es realmente irrelevante. .NET funciona bien en Linux y Apache. Si conoce JAVA, tal vez pase un par de semanas escribiendo un código JSP y luego haga la transición a asp.net y c #. Mira cuál te gusta y ve desde allí.

Jonathan Henson
fuente