.net

.net

Éste post está basado en algo que leí en un blog que conocí hace un tiempo de un desarrollador .NET americano, Russell Ball. El blog se llama Caffeinated Coder, y ahí ya hay algo que comparto con éste desarrollador: la cafeína y picar código.

Aviso que este post generó mucha polémica en el blog original, ya que ataca la sensibilidad de los Norteamericanos. No se lo tomen a pecho, es totalmente subjetivo y una opinión.

El autor escribió éste artículo con un punto de vista muy interesante, tomando en cuenta que es desarrollador .Net él mismo, además de Norteamericano. Compara a los desarrolladores .NET en la industria del software, con los turistas Norteamericanos en el resto del mundo. Es una comparación, a mi criterio acertada en los fundamentos que plantea.

Como todos sabemos, comenta, una gran parte de la industria desprecia a Microsoft como compañía. Se concentra en el siguiente corolario:

El mismo segmento de la industria de software que no quiere a Microsoft también ve a los desarrolladores que usan herramientas y lenguajes de Microsoft como intrínsecamente menos habilidosos y menos capaces.

El estereotipo sobre los desarrolladores .NET es que no conocerían una "mejor práctica de software" o entender un principio de ciencias de la computación si los mordiera recursivamente en el trasero. Inmediatamente me acordé de la frase "Visual te hace todo solo." Muchos desarrolladores o estudiantes que he conocido, generalmente se cierran en lo que saben de Microsoft .NET y no salen de eso.

¿Porqué existe éste estereotipo y está merecido?

Luego de recibir algunos comentarios bastante duros, pensar y pasar por fases de rabia, negación y racionalización (no lo olviden, él es desarrollador .net), Ball llegó a la siguiente conclusión:

Los desarrolladores que no se ganan a vida de tecnologías basadas en Redmond no quieren a los desarrolladores Microsoft por algunas de las mismas razones que las personas de otros países no quieren a los Norteamericanos. Advierte a sus compatriotas, que si están sorprendidos, es la verdad. Y la mayoría de nosotros lo sabemos, que la mayoría de la gente en el mundo no los quiere en general.

Sin entrar a nombrar las ofensas sociales, políticas, económicas y culturales que realizan sin darse cuenta a diario, se concentra en una ofensa psicológica general:

Los Norteamericanos son intrínsecamente molestos porque rara vez invierten algún esfuerzo en aprender algo acerca del mundo exterior.

Por ejemplo, un Norteamericano que conoce a alguien bien educado de otro país, estadísticamente hablando se va a encontrar que:

  1. El Norteamericano no va a hablar el lenguaje del otro, aunque el otro probablemente hablará Inglés.
  2. El Norteamericano no podrá ubicar el país del otro en un mapa, aunque el otro probablemente podría nombrar los 50 estados.
  3. El Norteamericano no sabrá quién es el líder nacional del país del otro, mientras que el otro no sólo sabrá el nombre del Presidente Norteamericano, sino también dará un resumen de las explotaciones de su política exterior en sus últimos dos períodos del cargo.

Se entiende la falta de interés y diplomacia por parte del Norteamericano. Lo que ve Ball es una dinámica similar con los desarrolladores .NET quienes olvidan totalmente al resto de los desarrolladores. El autor fue acusado en Reddit de "dividir el mundo de los lenguajes de programación en 'lenguajes de Microsoft' y 'otros lenguajes', nombrándolo "un buen punto". Gracias a este razonamiento, se decidió por "viajar un poco", para conocer más sobre las ofertas del resto del mundo del software.

Obviamente, como con todo, no se debe generalizar. Hay muchos desarrolladores .net que no cumplen con este estereotipo, y muchos turistas estadounidenses distintos al "general". De todas formas, es un paralelismo interesante y debatible.

Seguramente los desarrolladores .net se sentirán ofendidos al leer este post, pero tienen que tomar en cuenta que fue escrito por un desarrollador .net, y es una apreciación personal y general. Una opinión que define de forma bastante acertada la opinión que el resto de los programadores tiene sobre ellos.

