2009-04-23 28 views
12

Siento que soy un programador bien redondeado, me siento cómodo en C# y java (varios proyectos grandes con ambos) pero tiendo a usar C++ para la mayoría de las aplicaciones cuando puedo. (y, a veces, R, Python o Perl, según corresponda ...)popularidad de C# en toda la industria o es TAN atípico?

Pero estoy sorprendido de ver la popularidad de C# aquí en SO. Hay 18500 temas de C#, más que C, C++ y Java combinados. Nunca sentí sentía que C tenía tanto impacto en las empresas con las que trabajé, pero la popularidad SO de C# es innegable.

Mi pregunta es: ¿Por qué C# es tan popular en Stack Overflow? Mi pregunta es no tanto una pregunta AS como un deseo de comprender la aceptación/crecimiento actual de C# en comparación con C++ y java.

explicaciones posibles para la popularidad:

  • C# es realmente tan popular y aceptado en la industria, está en todas partes!
  • también lo es que no es típico, parece haber atraído a un número desproporcionado de C# usuarios
  • C# tiene más preguntas/confusiones que tienden a necesitar la ayuda de la comunidad para resolver
  • Microsoft (tal vez en sus foros?) Anima a la gente a use SO para las preguntas

La primera explicación es probablemente la razón, ¡pero no siento esa popularidad en el mundo real!

¿Cuál es el motivo por el que discute los temas de C# aquí?

+1

Esto probablemente debería ser CW – Kredns

+0

Esto también es casi un engaño: http://stackoverflow.com/questions/575513/why-is-c-suddenly-so-popular – Randolpho

+0

Es atípico. C# es muy popular, pero StackOverFlow no es en modo alguno un reflejo de la industria. Esto se ha preguntado antes por cierto. http://stackoverflow.com/questions/352882/why-is-there-such-a-large-percentage-of-c-questions – OscarRyz

Respuesta

0

Realmente solo depende de si tiene pensado trabajar con Windows. Si le gusta Linux o Mac mejor, entonces probablemente quiera usar otro idioma (aunque podría usar Mono.NET). Sólo tiene que utilizar C#, debido a 3 razones principales:

  1. fácil de aprender
  2. Fácil de usar
  3. Fácil de implementar

Pero si te gusta un idioma diferente mejor que lo uso. En este momento estoy aprendiendo C para poder contribuir con algunas de mis aplicaciones linux de código abierto favoritas.

16

Creo que los fundadores de SO son .Net gurus. La mayoría de las personas que siguen sus blogs descubrieron el sitio y comenzaron a venir aquí. La base de usuarios original probablemente fue bastante .Net/C# se centró.

También creo que C# es el idioma preferido en .Net con su interoperabilidad y la capacidad de usar el código C y C++ anterior. Quienes estén familiarizados con C, C++ y Java pueden crear fácilmente una aplicación útil y trabajar en C#, y estar seguros de que se ejecutará en cualquier sistema con el .Net framework instalado.

Y, C# suena genial.

+4

C# suena genial. – Kredns

+1

Así es exactamente como encontré este sitio. – Balk

+0

Mientras que Jeff y Joel no son exactamente gurús de C#, muchos de los amigos de Jeff sí lo fueron, y Joel también es particularmente popular en la pila de Microsoft. –

2

Creo que es una combinación de razones 2 & 3. Por lo que he visto, C# no es tan popular como Java, y probablemente no es tan popular como C++.

Desde donde vivo, la mayoría de las personas usa Java, seguido de CPP, seguido de C#.

+0

sobre la popularidad relativa de esos idiomas (aunque solo de código abierto): http://www.ohloh.net/languages/compare?commit=Update&l0=csharp&l1=java&l2=cpp&l3=-1&l4=-1&measure=commits&percent=true –

+0

gracias por la información, eso es más o menos lo que observo aquí (en Singapur). Entonces, para responder la pregunta, C# no es tan popular como CPP o Java en general. –

1

he evitado mayormente C#, porque (a) Tengo un prejuicio tonto de eso monstruo glandular de un programa cargador hace pasar por un sistema operativo - sólo que no hago de Windows, y (b) porque es tan parecido a Java que tengo problemas para mantenerlos separados en mi cabeza.

