[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]--- Cristian Othon Martinez Vera <cfuga en itam mx> wrote: >Estoy de acuerdo. En cualquier libro de programacion >de manufactura relativamente reciente encontraras que >la verdad de la vida es la programacion orientada a >objetos. Pero desafortunadamente, siempre existe una >diferencia entre el texto academico y la Vida >Real(mr). Las ventajas de C++ con respecto a C >desaparecen porque en ambos tienes que manejar >apuntadores, y administrar la memoria sin utilizar un >recolector de basura. Las maravillosas ventajas de OOP > (encapsulamiento, polimorfismo, herencia, reuso de >codigo) se esfuman cuando desbordas la pila, o tienes >fugas en la memoria, sin importar que haya sucedido en > una funcion, o en un constructor de clase. Combinado > esto con algunos 'goto's, indispensables en ambos >lenguajes, puedes hacer spaguetti estructurado u >orientado a objetos, a tu eleccion. > Puedes solucionar algunas cosas utilizando >Objective-C, pero muchos ni siquiera lo han > escuchado mencionar. :-| > De verdad es mas facil depurar un nucleo orientado > a objetos multihilos? Como puedes determinar cual de >los hilos fallo, a partir de la informacion de volcado >de memoria? Como puedes depurar un sistema, si el >objeto que administra la memoria muere, sin tener >tiempo de notificar (por paso de mensajes) al objeto >que administra el sistema de archivos para generar un >volcado de memoria? Ojo, no estoy diciendo que sea >imposible, pero las soluciones para estos problemas >no son triviales, y no facilitan en nada el desarrollo >de un nucleo de dichas caracteristicas. Ahora resulta que la programación OO no sirve para nada, que no ofrece ventajas sobre la programación estructurada. Nunca había escuchado algo así. O sea que todos los doctores en ciencias de la computación están equivocados, tu sabes mas que ellos, si es así, mis respetos. > Ahora con los clusters, Como incrementas su >eficiencia con multihilos, cuando el cuello de botella >principal en un cluster es la comunicacion entre los >nodos? Igualmente, debemos creer que todos los doctores en ciencias de la computación, sobre todo los especialistas en cómputo paralelo están equivocados, y que un kernel construido con programación OO no ofrece ninguna ventaja para el supercómputo. > Y como último detalle: no es indispensable que tu >núcleo sea orientado a objetos para poder crear nuevas >extensiones. En Linux, como en cualquier otro sistema >operativo moderno, puedes crear controladores sin >necesidad de reiniciar y/o interferir con otros >usuarios. Y de cualquier forma, hay modificaciones o >extensiones que (por el momento), te forza a >reiniciar tu equipo. En este momento pienso en el >administrador de memoria, aqui se puede agregar otros >mas. Las creación de extensiones y controladores sin interferir con los demás usuarios y sin necesidad de reiniciar el equipo son nada mas unas de las ventajas, también bajo este esquema se podrá tener mas privilegios sin necesidad de ser root, es decir se pueden hacer mas modificaciones sin interferir para nada con otros usuarios y sin poner en riesgo nada del sistema. http://www.gnu.ai.mit.edu/software/hurd/hurd.html http://www.gnu.org/software/hurd/hurd.html >Desafortunadamente, le falta mucho a HURD para >convertirse en una alternativa viable a cualquier otro >sistema operativo que se encuentra en produccion en >estos dias. Las mismas dificultades que he mencionado >anteriormente hacen mas lento su desarrollo (no mas >rapido, como argumentas), y se vuelve tedioso trabajar >con el. >Toma en cuenta que funcionara de maravilla cuando la >plataforma que ofrece este madura, pero esa plataforma >ni siquiera esta completa en este momento. >No quisiera ser ave de mal aguero, pero, si HURD >llega a una version 1.0, sera simplemente un juguete >academico mas en desuso, como Minix, o Amoeba. El profesor Andrew Tanenbaum desarrolló Minix con fines puramente académicos, este fue el primer Unix para PCs, el solo se preocupó por alcanzar una pequeña versión estable y la congeló, fue Linus Torvalds que al ver la renuencia del profesor Tanenbaum para superar las limitaciones de Minix, quien argüía que el sistema debía mantenerse lo mas sencillo posible para seguir siendo apto para la enseñanza básica en el diseño de lo sistemas operativos, quien decide tomarlo como base para la creación de Linux. Igualmente el profesor Tanenbaum desarrollo Amoeba con el mismo propósito, y yo no los llamaría juguetes. Hurd, por el contrario desde sus inicios siempre a sido un proyecto ambicioso propuesto por Richard Stallman quien además fundó GNU y la filisofía de código abierto, el problema de Hurd fue que hace 20 años la capacidad del hardware estaba muy limitada y hablar de programación OO para el desarrollo de un kernel era demasiado. >De verdad el tedio de programar estructuradamente >impide el desarrollo posterior? De verdad el hecho >que el codigo sea escrito en C es un problema para >Linux? Yo diria que al contrario. En realidad, la >cantidad de personas que hace programacion >estructurada es mucho mayor que la que hace >programacion orientada a objetos. Y la cantidad de >programadores que conocen C es mayor que la que >utiliza C++. Ahi Linux aprovecha una masa critica >importante de desarrolladores, que pueden entender, >modificar y actualizar codigo en este momento, no en >algun futuro feliz donde todo se vuelva mas facil. La masa de programadores se seguirá aprovechando en Hurd, ya que el desarrollo de aplicaciones puede seguirse haciendo con solo programación estructurada. Los encargados de sacar las nuevas versiones del kernel son siempre solo una elite como en el caso de Linux. http://www.debian.org/ports/hurd/ >De acuerdo: Linux debe ser superado. No me queda la >menor duda. Pero no he visto la menor pista para que >HURD corresponda al siguiente paso evolutivo de Linux >en un corto o mediano plazo. > Saludos Respeto tu opinión mas no la comparto, yo si veo las suficientes pistas para suponer que el siguiente paso son los kernel hechos con programación OO, el proyecto Darwin es el ejemplo viviente, en este están usando el kernel Mach 3.0 que es la base del OS X de Macintosh. http://developer.apple.com/darwin/ http://www.macuarium.com/macuarium/actual/especiales/2000_01_18_graphicrevolution.shtml El movimiento open source no puede quedarse a la zaga, por ello ya se trabaja en Hurd y en otros. Saludos. ===== | UNIX, MS-DOS and Windows ... | (also known as the Good, the bad and the | ugly...) __________________________________________________ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ _______________________________________________ Ayuda mailing list Ayuda en linux org mx Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/