2010-09-01 15 views

Respuesta

3

Yendo hacia atrás:

(3) Absolutamente - usted aumentará su capacidad en órdenes de magnitud por el aprendizaje de varios idiomas.

(2) Un lenguaje de bajo nivel lo convertirá en un mejor programador; alternativamente, un lenguaje funcional también lo ayudará.

(1) Bajo nivel: vaya con C. Funcional, pruebe Scheme o Haskell. C también le brinda la capacidad de escribir módulos de extensión en Python si alguna vez tiene la necesidad.

1

¿Cuál es el segundo idioma que recomienda aprender?

Algo imprescindible (es decir, un mismo paradigma) pero diferente. Python se tipea dinámicamente con espacios en blanco significativos, por lo que algo estáticamente se escribe sin espacios en blanco significativos: p. Java o C#.

Estos también serían un buen trampolín hacia C. El beneficio de C es que realmente sabes lo que está pasando, pero con la desventaja de que tienes que controlarlo todo. Este nivel de control no es necesario para la mayoría de los problemas de negocios.

¿es realmente necesario aprender un segundo lenguaje de programación?

desarrolladores realmente subjetivos, pero más bien saben muchos (tener en cuenta para una aplicación web: Python, Ruby, C#, Java en el servidor; SQL en la base de datos y JavaScript en el cliente, y entonces el margen de beneficio. ..).

Se beneficia de poder ver otros enfoques a los problemas y así crear mejores soluciones. Entonces, una vez que haya cubierto los idiomas más imperativos, acceda a otros paradigmas como el funcional.

1
  1. Estoy de acuerdo con su elección de C, que lleva a C++. Si nada más, aprender C le enseñará por qué la gente en estos días tiende a preferir idiomas con administración automática de memoria, pero también le dará la sensación de programar "cerca del metal" (sin el dolor de programar en lenguaje ensamblador), y te ayuda a entender cómo funciona realmente un procesador. No siempre es conocimiento útil, pero es bueno saberlo.

    Elija lo que elija, recomiendo un lenguaje de tipo estático: C, C++, Java y algunos lenguajes de programación funcionales se ajustan a esta ley. Java podría ser una buena opción si encuentras C un poco difícil al principio.

  2. Yo diría que aprender un nuevo idioma te convierte en un mejor programador. Sin embargo, aprender C te hará un mejor programador de Python? Probablemente no; ¿Por qué debería?

  3. Define "necessary"! Por una definición estricta, no. Pero te estás perdiendo la experiencia de tener que pensar sobre las cosas de una manera diferente (incluso si es solo una manera ligeramente diferente).

+0

Creo que aprender C definitivamente hará que cualquiera sea un mejor programador de Python. Te dará una idea de lo que Python está haciendo bajo la cubierta, y podrás escribir módulos de extensión C en Python. – Skilldrick

+0

Yo diría que ninguna de esas cosas te hace un mejor programador de Python. – davmac

0

me quedaría con el mismo paradigma, pero deja opciones abiertas para otro paradigma (programación funcional). Probablemente C# es una buena opción, porque

  • Si decide aprender C/C++ más tarde, será un poco más fácil.
  • Si decide que desea aprender la programación funcional más adelante, puede cambiar a F # pero seguir usando el código existente escrito en C#, porque permanece dentro de .NET framework.
  • Python no es conocido por ser un lenguaje notablemente rápido. Debe considerar aprender un idioma que permita un mejor rendimiento computacional. Pero el buen viejo ANSI C es probablemente de un nivel demasiado bajo, a pesar de que puede escribir programas muy rápidos con él. C# tiene un buen rendimiento para un lenguaje compilado justo a tiempo, y si necesita más rendimiento más adelante, aún puede ampliar su conocimiento hacia F # o C.
  • Aunque no uso Microsoft Windows de forma privada y publicitario Linux y Open Con frecuencia, es una buena idea ofrecer algunos conocimientos sobre la tecnología de Microsoft en caso de que intente ganar dinero con la programación.
Cuestiones relacionadas