Lo que pienso de: Programar en .net es faaaaacil

Y no, no es facil programar en tecnologias .net!

Con esto me refiero a la plataforma en general, ya que mas de una vez he conocido profesionales que han venido de lenguajes tradicionales como C/C++ o Visual Basic, que luego de revisar la sintaxis han dicho… bueno, dime donde debo programar?

NO, no deberia ser asi, no es asi!

El problema fundamental de todo esto nace cuando las personas consideran que .net es hacer un bucle o considerar un if dentro de su transacción, cuando muchas veces no conocen el concepto o la razon principal de usar siquiera un contexto de gestión de transacciones.

Basados en esta premisa es que nos encontramos con equipos de programación que por ejemplo, construyen:
– Librerías para enviar correos… usando apis, si, apis!
– Paquetes con algoritmos de compresión… reproduciendo algun algoritmo que encuentran en la red
– o como una vez me dijeron, un manejador de colas!

Conversando con unos amigos (de los cuales comentaré en otros posts), todo nace de la diferencia que se tiene entre una persona que se preocupa por hacer su trabajo y otra, que, valgan verdades, se preocupa si, pero por hacer bien su trabajo.

Entoces, consideremos a las personas que les importa cumplir con su trabajo (es decir, a las primeras), lo cual no deberia estar mal visto, pero muchas veces, al basarnos en este supuesto, nos encontramos con gente que por listarlo de una manera simple y sin animo de sonar pretencioso (palabra que aprendí hace unos días), serian aquellas que:
– Anidan sentencias condicionales (osea, IFs) de manera descomunal
– Confian al 100% de las bondades de una tecnología sin siquiera hacer una prueba real ni una prueba de concepto
– Consideran como prueba de concepto un aspecto ideal de un problema, cuando en la realidad los aspectos ideales no existen
– Consideran que saber la sintaxis de un lenguaje es igual que conocer la plataforma en si
– Consideran que .net es un lenguaje (muy similar al anterior)
– Consideran que todas las demos de una presentación aplican a todas las realidades
– Confian ciegamente en lo “lo ultimo que salió”, si es CTP mejor, pues es cool
– Confian ciegamente en las facilidades que nos brinda cada vez más nuestro querido Visual Studio

Y es que en realidad todo se remonta de manera simple a la ultima linea, el Visual Studio, que de buenas a primeras, parece muy facil de usar.

Es por ello, que muchas personas lo usan unos días y dicen (algo que en realidad puede ser mas que cierto) “ya se .net, ya se usar el Visual Studio”
Lo cual tambien puede suceder cuando nos mandan a un curso de actualización a la siguiente versión de Visual Studio.

Entonces, muchas veces aquí comienza el problema. Ya que ver con tanta facilidad a esta herramienta (inicialmente me estoy basando en el ultimo caso mencionado) ocasiona que pensemos que con solo tener instala tal herramienta, tendremos la solución a nuestros problemas.
Es por ello, que muchas veces al tener problemas con una aplicación .net mas de una persona logra decir “es que es .net” cuando muchas veces deberia decirse “es que lo programé mal

Aqui el problema es claro, desde hace mucho tiempo se está confundiendo el concepto de saber usar una herramienta, plataforma o lenguaje con el hecho de aprovechar las bondades de las mismas.
Lo cual genera, por un lado un problema de exceso de personas que conocen una herramienta, plataforma o lenguaje, ocasionando de manera increible la disminución de pretensiones salariales con animos de conseguir empleo ante tanta competencia.
Mientras que por otro lado, la calidad de los trabajos en la plataforma muchas veces es mal visto. Diganme si acaso no tienen un amigo que trabaja con otros lenguajes y le dice “pero si .net es lento” o “eso no es escalable

Aun recuerdo la vez que se cayó un sistema de bolsa de algun país europeo, y que creen? estaba en .net! recuerdo que un amigo me dijo “es que no soporta tanta carga” a lo que yo le respondí “yo creo que está mal construido

Creo yo, que la herramienta, plataforma, lenguaje o lo que se encuentre disponible, forma parte de a lo mas el 50% de la solución a lo que nos vayamos a enfrentar.
Esto por que? porque el desarrollo o construcción de software, no es facil, independientemente del lenguaje, no lo es.
Es por ello que hay empresas que se encargan de hacer pruebas comparativas entre plataformas, o hay proyectos que solo se hacen para ver la factibilidad de una herramienta, y esto es, poco de mencionar porque hay casos y mas.