Dicho esto, hay una gran cantidad de C# está haciendo, y si yo no fuera un viejo manivela probablemente sería un buen lenguaje.

Lo que pasa es que C++ se monta sin ruedas de entrenamiento. Esto lo hace mucho mejor para algunas cosas: ayudé a construir el sistema operativo AS/400 en C++, desnudo, pero no tan bueno para el tipo de programación de aplicaciones que la mayoría de las personas hace la mayoría del tiempo.

+0

No se equivoca al pensar que C# es como Java; realmente es un descendiente indirecto, resultado de todo el bru-ha-hah sobre Visual J ++. De hecho, apostaría a que si Sun hubiera adoptado los cambios que Microsoft le sugirió a Java cuando hicieran J ++, C# no existiría. Pero, tal es la forma de hacerlo. Ahora tenemos mi idioma favorito, y estoy bastante contento con él: una conversión 100% de Java. – Randolpho

+0

Oh sí, pero soy un viejo Sun y escribo Java bastante. No es que piense mal de C#, es solo que el factor de confusión es demasiado. Cuando me veo forzado, ahora uso F # - .net sin hacer nada parecido a Java. –

+0

@Randolpho: Es genial ver cómo los idiomas [C#, Java] se están separando. – Kredns

0

Supongo que esto se debe en parte a que la gente conoce el sitio a través del blog de Jeff Atwood, y el sitio web de Joel Spolsky.

Aunque sus escritos no son una tecnología específica, que tiene un sesgo hacia la MS pila y, por tanto, el sitio es muy popular entre los desarrolladores que trabajan en conjunto de herramientas de MS/idiomas.

vez que el sitio se vuelve más popular y se clasificó alto contenido de Google para preguntas sobre otras herramientas, que tendrá más preguntas sobre los temas también.

12

me escribió acerca de la popularidad de C# en another thread, pero a discutir por eso que es muy popular en SO, diría que los demás tienen el derecho de la misma. C# es popular aquí porque la mayoría de las personas que vinieron por primera vez lo hicieron siguiendo el blog de Jeff Attwood. Esa es sin duda la forma en que vine aquí.

Lo que pasa es que SO es realmente un lenguaje neutral, incluso si es escrito en C#. Tanto Jeff como Joel han programado en otros idiomas y no son fanáticos en lo que respecta al lenguaje; simplemente eligieron C#, ya que realmente es un lenguaje sorprendente programar en.

Comparando C# para Java y C++, el crecimiento ha sido asombroso. C# cuando se introdujo por primera vez era básicamente Java con una mejor biblioteca de GUI (Win.Forms superaba a los mocos siempre encantadores de Swing cualquier día, IMO y WPF es cabeza a hombros sobre ambos) y algunos conceptos adicionales, el más grande de los cuales era delegados y propiedades como ciudadanos de primera clase. Desde entonces, ha crecido de forma meteórica, constantemente agregando cosas nuevas y mejores. El concepto completo de LINQ ha cambiado drásticamente la forma en que abordo las iteraciones; junte eso con WCF para las comunicaciones interproceso/informáticas basadas en contratos y WPF para una manera verdaderamente asombrosa de crear GUI, y usted tiene un lenguaje y una biblioteca sólidos como una roca.

Hell, WCF solo hace que .NET sea la elección empresarial/SOA correcta.

Por el contrario, Java no ha lanzado una nueva versión en, ¿qué, 5 años?

C# es innovador. Java está estancado. C++ es ... bueno, vamos a llamarlo "estable", ¿de acuerdo? La versión más reciente, que recibe el nombre de "C++ 0x" pronto tendrá que llamarse "C++ 1x".Las funciones planificadas requieren tantos cambios en el tiempo de ejecución que casi tendrá Java o C# cuando termine de todos modos, entonces ¿para qué molestarse?

Finalmente, para responder a su última pregunta, vengo aquí para responder preguntas sobre cualquier tema. En general, prefiero lidiar con problemas abstractos en lugar de problemas específicos del idioma, pero siempre estoy dispuesto a ayudar sin importar el idioma. El hecho de que me encanta C# no significa que sea todo lo que sé. :)

+3

La "x" en "C++ 0x" es un dígito hexadecimal. :-) –

+1

Sí. Eso es lo que debe ser. :) – Randolpho

Cuestiones relacionadas