Pregunta

Hace años fui a la escuela para la programación y cuando salí encontré un trabajo en administración de sistemas y esa es la dirección que tomó mi carrera. Me gustaría volver al desarrollo de algún tipo y he estado 'jugando' con C # y ASP.NET, pero he escuchado muchos rumores sobre otros idiomas 'nuevos' (por nuevo quiero decir que son nuevos para Me) como Ruby y F #. Creo que me estoy preguntando si estoy perdiendo el tiempo aprendiendo en gran parte los idiomas de MS en lugar de ser más generalista. Al no haber estado al margen de la comunidad de desarrollo durante mucho tiempo (si es que alguna vez lo he estado), me siento aturdido con las tendencias y me gustaría no quedarme atrás en los tiempos.

Cualquier comentario sobre si es mejor seguir el " último " ¿Idiomas o apegarse a lo que es más probado y tecnologías verdaderas?

¿Fue útil?

Solución

Debes aprender al menos 1 lenguaje compilado (como C # o Java) y 1 Script Language (Python, Ruby, etc.). Esto suele ser suficiente para ayudar a la mayoría de los desarrolladores a tener éxito en lo que hacen, independientemente de la edad del idioma.

En cuanto a lo nuevo frente a lo antiguo, me quedaría con C # por ahora, ya que es bastante popular. Sin embargo, aprender un nuevo idioma no sería tan malo.

Otros consejos

C.

En serio, aprende C.

Si no corres gritando por las colinas que te arrancan el cabello, estás hecho para ser un desarrollador.

Tenga en cuenta que no estoy diciendo que las personas que no conocen a C no sean desarrolladores (Jeff, el fundador de este sitio, no sabe a C y le está yendo bien), pero C le presentará muchas cosas. de los aspectos menos atractivos y recubiertos de azúcar del desarrollo.

Como segunda opción, elige C #.

El idioma que elija no es importante. Cuando entiendas los conceptos, lo más probable es que puedas aprender un nuevo idioma bastante rápido.

vea http://www.tiobe.com/ index.php / content / paperinfo / tpci / index.html para obtener un índice completo de la popularidad del idioma

C # es mi idioma de elección, Java y C # son lo suficientemente similares, no creo que sea un gran problema aprender Java una vez que se entiendan los fundamentos de c # ... pero c ++ es otra bestia.

Creo que c ++ es una de las mejores herramientas generales y será más fácil de abordar una vez que c # se entienda bien (tiene MUCHA documentación y foros de ayuda). Sin embargo, la experiencia en c ++ no se limita a Microsoft: las plataformas más populares ejecutarán c ++, por lo que con esta experiencia, no estará limitado a Windows. También es bueno porque no está tan cubierto como c # o Java y no tan arenoso como c puro, y puede interoperarse bastante fácilmente con c # (que es una de las razones por las que una transición es más fácil)

Así que c # es una buena opción, e imho seguido de cerca por c ++

Estoy de acuerdo con muchos de los anteriores: el idioma no es importante. En gran parte, el idioma solo importa para lo siguiente:

  1. Características. Si necesitas herencia múltiple, es mejor que vayas con C ++. Si, como el 90% de los desarrolladores, no necesita nada que sea específico para uno (o un pequeño subconjunto de) idiomas, esto no importa.
  2. Sintaxis. ¿Odias los espacios en blanco? Ir con C #. ¿Odias los frenillos? LISP es tu amigo. ¿No te importa de una manera u otra? Esto no importa.
  3. ¿Compilado o interpretado? Esto importa Vaya con compilado (o parcialmente compilado, como .NET) y será más rápido ... pero la brecha de velocidad se está cerrando.
  4. oportunidades de trabajo locales. Claro, puede que seas un genio en C # ... pero si todos los que están cerca de ti y están contratando están buscando programadores de PERL, no te hará ningún bien.
  5. apoyo de la comunidad. Si su idioma no ha sido usado seriamente en 20 años (o nunca), no espere mucho de un salvavidas en Google. QBASIC, te estoy mirando. Aunque StackOverflow estará aquí ...

Al final, podemos discutir las cosas hasta que todos estemos azules en la cara. Elija un idioma con un conjunto de características que le guste, con una sintaxis que no lo enloquezca, una comunidad decente y, con suerte, oportunidades de empleo en su área.

En cuanto a nuevo o viejo ... ambos son buenos. Los idiomas más nuevos PUEDEN ser más fáciles de recoger, pero existe una documentación y un uso más generalizados de los idiomas más antiguos, aunque eso puede estar eliminándose gradualmente.

Esta es una pregunta un poco cargada, pero encontrará que las personas aquí están apasionadas por la elección de sus herramientas mientras creen en la flexibilidad que ofrece una opción.

Dicho esto, si no te importa " bloqueo de proveedores, " Microsoft Stack es una excelente manera de ingresar en la programación y encontrar un empleo remunerado en los próximos años. Microsoft es, a la vez, " probado y verdadero " y " más reciente. " La pila de Microsoft está tradicionalmente orientada a crear aplicaciones de negocios, pero no está limitado a eso (ASP.NET MVC, por ejemplo, se usó para construir este sitio).

No sé mucho sobre el mundo de Ruby on Rails y demás, por lo que me referiré a una persona con más conocimientos.

Mi verdadero consejo es ir con lo que te gusta. Aprende C # y F # si eso es lo que te gusta.

Bueno, si se mantiene actualizado sobre los últimos idiomas, siempre podrá ser empleado por compañías que buscan aumentar su número de palabras de marketing. No digo que este sea el único uso para los idiomas, pero definitivamente es un uso.

Por otro lado, también siempre hay un mercado para las tecnologías más antiguas, ya sea con las compañías que quieran construir sobre la tecnología más antigua probada y confiable y mantener dicha tecnología más antigua.

Supongo que depende de cómo quieras progresar. Si opta por las tendencias, es posible que nunca tenga tiempo para aprender realmente una tecnología de adentro hacia afuera, pero si opta por lenguajes más antiguos, puede descubrir que se están lanzando proyectos más interesantes con cosas más nuevas con las que no está familiarizado. Quedan con mantenimiento. Se trata de la compensación.

Mi propia opinión sería pensar qué tipo de trabajo quieres hacer y qué tipo de requisitos para esos trabajos sería útil tener. Por ejemplo, ¿sabes sobre patrones de diseño? ¿Qué tal modelar un sistema usando clases y herencia? Si desea acceder a las aplicaciones de Internet enriquecidas, AJAX y otros elementos de Javascript deben aprender, así como HTML y sus diversas ramas como XHTML y DHTML.

No creo que haya nada de malo en conocer solo las tecnologías de Microsoft, si no se topan con otras que podrían ser necesarias si desea solicitar un trabajo de desarrollador y requieren Javascript o CSS que no necesita. no tengo.

Otro punto es ser consciente de los cambios en las herramientas a lo largo del tiempo, ya que probablemente habrá más cambios a medida que la Web evolucione un poco más, por ejemplo. lo que Visual Studio 2010 tendrá pueden ser muchos más cambios que el Visual Studio 2008 actual mirando algunos de los anuncios recientes sobre jQuery y el marco MVC.

He usado C #, Ruby, Perl, JavaScript y PHP profesionalmente durante el último año y todos han sido útiles de diferentes maneras. Le sugeriría que si desea una manera fácil de familiarizarse con los conceptos básicos de la programación, Ruby es un gran lenguaje para hacerlo con una sintaxis simple y fácil de seguir, y hace que sea muy fácil pensar en un objeto orientado a objetos. así, algo que puede ser más difícil con un lenguaje semi-OO como C # o Java.

C # vale la pena aprender porque es útil conocer un idioma en la familia C: los modismos fundamentales son tan comunes que vale la pena usarlos, pero evitaría C o C ++ simplemente porque realmente no veo el Necesito administrar la propia memoria: hace la vida muy difícil, introduce muchos errores innecesarios y le confiere pocos beneficios hasta que usted sea realmente excelente. Sea bueno en algo que primero maneja la administración de la memoria y luego puede continuar con las cosas más difíciles si es necesario.

Para empezar, evitaría los lenguajes funcionales como F #. Son bastante difíciles y bastante diferentes, aunque por todas las cuentas, entenderlos te hace un mejor programador.

Yo diría que aprendan lo que es más fácil y que capten los conceptos fundamentales detrás de ellos. La sintaxis es un obstáculo fácil de superar, la diferencia entre los idiomas es un poco más complicada.

Sin embargo, dado que C # parece tener una amplia base de ayuda en la red y aquí en SO, me gustaría comenzar allí y aprender sobre los entresijos de la programación orientada a objetos. Entonces, idealmente, debería poder cambiar a cualquier otro lenguaje OO que necesite en ese momento (como ruby, Java, Obj-C o incluso el temido C ++) jk, C ++ people .

Un lenguaje como F #, aunque es popular, es bastante diferente de C #, ya que es funcional. Si está acostumbrado a escribir código de estilo funcional, F # puede ser un buen lugar para buscar. Pero, incluso entonces, aprenda cómo es escribir un código funcional y capte los fundamentos del lenguaje.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top