martes, agosto 18, 2009

Discutiendo modelos de programación...

El hombre es esclavo de sus palabras...Michael Braude, Ingeniero de Software de Microsoft, critica a quienes se consideran programadores, o desarrolladores, en tanto construyan aplicaciones para la Web. Y una nube de programadores para la web lo refuta, abriendo una discusión sobre el estado de las arquitecturas y paradigmas de construcción de software. Y el cargo a Braude es de estar algo "outdated"...con el corolario extraído por más de una persona, de que el error es extensible a su contratante, Microsoft:
Well the fact that Michael works for Microsoft is a bit disturbing. Perhaps it is linked in with how Microsoft first missed the boat on the importance of the internet.
Pacifika on August 14, 2009 5:47 AM

Jeff Atwood, en The Coding Horror, cuestiona sus argumentos -en realidad, conocí la discusión por su nota- y da vuelta su argumentación, sosteniendo que en realidad las aplicaciones de escritorio ya están muertas.
Así, Atwood toma las palabras de Braude:
The reason most people want to program for the web is that they're not smart enough to do anything else. They don't understand compilers, concurrency, 3D or class inheritance. They haven't got a clue why I'd use an interface or an abstract class. They don't understand: virtual methods, pointers, references, garbage collection, finalizers, pass-by-reference vs. pass-by-value, virtual C++ destructors, or the differences between C# structs and classes. They also know nothing about process. Waterfall? Spiral? Agile? Forget it. They've never seen a requirements document, they've never written a design document, they've never drawn a UML diagram, and they haven't even heard of a sequence diagram.

But they do know a few things: they know how to throw an ASP.NET webpage together, send some (poorly done) SQL down into a database, fill a dataset, and render a grid control. This much they've figured out. And the chances are good it didn't take them long to figure it out.

So forgive me for being smarmy and offensive, but I have no interest in being a 'web guy'. And there are two reasons for this. First, it's not a challenging medium for me. And second, because the vast majority of Internet companies are filled with bad engineers - precisely because you don't need to know complicated things to be a web developer. As far as I'm concerned, the Internet is responsible for a collective dumbing down of our intelligence. You just don't have to be that smart to throw up a webpage.

I really hope everybody's wrong and everything doesn't "move to the web." Because if it does, one day I will either have to reluctantly join this boring movement, or I'll have to find another profession.

Y le contesta con su cuestionamiento del paradigma de las aplicaciones de escritorio:

Let's put aside, for the moment, the absurd argument that web development is not challenging, and that it attracts sub-par software developers. Even if that was true, it's irrelevant.

I hate to have to be the one to break the bad news to Michael, but for an increasingly large percentage of users, the desktop application is already dead. Most desktop applications typical users need have been replaced by web applications for years now. And more are replaced every day, as web browsers evolve to become more robust, more capable, more powerful.

You hope everything doesn't "move to the web"? Wake the hell up! It's already happened!

Uno de los argumentos en favor de las aplicaciones Web de Atwood es su ubicuidad y facilidad de distribucion:
If you want your software to be experienced by as many users as possible, there is absolutely no better route than a web app. The web is the most efficient, most pervasive, most immediate distribution network for software ever created. Any user with an internet connection and a browser, anywhere in the world, is two clicks away from interacting with the software you wrote. The audience and reach of even the crappiest web application is astonishing, and getting larger every day.
[...] As a software developer, I am happiest writing software that gets used. What's the point of all this craftsmanship if your software ends up locked away in a binary executable, which has to be purchased and licensed and shipped and downloaded and installed and maintained and upgraded? With all those old, traditional barriers between programmers and users, it's a wonder the software industry managed to exist at all. But in the brave new world of web applications, those limitations fall away. There are no boundaries. Software can be everywhere.
En fin. Las palabras de Braude se publican en su blog personal; como él dice en su introducción, "The opinions and views expressed on my blog are mine and have nothing to do with my employer. I am just one of 90,000 employees, and plenty of them would disagree with what I say here". Sin embargo, existe más de una coincidencia entre su punto de vista, y la puja global de Microsoft con Google. ¿No es así?

1 comentario:

perezgump dijo...

Muy buenm post, es como la musica.
quienese se dicen musicos por sus raices no acuden a lo digital y saben como se interpretara cada acorde.

Aqui Braude quiere que intepreten el codigo en toda su extencion, se sepa manejar. De hecho eran una de las cosas que me intrigaban, pero veo que a personas con bastante experiencia tambien le hacian ruido.

Nos pasamos algun tiempo entendiendo algoritmos para eficientar recursos eficientar codigo y cosas que pocas veces en sistemas web me parece sean aplicados.

Es la opinion de una persona que vio la evolucion de la programacion, que al parecer no fue a su forma de ver de lo mejor. Menciono algo de los ambientes de desarrollo graficos???