Muchos conocen a Edsger Wybe Dijkstra por sus aportes técnicos a las ciencias de la computación (algoritmos sobre grafos, semáforos, su crítica al “goto“, entre tantos otros). Otros quizás hayan leído sobre sus opiniones acerca de la programación como disciplina matemática y su lucha contra el avance de los intereses industriales sobre la ciencia. Pocos [...]
Categoría Programación
Quién fue Edsger Dijkstra
Categoría: Ciencia, Programación
Citas de Dijkstra
Releyendo los agresivos comentarios de un personaje pseudo-anónimo respecto del artículo sobre UML, recordé un excelente manuscrito de Edsger Dijkstra llamado “Respuestas a preguntas de estudiantes de Ingeniería de Software” (EWD 1035). Para facilitar su difusión (y para tenerlo siempre a mano), decidí traducirlo. ¡Que lo disfrute!
Categoría: Programación
AJAX no es AJAX
AJAX es uno de los términos de moda en el mundo de la Web 2.0 y las aplicaciones web. Como usualmente ocurre en estos casos, aparece rodeado de un manto de misterio y mucho palabrerío. ¿Es una tecnología? ¿un lenguaje? ¿una librería? Tratar de explicar qué es AJAX me recuerda a un pasaje de la [...]
Categoría: Programación
No tener ni idea
Hace ya un tiempo algún alumno de la Universidad Tecnológica Nacional (Fac. Buenos Aires) elaboró un video basado en la grabación de una clase, en la cual el docente a cargo de la cátedra de “Diseño de sistemas“, el Lic. Rubén Fernandez Iriart, explicaba qué son los “Enterprise Java Beans“.
Categoría: Educación, Programación
Tutorial sobre TCP/IP
En este tutorial realizaremos la “disección” de una comunicación TCP/IP muy simple, con el fin de analizar qué ocurre a cada nivel. A través de este sencillo experimento, podremos recorrer los conceptos fundamentales de las redes TCP/IP, para reafirmar la idea de que este protocolo es muy simple. El objetivo es lograr, sin demasiados conocimientos [...]
Categoría: Programación, Redes
Por qué UML no sirve
En el año 1999 cursé una materia de ingeniería de software y tuve la desdicha de encontrarme con el “lenguaje” de moda para el análisis y diseño (supuestamente) orientado a objetos: UML (“Unified Modelling Language” o “Lenguaje Unificado de Modelado“) y su metodología asociada: el “Proceso Unificado“.
Categoría: Programación
Programación para redes y concurrencia (IV)
En esta última entrega analizaremos algunos de los problemas que se plantean a la hora de desarrollar programas concurrentes. La programación concurrente (implementada a través de procesos separados o de threads) plantea una serie de inconvenientes respecto del uso de recursos o datos compartidos, que abren un campo de investigación interesantísimo y con muchos puntos [...]
Categoría: Programación
Programación para redes y concurrencia (III)
Luego de que en la entrega anterior complicáramos un poco las cosas introduciendo concurrencia en el servidor, un amigo me hizo notar que quizás sería mejor dar un ejemplo un tanto más “real” de lo que estábamos haciendo. Es por eso que dejaremos por un rato el camino planificado para jugar un poco explorando las [...]
Categoría: Programación
Programación para redes y concurrencia (II)
En la entrega anterior abordamos el diseño de un protocolo y la implementación de un servidor secuencial muy simple y un cliente. Haciendo esto, inspeccionamos los conceptos fundamentales de la programación de aplicaciones usando sockets. En esta segunda parte, desarrollaremos un servidor capaz de recibir conexiones de varios clientes de manera concurrente (en paralelo). Para [...]
Categoría: Programación
Programación para redes y concurrencia (I)
Este es el inicio de una serie de artículos introductorios sobre programación para redes (usando sockets) y programación concurrente. El objetivo es presentar una serie de conceptos que iremos explorando progresivamente: Programación cliente/servidor usando sockets: Cómo desarrollar programas que se comuniquen a través de la red para realizar distintas tareas. Protocolos de comunicación: Explorar los [...]
Categoría: Programación
Buscar
Enlaces
Categorías
- General (18)
- Hardware (5)
- Software (74)
- Software libre (30)
- Software privativo (28)
- Microsoft (21)
- Programación (26)
- Libertad (39)
- Ciencia (17)
- Computación (5)
- Escepticismo (8)
- Educación (12)
- Fútbol (1)
- Censura (9)
- Enlaces (1)
- Medios (6)
- Política (33)
- Voto electrónico (16)
- Seguridad (12)
- Internet (18)
- Redes (9)
- Religión (10)
- Lógica y Matemática (12)
- Opinión (19)
- Humor (9)
- Charlas (5)
- Google (1)
Archivos
- noviembre 2011 (1)
- octubre 2011 (2)
- septiembre 2011 (3)
- junio 2011 (1)
- febrero 2011 (1)
- enero 2011 (1)
- diciembre 2010 (2)
- noviembre 2010 (1)
- octubre 2010 (7)
- septiembre 2010 (4)
- agosto 2010 (4)
- julio 2010 (1)
