Etiqueta: .NET

Temas relacionados con .NET Framework (todas las versiones)

  • Escribir código en C#. Guía para los developers de Visual Basic

    Pues eso… Ahora que estoy empezando a escribir más programas en C# me doy cuenta de que esto de poner al final de cada sentencia un punto y coma es un poco engorroso. La idea sería que cuando se escribe una línea en C# al pulsar intro en el IDE de Visual Studio automáticamente le agregara el punto y coma al final. Esto lo he puesto como sugerencia en la Developer Community a ver si hacen caso, aunque no sé yo… si quieres ver esa sugerencia (Add automatically the semicolon (;) at the end when writing a new sentence in C# ), sigue el enlace.

    Lo que si me he dado cuenta, o más bien, he confirmado, es que salvo excepciones y algunas características propias, escribir código en C# es casi como en Visual Basic. Por supuesto, si escribes una array debes usar corchetes [] en vez de paréntesis (), debes agregarle a todos los métodos sin parámetros los paréntesis al final, o la forma de escribir un simple if, tienes que acostumbrarte a poner entre paréntesis lo que vayas a comprobar con ese if.

    Después hay cosas que son más raras (C# y otros lenguajes de la misma familia son expertos en esas rarezas que la gente de Visual Basic vemos como ganas de complicarse la vida, jejeje, pero bueno, es cuestión de ir acostumbrándose) por ejemplo el operador ternario de C# que en Visual Basic lo escribimos como un If(comprobación, valor si true, valor si false):

    Dim s = If( valor, "Es True", "Es False")
    dim s = if(valor,  "Es True" , "Es False")

    en C# hay que hacerlo así:

    var s = valor ? "Es True" : "Es False";
    var s = valor ? "Es True" : "Es False";

    Esto asigna a la variable s lo que corresponda, dependiendo de que la variable valor contenga un valor verdadero o falso.

    Viendo el código de VB que te acabo de poner, parece que me contradigo con lo que he comentado de los ifs de C# (que hay que ponerlo entre paréntesis) pero es que este If que he usado en VB es un If especial, y sirve para lo que acabo de explicarte.

    Si queremos usar un If normal podríamos hacerlo de la siguiente forma:

    Dim s = ""
    If valor Then
        s = "Es True"
    Else
        s = "Es False"
    End If
    Dim s = ""
    If valor Then
        s = "Es True"
    Else
        s = "Es False"
    End If
    

    En C# sería algo así (se puede escribir con o sin llaves {}:

    var s = "";
    if( valor )
        s = "Es True";
    else
        s = "Es False";
    var s = "";
    if( valor )
        s = "Es True";
    else
        s = "Es False";
    

    De esta forma, es para cuando después del if o del else solo hay una instrucción, si queremos poner más de una instrucción, debemos usar las llaves:

    var s = "";
    if( valor )
    {
        s = "Es True";
    }
    else
    {
        s = "Es False";
    }
    var s = "";
    if (valor)
    {
        s = "Es True";
    }
    else
    {
        s = "Es False";
    }
    

    Y así… más cosas… como los bucles for, etc.

    No voy a seguir porque no es plan de hacer un curso de cómo hacer las cosas en los dos lenguajes, de todas formas, en mi sitio (www.elguille.info) y en este blog los ejemplos de código que pongo los tengo en los dos lenguajes.

    Y si te interesa saber algunas de las equivalencias entre Visual Basic .NET y C# las puedes encontrar en esta página (en realidad son 3 páginas de equivalencias):

    Equivalencias entre VB.NET y C# (1) (elguille.info)

    Equivalencias entre Visual Basic para .NET y C# (2) (elguille.info)

    Equivalencias entre Visual Basic para .NET y C# (3) (elguille.info)

    En otro momento le echaré un vistazo al contenido completo y veré si añado nuevas cosas, que las hay… ya que la última página la publiqué el 6 de agosto de 2006 y desde entonces (en estos más de 14 años) han salido cosas nuevas que hay que equiparar 😉 

    Y esto es todo por ahora… mañana más (u otro día más).

    Nos vemos.
    Guillermo

    #evolveVB #evolucionarVB

    P.S.
    Escrito en documentos de Google, intentando usar el dictado por voz, pero se ve que no me entiende tan bien o al menos no es mejor de lo que me esperaba… ya que parte de ese texto lo escribí usando Keep y dictándolo, pero como no había forma de añadir los puntos, coma, etc., he intentado con los documentos en la web usando Chrome.
    Seguiré intentándolo… como con C#, a base de probar y probar al final se consigue lo que uno quiere 😉

    P.S.2
    El código en Github:
    elGuille-info/escribir-codigo-en-csharp: Escribir código en C#. Guía para los developers de Visual Basic (github.com)

  • Un cigarrillo electrónico para developers o el Guille fuma pendrives

    Pues eso… que hoy me he/han regalado un cigarrillo electrónico, ya que como ahora me cuesta más escribir el código y terminarlo rapidito, porque estoy usando más código con puntos y comas, así que… como el cigarrillo es casi obligatorio cuando estoy developeando, pues… (Con VB no me es tan necesario el cigarrillo :-P).
    No, en serio… que yo fumo más cuando estoy más dedicado al desarrollo que otras cosas, así que… cigarrillo electrónico al canto, aparte de por temas de salud, es que dejo la casa empestada a tabaco y no es plan… si hasta el bigote se me está poniendo amarillo, así que… Y como soy developer, pues resulta que el cigarrillo ese electrónico (recargable por USB) es como un pendrive… pero más grande… si no te lo crees… mira la foto.

    El Guille fuma pendrive, y pa muestra tengo uno en la mano izquierda (a la derecha según se mira la foto), que no que el cigarrillo-pendrivado es el que tengo en la mano derecha…

    Y ya de paso, puedes localizarme, que en la foto está la ubicación de #folleskilandia nº7 😉

    Cuando me trajeron el cigarrillo, yo lo esperaba normal, pero no así… jajaj… además la cápsula que lleva (con un 0,8% de nicotina) tiene sabor a arándanos… y a mí me gustan los arándanos… así que… en el día de hoy (bueno, de ayer por la tarde hasta hace un rato) me he fumado el equivalente a un paquete de 20 cigarrillos… pero, afortunadamente, no de nicotina.
    Y es que la estanquera dice que cada cápsula equivale a un paquete de tabaco, así que… como ya he tenido que cambiarla, pues… a por el segundo paquete 😉
    Y, como te decía, estos que tengo saben a fruta roja, y como me gustan, lo mismo por eso me lo he fumado entero… en fin…

    Y sobre lo que te he dicho al principio de que ahora estoy usando más puntos y comas (porque estoy escribiendo más cosas con C#), aunque esa no es la razón para que fume más, jejeje. Y es que como no creo que esta gente de Microsoft se retracte de la decisión de no seguir añadiendo nuevas características a VB, y como yo no me voy a quedar estancado solo con .NET Framework 4.8 ni solo con las aplicaciones de escritorio, pues… he tomado la decisión de añadir a mis aplicaciones código en C#, de esa manera cuando quiera hacer algo para .NET (Core) que no se pueda hacer con .NET Framework 4.8 ya estaré más suelto a la hora de escribirlo con C#, ya que con VB no podré. Porque creo que la petición que les he hecho para que sigan evolucionando Visual Basic no va a prosperar. Aunque si quieres apoyar la petición, puedes hacerlo (aquí te explico más detalles).

    #evolveVB #evolicionarVB son los tags que he creado para la petición, por si quieres usarlos 😉

    Sobre lo que te decía de C#, en la última utilidad que estoy haciendo, para comparar el contenido de dos directorios y poder manipularlos (borrar, copiar, etc.) un programilla que los más veteranos (en edad) podrán comparar con el Comandante Norton que hace años algunos usábamos con MS-DOS. Una nueva opción que he añadido (para seleccionar y modificar los colores de los temas a usar) he decidido escribirla completamente con C# y usarla desde el proyecto que ya tengo en Visual Basic. Y casi seguro que para las nuevas cosas que quiera ir añadiendo a otros proyectos o los nuevos que vengan, seguiré probando con los puntos y comas.

    Este proyecto que te comento aún lo tengo en desarrollo, y si bien la parte funcional del programa ya «funciona», (es decir, ya se pueden comparar los directorios y operar con el contenido), aún no está terminado, pero si quieres echarle un vistazo, lo tengo publicado en github: Comparar directorios.

    Por cierto, en la foto está el proyecto de VB con el formulario en modo diseño, el VS Code con código de C# y… una máquina virtual con el QBX (Basic Professional) que es para MS-DOS.

    Pues esto es todo… otro día más…

    Nos vemos.
    Guillermo

  • ¿Te gustaría que a VB.NET le añadan nuevas características en .NET 5 (.NET Core)? pues… vota esta petición

    Pues eso… que eso de que a los que preferimos VB sobre C# para crear nuestras aplicaciones (y aunque no lo prefiriéramos) no nos debería parecer bien que la gente de Microsoft haya decidido no añadir nuevas características al lenguaje, dejándolo estancado… es decir, que si bien podremos seguir usándolo no le van a añadir nuevas características. Por eso he publicado una petición en la comunidad de desarrolladores de Microsoft para ver si no lo dejan de lado.

    Actualizado el 8-mar-2021

    Esta es la respuesta de la gente de Microsoft (por Kathleen Dollar ex-MVP de Visual Basic que ahora trabaja en Microsoft):

    Our strategy is here: https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/

    I do not think stabilizing the language blocks using new technologies in .NET 5.

    Almost all new .NET 5.0 features are in the libraries and tools, which Visual Basic takes can use. Even features such ref struct which are not available in VB improve VB applications because they speed up operations in the BCL. And the BCL has a commitment to provide VB (and F#) friendly overloads for BCL features.

    If there is a specific new feature, other than ref struct, that is blocking development, feel free to post a more specific issue.

    Y de paso ha cerrado el hilo. Su respuesta es del 6 de enero de este año de 2021, aunque yo lo vi ayer, le respondí y Daniel Seara también y con más firmeza aún, jejeje

    En fin… como le he contestado a Dani: Esto es lo que ahora nos podemos esperar los que usamos Visual Basic de la gente de desarrollo de Microsoft.

    Es decir, ¡ahí te quedas, y búscate la vida!

    En los enlaces que hay en el párrafo anterior están los enlaces a lo que comentó la gente del team de .NET sobre que Visual Basic no evolucionará como lenguaje aunque se podrá usar para generar aplicaciones de .NET 5.0 y .NET Core o .NET Standard (además de .NET Framework), pero te los repito: Visual Basic support planned for .NET 5.0 y la petición también la repito 😉 : Will be back Visual Basic evolve with C#?

    Y la petición que yo te hago a tí que estás leyendo esto es que pinches en el enlace de la petición (este) y vote por esa petición, si te parece conveniente, claro, que tampoco te voy a obligar… ¡Faltaría más!

    Y es que da la impresión de que los de Microsoft se han olvidado de todo (el dinero) que les ha dado Visual Basic (tanto para .NET como las versiones anteriores llamadas de forma genérica: VB6) y que lo abandonen de esa forma, mientras que F# si que seguirá evolucionando, que C# sea la estrella es porque está ligado 1 a 1 con el avance de .NET y por tanto debe seguir avanzando, tal como te expliqué en El porqué C# siempre tendrá novedades aunque Visual Basic ya no. Precisamente ahí te comenté lo que Anthony D. Green (un Program Manager de Visual Basic) opina sobre esto de que Microsoft no le dedique, al menos, la misma cantidad de persona que le dedica a F#, no, no tengo nada contra F#, solo que me extraña que un lenguaje que no usará ni la décima parte de la gente que usa VB.NET siga «palante» y VB no. Según ese señor, no sería necesario dedicarle más de tres personas (en nómina) aparte de los desarrolladores que quieran colaborar con el desarrollo (y la evolución) de Visual Basic. Si quieres, lee el artículo de Anthony y, aunque es un poco largo, deja muy claro las cosas.

    Y ya no te canso más. Solo decirte que si te animas a votar favorablemente por la petición te explico cómo hacerlo:

    Ve al sitio de Developer Community y accede a mi petición y pulsa en la flecha de arriba que está en la parte superior izquierda (ver la figura) para votar favorablemente, pero, por favor, no pulses en la flecha que señala para abajo, ya que quitarías votos… y no es plan 😉

    Para votar a favor, pulsa en la flecha que señala para arriba. Gracias.

    Agradecerte de antemano tu apoyo… y si quieres usar el hashtag (#evolvevb) pues mejor… que actualmente solo aparece un resultado y… no tiene nada que ver con evolucionar VB (que es lo que viene a significar evolveVB) 😉
    Si quieres puedes usar #evolucionarVB para que todo quede en casa.

    Por cierto, la Developer Community de Visual Studio está para añadir peticiones de nuevas características y para informar de bugs/fallos en Visual Studio y .NET.

    Pues nada más… ¡gracias!

    Nos vemos.
    Guillermo