Cuestión de rendimiento…

Recientemente he leído varios artículos sobre las ventajas de Windows 7, frente a los actuales XP y Windows Vista. Los problemas de rendimiento de Windows Vista en algunos aspectos como la copia de archivos y otros han hecho que los usuarios ni siquiera se planteen el cambio de sistema operativo, personalmente opino que Vista es bastante superior que XP, aun con estos problemas que después se solucionaron con el sp1. Pero esta situación ha llevado a que Microsoft haya tenido que dar marcha atrás en su política, y se ponga manos a la obra para mejorar su Sistema Operativo optimizándolo para mejorar su rendimiento y cambiar la imagen de su producto más importante.

En el caso de Office 2007, el cambio radical con la adopción del Ribbon ha provocado que muchos usuarios rehúsen a usar este producto debido a su coste, la curva de aprendizaje que requiere el cambio de aspecto, además de que las necesidades de la mayoría de los usuarios se encuentran cubiertas en las anteriores versiones, han provocado que el número de implantaciones de Office 2007 se encuentren lejos de sus versiones anteriores.

Creo que la velocidad a la que nos viene acostumbrando Microsoft muchas veces solo justificada por la idea de vender nuevos productos al mercado, está comenzando a cambiar la forma de pensar de muchos usuarios, se ha creado un clima, en el que muchos piensan “porque cambiar algo que ahora mismo funciona y que cumple con mis necesidades” y que además cuesta dinero.

En mi caso, como desarrollador llevo “trabajando sufriendo” con Visual Studio desde hace varios años, “digo sufriendo porque gran parte mi tiempo estoy esperando…”, en mi opinión el diseño, su arquitectura y su integración con diferentes sistemas es excelente, pero arrastra desde las primeras versiones una serie de problemas que todos los días me hacen pensar si estoy utilizando la herramienta más adecuada, estoy harto de los tiempos de compilación, harto de los diseñadores de formularios lentos, por no hablar del diseño en Asp.net y Wpf  y de otros muchos aspectos relacionados con las pruebas unitarias y herramientas de calidad como FxCop que hacen que día a día pierda gran cantidad de tiempo, en esperar a que un proceso finalice. Si comparo mi actual proyecto con el anterior desarrollado en otro entorno también de Microsoft similar en cuanto a complejidad y funcionalidad, exceptuando por la calidad de código, entonces me dan ganas de llorar, un formulario normal con los mismos campos tarda en abrir decimas de segundo, la compilación con el doble de código y formularios se realiza en menos de 15 segundos, en cambio en Visual Studio puedo pasar hasta 10 minutos para que finalice el proceso, muchos pensaran quizás no deberías compilar tanto o ¿ Por qué no reduces el proyecto para que vaya más deprisa ?, optimizas tus clases, controles, etc. Creerme he hecho de todo desde optimizar, gestionar las builds, hasta utilizar discos SSD, pero hay veces que es necesario compilar a menudo y puedo afirmar que las diferencias de tiempo son abismales, sobre todo en lo que al diseño se refiere. El entorno de producción es increíblemente lento, la carga de los controles en el toolbar es desastrosa, en fin, hoy estaba estimando el tiempo que perdemos en estas tareas y la verdad, mejor no contarlo.

Espero que Microsoft tome nota de estas quejas que afectan todos los días a muchos programadores y que se comprometa tal y como predica, a realizar productos de calidad, en los que el rendimiento sobre todo en herramientas de desarrollo sea un aspecto fundamental, antes de sacar productos nuevos al mercado, estoy harto de los continuos cambios y nuevas tecnologías en las que solo funciona el 70 % de las cosas y que obligan a los desarrolladores a hacer verdaderas virguerías para poder desarrollar sus aplicaciones, estoy harto de escuchar frases como “eso se implementara en la siguiente versión”, y ver pasar errores que nunca se corrigen y que consumen mucho de nuestro tiempo productivo.

No quiero generalizar, considero que Microsoft tiene una amplia gama de productos excelentes, desde Sql Server pasando por Office e incluyendo como no a Visual Studio con el que mantengo desde hace tiempo una relación amor-odio, pero hay aspectos con los que lucho todos los días, y que versión tras versión siguen arrastrando los mismos errores, me pregunto cómo es posible que hace 10 años mi entorno de desarrollo fuese infinitamente más rápido para realizar la misma funcionalidad y hoy en día para realizar tareas cotidianas me encuentre con un entorno tan lento. Pienso que tal y como parece que están haciendo con Windows 7, deben replantearse su política y apostar por mejorar el rendimiento de sus productos, creo que hay muchos usuarios hartos ya de tantas versiones e innovaciones y que esperan realizar su trabajo de una forma más efectiva.

