jueves, diciembre 29, 2005
Diseño de APIs (II)
La misma entrada en BP
jueves, noviembre 17, 2005
Mono Status '05
Actualización: más info en la portada de barrapunto: "Estado actual de Mono", El valle del viento helado: "Resumen del estado de mono" y OSNews: "Mono Status 2005"
La misma entrada en BP
viernes, noviembre 11, 2005
Traducción del bliki de Martin Fowler
La misma entrada en BP
jueves, noviembre 03, 2005
¿Visual Studio pudre la mente?
El artículo es "Does Visual Studio Rot the Mind?" Comienza por plantearse como la tecnología tiene capacidad de enganchar y no siempre de solucionar problemas y luego tiene una serie de críticas bastante concretas al Visual Studio, pero que en general se pueden aplicar a cualquier IDE o RAD: Generación de código ininteligible, opciones por defecto que acaban siendo las únicas, dependencia de las herramientas, en lugar de lo que verdaderamente importa en el desarrollo (recordemos que todavía no existe la bala de plata)
Como buen artículo nacido para ser polémico, hay que tomarlo con precaución, pero me parece que siempre es interesante plantearse el viejo tema de IDE vs editor
Algunas frases extraídas del artículo:
What the Internet seems to do best is make commonly available enormously vast resources of mis-information that we never knew existed.Por supuesto se pueden leer flames al respecto: en Slashdot:"Does Visual Studio Rot the Mind?" y Lambda the Ultimate: "Does Visual Studio Rot the Mind?"It is very common for us to say about a piece of consumer technology that “we didn’t know how much we needed it until we had it,” and much of this technology seems targeted not to satisfy a particular need, but to get us hooked on something else we never knew we needed; not to make our lives better, but to tempt us with another designer drug. “I can’t live without my ___________” and you can fill in the blank. This week, I think, it’s the video iPod.
Now I know that five or ten years from now we’ll be able to perform this entire operation entirely from the cable remote, which may actually be a computer remote, including pausing the episode of Friends to download the movie in which the actress playing Joey’s girlfriend appears, and watch it on demand, and then go back to the episode of Friends we were watching if we so desire. And I might be more thrilled at this prospect if I thought it would make us better, happier, nicer human beings. But that’s not immediately obvious to me.
IntelliSense is considered by some to be the most important programming innovation since caffeine.
And yet, IntelliSense is also dictating the way we program.[...]In order to get IntelliSense to work correctly, bottom-up programming is best. IntelliSense wants every class, every method, every property, every field, every method parameter, every local variable properly defined before you refer to it.[...]you must also write you code linearly from beginning to end [...]You must define all variables before you use them.
(Sobre la generación automática de código) The time when I can really use some help is not when I’m starting a program, but when I’m trying to finish it. Where is Visual Studio then?
This bothered me because Visual Basic was treating a program not as a complete coherent document, but as little snippets of code attached to visual objects. That’s not what a program is. That’s not what the compiler sees.If Visual Studio really wanted you to write good code, every time you dragged a control onto your form, an annoying dialog would pop up saying “Type in a meaningful name for this control.” But Visual Studio is not interested in having you write good code. It wants you to write code fast.
I don’t know what rule you go by, but for me it’s always been simple: “Three or more: Use a for.” This is why we have loops. This is why we are programmers.
La misma entrada en BP
lunes, octubre 24, 2005
Visita guiada al nuevo intérprete de comandos de Microsoft
Se puede leer más en diversos sitios (Slashdot:" A Guided Tour of the Microsoft Command Shell", OSNews :"A Guided Tour of the Microsoft Command Shell", El valle del Viento Helado: "MSH: El nuevo Shell de Microsoft, un tour guiado" (Actualización:) y en Barrapunto: "Visita guiada al nuevo intérprete de comandos de Microsoft")
La misma entrada en BP
martes, octubre 18, 2005
El software y la revolución de la concurrencia
El artículo anterior: "The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software" lo comentó Draco en "Se acabó el rendimiento gratis" y yo en "Concurrencia, lenguajes y programadores"
La misma entrada en BP
lunes, octubre 17, 2005
Escalabilidad e interfaces de usuario
Finally, let's not confine scalability to things which can be measured with a stopwatch. Sometimes scalability problems are a bit more qualitative. For example, the Vault Admin tool presents the list of users in a regular Windows listbox control. That's fine with 100 users, but it's not exactly the right UI for a system with 5,000 users.O sea, que la escalabilidad no es (sólo) cuestión de rendimento.
La misma entrada en BP
lunes, octubre 10, 2005
Rendimiento y leyendas urbanas en Java
La misma entrada en BP
viernes, octubre 07, 2005
Threads y más threads
- "Extreme Software Scaling" sobre el impacto de los chips multiprocesador en los programadores y sistemas.
- "Protothreads and Other Wicked C Tricks" sobre una librería multiplataforma de threads ligeros. Leer cuidadosamente, que puede ser muy útil pero tiene muchas limitaciones. (La discusión está muy bien, porque se toca tema espinoso de eventos vs threads)
- Does Python have a concurrency problem? sobre el modo en que Python enfoca (o debería enfocar) el tema.
La misma entrada en BP
jueves, septiembre 08, 2005
Threads y C++(estándar)
Eso si, por lo que leo en los comentarios de LtU, en general los compiladores tienen extensiones para evitar este tipo de cosas, pero el modelo de memoria estándar no lo garantiza. Si no fuese así ya nos habríamos enterado de la inconsistencia :)
La misma entrada en BP
viernes, agosto 12, 2005
Diseño de APIs
Como ejemplo: si tienes que acordarte de llamar a super (o a la clase padre en C++) es que no es un buen diseño. En este caso particular recurre al patrón Método Plantilla (Template Method) para mejorar el diseño.
Y es que, como dice Scott Meyers en un artículo apuntado en la entrada anterior (The Most Important Design Guideline?), "La responsabilidad de un error en el uso de un interfaz es resposabilidad del diseñador, no del usuario". (Convendría seguramente matizar una opinión tan tajante, pero, como norma general, una API es mejor cuanto menos propensa a fallos es)
La misma entrada en BP
martes, julio 19, 2005
Tipos estáticos y dinámicos ¿el fin de la guerra fría?
Visto vía LtU, donde, por cierto, no se han enterado del fin de la guerra :)
La misma entrada en BP
viernes, junio 17, 2005
Enlaces varios
- Siguiendo con la programación paralela en el futuro: "On Threads", "Software in the TLP Era" y TLP Design Decisions (TLP: Thread Level Parallelism)
- "Never Call Virtual Functions during Construction or Destruction": Scott Meyers dando consejos de programación en C++ (sobretodo para gente proveniente de Java o C#). Este es uno de los nuevos incluidos en "Effective C++" tercera edición
- Entrevista en tres partes a Erich Gamma, coautor del famoso "Design Patterns" (más conocido por GoF-Gang of Four-)"How to Use Design Patterns", Flexibility and Reuse y Design Principles from Design Patterns
- La búsqueda de un buen sistema de contrucción de proyectos para C++ en "The Quest for the Perfect Build System". Prueba VS.NET, make, jam y Scons
- "Ajax on Rails" ¿Que mejor que juntar dos de los mejores y más recientes memes de esto de la programación? :)
jueves, mayo 12, 2005
Los síndromes de los programadores olvidados
- El recolector de basura: Jamás borra una linea de código, ni un comentario, ni un módulo no usado...
- El criptógrafo: Sus variables se llaman xyz
- El clon: No empieza nada desde el principio, lo copia todo de algo que se le parece...
- El desconocido: No dejó registro de que era él el que hacía eso. Por algo será :)
La misma entrada en BP
jueves, abril 28, 2005
Cabeceras precompiladas multiplataforma
La misma entrada en BP
miércoles, abril 20, 2005
Sobre la simplicidad
- "La habilidad de simplificar es eliminar lo innecesario para que lo necesario pueda hablar" Hans Hoffmann
- "La simplicidad llevada al extremo se convierte en elegancia" Jon Franklin
- "La simplicidad es la máxima sofisticación" Leonardo da Vinci
- "Controlar la complejidad es la esencia de la programación de ordenadores" Brian Kernigan
La misma entrada en BP