Para mí soy C # y persona Java. Creo que estos 2 idiomas son bastante similares, por lo que es más fácil para mí cruzarme. No estoy seguro de si es una buena idea elegir otros idiomas diferentes. ¿Alguna idea?
programming-languages
Amigo digital
fuente
fuente
Respuestas:
Se me ocurren al menos cinco razones para aprender un idioma, y parece que eventualmente deberías aprender una para cada una de ellas.
fuente
No se trata de cuántos idiomas aprendes. Se trata de aprender nuevos conceptos. Algunos idiomas pueden enseñarle muchos conceptos, mientras que otros pueden enseñar solo uno.
Si conoces C #, probablemente no aprenderías nada terriblemente nuevo al aprender Java. Pero lo harías si supieras Haskell.
Entonces, cuando elija un nuevo idioma para aprender, elija algo que le enseñe conceptos que aún no conoce.
fuente
Yo diría que lo más importante es la capacidad de aprender rápido. Dicho esto, es importante conocer diferentes idiomas que se utilizan para diferentes propósitos. Por ejemplo, yo sé:
1) Python y Perl para la categoría de lenguajes de script
2) C ++ como lenguaje "framework"
3) Java para aplicaciones móviles
4) C para la gran cantidad de código heredado
5) Algunos idiomas obsoletos que solía conocer cuando era joven (Basic, Pascal, Clipper, etc.)
Yo diría que necesita al menos un idioma principal y uno de secuencias de comandos. Conociendo C #, diría que debes aprender Python o Perl o Ruby a continuación. (Me gustaría ir con Python, pero eso es solo una cuestión de preferencia).
fuente
Es bueno aprender un nuevo lenguaje de programación cada año. Pero en lugar de aprender algo similar a lo que ya sabe, le aconsejaré que aprenda algo radicalmente diferente como Scala o F #. Le mostrará nuevas formas de hacer cosas y, finalmente, enriquecerá sus habilidades de programación.
fuente
Debes concentrarte en los idiomas que necesitas y usar para lo que estás haciendo . Aprender un idioma realmente viene de la práctica, por lo que obtienes el beneficio de ese idioma cuando lo practicas. Si va a aprender un nuevo idioma en su tiempo libre, hágalo implementándolo en tareas de complejidad creciente, de modo que realmente pueda manejarlo.
fuente
concentrarse en ninguno. centrarse en aprender y escribir código limpio; claro, expresivo, simple y, lo más importante, no duplicado.
vaya a los principios de ese tipo de programación, los conceptos básicos (por ejemplo, encapsulación para OOP; qué significa y qué implica) y aprenda algunos principios
Esto facilitará su trabajo. Esto incluso facilitará las personas que trabajan con usted o después de usted.
sí, también debes conocer la sintaxis bastante bien. pero eso no es algo que te lleve mucho tiempo
y ya, también debes entender bastante bien las tecnologías que usas. pero se pueden priorizar según el nivel de complejidad que requiera su empresa.
los dos últimos no son de un enfoque principal, sino de algún enfoque
fuente
Un programador debe concantrar en la programación, no en un lenguaje específico.
fuente
Tantos como sea necesario para hacer tu trabajo.
Pero C # y Java están tan cerca como el inglés del Reino Unido y el inglés de los Estados Unidos. Puede aprender algo nuevo yendo a finlandés o navajo.
fuente
No creo que pueda dominar necesariamente un idioma sin tener suficiente comprensión de otros idiomas para ver ese idioma "desde afuera" por así decirlo. Cada idioma diferente aporta algo más a la mesa y los conceptos que aportan son cosas que puede llevar a los idiomas principales con los que trabaja.
Por lo tanto, el tiempo dedicado a aprender a usar otros idiomas nunca se desperdicia, incluso si no planea usarlos comercialmente.
El viejo adagio es aprender un idioma todos los años y sin duda diría que durante los primeros diez años más o menos debes hacerlo. Tal vez más allá de eso, podría elegir entre explorar algunos de los que ya conoce con mayor profundidad (tal vez actualizar su conocimiento de los que aprendió hace unos años) o trabajar con bibliotecas particulares en lugar de simplemente acumular nuevos idiomas sin cesar, pero vigilar explorar la práctica de la programación a través del trabajo con diferentes lenguajes es sin duda una ayuda para su desarrollo como programador.
fuente
Los lenguajes de programación populares como C # y Java lo mantendrán remunerado en la mayoría de los lugares, pero ninguno de los dos es lo suficientemente diferente el uno del otro como para aprender nuevas formas de resolver problemas. Creo que hay algunos idiomas con los que comes (los que usas para hacer tu trabajo), y otros con los que juegas. Ambos tienen sus propósitos.
Descubrí que al aprender nuevos lenguajes de programación, también aprendí formas nuevas y más elegantes de resolver problemas. No se trata de la cantidad de idiomas o de la frecuencia con la que los recoge. Cada lenguaje de programación que vale la pena aprender tiene un punto de vista único, que lo obliga a abordar sus problemas con una nueva mentalidad. Muchas veces el valor proviene de aprender esa mentalidad.
Jugué con Smalltalk y me encantó. Fue un placer desarrollar el lenguaje. Una vez que te acostumbraste a los modismos, te ayudaron a ser más expresivo con tu código. No me perdí la escritura estática que tienes en Java / C ++ / C # en absoluto. Los genéricos con los que vivimos en nuestros lenguajes de escritura estática son realmente construcciones para evitar las limitaciones que impone la escritura estática.
Uso Ruby y Ruby on Rails regularmente, aunque no para trabajos remunerados en este momento. El principio de diseño de Ruby era "aumentar la felicidad del programador". Tienes que amar ese sentimiento y, en su mayor parte, creo que cumple.
Finalmente, Java seguirá el camino de lisp y Smalltalk, y C # seguirá su ejemplo. Lo que estará allí para tomar su lugar está por verse. Al final del día, si sabe cómo resolver problemas y tiene varias formas de cortar y cortar el problema, podrá encontrar un trabajo y aprender el idioma que necesite.
fuente
Cuando se trata de mantener las habilidades actualizadas y flexibles, creo que debería intentar aprender al menos un lenguaje de programación completamente nuevo cada 6 meses más o menos. Y me refiero a un lenguaje que es muy, muy diferente.
Por lo tanto, mientras aprende más del marco .net mientras usa C # o los marcos de Java ayuda a mantener la flexibilidad, aprender Haskell, Smalltalk, Scala, Clojure o Ruby ampliará su técnica y lo ayudará a pensar de diferentes maneras, algunas de las cuales puede tomar de manera útil volver a su idioma principal, y algunos de los cuales pueden ayudarlo a seguir adelante si Java deja de ser el rey de la colina.
Si nunca has aprendido C, entonces, aunque su sintaxis se ha introducido en Java, la mentalidad puede ser bastante diferente. Vale la pena conocerlo, en profundidad, y aún mejor, comprender cómo se puede escribir el código OO en este lenguaje, que parece solo de procedimiento.
Recomiendo leer el libro de Bruce Tate "Más allá de Java", que resalta muy bien los peligros de estar solo en un idioma, observando el ascenso y la caída de C ++. Aunque C ++ aún está lejos de estar muerto y le quedan décadas, se está restringiendo cada vez más para usar solo en situaciones que no pueden beneficiarse de las ganancias de productividad en otros idiomas. Por el contrario, Sinatra, un marco rubí, le permite construir un servicio web simple en aproximadamente 6/7 líneas de código, el equivalente de C ++ puede ser un orden de magnitud mayor que este.
fuente
Cuando no eres un hablante nativo de inglés, al menos debes concentrarte en mejorar tu inglés . Lo digo en base a mi experiencia. Comprender ese idioma me ayudó mucho.
Todos los buenos materiales (libros, artículos, código, etc.) para aprender lenguajes de programación, tecnologías y nuevos conceptos están escritos en inglés.
fuente
Los idiomas son herramientas para hacer el trabajo. Algunos idiomas son buenos para algunos tipos de problemas, otros generalmente son buenos para resolver todo tipo de problemas. Recomiendo aprender nuevos idiomas a medida que salgan. No te obsesiones con lo que está de moda este mes, pero aprende qué pueden hacer, en qué son buenos. Mi consejo es 1 idioma nuevo por año. Salen más rápido que eso, pero está buscando poner nuevas herramientas en su caja de herramientas, no ser el nuevo chico de moda en el bloque.
Un ensayo que habla sobre las diferencias en los idiomas es "Beating the Averages" de Paul Graham. Recomiendo leerlo, pero una parte importante está aquí (usa "Blub" como un lenguaje hipotético para que no discutas sobre lo que tu idioma favorito puede hacer):
{recorte}
http://www.paulgraham.com/avg.html
La mayoría de las aplicaciones que enviamos están escritas en C # o VB. Cuando necesitábamos agregar secuencias de comandos a una aplicación, elegimos Python (Lua fue la elección finalista). Estamos aprendiendo F # porque eso puede hacer algunas cosas nuevas y difíciles que son difíciles de explicar y comprender si todo lo que uno sabe es C # / Java / VB.
fuente
bueno, en primer lugar, hay una serie de lenguajes que son muy difíciles de evitar para la mayoría de los programadores: javascript, sql, c, etc., por lo que es mejor que los aceptes, no van a desaparecer.
también es una buena idea conocer un lenguaje de script tipo pato ... por ejemplo, uno de perl, python, ruby, lua, etc. Estos son increíblemente útiles para una gran variedad de problemas, incluida la automatización de gran parte de su propio trabajo diario.
para bien o para mal, es probable que también te encuentres con C # y / o Java en algún momento, son bastante generalizados.
en cualquier caso, no te limites artificialmente. aquellos codificadores que conozco que evitan explícitamente recoger herramientas interesantes parecen tener visiones del mundo enclaustradas e impacto limitado.
fuente
Esto podría convertirse en otro debate especialista vs generalista en cierto sentido. Algunas personas pueden pasar mucho tiempo conociendo un idioma a grandes profundidades, lo que les funciona bien. A otras personas les gustaría saber un poco sobre un montón de idiomas diferentes que les funciona bien. La mayoría de las personas se encuentran entre estos dos extremos.
Si desea sugerencias de idiomas para explorar, aquí hay algunas ideas:
Programación funcional: Haskell o Lisp serían ejemplos aquí y el cambio de paradigma puede ser un poco sorprendente.
Base de datos específica: PL / SQL o T-SQL vienen a la mente como algo que puede ser útil si desea hacer más trabajo de back-end con sistemas que requieren una base de datos para algunas de sus funciones.
Lenguajes web de interfaz de usuario: ActionScript o Javascript serían ejemplos aquí de lenguajes utilizados en aplicaciones de Internet enriquecidas, aunque AIR puede hacer que algunas aplicaciones de escritorio utilicen llamadas web en algunos casos como Twhirl utilizando la API de Twitter.
Estas son solo ideas y, dependiendo de dónde desee estar, pueden ser útiles o inútiles para usted. Buena suerte con las elecciones que hagas.
fuente
Un programador necesita saber tres idiomas: C, inglés y algo más.
C es un lenguaje central, está cerca de la máquina y tiene reglas de sintaxis que son comunes a varios lenguajes de alto nivel. C te obliga a pensar en cosas como las estructuras de datos de una manera muy diferente a la de Java. Además, los vms de Python y Ruby están construidos en C, y puede incorporar C en ambos lenguajes cuando quiera aumentar su velocidad.
El inglés es el idioma común de programación. La mayoría de los libros, informes técnicos, sitios web técnicos y artículos de revistas salen primero en inglés y, a veces, en inglés exclusivamente. Además, si el inglés no es su primer idioma, aprender inglés ampliará su conjunto de herramientas para manipular conceptos (por supuesto, esto también se aplica a los hablantes de inglés que aprenden algún otro idioma).
The Something Else debería ser un lenguaje que no sea de procedimiento, que no esté tipado estáticamente, que esté fuertemente orientado a objetos, o que de alguna manera sea fundamentalmente diferente de C. Haskell, Scala, Python, Ruby, algún dialecto Lisp, lo que sea .
Después de eso, puede aprender lo que su situación específica requiera, probablemente C # o Java.
fuente