La filosofía
de Unix
Originada por Ken Thompson ,
es un conjunto de normas culturales y enfoques filosóficos minimalista , modular el
desarrollo de software . Se basa en la
experiencia de los principales desarrolladores del sistema operativo Unix . Los
primeros desarrolladores de Unix fueron importantes para llevar los conceptos
de modularidad y reutilización a la práctica de ingeniería de software,
generando un movimiento de " herramientas de software ". Con
el tiempo, los principales desarrolladores de Unix (y los programas que se
ejecutan en él) establecieron un conjunto de normas culturales para el
desarrollo de software, normas que llegaron a ser tan importantes e influyentes
como la tecnología de Unix; esto se ha denominado la "filosofía de
Unix".
La filosofía de Unix enfatiza la creación de código
simple, corto, claro, modular y extensible que pueda ser fácilmente mantenido y
reutilizado por desarrolladores que no sean sus creadores. La filosofía de
Unix favorece la capacidad de compilación en
comparación con el diseño
monolítico .
"Make it work, Make it
right, Make it fast"
es la formulación de Kent Beck de una filosofía de diseño de "Unix
Way".
La filosofía de Unix Way ilustra que los componentes pequeños que trabajan juntos a
través de una interfaz pueden ser extraordinariamente poderosos. Al anidar
un aspecto de su dominio como un detalle de implementación de un modelo
específico, se combinan las responsabilidades, el código de amplitud, hace que
las pruebas sean menos aisladas y más lentas, y se esconden conceptos que
deberían ser de primera clase en su sistema.
No dejes que tus conceptos de dominio sean
tímidos. Promoverlos a objetos completos para que sean más comprensibles,
aísle y acelere sus pruebas, reduzca la probabilidad de que los cambios en las
características vecinas tengan efectos dominantes y proporcione a los conceptos
un lugar para evolucionar aparte del resto del sistema. Lo único que
sabemos con certeza sobre el futuro de nuestros sistemas es que
cambiarán. Podemos diseñar nuestros sistemas para estar más dispuestos a
cambios inevitables siguiendo la filosofía de Unix y construyendo interfaces
limpias entre objetos pequeños que tienen una sola responsabilidad.
Es
fácil identificar los problemas e inquietudes más importantes que enfrentan los
administradores de sistemas, independientemente del tipo de computadoras que
tengan. Casi todos los administradores de sistemas tienen que ocuparse de
las cuentas de los usuarios, el inicio y el apagado del sistema, los dispositivos
periféricos, el rendimiento del sistema y la seguridad; la lista podría seguir
y seguir. Si bien los comandos y procedimientos que utiliza en cada una de
estas áreas varían ampliamente entre los distintos sistemas informáticos, el
enfoque general de tales problemas puede ser notablemente similar. Por
ejemplo, el proceso de agregar usuarios a un sistema tiene la misma forma
básica en todas partes: agregar al usuario a la base de datos de cuenta de
usuario, asignarle espacio en disco, asignarle una contraseña, habilitarlo para
usar las principales instalaciones y aplicaciones del sistema, y así.
Make it work, make it right and make it fast.
Si
no funciona bien, ¿en qué sentido funciona?
Aquí está una interpretación. Primer código de arranque que maneja
un caso común ( MakeItWork ). Luego se arregla todos los casos
especiales, manejo de errores, etc. para que todas las pruebas pasen (MakeItRight).
Otra interpretación,
"Hacer las cosas bien" significa hacer que el código sea más claro,
es decir, refactorizar. "Hacer que funcione" es la parte sobre
cómo obtener el código para que funcione correctamente. Una frase nueva podría
ser: "Haz que funcione correctamente, despeja el código fuente y haz que
se ejecute rápidamente".
Esto hace recordar a algo que Kent Beck escribió
en TestDrivenDevelopment:
Escribe una prueba, hazla correr,
haz las cosas bien. Para hacerlo funcionar, se permite violar los
principios de un buen diseño. Hacerlo bien significa refactorizarlo.
No. No hay "hacer que sea barato" en la
frase.
Bastante
correcto. Sin embargo, hay "hacerlo bien" seguido de
"hacerlo rápido". ¿Significa rápidamente "ejecutar
rápidamente", o significa "hacerlo ahora", en cuyo caso son
objetivos incompatibles?
No creo que signifique 'hacerlo rápido' o 'hacerlo
ahora'. Creo que significa 'Hacer que se vuelva rápido'. Siempre lo
he tomado como una declaración de la evolución de la propia solución. Es
decir, para decir "hacer que el código funcione, luego hacerlo 'correcto'
(como en el sentido moralmente correcto, es decir, un buen diseño), y luego
hacerlo funcionar rápidamente". ¿Es esta la interpretación canónica? - PaulMitchellGears
¿Qué sucede cuando "correcto" también
significa "rápido"? La optimización localizada ciertamente es la
raíz de toda la programación malvada. Pero, ¿es la optimización global?
[Nota: La optimización global toma decisiones de
diseño que se vuelven muy difíciles de cambiar después de tomar esas decisiones
porque se extienden por su base de códigos.]
Derecha. "Haz que funcione, hazlo bien,
hazlo rápido" es una afirmación de que si puedes "hacerlo bien",
podrás "hacerlo rápido" más tarde. No necesitará hacer ninguna
optimización global; todo será local. Solo cuando no puede
"corregirlo", debe diseñar DesignForPerformance antes
de tiempo.
"Derecha"
nunca significa "rápido", aunque "rápido" puede ser un
requisito igualmente importante. Si es así, primero hazlo
"correcto" (y posiblemente lento), luego transforma el programa
"correcto" en el programa "correcto y rápido". Mientras
lo hace, siempre tiene una forma de comprobar si el programa sigue siendo
"correcto", al menos comparándolo con la conocida versión
"derecha y lenta".
Si intenta escribir
directamente la versión "correcta y rápida", se enredará en
complicados algoritmos y estructuras no obvias, y nunca se volverá
"correcta" porque ya no comprende su propio código. Después de
todo, si no es "correcto", no importa mucho la rapidez con la que
arroje los resultados incorrectos.
- Obtenga al menos algunas de las cosas para que funcionen, de modo que
reciba comentarios (es decir, obtenga su primer caso de prueba para
aprobar)
- A partir de ahí, haz que todo funcione, por lo
que has completado una parte de la funcionalidad
- Opcional: hágalo ir
más rápido, pero solo si lo necesita.
Grupo c++ Eumer cortez, Raiza limpio.
Esta formulación "Make it work, Make it right, Make it fast" de Kent Beck se debe tener en cuenta a la hora de encontrarse frente a un problema donde se hace la pregunta ¿Cuándo debo optimizar? Para ello es necesario seguir estos tres pasos evitando así una optimización apresurada. En el primer paso se habla de hacer que funcione, hacer que el software funcione de la manera que se espera sin preocuparse en perfeccionar el enfoque en que se haya hecho aquí lo primordial es que funcione. Seguidamente viene el paso hacer las cosas bien, luego de asegurarse de que todo funcione es necesario detenerse aquí a realizar modificaciones de ser necesario, corregir errores, utilizar pruebas automáticas y enfocarse en mejorar el código mediante la refactorización. Por ultimo esta el paso de hacerlo rápido, esto no significa rapidez de entrega del sistema sino mas bien trata de rendimiento y de cumplir con los requerimientos funcionales especificados del sistema de esta manera se cumplirá el objetivo de desarrollar software de calidad.
ReplyDeleteUstedes afirman que Unix enfatiza la creación de código simple, corto, claro, modular y extensible que pueda ser fácilmente mantenido. Esto hace a este sistema operativo apropiado para muchas aplicaciones. Pero desde mi punto de vista el ofrece muchas facilidades para proceso de textos (en un marco atractivo para programadores) y facilidades de comunicación entre usuarios y máquinas. Por todo lo que ustedes mencionan eso hace a Unix muy popular, pero además considero que otra característica que lo hace atractivo es que es portátil, y por lo tanto, todo el software desarrollado en él es portátil también. Claro teniendo encuentra que permite el cambio de máquina sin cambiar de sistema operativo ni de aplicaciones. Además es fácil de adaptar según los requerimientos del usuario, Es muy fiable, es fácil de usar y por supuesto tiene una amplia gama de utilidades.
ReplyDeleteA la hora de proponerse a desarrollar algún sistema, surgen interrogantes sobre como hacerlo, que herramientas utilizar, cuales características darle a dicho sistema, entre muchas otras que para desarrolladores con poca experiencia hace que sea un verdadero dolor de cabeza. Es importante que el desarrollo de sistemas bien sean basado en web, aplicaciones de escritorio o móviles sigan este enfoque de buenas practicas, en las que se enfatizan que las características a desarrollar funcionen correctamente, de una manera optima y rápida, y que su codificación sea sencilla, esto con el fin de que la funcionabilidad y usabilidad sean cómodas para los usuarios a los cuales están dirigido el sistema en cuestión. Cabe destacar que la aplicación de las buenas practicas "Make it work, Make it right, Make it fast" de Kent Beck ayuda a la simplificación de los problemas e inquietudes que se le presentan a los administradores de sistemas, ya que estos los pueden identificar sin muchos inconvenientes, esto sin importar el tipo de computadora que tengan, es decir, que no es necesario tener una computadora monstruosa con componentes de alta gama para realizar sus tareas de administrador.
ReplyDeleteAdemas, a pesar de que a algunos programadores aun les gusta la codificación robusta y de ocultamiento, ya es conocido que hacer la codificación de forma modular y extensible es ideal para que así desarrolladores que no son los mas expertos en la programación.
¿Podrá sobrevivir entonces la filosofía de codificación robusta y el diseño monolítico?
This comment has been removed by the author.
Deleteok
DeleteLa filosofía Unix no es un método formal de programación en sí, pero se enfoca en la sencillez que es uno de sus principios básicos. y es de interés como de una filosofia pudo auxiliar a muchas personas a crear Sistemas operativos . Basados en esta filosofía, y que ahora en la actualidad está impulsando con el pasar del tiempo a crear mejores programas. Estas ideas coinciden con los estudios de análisis y diseño de software, todas las partes son muy aplicables porque se pueden hacer los programas individuales con entradas y salidas definidas y así las salidas de un programa se vuelven entradas de otros, y así se logra facilitar la integración de los módulos. Cada uno de esos puntos tienen demasiada relevancia para nuestra carrera, todo tiene su comienzo y su razón de ser, todos los métodos tiene sus ventajas y desventajas, me parece muy buena y recomendable la filosofia Unix. Si puedes hacer algo rápido y a la ves bueno te sirve de mucho provecho del resto todo a su debido proceso hasta llegar al punto más alto.
ReplyDeleteActualmente en el mundo existen muchas metodologías ágiles para desarrollar software, unas diferentes de otras, pero hay algo que todas tienen en común y es uno de los pensamientos más predilectos de los programadores, HAZ QUE FUNCIONE, HAZLO BIEN, HAZLO RÁPIDO (Make it Work, Make it Right, Make it Fast). Hay que reconocer que llegar a la etapa de hacerlo rápido es un tanto complicada, debido a que en la etapa inicial “make it Work”, es donde se necesita tiempo para buscar la pieza del código que más se adapte al problema y una vez obtenida comenzar a experimentar para reducir las incertidumbres sobre su solución e implementar el código. Después viene la segunda etapa que incluye pruebas, sintaxis adecuada, buena nomenclatura, extensibilidad y similares, una vez aquí se requiere comenzar el proceso de refactorización para eliminar cualquier dato codificado mediante una limpieza del código, obteniendo así un buen diseño que sea fácilmente mantenible, lo que nos lleva a la tercera etapa “make it fast”, la cual es calificada como la etapa más ardua pues se necesita además de tiempo, los recursos para experimentar. La finalidad de todo esto es lograr esa mejora continua que brinde comprensibilidad, extensibilidad y rendimiento, haciendo el código más valioso para el usuario. La idea principal es ofrecer soluciones de software a usuarios que brinden el valor que tal trabajo merece, realizar mejoras al código es tan importante como crear uno nuevo. La base para lograrlo es primordialmente tener el tiempo, en segundo lugar contar con los recursos necesarios y por último pero no menos importante tener todas las ganas del mundo porque no es un trabajo para nada fácil.
ReplyDeleteLos desarrolladores bien saben que realizar un código simple, corto, claro, modular y extensible en esta filosofía es primordial, como ustedes hacen mención. Aun así, esta se debe tomar en cuenta que esta filosofía de Unix no es un método de diseño formal, pero posee una versatilidad de ser fácilmente mantenido y reutilizado por ellos mismo que no sean sus autores. Asimismo, una particularidad de esta filosofía radica que es pragmática, es decir, la práctica, la ejecución o la realización de las acciones y no a la teoría, todo esto basado en la experiencia. Aquí no se encuentra los métodos y estándares oficiales, sino más bien en el conocimiento semirreflexivo implícito, la experiencia este transmite. Existe un proceso de tres pasos que plateo Kent Beck y es seguir estos pasos cuando implemente una nueva característica puede ayudarlo a mantenerse enfocado en realizar el trabajo y evitar caer en la trampa de una optimización prematura que es cuando se trata de mejorar la eficiencia de su código antes de tener un sistema en funcionamiento, donde ustedes hicieron clara mención de ellos “Make It Work, Make It Right, Make It Fast” donde expresa Hazlo funcionar, Hacer lo correcto y Hazlo rápido. Es decir, Deja de trabajar en el código tan pronto este funcione. Deje de limpiarlo y agregue pruebas tan pronto como esté seguro de que funciona y está lo suficientemente limpio como para mantenerlo la próxima vez que alguien necesite tocarlo. Deja de ajustar su rendimiento tan pronto como sea lo suficientemente bueno. Si se sigue estos pasos, se conservará lo más productivo posible, enviará software de calidad y no se verá sumido en la parálisis del análisis.
ReplyDeleteok
DeleteDebido a esta filosofía, se maneja al sistema con muy pocas órdenes, que permiten una gran gama de posibilidades. Todo archivo de Unix está controlado por múltiples niveles de protección, que especifican los permisos de acceso al mismo. La diferencia que existe entre un archivo de datos, un programa, un manejador de entrada-salida o una instrucción ejecutable se refleja en estos parámetros, de modo que el sistema operativo adquiere características de coherencia y elegancia que lo distinguen.
ReplyDeleteAlgo bastante interesante, también incluye, además, múltiples esquemas para crear, editar y procesar documentos. Existen varios tipos de editores, formadores de textos, macro procesadores para textos, formadores de tablas, preprocesadores de expresiones matemáticas y un gran número de ayudas. Esto fue diseñado para servir de entorno en las labores de diseño y producción de programas, ofrece - además de su filosofía misma - un rico conjunto de herramientas para la creación de sistemas complejos. De esta manera, se convierte en una herramienta casi indispensable al desarrollar aplicaciones que requieren decenas de programas que interactúan entre sí o que mantienen relaciones jerárquicas
ok
DeleteEl sistema UNIX es sin duda una interesante aplicación que cuenta con diversas utilidades y funciones. Creado a fines de los años sesenta para la empresa AT&T y GE, este sistema operativo es forma parte de un importante grupo de familias fácilmente reconocibles por el usuario común de computación.Como se sabe, Unix es un sistema multiusuario, multitarea y además, proporciona un buen entorno para el trabajo en red. Ofrece programas y servicios que permiten construir aplicaciones basadas en red. Ha sido básico para el desarrollo de los servicios en Internet y para el propio crecimiento de Internet.Consecuentemente, con la importancia creciente de la computación distribuida e Internet, está creciendo la popularidad del sistema UNIX. El sistema UNIX es mucho más fácil de portar a nuevas máquinas que otros sistemas operativos. Esta portabilidad es consecuencia directa de estar escrito casi completamente en un lenguaje de alto nivel, el lenguaje C. La portabilidad a un amplio rango de arquitecturas hace posible mover las aplicaciones de un sistema a otro. Actualmente UNIX puede ser usado desde pequeños ordenadores personales a grandes computadoras. Así pues un programador puede encontrar las mismas herramientas de programación, entornos similares y ejecutar fácilmente sus programas en cualquier sistema que use UNIX; normalmente con el sistema operativo se suministran otra serie de programas, utilidaeds para comunicaciones, editores, lenguajes de programación, etc, que no forman parte estrictamente del sistema operativo.
ReplyDeleteok
DeleteEste un tema realmente interesante dado los principios fundamentales de esta filosofía, entre los cuales destacan en pocas palabras una codificación de softwere que sea de fácil manipulación no solo para quien lo desarrolló sino que para todo el que tenga acceso a el para que de esta forma se puedan hacer los mantenimientos necesarios al sistema de una manera eficaz, que sea extensible, modular, etc. Creo que es por esta razón que con el pasar del tiempo los programadores han adoptado el uso de esta filosofía de desarrollo de software.
ReplyDeleteEn cuanto a la práctica "Make it work, Make it right, Make it fast" debo decir que lo entiendo y coincido con el punto de vista de que el desarrollo de un software debe estar divido en entapas o procesos, en el primero de ellos "Make it work" (Hazlo funcionar) donde se hace toda la codificación de sistema a desarrollar, en la segunda "Make it right" (Hazlo bien) se deben hacer todas la correcciones necesarias y eliminación de duplicidades, y por ultimo "Make it fast" (Hazlo rápido) donde debe optimizarse el código para que la respuesta de este sea rápida y lo más óptima posible.
A la hora de programar siempre se busca métodos que se adapte bien para la realización de nuestro proyecto, este método me parece una buena alternativa, ya que en pocas palabras se puede decir que es un modo de trabajo simple pero potente. Además como ustedes afirman mediante sus premisas descritas, que si se sigue sus pasos o reglas que son aplicables al desarrollo de software este puede llegar a un producto de buena calidad. Mediante el diseño de UNIX, sus creadores antepusieron la facilidad de comprensión a la eficiencia, de manera que era fácil entender el código y, por ende, adaptarlo a las necesidades de otros.
ReplyDeleteLa Filosofía Unix siendo una guía para la buena programación de software, también nos puede servir para mucho, ¿Por qué? Mientras leía resaltaban la siguiente premisa “Haz una cosa, y hazla bien” esta premisa en si encierra muchos principios entre ellos: la modularidad, la simplicidad, la comprensión, la extensibilidad, entre otras, muchas de estos principios o reglas las podemos utilizar para nuestro trabajo diario, a la realización de un informe de resultados, a un diseño web, a un simple dibujo manual, a mil cosas… cada uno es el que tiene que sacarle partido.
ok
DeleteEl sistema de archivos de Unix; esta basado en un modelo arborescente y recursivo, en el cual los nodos pueden ser tanto archivos como directorios, y estos últimos pueden contener a su vez directorios o subdirectorios. Debido a esta filosofía, se maneja al sistema con muy pocas órdenes, que permiten una gran gama de posibilidades. Todo archivo de Unix está controlado por múltiples niveles de protección, que especifican los permisos de acceso al mismo. La diferencia que existe entre un archivo de datos, un programa, un manejador de entrada/salida o una instrucción ejecutable se refleja en estos parámetros, de modo que el sistema operativo adquiere características de coherencia y elegancia que lo distinguen.
ReplyDeleteUna de las características de UNIX que más le hacen destacar sobre el resto de los sistemas operativos es una cierta consistencia, un modo de trabajo simple pero potente que se ha dado en llamar la filosofía UNIX...La filosofía UNIX puede ilustrarse mediante un pequeño símil. Suponga que necesita una mesa nueva para su despacho y decide ir a una tienda especializada a comprar una. Allí le muestran la oferta de mesas. Algunas le gustan, pero no le convencen plenamente, pues tienen algunos detalles que no están a su gusto. Unas son demasiado bajas; otras tienen los cajones demasiado pequeños; un tercer grupo resultan ser muy estrechas...En definitiva: ninguna de ellas se ajusta completamente a sus necesidades.En vista de su indecisión el dependiente de la tienda decide ofrecerle una caja de herramientas y unos tableros de manera para que se fabrique usted su propia mesa.Tras un ligero esfuerzo construye su mesa ideal, que satisface todas sus exigencias. Sabe, además, que si algún día necesita hacer alguna modificación a su mesa podrá utilizar las herramientas que ha adquirido para hacerlo...UNIX puede asemejarse a esta segunda alternativa, proporcionando siempre herramientas de gran versatilidad en lugar de soluciones completas que no tienen por qué satisfacer a todo momento sus requisitos. UNIX se adapta a sus necesidades. Otros sistemas operativos, exigen que sean sus necesidades las que se adapten al sistema.
ReplyDeleteok
DeleteCon respecto al comentario de Dayani, esa es la razón por la cual muchos desarrolladores terminan quejándose de no llegar a dicha etapa, básicamente por una idea errónea en la forma en la que estos pasos funcionan. Estos pasos no pueden verse como acciones aisladas, y resultan tres etapas que se llevan a cabo en la tarea de desarrollo. Ahora hay que tratar de tener un equilibrio entre el diseño y el rendimiento, aquí es cuando entra en juego la última etapa donde se hace rápido optimizando el código para lograr el rendimiento necesario. Al hacer esto, se notará que se requerirá mucho menos esfuerzo. Si se llega a ignorar uno de estos pasos mientras se codifica, probablemente se sufrirá de efectos muy graves como tener un horrible rendimiento del sistema. Por último, hay que tratar de no compensar malas estimaciones de tiempo entregando un proyecto que solo “funcione”, esto solo puede provocar la formación de un código spaghetti el cual es probable que suponga un alto costo y riesgo para cualquier negocio que involucre el desarrollo de software.
ReplyDeleteok
DeleteLas buenas practicas de programacion ayudan a los desarrolladores a simplificar procesos y "crear" de una manera correcta, los desarrolladores que quisieron mejorar la manera en la que se venia haciendo o desarrollando el proceso de programacion como tal. Apoyando la estrategia de desarrollo de software para hacer que funcione, hacerlo bien, hacerlo rápido. Esta es una cita de Kent Beck, común en la industria del software. Interpreto esta cita como, asegurémonos de que nuestra solución más básica resuelva el problema antes de invertir más tiempo de lo necesario.
ReplyDeleteLa programación no se trata solo de aprender y escribir código, es un arte . Te ayuda, como programador, a pensar de manera diferente y desarrollar una actitud de resolución de problemas dentro de ti. Un programa simple se puede escribir de muchas maneras si se le da a múltiples desarrolladores.
Entre las buenas practicas de programación que podemos implementar para mejorar los desarrollos son:
1) Crear un diseño para tener siempre una visual del sistema o desarrollo que se quiere lograr.
2) mantener el código simple, mientras mas simple, mas fácil para el compilador y mas eficiente sera nuestro programa.
3) modularizar nuestra aplicación o desarrollo, para que las tareas sean realizadas de una manera eficiente por los diferentes modulos de muestra aplicación.
Estas y otras técnicas ayudan a que nuestro desarrollo sea impecable, es mejor tener un desarrollo simple y reconocido, que un desarrollo que nadie recuerde.
ok
DeleteAl describir la filosofía Unix se mencionan 3 aspectos importantes que se deben hacer presentes a la hora de desarrollar cualquier programa, los cuales hacen referencia a hacer que el sistema funcione de manera correcta y rápida. Cuando se codifica un programa, lo principal es hacer que solucione un problema, es decir, lograr lo que el usuario quiere que haga. Partiendo de allí se corrigen errores, casos especiales, y se cubren todos los escenarios posibles para hacerlo “correcto”, lo cual hacerlo sería la forma más óptima posible haciendo una limpieza de código para darle una mejor estructura a lo que ya “funciona” que es la primera característica que mencionaron. Pero, ¿cuánto tiempo lleva esto? Lo último es donde realmente me quiero enfocar. La frase “make it fast” se presta para dos interpretaciones: puede hacer referencia a que el programador codifique velozmente y sea más rápido que la competencia o que el sistema sea rápido en términos de la capacidad de respuesta en comparación con otros ya existentes. Independientemente de cómo se interprete, las palabras “correcto” y “rápido” difícilmente se encuentran asociadas moralmente. Esto puede hacer que el usuario dude de la capacidad del producto. Es común pensar que mientras más el programador se tarde desarrollando algo, mejor va a ser, por frases como “lo bueno tarda” o “lo que fácil viene fácil se va” y desde mi punto de vista es completamente falso. Eso depende del ingenio de cada persona, y su enfoque para interpretar los problemas en soluciones. Y si se puede hacer que algo funcione, se puede hacer que sea más rápido a futuro, sin afectar la funcionalidad principal que se requiere por parte del usuario.
ReplyDeleteok
DeleteSiempre interpreté esta frase en términos de necesidades comerciales, no estándares de codificación:
ReplyDelete1. Cumplir con los requisitos mínimos para que la empresa llame proyecto a un éxito. (Hazlo funcionar.)
2. Agregue campanas y silbatos para hacer que el programa sea menos propenso a errores y más rico en funciones. (Hacer lo correcto o hazlo bien.)
3. Encuentra y elimina desperdicio en el proceso. Algunas suposiciones desde el principio habrán sido incorrectas. Elimine la lógica comercial innecesaria. Se incluye en este paso mejorar el código para un mejor rendimiento. (Hazlo rápido.)
La Filosofía Unix Es un conjunto de “pensamientos” o proposiciones que alguien podría catalogar como reglas, las que son aplicables al desarrollo de software en el ámbito Unix, se basa en la experiencia, simplicidad, reinvención y rapidez en el desarrollo. Estos son un conjunto de enunciados simples y básicos de ideas que se traducen en características que poseen los diferentes programas que corren en Unix, bueno a al menos con esa ideología se creó la filosofía Unix.
ok
Deletela filosofia de unix engloba cosas que hacen que este OS sea un sistema poderoso pero simple. Esta filosfia hizo que la informática sea menos complicada y más accesible, lo que llevó a un auge en la informática y la informática de propósito general en los años setenta y ochenta.
ReplyDeleteEstos principios básicos hicieron de este SO una gran influencia en la informática en sus primeros días. Unix popularizó la idea del software como herramientas, y la idea de que tener muchas herramientas y conjuntos de herramientas para construir otro software es mucho más fácil e intuitiva que escribir enormes programas independientes que reinventan la rueda en cada implementación.
ok
DeleteConsidero que fue acertado el resumen del tema, sin embargo, se debe tener en cuenta la uniformidad de criterios, es decir mantener el mismo tipo y tamaño de fuente, interlineados y demás aspectos que le dan “brillo” al tema expuesto en el blog.
ReplyDeleteEn cuanto a la buena Práctica propuesta por los desarrolladores de UNIX me parece muy acertada aunque "Make it work, Make it right, Make it fast" no siempre es tan sencillo como parece