Personalmente hablando, al haber vivido con el Visual Studio (a veces me da un poco de verguenza decirlo una vez mas) desde las primeras ediciones del mismo, esto es, el Visual Studio .net del 2002, creo que la herramienta ha evolucionado de manera inconmensurable, y que, lo admito, confío en muchas de sus bondades, pero siempre queda mi lado humano (si, aun tengo), ese que me dice “y que tal si hacemos esto otro?” o “que tal si usamos el concepto anterior y aun no pasamos a la ultima versión?” o “es momento”
Y estoy seguro, que a mas de uno le ha pasado, y esto no por desconfiar, sino por acceder a eso que llamamos muchas veces experiencia.

Y no, no es que me considere un gurú ni nada por el estilo, pero el mensaje es claro y es parte de lo que dijo Eber en una conversación que tuvimos hace un par de horas via twitter: “lo convierte en herramienta de doble filo”

Lo cual me recuerda lo que siempre sale a discusión o muchas veces a manera de broma, el programa nunca se equivoca, el que se equivoca es el que lo programó, es decir, tu le dices al programa… equivocate 😀

Pues nada, eso es lo que pienso de programar en .net, la verdad es que, no se si algun dia termine de conocer las bondades del Visual Studio o las 3622020202743643 clases de todos los frameworks disponibles (porsiaca, el número es broma) pero estoy ahi, intentando aprender un poco mas, nada mas.

Saludos
@jersson