Creo en la innovación, pero no en la innovación a costa de no corregir y mejorar aquello que tienes por detrás. Como dicen en el desarrollo, los errores y la optimización de los módulos que lo requieran deben ser aspectos prioritarios.Creo que Microsoft con algunos productos ha empezado a pagar ya, su decisión de sacar productos cada poco tiempo e innovar a toda costa, y que en los sucesivos años todavía lo hará más si no cambia de política radicalmente.

Pero esta es solo mi opinión, estoy seguro que muchos no estaréis de acuerdo con estas afirmaciones.

17 comentarios en “Cuestión de rendimiento…”

  1. …excelente reflexión Juan, pero me temo que te vas a llevar una decepción con VS 2010, yo me la estoy llevando…espero que para la RTM solucionen lo que ahora mismo tengo entre manos….tiempo desde luego tienen, pero hay demasiadas cosas nuevas.

    Un saludo

    JC’s

  2. En esta larga y sentida reflexión , como dirian en lun programa de humor, has dado en el clavo , estoy totalmente de acuerdo contigo , al final microsoft apuesta por la politica de vender y vender…..no es lógico que cada vez que aparece una nueva versión casi te obligue a cambiar la máquina de trabajo , no es normal………pero es lo que hay

  3. Comparto lo que dices de VS, no tiene nombre en lo que Microsoft ha convertido su entorno de desarollo. Yo también me paso más horas mirando barras de progreso y relojitos de haciendo algo útil.

    ¿Cómo puede ser que un entorno de desarrollo empresarial no pueda con soluciones con 40 o 50 proyectos? ¿Cómo puede ser que tarde siglos en iniciar la ejecución de las pruebas unitarias?

    Es increible. Desde VS 6.0 el rendimiento del entorno de desarrollo está cayendo espectacularmente.

    ¡Un saludo!

  4. Tenéis toda la razón. El diseñador de WPF es una autentica ponzoña, es imposible hacer carrera de él; intentar abrir un archivo de recursos es un cara o cruz de si abrirá el fichero o no y cuando de la solución cuelgan un cierto número de proyectos, compilar se convierte en un ejercicio de paciencia. Yo creo que voy a empezar a estudiar otra carrera entre compilación y compilación :).

    Un saludo,
    Pedro.

  5. Amén,
    a quien le ha sucedido que el diseñador de asp.net pierde el código declarativo? si alcansas a copiar y pegar en otro form, te salvaste.
    Jajaja y SourceSafe, se han llevado sorpresas cuando descarga una versión antigua??

  6. … me pregunto.
    Acaso el VS 6 permitia integrar esa enorme masa de proyectos que exponen aqui ? Teniendo en cuenta que pueden ser multiplataforma y que varian los tipos de proyectos.
    Lo mismo web, que DB, que pensando utilizar MONO.
    El VS ha evolucionado para poder facilitar esa integracion, la asimilacion de proyectos de VS anteriores.
    Con esto aumenta el peso y tiempo de disenho y analisis y quita tiempo de desarrollo.
    Y esto conlleva a un monstruo, es inevitable, a una gran plataforma de desarrollo que cada vez es mas completa y le saca diferencia a la que le siga en cuanto a completitud.
    Esto lo saben muchos de Uds mas que yo por los proyectos que realizan.
    Pudieran acaso hacerse los 130 proyectos de Rodrigo en el VS 6 ? Tomense tu tiempo para pensar.
    Ademas que muchos proyectos actuales son posibles simplemente porque el VS ha dado la posibilidad de desarrollarlos (ojo, no es el unico pero estamos hablando de VS no de otro).
    Me refiero a proyectos con plataforma virtual como bien han explicado en algunos bloggs aqui.
    Y cada dia se ofrecen mas alternativas para aumentar prestaciones.
    Cada dia que pasa Microsoft ofrece mejores soluciones que pueden integrarse y componer un buen esquema de informacion para el Business Inteligence.
    Que es hacia donde vamos.
    La Informacion hacia los es una de las banderas actuales de Microsoft y con lo que ya esta ofreciendo realmente se pueden hacer muuuuuchas cosas que antes llevaba bastante tiempo desarrollar.
    Ahora muchas veces es a puro golpe de click.
    Mientras mas tipos de proyectos e integracion de ellos pueda ofrecer el VS mas grande sera … pero como ahorra tiempo.
    Y pensar que eso pasara como simplemente pasaba un VS 6 por un Pentium II es dificil.
    Sobre todo porque el hardware tambien ha ido evolucionando, y va mas rapido que el software.
    Por lo que tiene un costo hacer la transicion, de dinero para los duenhos del proyecto como para Microsoft desarrollar un nuevo sistema.
    Lo otro cae en el terreno de la magia y esa se la dejo a los espectaculos circenses.
    Todo esto es con el debido respeto a personas que tienen mas experiencia con .NET que yo.
    Pero … volverian al pasado a programar en VS 6 todas las soluciones ?

  7. @Juan Carlos, la verdad es que haber apostado por cambiar el entorno a WPF, ya es de asustar, espero que se hagan eco de los problemas de rendimiento. A veces echo de menos hasta programar en Cobol, que pena…

    @Alejandro, los problemas de rendimiento, no solo se deben a la utilización de múltiples proyectos, si pruebas a tener un solo proyecto, ya sea Windows, Web, Wpf, y tienes controles y formularios se observa que el rendimiento al abrir , cerrar o realizar cualquier cambio es desastroso, lógicamente los problemas de rendimientos se aprecian mas, cuanto más grande es el proyecto, en cualquier caso y después de trabajar en diferentes entornos “en los últimos 5 dedicado exclusivamente a VS” afirmo que el rendimiento y consecuentemente la productividad con VS es pésima y que versión a versión se hace cada vez más lento, si siguen así va a llegar un punto en el que sea totalmente improductivo. La integración de diferentes proyectos no es una justificación para tener un entorno de trabajo tan lento, esto nos hace ser menos competitivos y sube el coste de desarrollo en las empresas de forma exponencial.

    Saludos y gracias por tus comentarios.

  8. @Juan Irigoyen:

    Como explicaba en lo que escribi realmente estoy muy lejos de estar por ahora involucrado en soluciones como las que dices. Lo que si he preguntado a amigos que estan en esa posicion y no estan de acuerdo. Les gusta mucho el VS como esta ahora, con lo que ofrece y con las cosas que se estan preparando hacia un futuro.
    Como te decia, a lo mejor la solucion es que emigres a una plataforma mas sencilla y quiza encuentres lo que buscas. Realmente lo dudo pero la prueba no estaria de mas.
    Expongo todo esto sin animo de polemica, respeto tu opinion todo el tiempo, pero sin duda es un tema interesante y que mereceria una prueba en la practica.
    Que crees ?

  9. Alex, que Visual Studio es una plataforma de lo más completa no lo discute nadie, pero que así mismo es una plataforma lenta es algo también indiscutible para aquellos que trabajamos a diario con esta herramienta, la elección de una plataforma de desarrollo viene dada por diferentes aspectos, en los que el rendimiento es uno más de ellos, para mí una carencia que cada vez se convierte en algo mas importante y estoy seguro es algo que se puede mejorar y mucho, aunque creo que no le dan la suficiente importancia, tal y como han hecho con el sistema operativo Windows Vista y otros productos de Microsoft, de hecho hay una famosa frase de Bill Gates en la que les dice a sus desarrolladores “no os preocupeis de los requisitos de hardware, estos se adaptaran a las necesidades del software”.

    No puedo migrar a otra plataforma ya que la alternativa es prácticamente inexistente si mis desarrollos van enfocados hacia plataformas Windows y tengo desarrollos en WinForms, Web, Dispositivos móviles y otros, el problema es que no hay una plataforma tan completa como Visual Studio, pero no la exime de ser una plataforma con grandes deficiencias en cuanto a rendimiento se refiere. Pero como digo al final del post, entiendo que no todo el mundo este deacuerdo, es lógico, tan solo es mi opinión personal derivada de mi trabajo con Visual Studio, quizas en otros desarrollos donde los requisitos sean diferentes el rendimiento no sea tan importante, todo dependera de la complejidad y el tamaño del proyecto.

  10. Pues la verdad ni loko me pongo a desarrollar tan solo un proyecto por mas pequeño q sea en visual estudio.. yo como ing. de sistemas y programador de sistemas empresariales.. no lo usaria para nada hay mejores herramientas.. todo depende de la capacidad con la cuenta el programador y la formacion academica.. los q empiezas a usar VS. pues solo son programadores academicos… creo q no sabes mucho de algunos lenguiajes y plataformas q como dicen mucho esta en desuso..pero digo algo en power builder o en visual foxpro 9… lo que hacen 3 programadores en 2 meses yo lo hago en 1 mes y solo en cualquiera de estas 2 ultimas plataformas… que pena q en vez de avanzar se retroceda..

  11. @Juan Carlos, pienso que te equivocas, he desarrollado varios años en power builder y en Visual Foxpro desde la versión 2.0 (msdos) hasta la 9.2, actualmente aún mantengo desarrollos en esta plataforma y finalmente tuve que abandonarlas porque no me permitían avanzar, dime como desarrollas aplicaciones en dispositivos móviles en power builder o visual foxpro, o sistemas de comercio electrónico, o arquitecturas orientadas a servicios.
    Visual foxpro y pb pueden utilizar servicios web, pero desgraciadamente estos entornos no han evolucionado lo suficiente para las necesidades actuales, aunque su velocidad de desarrollo es mucho mayor, como me acuerdo de vfp todos los días. No puedes desarrollars sistemas de calidad utilizando pruebas unitarias, workflows, entidades, etc. Muy pocas plataformas pueden hacer sombra a Visual Studio, de hecho para mi es la más completa, únicamente algunas en Java, pueden llegar a competir con este entorno.

    Pero el rendimiento de vs debe necesariamente mejorar, porque si no llegara un día en el coste del desarrollo no compense todo lo que aporta visual studio, veremos lo que nos depara el futuro.

    Un saludo y gracias por tus comentarios.

  12. Hola tocayo… no nesecito hacer software con dispositivos moviles para mis ERP. para eso usamos telefonia (Sale mas Barato) Visual Foxpro. es tan poderoso este lenguaje de programacion.. que me permite hacer prestaciones con diferentes servidores (Oracle,Sql Server,Firebird,MySql..etc)
    es decir si pensamos q la maravilla del mundo es VS.net pues no han visto nada… y lo mas probable que si voy con un sistema en VS.Net. crees q mis clientes van a cambiar sus Equipos ? crees q van a tenerme metido ahi todo dia solucionando los errores y Bugs q tiene esa plataforma…?… No Hijo.. me dirian q estoy loco… ya he probado VS.NET. y hasta el mismo PowerBuilder.. no hay plataforma q me ofresca tanta compatibilidad ya sea en Win98,2000,NT,2003,XP,Vista que es el sistema operativo actual que uso. TRabajo con V.Foxpro 9 y SqlServer 2005. no hay lenguaje q con tan solo unas lines me permite hacer coneccion y actualiaciones.. invito a que revizen las bondades de este programa.. como repito ya intente meterme en VS.Net y fue una gran descepcion… como analista programador de sistemas para empresas clientes… no usaria una herramienta tan incompatible a cada version… creo q debemos pensar y ver los pro y contras.. ya los revize detenidamente…. no hay plataforma mas pesada e improductiva q vs.net. en mi opinion …. los nuevos programadores solo saben de .net. que es lo q academicamente aprenden.. y creen tener el mundo a sus pies.. llevo mas de 15 años en este negocio se lo q es bueno y no lo q tambien
    saludos desde lima peru…..

  13. Yo programo en VFP 9, y he intentado en reiteradas ocasiones trabajar con .NET c#.
    Es lento, aburrido, tedioso, quisquilloso y incompatible con él mismo. Se reinventa más que madona, supuestamente siempre a mejor.
    En FOX puedo usar lo nuevo y lo viejo, desarrollar aplicaciones de gestión es un lujo con FOX y una tortura con NET, simplemente, NET es demasiado genérico, y FOX lo tiene todo en uno para hacer un desarrollo rapido, barato y compatible.
    Espero que M$ saque por fin un .NET que realmente me enganche.
    PD: Ahora a los .NET os intentan vender que useis Silverlight, que el entorno de formularios de NET no es sufiente… Buena suerte.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *