En primer lugar, la clave para escribir cualquier software realmente masivo es una buena y sólida gestión de proyectos . Sin eso, ningún lenguaje de programación puede salvarte.
Suponiendo que tiene un excelente administrador de proyectos, también desea un lenguaje que ayude a su equipo de desarrollo a escribir código claro, legible y comprensible. Este lenguaje puede ser de tipo dinámico o estático, pero este último ofrece una capa adicional de seguridad que puede ser beneficioso.
Dicho esto, no necesariamente tiene que ignorar los lenguajes dinámicos. Smalltalk, por ejemplo, se ha utilizado para escribir un programa de simulación de batalla de un millón de líneas para el ejército conjunto estadounidense llamado JWARS. Es una de las mejores historias de éxito de Smalltalk. Sin duda, su éxito dependía en gran medida de una excelente gestión de proyectos .
- ¿Es posible crear un programa o software híbrido usando múltiples idiomas?
- Cómo cambiar del dominio bancario a la industria del software
- ¿Cómo se puede minimizar la tensión entre el lado administrativo y el técnico?
- ¿Crees que el mercado para construir y vender aplicaciones de software está saturado?
- ¿Debo ir a BSCS o Ingeniería de Software?
Parte de una buena gestión de proyectos es comprender que los lenguajes dinámicos y estáticos requieren diferentes enfoques para la ingeniería de software. Si aborda el desarrollo de Python de la misma manera que aborda el desarrollo de Java, se producirá un desastre.
Un lenguaje que ayuda a escribir código claro, legible y comprensible es, por lo general, un lenguaje más pequeño y simple con un mínimo estándar y algunos conceptos clave de programación. Presta atención a la psicología cognitiva. Reconoce que no todos en su equipo de desarrollo pueden ser una estrella. Dicho lenguaje debe ser accesible para más miembros del equipo junior.
Con respecto a la psicología cognitiva, dicho lenguaje también es beneficioso para los miembros del equipo con experiencia para quienes un lenguaje más complejo indudablemente impone una mayor fricción cognitiva o estrés, incluso si no lo sienten . Los informáticos siempre han entendido esto. En la década de 1970, Alan Kay y Dan Ingalls nos dieron Smalltalk. En la década de 1980, Niklaus Wirth y Per Brinch Hansen presentaron a Oberon y Edison, respectivamente. En la década de 1990, Guido van Rossum y Yukihiro Matsumoto entregaron Python y Ruby, respectivamente.
Muy recientemente, Rob Pike y Ken Thompson dieron a luz el lenguaje Go, que fue diseñado expresamente para la ingeniería de software práctica a gran escala . Esto fue en respuesta a muchos de los lenguajes que eran antitéticos a todos los anteriores, lenguajes como C ++, D, Scala y Vala. (Y aún así, tenemos nuevos lenguajes antitéticos como Rust y Swift emergentes. Algunas personas simplemente no aprenden).
Así que elige tu opción. Los mejores idiomas de hoy para escribir software masivo son Go (estáticamente tipado; pocos conceptos clave) y Smalltalk (tipeado dinámicamente; pocos conceptos clave). Es muy, muy difícil de superar, pequeño, simple, fácil de aprender, fácil de usar, claro, legible y potente.
Vea la respuesta de Richard Kenneth Eng a ¿Por qué no se ha creado un lenguaje tan poderoso como C / C ++ o Java con una sintaxis más fácil?