16 comentarios sobre “Lo que pienso de: Programar en .net es faaaaacil”

  1. Estoy totalmente de acuerdo contigo, uno de los culplables de esto es los multiples asistentes que vienen en Visual Studio que precisamente buen código no escriben. Hay programadores que son capaces de entregar programas a clientes con este código y sin revisarlo. Así pasa lo que pasa.

  2. Creo que concuerdo contigo en la mayoría de tus puntos, y he escuchado a más de una persona hablar de esos “defectos” del .net, incluso un colega una vez mencionó: “Las aplicaciones en .net no se comunican entre sí a mas de 20 metros”… “Que?”
    Yo tampoco soy gurú ni nada por el estilo, pero si me gusta conocer sobre la tecnología .Net.
    Muy buen artículo Jersson.

  3. Buen articulo Jersson, todo tus puntos son grandes verdades que yo lo he vivido, pero como dices estamos para aprender un poco mas cada dia. XD Saludos…

  4. Muy Cierto lo que comentas.

    Aunque también uno de los principales culpables es el microsoft, por ejemplo, tome los cursos de .Net (de los de microsoft) y la mayoría de los ejemplos se hacian con los wizards, datasets usados indiscriminadamente, código SQL dentro de la el archivo ASPX, etc. etc. y si eres muy novato pues los usas porque son muy “fáciles”.

    Y a consecuencia de esto muchas veces los jefes te dicen, “pero si es muy fácil, porque te lleva tanto tiempo”.

    Felices fiestas.

  5. Hola amigos, muchas gracias por sus comentarios, aqui mis apreciaciones al respecto:

    Alberto: Es la verdad, aunque a pesar que los asistontos (como le decimos algunos amigos) han ido mejorando con el tiempo, me parecería muy poco profesional no revisar lo que se entrega!

    Nestor: pues muchas gracias, el tema en si es conocer un poco mas antes de hablar de las falencias de un producto o tecnología, no?

    EDOSwit: Pues si no aprendemos cada dia, cuando? 😀

    @alonsoc: Pues creo que la culpa siempre termina siendo compartida, uno decide que herramientas o tecnicas usar. Sobre el codigo incrustado, aun recuerdo que en las clases el profesor decia “esto es una demo! no es el mundo real”

    Saludos amigos, muchas gracias y Felices Fiestas!

  6. Bueno.. y eso que una compañera de curro, programadora de VB6, le diga, que si se pasa a .NET, mejor optar por C# (aunque casi es indiferente ya con las nuevas versiones) y te diga asi con rotundidad: Bah!! si es lo mismo que Vb pero poniendo ; al final y cambiar los () por [] y se quedo tan tranquila!!!
    Yo llevo con esto de .NET desde el 2003 (ya 7 años!!) y siempre he dicho que .NET no es que sea un lenguaje mas o mejorado, es un entorno que facilita al programador, hacer las cosas por menos y mejor y que te ayuda a comprobar que lo haces mejor (resharper, intellisense,Refactoring, etc..)
    Y eso sin contar las mejoras con Linq, collections, etc…
    pero claro… trabajando con VB6…que “mentalidad” aportan al .NET si no estan al dia o saben que manejan?? (y no quiero contar, la aplicacion principal de una empresa nacional echa en .NET pero con “mentalidad” de vb6, que solo hicieron una “migracion” y retocaron aquellas partes que les informaba del error)….

  7. asi es amigo UnoQuePasaba…, es lamentable escuchar eso de VB con puntos y comas, pero bueno, si es de broma, se puede decir :D, pero en el fondo, no solo se trata del lenguaje!!!

    pues c# programmer, que te puedo decir, hacerlo bien, ese es el problema!

    Saludos y Felices Fiestas

  8. Hola Jersson tocas un punto muy interesante y es verdad quien te escribe es alguien que viene del mundo java y me parece que uno de los principales problemas es el uso casi exclusivamente de un ide como unico medio de desarrollar en .Net la ultima vez que lo vi fue en su version 2003 asi que las disculpas si meto la pata y es que en muchos sitios no se forma a desarrolladores (termino que prefiero al de programador) en lugar de ello se forma usuarios de visual studio y clickeadores compulsivos de wizards, en java me parece que el hecho de no contar con un unico ide y en algunos casos no necesitarlo con (ant y un block de notas podria bastar para algo sencillo) ayuda al hecho de aprender mas el lenguaje en lugar del uso del ide, ojo que no estoy diciendo que un lenguaje sea mejor que el otro, solo que la caracteristica de no tener un ide exclusivo ayuda a centrar la formacion en el lenguaje y no en el uso de la herramienta, idea que creo que se refuerza con lo que mencionaste en los cursos de capacitacion si haces un ejemplo metiendo sql en el aspx te estas saltando por completo el modelo de capas, estan haciendo un ejemplo muy claro de algo que no se debe hacer, a mi modo de ver una herramienta no deberia medirse por lo facil de usar que es sino por lo facil que te permite hacer bien tu trabajo, ojo que ambas cosas son muy diferentes, pues si me pone 500 wizards pero despues tengo que revisar cada uno para que no me incluya codigo basura… cual es la facilidad o utilidad? y creo que aqui entra bien algo que lei una vez si solo tienes un martillo empiezas a ver todo como si fueran clavos y puedes pensar que todo se arregla con wizards

    bueno es mi opinion saludos y feliz fiestas

    Grubhart

  9. Hola Grubhart, en realidad si hay alternativas para desarrollar en .net, sucede lo mismo con el bloc de notas ya que el concepto de trabajo es el mismo. El problema, es que muchas veces la facilidad nos genera mas problemas a futuro, es aqui cuando hablamos de aspectos como la deuda técnica y demas variantes.

    Te comento que cuando mencioné una vez la frase del martillo y los clavos, un experto en SQL quedó ofendido, pero bueno, por algo será no?

    Un abrazo y que pases un buen recibimiento del año.
    Saludos.

  10. como q esta frase la he escuchado “pero si es muy fácil, porque te lleva tanto tiempo?” . . . cheeessu,, creo q todos cuando nos iniciamos en un trabajo REAL.. no haciendo demos de clase,, ahi vemos realmente como es el trabajo,, al menos io me encontre con este tipo de momentos…. como dijo un prof: “cuando inicien la van a …..” dicho y hecho jejeje..
    pero asi estamos ganando experiencias y sobre todo aprendiendo…. y me quedo con lo q un tio me dijo en su momemnto ” el dia q no he aprendido nada, ese dia no he nacido”.. creo q se copio de algun lado,,, pero se me quedo…
    Salu2 y felices fiestas de fin de año…
    q la pasen super,, estudiando !!!

    Bytes

  11. Cuando dices “Fácil” sin establecer un contexto, estás introduciendo un término Fuzzy. Cuantitativa y cualitativamente,”Facil” no me dice nada, es una apreciacion vaga. ¿Fácil con respecto a qué?. Por ejemplo, si tomas como referencia Java, yo díría: Programar en .net es fácil XD

  12. Programar no es fácil, pero no solo en .net, en cualquier lenguaje. Programar es un arte y requiere una alta capacitación, mucho trabajo y formación continua.

  13. Hola Fernando, asi es, la realidad se ve cuando se sale del cascaron 😀

    Thomas, que bueno que lo veas tan facil =)

    Juan, muy de acuerdo, el arte redobla y es por eso tan complejo y muchas veces tan incomprendido.

    Saludos!

Deja un comentario

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