Porque no usar Visual Basic
Un interesante análisis extraÃído de La Cueva del Último Dragón en donde nos dice, porque Visual Basic genera un negativo impacto en nuestra economía, nuestro trabajo y nuestro medio ambiente…es para pensarlo y analizarlo…
Cuando un programador solo sabe de Visual Basic trata de justificarse alegando cosas como.
En una empresa no importa si al sumar 2 + 2 el cpu tarda 1 segundo más en visual basic que si estuviera escrito en C u otro lenguaje
Esta excusa es la más común, el problema es que si importa, Visual Basic le hace daño a las computadoras y al medio ambiente.
Independientemente de lo limitado del código, que no soporta objetos y todo lo demás, el compilador de Basic como admiten sus programadores tarda más que otro lenguaje porque su optimización de código nativo de maquina es basura, ¿pero como se refleja esto en la productividad?
Para el programador el hacer un programa rá¡pido, pero mal hecho y más si su depurador es solo la tecla F5, esto hace parecer al programador como hábil, pero veamos. Que pasa con el programa:
VB tarda más por que el código no está muy bien optimizado, significa que antes de que haga la simple operación de 2 + 2 habrá ejecutado código basura, todo ese código basura tiene que ser digerido por el procesador, como cualquier procesador moderno ejecutar código significa chupar más energía.
Imaginemos un proyecto de contabilidad, el cliente fue escrito en visual basic 6 y un contador se encuentra en el aeropuerto funcionando con la batería de la laptop, si él tiene que mantener todo el tiempo corriendo su programa visual basic, su batería durara 1 hora menos que si estuviera escrito en C, por que el ejecutar código del VB el procesador consume mayor cantidad de energía.
Por un programador de Visual Basic, un contador trabajo una hora menos debido a que su batería fue chupada por el procesador por estar ejecutando código compilado por VB
Si se tratara de una Desktop que tiene que mantener el cliente abierto todo el tiempo, esta desktop consumiría más energía, lo que a su vez se reflejaría en el pago de la energía eléctrica de la compañía, ni pensar como crece el cargo si se trata de 10,20 o más computadoras de contadores con ese cliente escrito en VB
Para los que saben deducir es aquí donde hablo acerca de ser malo con el ambiente, si consume más energía, significa que las plantas de energía necesitan quemar mas carbón para solventar las oficinas que operan con programas hechos en visual basic soltando mas contaminantes al aire.
Es increíble como un mal compilador puede llegar a afectar la ecología y ensuciar el aire y por si fuera poco contribuye al calentamiento global.
Otros lenguajes causan este tipo de problema, pero todos sabemos que por sus características operan de esta forma.
JAVA, Framework.NET y todos los lenguajes soportados y los lenguajes interpretados como python, perl, PHP
Con todo y eso sorprende que lenguajes interpretados como perl y php consuman menos recursos que uno compilado como VB
Si eres programador de Visual Basic y si tienes la oportunidad de abandonarlo hazlo, todos te lo agradecerán. Desde tu computadora, hasta el medio ambiente y la productividad de la gente que opera con laptops aumentara.
Luego de haber leído el artÃculo publicado por David Rivero, me encuentro con un buen ejemplo publicado por un navegante del sitio web.
Dark Zen says:
December 5th, 2007 at 1:52 pmEn cuanto a Visual Basic (Visual Basic 6) estoy de acuerdo contigo, es un lenguaje hasa cierto punto que permite que hagas cosas malas muy facilmente, entre esas consumir procesador como loco.
Ahora, como comentario extra, en el caso del Visual Basic.Net y C#, que ni son lo mismo ni son igual, la brecha es mas corta, debido a que el codigo que crear el compilador es directamente pasado a MSIL, entonces cada compilador implementa diferentes optimizacion de codigo y demas, haciendo un simple experimento con lo mencionaba Last dragon, la suma sencilla de 2+2, creamos una version de la funcion en los dos lenguajes mas usados del framework:
VB.Net
Public Class ClasePrueba
Public Function Suma() As Integer
Return 2 + 2
End Function
End ClassC#
public class ClasePrueba
{public Int32 Suma()
{
return 2 + 2;
}
}Compilamos las dos clases y checamos con Reflector el codigo arrojado por el IL. Tambien se puede usar el ILDASM.
VB.NET
.method public instance int32 Suma() cil managed
{
.maxstack 1
.locals init (
[0] int32 Suma)
L_0000: nop
L_0001: ldc.i4.4
L_0002: stloc.0
L_0003: br.s L_0005
L_0005: ldloc.0
L_0006: ret
}C#
.method public hidebysig instance int32 Suma() cil managed
{
.maxstack 1
.locals init (
[0] int32 CS$1$0000)
L_0000: nop
L_0001: ldc.i4.4
L_0002: stloc.0
L_0003: br.s L_0005
L_0005: ldloc.0
L_0006: ret
}Como podremos ver, practicamente son iguales, por cierto el compilador al momento de optimizar, nuestra suma de 2+2, la interpreta y pone directamente como 4, je je.
Aunque tenemos que tomar en cuenta, en el caso de VB.NET, el framework al momento de compilarlo nos agrega ademas de nuestra clase, dos clases mas, el My y el My.Resources (en el caso del framework 2.0), el cual nos da acceso a funciones estandarizadas para obtener datos del entorno, acceso al filesystem, etc. C# no los agrega, ya que delega la responsabilidad de implementarlos al programador (Quizas esa es la basura a la cual se refiere Last Dragon, pero si la estas usando, tecnicamente no es basura).
Por lo tanto, pienso que tenemos que analizar para que queremos cada lenguaje, ya que si necesitamos algo que sea eficiente y tener control total sobre lo que se desarrolla, es mejor C#.
Pero si necesitas crear una interfaz de usuario, en el menor tiempo posible y con gente que es inexperta o que no tiene mucha experiencia desarrollando sistemas, es preferible que use VB.Net, mas si se trata de tareas no criticas o que no exigen tanto procesamiento, (ojo la interfaz, la presentacion, pero nuestro core de procesamiento o logica de negocios, definitivamente no debe de residir en nuestro cliente, quizas puede estar en una libreria aparte en otro lenguaje adecuado para ese fin).
Como repito, el uso o no de lenguajes, depende de la necesidad, es como Ruby on rails, es muy facil de usar y crear sitios con el, pero es demasiado lento en comparacion con PHP o Perl (comparando la ejecucion), entonces debemos decidir, tenemos el programador con los conocimientos necesarios para hacer el trabajo en el lenguaje robusto en poco tiempo, o tenemos a alguien que medio programa pero puede sacar en el mismo tiempo el proyecto con ayuda de un lenguaje mas sencillo.
Mas claro imposible.
No tengo mucho tiraje en programación, pero cualquier persona interpreta lo que arriba se expone. Visual Basic, es una mierda. Está bien para comenzar a aprender o efectuar pequeñas aplicaciones, pero…No te estanques ahí.
Saludos!
Filed under: Laboratorio







“No tengo mucho tiraje en programación, pero cualquier persona interpreta lo que arriba se expone. Visual Basic, es una mierda. Está bien para comenzar a aprender o efectuar pequeás aplicaciones, pero…No te estanques ahÃ.”
No tienes mucho tiraje en programacion y juzgas asi como asi :S
Ok aya tu ningun lenguaje es bueno para “estancarse” en el, es por eso que hay muchos siempre hay que intentar aprender diferentes lenguajes y asi ser mejor cualquiera que sea el lenguaje es malo estancarse en el!!!
Cuando digo “no tengo mucho tiraje en programación”, me refiero a que no se programar muy bien que digamos [es una materia pendiente].
El “no te estanques ahÔ no es un comentario dirigido al público en general. Fué un copy&paste que hice de una charla con un amigo y no lo cambié.
Juzgo porque se de lo que hablo, no asà como asÃ
Saludos.