2009-08-01 27 views
9

Pensé que estaría aprendiendo C++ en la Universidad, pero parece que ahora han denominado C# como un lenguaje estándar de la industria.¿Cuál será el futuro de C# en 10 años?

Nunca pensé que me molestaría, pero en realidad es un lenguaje muy agradable.

El único problema que tengo ahora es que estoy limitado a la plataforma de Windows.

Así que tal vez, cuando escribo programas de Windows a partir de ahora, ¿debería practicar C# en lugar de mi experiencia previa de WinAPI y C++?

También he escuchado buenas noticias sobre el proyecto Mono, y también el hecho de que C# es uno de los lenguajes de scripting para el motor de juego Unity 3D.

¿Algún conocimiento?

¡Debate abierto a cualquier persona!

+3

es una wiki comunitaria creo que –

Respuesta

12

Con Mono, puede ejecutar en Linux y Mac. Mono también está haciendo una versión Mono Touch para el iPhone. Esto tiene muchas posibilidades en el futuro. C# ha existido desde hace 9 años y es parte de .NET. con .NET que también tiene C++, F #, VB.NET como idiomas también disponibles, creo que C# estará disponible por mucho tiempo. C# se convirtió en norma ISO en 2003, por lo que definitivamente es un lenguaje estándar. Parece que siempre será un lenguaje de segunda clase en Mac o Linux aunque. Un Windows creo que estará allí y la gente lo usará, pero en los otros habrá resistencia.

El motor de juego Unity para iPhone usa el nuevo Mono Touch y C#, por lo que podría ser la forma en que más personas buscan crear aplicaciones para iPhone y usar C# en una plataforma que no sea Windows.

+3

+1. No había oído hablar de Mono Touch ... –

+0

http://www.mono-project.com/MonoTouch – SteveM

+0

Sí, C# es un "estándar", pero MS no implementó ese estándar y al parecer no está realmente interesado en hacer versiones más modernas de C# en un estándar. –

4

Creo que C# tiene un gran futuro y seguirá creciendo en el uso. Por otro lado, no sería demasiado rápido para descartar C++: es un lenguaje industrial importante y continuará siendo durante mucho tiempo.

Consulte mi respuesta al this question para ver mis pensamientos más generales sobre cómo elegir qué idiomas dedicar a aprender. Mantenerse al día con las tendencias del idioma es una habilidad importante a largo plazo para un desarrollador.

+0

+1 para el enlace de pensamientos generales. –

1

tl; versión del dr: aprenda ambos. luego aprende Scheme. aprende lo que sea No hay "un idioma que todos enseñen y que cada empleador querrá que use"

Antes de C#, muchas universidades enseñaban Java. Lisp y Python también se enseñan comúnmente.

Como lenguajes de nivel superior, C#/Java permite a los estudiantes comprender los conceptos de nivel superior antes de que dominen completamente los de nivel inferior (así, por ejemplo, no tienen que quedar atrapados por no causar memoria filtraciones en su primera implementación de la lista enlazada para la introducción a las estructuras de datos.

Al final, una educación general completa también cubrirá conceptos de nivel inferior. Creo que la mayoría de los estudiantes toman al menos un curso de introducción a sistemas informáticos. donde se requiere C/C++ y leer el código desensamblado.

para el registro, Mi primera clase de CS fue SICP en Scheme, seguida de una serie de clases donde se nos permitió elegir entre C++ o Jav a (y a veces Scheme/Perl/otro).

1

La historia sugiere que C# será un gran uso, pero probablemente con una cuota de mercado decreciente.Considere lo que le sucedió a todos los otros idiomas principales que conoce: en un momento dado, se encontraban entre los favoritos de la industria (COBOL, PL/1, Ada, Basic, C, C++, incluso Java) y ahora otros idiomas los están eclipsando. C# probablemente se mantendrá bastante bien; está bien diseñado y Microsoft tiene todas las razones para seguir presionándolo. OTOH, entonces las necesidades de computación de próxima generación (paralelismo, computación distribuida, seguridad) pueden hacer que incluso Microsoft lo reemplace (testigo IronPython, F #, ...).

Probablemente valga la pena aprenderlo, sobre la base de que no va a adivinar el reemplazo fácilmente en este momento y aún será útil en la década, si no más debido a la gran base de código que tendrá .

+0

El uso de C# probablemente crecerá aún más antes de que comience a disminuir. Tiene un gran alcance para convertirse en 'el' lenguaje administrado en Linux, con una implementación de código abierto muy completa. –

+0

La pregunta era, "¿Dónde estará C# en 10 años?". Claro, habrá oleaje en los próximos 3-5 años. Mi punto es que se reducirá. –

6

Aprenda tanto C# como C++. Suena como "elegir el idioma correcto" y, por lo tanto, evitar los "incorrectos" le ahorrará tiempo, pero es una economía falsa. Debe leer y jugar con todos estos idiomas:

Suena como un montón de trabajo duro para nada, ¿verdad? Incorrecto. Primero, es divertido. En segundo lugar, cuanto más aprenda sobre otros idiomas, mejor utilizará su idioma preferido. Es muy probable que termines siendo más experto en un idioma, pero podrás utilizar el conocimiento de todos los demás que lo componen: C# ha hecho un gran trabajo durante toda su vida al integrar sin problemas ideas de otros idiomas.

+0

¡Buenas sugerencias de libros, también poseo la mayoría de estos y realmente puedo recomendarlos +1! – Kolky

1

Como lenguaje, C# continuará adoptándose y ampliándose: con las extensiones dinámicas y funcionales que está creciendo, se está convirtiendo más en JavaScript que en Java en la naturaleza. No me sorprendería ver que incluye el conjunto de características de MSFT's experimental Axum language para un uso altamente concurrente.

En respuesta a la pregunta detrás de la pregunta, agregaré un "¡yo también!" a todas las publicaciones sobre aprender más idiomas. El hecho de que ya conozcas un idioma completo de Turing no es excusa para parar. Otros idiomas dividirán el espacio del problema de diferentes maneras y le brindarán información sobre cómo utilizar sus soluciones de manera más efectiva. Y solo tener más herramientas en su caja de herramientas es algo bueno, en lugar de usar siempre el mismo martillo.

Cuestiones relacionadas