¿Por qué tantas empresas eligen PHP y JSP en lugar de .NET? ¿Existen deficiencias en .NET?
Comencemos desde la perspectiva de un desarrollador:
PHP y .net no están en absoluto al mismo nivel que .net independientemente de los escenarios de aplicación, el entorno de desarrollo, los documentos de ayuda y el estilo de escritura. y eficiencia operativa Todo el mundo desprecia PHP; la razón por la que PHP es popular es que muchos marcos de código abierto están listos para usar, lo que está en línea con el espíritu de uso del pueblo chino. Puedes modificarlos y venderlos por dinero. .
El tamaño de JAVA en todos los aspectos es aproximadamente el mismo que el de .net. En los sistemas Windows, .net sigue siendo la fuerza dominante en términos de aplicaciones empresariales, y JAVA tiene una tasa de ocupación más alta. En el desarrollo móvil, .net ha perdido terreno debido a que Android y Apple toman la iniciativa. Microsoft se está poniendo al día gradualmente, y Unitiy y .NET Core están mostrando la actitud de Microsoft.
Desde una perspectiva de costos:
Los productos de Microsoft son buenos en todas partes, pero los derechos de autor son demasiado caros. Los sistemas Windows cuestan dinero, la oficina cuesta dinero, los servidores cuestan dinero, sqlserver cuesta dinero, no. No importa qué tan avanzado sea, haga clic para usar la versión empresarial, el clúster, etc. La cantidad de dinero que puede ganar realizando un proyecto se entrega a Microsoft. La razón por la que PHP puede sobrevivir es que Linux es gratuito, MySQL es gratuito, Apache es gratuito, PHP es gratuito e incluso el marco es gratuito y JAVA es similar a PHP. Este ecosistema da como resultado recursos de código muy ricos, que pueden ser copiados por todas las personas en el mundo, y el costo de desarrollo es aún menor. Entonces no es que las cosas de Microsoft sean malas, es que los costos de desarrollo de JAVA y PHP son demasiado bajos. Después de la comparación, encontrará que es más caro que otros. Entre todos los documentos de ayuda al desarrollo, no hay uno más detallado que el de Microsoft.
Si es un desarrollador independiente, .net es su primera opción: aplicaciones de escritorio de Windows, servicios de Windows, juegos de Windows, sitios web, servicios web, juegos de Unity, además de aplicaciones nativas de Android y Apple, .net puede. utilizarse. Si Microsoft puede crear algo similar al marco de Android, dominará el mundo.
Llevo 7 años desarrollando C# y Java, C/C++ desde hace más de 4 años. Déjame decirte mis opiniones. Las principales diferencias son:
Primero, el código abierto. y código cerrado La diferencia es que en los primeros días de .net, era completamente de código cerrado y el desarrollo era completamente infalible. La idea de Microsoft era facilitar el desarrollo, por lo que era imposible ver la implementación subyacente. Caminando por un callejón, llega rápidamente al destino pero no puede conocer la pared. Después de estar expuesto a Java y C, se siente como si cayera al mar. Resulta que el fondo del mar es tan hermoso. Software fuente y marcos. Puedes ver cosas más profundas. Por ejemplo, cuando miramos dubbo, podemos mirarlo. Luego miré a netty, y vi Linux, seleccioné, epoll y miré. En las cosas relacionadas con Linux sentí que me había caído al mar. Hay tantas cosas que aprender. Después de tantos años de desarrollo, todavía estoy aprendiendo, pero también me dio más interés y alegría de explorar. Mundo desconocido. Cuando estaba trabajando en .net, tuve la sensación de que no me dejan hacer cosas que no sean .net, no sé cómo, y tengo mucho miedo de las cosas desconocidas. La sensación ahora es Si. Si me pides que escriba un programa para controlar una bomba atómica, me atreveré a escribirlo (por ejemplo).
La segunda es la diferencia entre lo gratuito y lo de pago. El costo de todos los productos de la empresa es uno de los factores más críticos en el desarrollo de la empresa. El costo del segmento de la familia .net es demasiado alto, frente a los derechos de autor. + derechos de autor de Windows + derechos de autor del servidor SQL Además de otros derechos de autor de software de soporte, el costo es muy alto. Por el contrario, Linux es completamente gratuito y de código abierto. Al mismo tiempo, Linux puede provenir de Unix, pero nace con un rendimiento liviano que se puede usar al extremo y un sistema estable, mientras que Windows está diseñado para individuos y oficinas. La interfaz y otros recursos del sistema ocupan parte del sistema. , Lo cual se siente muy engorroso. Dios lo hizo. Para una prueba de conexión larga, una sola máquina Linux puede llegar fácilmente a cientos de miles, por supuesto, por razones de memoria; de lo contrario, puede llegar a millones, pero es difícil hacerlo con Windows. Además, puedes cambiar cualquier cosa que no funcione en Linux, pero no funciona en Windows, por lo que hay muchos estables, eficientes y gratuitos con soporte de código abierto, en comparación con los de pago. eficiente. Muchas empresas naturalmente eligen lo primero.
El tercero es la eficiencia del desarrollo. Los dos puntos mencionados anteriormente significan que .net está en desventaja, pero .net no es inútil. , es decir, la eficiencia del desarrollo .net se ha mejorado en Java, lo que facilita el desarrollo de los desarrolladores. El lenguaje es hermoso y es una buena herramienta para el desarrollo de aplicaciones empresariales. Si utiliza otros métodos de desarrollo, obtendrá resultados rápidamente. Podrá matar mosquitos con armas grandes o será inestable. Las fábricas y empresas deben producir resultados rápidamente. Esta es la ventaja de .net, por lo que tiene su propia participación en el mercado. comentario
¿Por qué PHP y Java son más populares que .NET en el mercado? Además, según los principales sitios web de contratación, hay muchos más puestos PHP y Java que puestos .NET.
De hecho, .NET también tiene muchas ventajas:
Sin embargo, sus fatales desventajas son:
Imagínese que una empresa tiene muchos servidores, las tarifas del sistema y. ¡Las tarifas de licencia de bases de datos son un gasto enorme!
PHP y Java son diferentes. Ambos son de código abierto multiplataforma y gratuitos. Aunque Java ha comenzado a cobrar (pero también hay OpenJDK gratuito), PHP y Java siguen siendo la primera opción.
Yo mismo aprendí .net y java, y ahora los entiendo un poco. Desde mi punto de vista personal, la razón fundamental por la que muchas empresas no utilizan el lenguaje .net es que .net no era de código abierto al principio, había pocos tutoriales y era difícil comenzar. Pague por el lanzamiento oficial del programa, por lo que fue la primera opción entre muchas empresas. Java es un lenguaje abierto con muchos tutoriales, fácil de comenzar y básicamente gratuito (la clave es que no haya ningún cargo, que es el punto importante). ). Esto puede considerarse como una batalla entre el software de código abierto y el de código cerrado. Al final, el software de código abierto liderado por Java ganó y se hizo popular.
Más tarde, el software de código abierto se convirtió en la tendencia general y, para entonces, el campo .net de Microsoft había realizado muchos cambios. Estoy más familiarizado con el lenguaje C# en .NET, así que tomaré C# como ejemplo.
Microsoft solía creer en un bucle cerrado y no todos los lenguajes admitían multiplataforma, por lo que más tarde dejó de existir C#, Java se desarrolló cada vez más y .net sintió un gran peligro. entonces imitó a Java y .net propuso C# para combatir Java. C# es muy similar al lenguaje Java y, al igual que Java, puede ser multiplataforma. Windows, Linux, Android e iOS pueden programarse. Este es el cambio realizado por Microsoft.
Si ha utilizado C#, VB o C++ para escribir programas de ventanas, encontrará que las ventanas de Windows escritas en estos lenguajes son excelentes, pero los programas de ventanas escritos en Java no son halagadores. ellos también lo son. Fue feo, por eso luego aprendí C#. (Es por eso que la multiplataforma es solo un sueño).
Después de multiplataforma y código abierto, .net en realidad no es muy diferente de la estructura básica de Java, pero no tiene la ventaja de la cantidad. Java tiene las desventajas de quienes lo usaron antes. Hay demasiadas innovaciones y desarrollo en todos los aspectos, y tiene un grupo de usuarios y una base de aplicaciones sólidos, y .net, debido a que es un recién llegado, ha perdido demasiadas aplicaciones; Naturalmente, muchas empresas ahora no consideran si especializarse en .net. Al desarrollar para Windows, no seré demasiado proactivo en el uso de .net.
Si los usuarios adoptan la solución Microsoft Family Bucket, la eficiencia de desarrollo y la experiencia de .Net pueden superar por completo a Java y PHP, pero el alto precio hace que los desarrolladores y usuarios lo amen y lo odien.
p>
De hecho, aunque .Net + C# no es utilizado por tanta gente como lenguaje marco multiplataforma, está lejos de declinar
En este tema, personalmente creo que eso. El CEO original de Microsoft, Steve Ballmer, no puede eximirse de la culpa. Incluso cuando el dominio de Windows comenzó a colapsar, insistió obstinadamente en un ecosistema cerrado, lo que provocó ansiedad y dudas entre los desarrolladores de .Net en ese momento. > Sin embargo, después de que Satya Nadella asumiera el cargo de CEO en 2014, Microsoft adoptó gradualmente un enfoque pragmático y abierto, adquirió Xamarin y lo integró en el IDE, lanzó Visual Studio Community Edition, C# se volvió gratuito y multiplataforma, Microsoft se volvió cada vez más Al igual que Oracle, C # se parece cada vez más a Java, lo que alivia un poco las preocupaciones de los desarrolladores. Después de todo, es realmente difícil dejar de lado la elegante sintaxis de C # y la excelente experiencia de desarrollo de Visual Studio. >
.Net no era de código abierto en el pasado, requería tarifas y tenía varios problemas de derechos de autor, lo que resultaba en un desarrollo insuficiente de su ecología lingüística. Tiene sus ventajas lingüísticas, pero considerando los costos de desarrollo de la empresa, está destinado a no ser la primera opción.
Antes del auge de PHP, muchas empresas utilizaban .net para desarrollar sitios web porque, en comparación con JSP de Java, la eficiencia del desarrollo era aún mayor, lo cual era muy importante para los rápidos cambios y actualizaciones comerciales de las pequeñas y medianas empresas. empresas de gran tamaño. JSP se ejecutará más rápido, pero requiere compilación, por lo que la velocidad de desarrollo será relativamente lenta. Para las pequeñas y medianas empresas, el tiempo es dinero. Si la velocidad de desarrollo es demasiado lenta y no puede seguir el ritmo del desarrollo empresarial, será fatal.
Entonces surgió PHP. La intención original del diseño de su lenguaje era desarrollar rápidamente aplicaciones web. Es completamente de código abierto y gratuito, y la eficiencia del desarrollo es muy alta. Incluso una persona puede completar un proyecto. Las pequeñas y medianas empresas, desde la consideración inicial del desarrollo, poco a poco consideran PHP como el lenguaje de desarrollo preferido.
A medida que el ecosistema PHP se fortalece, los lenguajes como .net, que están atrasados en ecología, no pueden desarrollarse tan rápido como PHP y no pueden ejecutarse tan rápido como JSP, están disminuyendo gradualmente.
Hoy en día, muchas empresas bien desarrolladas se han hecho más grandes y más fuertes y han comenzado a migrar sus proyectos PHP a JSP porque están comenzando a buscar velocidad de ejecución.
Por lo tanto, PHP básicamente ocupa a las pequeñas y medianas empresas, mientras que las grandes empresas eligen más JSP. Todo esto está determinado por las características y ventajas del lenguaje. En el futuro, si surge un lenguaje gratuito y de código abierto que pueda tener velocidad de desarrollo y velocidad de ejecución, PHP y JSP seguirán gradualmente el camino de .net. Todo es una cuestión de coste y eficiencia empresarial.
++++++++++++++++++++++++++++++++++++
Esto Es la primera vez que escribo una sesión de preguntas y respuestas. No esperaba una cantidad tan grande de lecturas.
Algunas personas dicen que mi comprensión de .net es demasiado atrasada. Bueno, cuando comencé a aprender programación, .net estaba relativamente cerrado y he dejado de prestarle atención en los últimos años. Comprenderlo también se refleja a través de las reflexiones secundarias de mis compañeros de clase y amigos que me rodean.
Entonces, la situación real es que todos los estudiantes a mi alrededor que estudiaron .net han cambiado de carrera. Debido a que hay pocos empleos y salarios bajos, es realmente difícil sobrevivir.
En aquel entonces, uno de nuestros compañeros de dormitorio (un grupo de personas pobres que solo podían vivir en el deteriorado dormitorio de 8 personas de la escuela porque el alojamiento era muy barato) comenzó a discutir la elección de un determinado idioma. como una futura dirección de estudio. Algunas personas eligen .net, otras eligen PHP, otras eligen JSP y luego trabajan duro.
Ahora, observando el desarrollo de los demás, todos los estudiantes de .net han cambiado de carrera, los estudiantes de PHP están en pequeñas y medianas empresas y los estudiantes de JSP están en grandes empresas como Ping An Insurance. Comparando salarios y beneficios, también existe una brecha entre los estudiantes de .net y nosotros. Si solo miras el salario básico, PHP es aún más alto, jaja. Sin embargo, si le sumas el bono de fin de año, será abrumador. Los de Shenzhen salimos a menudo a reunirnos, y los de las pequeñas y medianas empresas a menudo se ríen de sí mismos y dicen que trabajar duro durante todo un año no es nada comparado con el bono de fin de año de **. Por desgracia, las bonificaciones de fin de año de las grandes empresas son realmente enormes. Pueden cubrir la mayor parte de su salario durante medio año o incluso un año.
Por supuesto, aprender PHP no siempre es fácil. Un compañero de clase no pudo soportar la presión y se pasó al SEO. No todos los que aprenden Java son buenos. El evaluador de mi empresa actual es un evaluador que no pudo encontrar trabajo después de aprender Java.
De hecho, el problema es la experiencia. Tener muchos años de experiencia laboral es el mejor trampolín para encontrar trabajo.
Finalmente, no existe el mejor lenguaje. Un lenguaje que se adapta al desarrollo del mercado es un buen lenguaje.
Estimados lectores, ¡no critiquen si no les gusta!
Sólo di unas pocas palabras, sólo unas pocas palabras. Nuestra empresa utiliza .net para web, servidor push, servidor de mensajes, servicio de intercambio de datos, desarrollo secundario de aplicaciones CAD, aplicaciones gis, varias aplicaciones de dispositivos portátiles, aplicaciones de terminal para varias ventanas de servicio, videovigilancia, etc., también puede hacerlo. ¿Crees que php realmente puede vencer a .net?
Opinión personal:
1. PHP definitivamente no es tan bueno como .net. Se utiliza principalmente para sitios web.
2. Net y Java, C# es mejor que Java puramente desde la perspectiva del lenguaje, el ecosistema de código abierto es definitivamente Java y la eficiencia es C#
3. .NET no lo es eficiente, se encuentra en la plataforma Windows, ahora es multiplataforma y el rendimiento de Linux es mayor que el de Windows.
.Net core tiene ciertas oportunidades.
Hay varios puntos en esta respuesta:
1. La cuestión del costo del entorno operativo Antes de que apareciera .net core, .net
requería un alto nivel. El costo de configurar un entorno operativo es de decenas de miles de dólares para un servidor Windows genuino, y usar el acceso como base de datos también requiere miles de dólares en Office genuino. Aunque SQL Express es gratuito, está demasiado castrado. Por lo tanto, en general, los hosts o servidores virtuales Win son básicamente más caros que los de Linux, especialmente en áreas extranjeras centradas en los derechos de autor, donde la diferencia es al menos la mitad. Esto ha llevado a la popularidad de PHP, porque su entorno operativo tiene un costo casi nulo. y la configuración requerida para el servidor puede ser muy simple, incluso 128 m de memoria pueden ejecutar programas php.
2. El costo del entorno de desarrollo es el mismo problema. Antes de que apareciera el código, la primera opción para desarrollar programas .net era Visual Studio, pero la versión genuina cuesta miles o decenas de miles. No es asequible para la gente corriente. Existen muchas herramientas de desarrollo gratuitas y fáciles de usar para PHP y Java, por lo que PHP ha obtenido una ventaja.
3. Problema del costo de aprendizaje. Antes de .net, el desarrollo de la serie de aplicaciones de la plataforma Microsoft requería demasiados vb, c, c ++ y el lenguaje de script web se basaba en vbscript. , estas necesidades y scripts gradualmente no han podido mantenerse al día con las necesidades de los tiempos para el desarrollo ágil y el desarrollo de sistemas más complejos. Por lo tanto, se han introducido asp.net y c #, f #, vb.net y otros lenguajes. El uso de asp.net se ha actualizado continuamente y .net 2.0, 3.0, 3.5 y ahora 4.7.x, cada actualización ha traído nuevos conceptos. Ahora, para recuperar la participación, se lanzó .net core y se actualizó a. Hay varias versiones, por lo que el desarrollo de .net requiere aprendizaje, aprendizaje, actualización y actualización continuos.
PHP es diferente. Las actualizaciones de versión son básicamente actualizaciones dentro del marco y el costo de aprendizaje es significativamente menor que .net
4. El problema de la abundancia de recursos, como se mencionó anteriormente, debido a problemas de costos, muchas personas eligen. Comencé a desarrollar en PHP, y luego hay cada vez más marcos PHP gratuitos. Los programadores generalmente son vagos. Simplemente pueden modificarlos y conectarse, y luego pasar al siguiente proyecto. frameworks para .net No hay tantos frameworks gratuitos en el mercado. Muchos frameworks .net requieren tarifas de licencia.
Sin embargo, Microsoft está trabajando arduamente para mejorar este problema. Ha lanzado el código de Visual Studio. El costo de desarrollo de las herramientas de desarrollo gratuitas para la comunidad de Visual Studio se ha reducido significativamente. lenguaje siempre que la versión cumpla con los requisitos de Linux. El sistema también puede ejecutar programas desarrollados con código .net. Sería mejor si se pudiera lanzar un software de base de datos basado en archivos (como el acceso a Office) que admita Linux.
Como empresa, el principal objetivo es la supervivencia. La supervivencia es el objetivo fundamental. Para decirlo amablemente, es el desarrollo sostenible. La mayor parte del ecosistema de Microsoft es costoso y costoso. Aunque en términos de rendimiento, nivel básico y facilidad de uso, .Net es mejor que el campo Java, mejor que JSP y PHP, la competencia en el mercado chino es feroz y. Los costos corporativos de I + D son el primer factor a considerar, especialmente en el contexto de la guerra comercial entre China y Estados Unidos y la premisa de que Estados Unidos quiere fortalecer la protección de la propiedad intelectual, los usuarios tendrán que pagar costosas tarifas de derechos de autor para utilizar productos y servicios .Net. , que es inasequible. Entonces, muchas empresas favorecerán los sistemas gratuitos y de código abierto que no sean .Net. Siempre que las empresas asuman los costos laborales, no tendrán que pagar demasiados derechos de autor. Este es un aspecto que las empresas deben considerar. Por lo tanto, la tecnología que se utiliza ahora y la que se utiliza en el futuro es el resultado de la competencia del mercado. Sólo comprendiendo esta tendencia podremos tomar la iniciativa.