Como he dicho en otros posts sobre programación, considero que: un programador debe ser "programador" o "desarrollador" (ahí podemos entrar en otra discusión de qué es cada uno...), no "programador Java", o "desarrollador PHP" o "desarrollador .Net".

19 comentarios en este post

Feed de comentarios
  1. Avatar

    RFOG 6 enero. 2009 - 15:03

    Yo creo que los tiros van por otro lado.

    Los lenguajes .NET (y Java) son mucho más fáciles de aprender que otros lenguajes más duros.

    Por lo tanto, con un lenguaje *duro* (léase C++) es difícil ser mal desarrollador porque es muy difícil de aprender bien…

    Sin embargo, casi cualquier mindundi puede aprender a programar en .NET (o Java), por lo que la mayoría de los mindundis se llamarán a sí mismos programadores… cuando en realidad serán drag-n-droperos y usadores de asistentes…

    Con esto no quiero decir que no haya buenos programadores .NET (o Java), sino que en general toda la morralla de pseudoprogramadores se van a esos lenguajes porque con otros no serían capaces de tirar ni diez líneas de código…

    Así luego hay aplicaciones que se arrastran miserablemente cuando usan más de los 100 registros de prueba, y otras que deberían estar hechas en lenguajes más duros y no son más que porquerías que apenas funcionan (y me viene a la cabeza el programa de Nokia para conectar y trastear con sus móviles).

  2. Avatar

    Zona Laptop 6 enero. 2009 - 15:21

    Pese a la subjetividad que implica este post creo que es una aseveración acertada por experiencia propia. Claro que también existen excepciones que rompen esa regla pero a rasgos generales me parece una buena analogía.

    Saludos 😀

  3. Avatar

    Enrique Place 6 enero. 2009 - 18:58

    Muy buen post 😉

    En realidad creo que sucede en todas las tribus, cada cual mira su contexto y se olvida del otro (somos muy “sectarios”, “lo nuestro es lo mejor”, etc).

    Uno se vuelve “rey” cuando es “tuerto en el país de los ciegos”.

    En lo personal me sucede con PHP, lenguaje que siempre me gustó, pero que gracias a la carrera de Analista tuve la oportunidad de trabajar con .Net y con Java (patrones, arquitecturas, etc), y cuando volví a PHP las personas se sorprendían de mi “conocimiento en PHP”, cuando en realidad se lo debo al haber estudiado “arquitecturas” y aplicarlas luego a un mundo mucho más ignorante y aún atrasado en esos conceptos (la gran mayoría aún programa estructurado).

    Más de una vez lo repito, no podemos quedarnos en una sola tecnología/lenguaje/arquitectura, perdemos “visión de bosque”.

    No me gusta MS, pero la verdad que aprendí muchas cosas con .Net al igual que Java.

    Lo único que digo es “qué lástima que lo creó MS” 😉

  4. Avatar

    Lobo 6 enero. 2009 - 22:24

    “Como he dicho en otros posts sobre programación, considero que: un programador debe ser “programador” o “desarrollador” (ahí podemos entrar en otra discusión de qué es cada uno…), no “programador Java”, o “desarrollador PHP” o “desarrollador .Net”.”

    Acompaño la frase, tengo 35 años y empeze a programar en basic y en sistemas operativos anteriores o contemporaneos a DOS, y la verdad que me doy cuenta de esto cuando veo como me educaron en informatica y como se enseña ahora, a mi me dieron una muy buena base teorica en cuanto a la programación y empeze en programas como pascal y c, esto me a permitido ser un poco “autodidacta” y poder aprender otros lenguajes con un texto de guia y ganas, hoy veo que la mayoria de los nuevos programadores no tienen ese “bichito” y se quedan con los que le enseñan, java, .net, php, y poco mas, pero nada de cosas nuevas, creo que seria mejor enseñarles a pensar antes que a pensar en un lenguaje especifico, pero ya se, como me dijieron alguna ves, estoy viejo y ahora todo es un tema de mercado.

  5. Avatar

    Pablo 7 enero. 2009 - 03:01

    Yo estoy totalmente de acuerdo con la analogía, en el 99% de los casos uno se cierra en una cosa y no sale de ahí, yo trabajo con .Net y no me avergüenza,tengo la oportunidad de aprender a hacer muchas cosas y ademas el sueldo es el mejor que he podido conseguir… pero no por eso me creo que .Net es lo único que existe… de hecho si no fuera por la carencia de ofertas que hay en maldonado, estaría todo el tiempo haciendo cursos.

    (…)se llamarán a sí mismos programadores… cuando en realidad serán drag-n-droperos y usadores de asistentes…

    Esa frase es mi definición de los usuarios de GeneXus 😀

  6. Avatar

    fernando 7 enero. 2009 - 19:51

    Gracias por sus comentarios, veo que en general no cayó tan mal. Esperaba el comentario de algún desarrollador .net enojado, pero creo que aclaré suficiente que es una generalización subjetiva, y siempre hay excepciones.

    Es un punto interesante el que plantea Andrés. No sé cómo compararía a los desarrolladores de Mono. Realmente no comprendo a los desarrolladores de Mono. ¿Porqué desarrollan en Mono?

  7. Avatar

    martin 22 enero. 2009 - 19:06

    Eso quizas suceda en EEUU con los desarrolladores o programadores .NET, pero no es lo que sucede en el resto del mundo, principalmente América Latina.

    Micro$oft tiene mucho dinero y es la empresa que mas invierte en investigaciones del mundo, como por la plata baila el mono (lo sabemos todos), Micro$oft ha patrocinado muchisimas universidades y empresas brindando software y licencias a cambio de que se enseñe o se trabaje con sus tecnologías.

    Yo trabajo con PHP, también lo hice con Java y también con .NET y la verdad es que .NET sacando que es privativo y no es multiplataforma.. es un gran framework que mucha gente lo desmerece sin conocerlo. Quizas si puedas hacer un ABM sin tener que escribir mucho còdigo.. pero para hacer una aplicacion mediana-grande se necesita tener conocimientos de base de datos, de .net y saber programar ya que por supuesto .net no va a hacer magia.

    Lo bueno de .net es la gran cantidad de bibliotecas pensadas para “pasar el menor trabajo”.

    Capaz que alguien que nunca programó en su vida y lo primero que se topa es con .NET ..esa persona no aprenda tanto como toparse con c++ o algún lenguaje que requiera que uno haga todos los mètodos a mano.

    Pero si vos ya estuviste programando un tiempo con otro lenguaje y te pasas por .NET vas a ver como.. en lugar de tener que por ejemplo hacer una consulta SQL que sea:
    “SELECT * FROM clientes” tengas que poner
    db.select(“clientes”); y el programa te haga la consulta por vos. Esto es bárbaro si ya tenes experienca porque sabes que es lo que hace, pero si no la tenes.. puede ser la muerte XD.

    P.D: no creo que exista db.select fue solo un ejemplo ilustrativo ^^

    No estoy defendiendo a .net ni mucho menos.. simplemente estoy dando mi punto de vista con respecto a este tema.

  8. Avatar

    Robert 21 agosto. 2009 - 23:34

    Hola, este post esta muy bueno!, yo aprendi a programar por mi cuenta y lo sigo haciendo, empeze con Pascal, estudie algo de C/C++ y ahora estoy aprendiendo POO+UML con PHP. Tuve la oportunidad de profesionalizarme aca en maldonado y la verdad que propuesta educativa es lamentable como muy bien menciono Pablo.
    Siguiendo con la analogia tambien estoy de acuerdo, aprendi a programar en .NET y despues de un tiempo regrese a PHP viendome envuelto en: ¿pero como puedo castear en PHP?, ¿y no se puede usar ctype en PHP? y algunas cosas mas! JAJAJA

    Saludos!

    PD:Si ya se que este post es viejo pero igual quise hacer mi comentario 🙂

  9. Avatar

    hugo gomezz 28 mayo. 2011 - 02:19

    Es notoria la manera en que a veces ideologías que parecen acertadas, generan divisionismo, no es .net mejor o peor, solo es diferente, la facilidad de uso debe ser bien valorada considerando el retorno de la inversion, la curva de aprendizaje y principalmente la productividad, así, si quiero hacer un aplicacion comercial adecuada para windows, es decir para 90% de las personas; seguramente .net será lo adecuado de otra manera si quiero ir a c, aprender un poco cada día, y lograr una aplicacion interesante, por que no?

    Por otro lado no tengo nada contra los Estadounidenses, son un pueblo con un estilo de vida curioso, consumista, pero por otro lado tambien son personas trabajadoras y amables.

  10. Avatar

    nestor 29 junio. 2011 - 18:03

    ya van varios blogs en los que leo post en los que se insinúa lo mismo, “los programadores en .net son seudo programadores”, y lo afirman por el solo hecho de que un programador que utiliza el framework de .net tiene la mitad de la codificación hecha, pero hay que ver que para poder desarrollar una aplicacion eficiente es necesario tener la logica, y las habilidades, no por el solo hecho de usar el IDE de visual studio y crea un formulario, significa que este podra hacer todo el trabajo de back end…

    si… los desarrolladores de .net tienen las cosas más faciles, al igual que un ingeniero o arquitecto tiene las cosas más faciles con autocad u otro software, empero esto no le quita o le hace menos, dejemos de ser tan prejuiciosos.

  11. Avatar

    Diego 31 agosto. 2011 - 05:07

    Podriamos que Nestor ha sido el primero al que le hicieron su sensibilidad a lo largo del post. Muy buen post, coincido con mucho de los de arriba, que .net no es lo ideal para empezar a programar.

  12. Avatar

    dklight 22 septiembre. 2011 - 17:28

    Coincido totalmente con el post, más no así con muchos de los comentarios. Desarrollé en VB6, luego .NET, y luego pasé a java. Sin contar que cuando usé .NET realmente era un neófito, aún usando java me siento un programador bastante mediocre. El problema evidentemente no está en el lenguaje en sí (aunque .NET promueve quedarse en sólo eso y no aprender más), sino en la forma de pensar. Pensar que tal framework funciona en el 90% del mercado, y entonces facilita más la vida, me parece cortoplacista. Es preferible por poner un ejemplo, programar web con estándares, y llegar al 100% del mercado, incluyendo móviles.

    Ahora, me resulta llamativo que todos mencionaron .NET o Java como lo único que existe. Nadie mencionó Ruby, Python, Lua, Perl, Tcl, y otras mil alternativas multiplataformas que hay, que de la mano de los frameworks, son tanto o más simples que .NET o Java, y son despreciados a diario por la mayoría de los programadores. Parecería que cuando uno tiene solamente un martillo, todo parecen clavos.

  13. Avatar

    Leodev 4 julio. 2016 - 17:48

    Yo soy desarrollador y soy de estos que se quedan pegados en .NET (lo confieso), pero no me molesta el post. Creo que está bien planteado por que es así justamente como somos la mayoría.

    El asunto es que -al menos yo- manejo 5 o 6 lenguajes fluídamente pero casi siempre uso C# para todo por que siento que puedo resolverlo todo con él, tal vez por que casi siempre me toca trabajar para PC, pero si mi trabajo fuera para una compañía que se especializa en móviles, probablemente mi orientación sería hacia esas plataformas, profundizaría en Java y Swift, si fuera web profundizaría en PHP, y así con cada opción de trabajo.

    Creo que uno siempre tiene lenguajes regalones y de acuerdo a lo que uno haga está en libertad de usar el que quiera.

  14. Avatar

    Roberto 20 septiembre. 2018 - 19:55

    Yo aprendí a programar en BASIC, maneje COBOL, aprendí Java, maneje PHP, JavaScript, aunque la verdad mi favorito siempre ha sido Visual Basic y ahora en eso trabajo.
    Creo que no debes cerrarte a un lenguaje, todos tienen sus bondades y sirven para diferentes cosas. Y con todos puedes lograr cosas buenas si sabes utilizarlos. He visto aplicaciones robustas en .NET que trabajan en sistemas enormes de millones de registros. Pero también sistemas robustos en PHP y otras plataformas.

Dejar un comentario

Toasty!