¿Aborda go-idioma de Google los problemas en el post de Paul Graham '¿Por qué Arco no es especialmente Orientado a Objetos'?
Pregunta
¿Google de Golang abordar los problemas con los idiomas abordan en el post de Paul Graham ' ¿Por qué Arco no es especialmente Orientado a Objetos '?
Solución
Mi sensación inicial hacia este es "Es demasiado pronto para decir"
1) Programación orientada a objetos es emocionante si tiene una lengua estáticamente mecanografiada sin cierres léxicos o macros. Para algo grado, que ofrece una forma de evitar estos limitaciones. (Véase Décimo de Greenspun Regla.)
Ir apoya literales de funciones (ver docs ), que si estoy leyendo esto correctamente permiten a pasar funciones como parametros, si se define en otro lugar o creada ad-hoc.
2) Programación orientada a objetos es muy popular en las grandes empresas, ya que se adapte a la forma en que escriben software. A grandes empresas, el software tiende a ser escrito por grande (y con frecuencia cambiantes) de los equipos mediocres programadores. Orientado a objetos programación impone una disciplina en estos programadores que impide cualquier uno de ellos de hacer demasiado dañar. El precio es que el resultante código es hinchado con protocolos y lleno de duplicación. Esto no es un precio demasiado alto para las grandes empresas, debido a que su software es probablemente va a ser hinchado y lleno la duplicación de todos modos.
Este punto es muy subjetivo para responder.
3) Programación orientada a objetos genera una gran cantidad de lo que parece trabajo. En los días de plegado en acordeón, había un tipo de programador que Sólo sería poner cinco o diez líneas de código en una página, precedida por veinte líneas de elaboradamente formateado los comentarios. Programación orientada a objetos es como el crack para estas personas: se permite incorporar todo esto andamio de la derecha en su fuente código. Algo que un hacker Lisp podría manejar empujando un símbolo en una lista de archivos se convierte en un conjunto de clases y métodos. Por lo que es una buena herramienta si desea convencer a ti mismo, o otra persona, que está haciendo un montón de trabajo.
Desde Go no es realmente un lenguaje orientado a objetos, es probable que pueda resolver el problema en cualquier fashon que se sienta cómodo.
4) si una lengua es en sí mismo un programa orientado a objetos, puede ser extendido por los usuarios. Bien quizás. O tal vez usted puede hacer aún mejor ofreciendo las sub-conceptos de programación orientada a objetos a la carta. La sobrecarga, por ejemplo, es No intrínsecamente ligada a clases. Veremos.
Ir parece tener un enfoque interesante para los objetos, en las que no se les exige que preocuparse / desarrollar grandes árboles de objetos. Parece que las herramientas están presentes en el lenguaje para estructurar los datos en una forma orientada objeto sin que el bloqueo en un entorno orientado a objetos puro.
5) abstracciones orientado a objeto de mapa perfectamente en los dominios de cierta determinados tipos de programas, como simulaciones y sistemas CAD.
...
Otros consejos
Paul tiene algunos puntos interesantes, en general, he leído muchas de sus reflexiones. En este caso, no estamos de acuerdo. Es una tuerca Lisp, y una tuerca programa de mierda. Parece que empeñar difícil de entender programas como el trabajo de los grandes programadores. Sí, me doy cuenta de que es más matizada que eso, pero que realmente se reduce sólo a eso. Al final del día, ya sea su código es un trabajo fácil con, o no lo es. Y algunos programadores, los programadores que Pablo considere grandes, serán capaces de aguantar más basura que otros y aún así ser capaz de hacer cara o cruz de lo que pretende el código. Es una habilidad, pero con toda seguridad no es el único un buen programador necesidades.
Hablando de Arco, es una mierda, y si no me incluso las personas equivocadas en la comunidad Lisp lo creo -. Mi punto aquí es que incluso las personas inteligentes cometen errores
Una vez más, Pablo es un tipo inteligente, pero todo su enfoque en esta pieza en particular es de la marca que parece.
¡Espera, sin embargo, se van muy orientada a objetos? Parece totalmente agnóstico en ese frente. Puede utilizar programación orientada a objetos o FP o programación imperativo dentro de GO. Es decir, al estilo de prólogo "programación" sería un tramo, pero por lo demás ...
De hecho, yo diría que se parece Scala Ir a este respecto:. Hay algunos paradigmas de objetos por ahí, y sin embargo, también hay lambdas y typecasing por ahí