none
Qué responderían si les preguntaran lo siguiente:

    Question

  • Actualmente estoy desarrollando mi proyecto de título el cual consiste en un sistema de administración para un Teatro. La aplicación la estoy desarrollando con visual basic 2005, utilizando el motor de base datos SQL Server 2005 Developer Edition. Ahora si me preguntan por qué la estoy desarrollando con dichos software, no sabría dar una respuesta convincente. La verdad, estoy utilizando estas herramientos, porque son las que más manejo en el tema de desarrollo y base de datos. Sin embargo, esa no es una respuesta convincente, entonces la intención del tema, va por ese lado. Me gustaría saber, que responderían ustedes si alguien les pregunta, ¿Por qué estas desarrollando tu aplicación con visual basic 2005 y no con otro lenguage, que ventajas tiene sobre otro? ¿Cuál fue el motivo que te llevo a decidirte por desarrollar la aplicación con visual basic 2005? ¿Por qué elegiste SQL Server 2005 como motor de base datos para tu aplicación y no otro?, como por ejemplo mySQL que es libre.

    Yo diría también, que al desarrollar mi aplicación con visual basic 2005 es más factible su posibilidad de portabilidad a un ambiente web. Debido al paradigma orientado a objetos. Pero alguien me puede decir, está java también, con el cual, tienes las mismas ventajas... entonces es por eso que me gustaría si alguien me puede orientar un poco en este tema. Para estar preparado y dar una excelente respuesta en la defensa de mi proyecto de título.

    Muchas gracias.
    Bernardo Troncoso
    Saturday, October 10, 2009 3:00 AM

Answers

  • hola

    En principio la respuesta corta podria ser: "a nivel costo-benefecio es conveniente usar esta herramienta o lenguaje".

    Y paso a explicar, todo se resumen en costo-beneficio, si tiene conocimiento en VB.NET y SQL Server y tienes que desarrollar una apliciacion en 2 semanas que decisión tomarías, la harias en Perl, o en Phyton, yo me imagino que ningún generente de desarrollo sabiendo que tiene un equipo o personal con cierto skill en un herramienta lo pondria a trabajar en otra salvo que le llegue un contrato millonario que asi lo disponga.

    O sea si tienes capacidad y camino recorrido en un lenguaje y nada te impide usarlo, y no tienen limitantes tecnologicas, y ningun requerimiento pone trabas porque no usarlo.

    Cuando en la empresa donde trabajo llega una nueva aplicacion, los aquitectos defines la tecnologia mas apropiada a utilizar, pero tienen en cuanta todo para definirla, no solo el gusto personal
    Entra en juego:

    - Restricciones tecnicas, como ser, si el desarrollo es en Linux, bueno ojo .net ahi tiene un debilidad, pero esta java, si pero hay otra alternativa, si el equipo tiene años de experiencia en .net porque no usar Mono, que es la implementacion de .net para otras plataformas, como veras se empieza a jugar un poco. 

    - Costo, las herramientas de desarrollo si hay que pagar licenias son caras, no se si tienen en mente precios, pero puedo decirte que una licencia en SQL Server seguro es mas económica que una de Oracle, Informix o por ahi DB2, si pero se podria analizar alguna otra de uso libre, como ser MySql, pero si no se tiene conocimiento en esta db no se consumirá mucho tiempo en aprender a usarla y ademas explorar las limitantes, entonces esta SQL Server Express, si sabes Sql Server seguro sabrás sql express.
    Aquí igual puede jugar también temas de estabilidad, es sabido que Oracle es mucho mas duro de romper que SQL Server, por ahi ante aplicaciones criticas de alto desempeño aunque el costo sea alto se puede optar por otro tipo de base de datos. Ojo esto tambien aplica a los lenguajes el precio de los IDE de desarrollo tienen toda su variedad, por ejemplo VS tiene su costo, pero se podria ir a Eclipse y desarrollar en java, pero has algun vez armado de forma completa Eclipse ,este es tan plugeable que es muy dificil dejarlo listo para intalarlo y ponerse a desarrollar, o al menos no en las primeras etapas de aprendizaje, por eso hay muchas empresas que venden paquetes que te customizan Eclipse y te lod ejan listo para desarrollar, con todos lo plugins instalados, por ejemplo uno de estos es MyEclipse, y este tiene su costo, ya no es libre el suso como lo es Eclipse pelado, entonces ahi la balanza puede volver al lado del VS.

    - Conocimiento, este es fundamental la curva de aprendizaje de una herramienta o tecnologia es muy cara, si lo piensas como empresa de tecnologia mantener al personal capacitado requeire invertir mucho esfuerzo y dinero, no solo para brindarle al empleado el momento para autocapacitarse, sino tambien en certificaciones, etc

    - Plazo de entrega, jeje este punto es crucial, si te dicen desarrolla algo en 1 año, (lo cual lo dudo mucho que alguna vez lo escuches, por lo general todo es para ayer), sera una cosa, pero si te dicen necesito 20 ABM en 1 semana (este es solo un ejemplo por ahí exagerado), de los cuales no sabes ni siguiera  la complejidad de los mismos, bueno tomaras las herramientas que mas tengas a mano, te remangaras y a escribir código a lo loco para poder llegar con los plazos



    Bien me extendí un poco pero queria aclararlo bien, usar una u otra tecnologia no depende de un gusto, sino del analisis de estas variables, seguro me este olvidando algun, pero en principio serian:

    - Restricciones técnicas
    - Conocimiento
    - Costo
    - Plazos de entrega

    Analiza estas variables en tu caso y ve a donde te llevan, si es a VB.NET y SQL Server, perfecto has tomado el camino correcto.

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Saturday, October 10, 2009 4:44 AM
  • Este es un tema muy interesante para analizar. Es importante tomar una buena decisión en cuanto a que lenguaje o herramienta utilizar para un desarrollo de software.

    Refiriendonos precisamente a las tecnologias .net para desarrollar aplicaciones, en la web se ven muchos comentarios donde algunos programadores hablan mal de ellas, comparandolas con otros lenguajes como Java y Php, entre otros.

    El asunto es que detrás de estos comentarios esta la inconformidad(con Microsoft, caso que no interesa, ya que nuestro objetivo es satisfacer la necesidad del cliente con un producto de calidad en el plazo pactado) y en algunos casos la falta de experiencia laboral.

    Lenguajes como Php, Java han avanzado bastante en los ultimos años, y no se puede negar las cosas que se pueden hacer con ellos. Pero aqui entra a jugar un asunto muy importante:El conocimiento que tengas de estos. Esto en muchos casos determina que lenguaje o motor de base de datos usar.

    Cuando uno entra en el mundo laboral, como dice Leandro te das cuenta que los clientes necesitan y quieren sus proyectos para ya.
    Las herrramientas .net se aprenden de forma rapida,facil y existe mucha documentacion y foros para estas en la web.
    Los desarrollos con ellas tambien son ligeros, ya que dispone de un IDE que dispone de muchos controles ya listos para utilizar  o crear facilmente los tuyos. Otros IDE(no todos) son pobres en cuanto a aspectos de las GUI y se invierte mucho tiempo en desarrollandolas, tiempo valioso que se podria utilizar en la logica del Negocio.

    Tambien hay que tener en cuenta tu equipo de desarrollo. La realidad es que no somos los polifaceticos expertos en desarrollo avanzado en todo: Vb.Net, C#, Java, Php, etc.
    Ademas el tipo de desarrollo,si es un ambiente web o de escritorio.Muchos IDES y lenguajes estan mas orientados a la web. Y si haces un buen desarrollo(00 y en capas) seguro que podras portar facilmente la aplicacion de un ambiente a otro.

    Asi que el asunto es analizar la experiencia en el lenguaje y la facilidad en el manejo de las herramientas.
    Esto es solo una parte, ya que hay otros aspectos a considerar como la economia.

    Saludos

    Felipe Villa
    Saturday, October 10, 2009 3:49 PM
  • hola

    bien en realidad podria decirse que los modtivos que llevan a seleccionar uno u otro podrian ser:

    - conocimiento previo
    - curva de aprendizaje
    - costos
    - gusto personal

    seguro me falte alguno, pero creo que basicamente serian esto en mi caso

    O sea .net y java la verdad una vez teniendo los conocimiento de base son bastante similares en cuanto a las cosas que se pueden lograr, por ahi me refiere mas a C# y Java.

    Por ahi lo que tiene .net como ventaja es que esta mas pensado para integrase perfectamente a una plataforma que es Windows, por eso hay temas que cuando los quieres lograr son muy directos, cosa que si lo haces en java por ahi se pueden complicar un poco, pero ten en cuanta que java esta pensado para muchas plataformas.

    No olvides tambien como comente que tienes a Mono como la parte portable de .net

    Creo que en esta pregunta lo que mas te va a llevar a una tecnologia o a otra es el tiempo que tengas para estudiarla, si tienes tiempo podras aprender de ambas, pero si estas consigues un trabajo en donde estes el 100% del dia con .net es mas que seguro que el resto de tu carrera seguira por ese camino, no tendras mucho tiempo para ir por el otro.

    Si puedo decirte que piensa un Gerente de sistemas cuando tiene que seelccionar una tecnologia, y algo adelante en el post anterior.
    Conocimiento previos de su equipo, costo de los IDE de desarrollo, alianzas estratégicas, muchas consultoras de sistemas son Partner de Microsoft por lo cual generan una alianza que le da ciertos beneficios por desarrollar sobre la plataforma .net, esto también es determinante en al selección de un lenguaje.

    Si la elección es personal, te diria que puedes optar por cualquiera de los dos, por ahi como comentaba, la curva de aprendiza en .net es algo mas corta, o sea sin haber leido casi nada puedes instalar Visual Studio y empezar a dibujar controles y ver como reacionan a lo evento, o sea en plazos de dias con solo haber leido lo minimo puedes arrastrar controles y ver algo concreto, te puedo asegurar que en java esto no es tan directo, vas a tener que esperar bastante y leer algo mas hasta llegar a poder utilizar componente visuales, bueno salvo que uses un IDE como ser NetBeans que podria facilitarte las cosas, pero con Eclipse, te va a costar bastante mas.

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, October 11, 2009 2:41 PM

All replies

  • hola

    En principio la respuesta corta podria ser: "a nivel costo-benefecio es conveniente usar esta herramienta o lenguaje".

    Y paso a explicar, todo se resumen en costo-beneficio, si tiene conocimiento en VB.NET y SQL Server y tienes que desarrollar una apliciacion en 2 semanas que decisión tomarías, la harias en Perl, o en Phyton, yo me imagino que ningún generente de desarrollo sabiendo que tiene un equipo o personal con cierto skill en un herramienta lo pondria a trabajar en otra salvo que le llegue un contrato millonario que asi lo disponga.

    O sea si tienes capacidad y camino recorrido en un lenguaje y nada te impide usarlo, y no tienen limitantes tecnologicas, y ningun requerimiento pone trabas porque no usarlo.

    Cuando en la empresa donde trabajo llega una nueva aplicacion, los aquitectos defines la tecnologia mas apropiada a utilizar, pero tienen en cuanta todo para definirla, no solo el gusto personal
    Entra en juego:

    - Restricciones tecnicas, como ser, si el desarrollo es en Linux, bueno ojo .net ahi tiene un debilidad, pero esta java, si pero hay otra alternativa, si el equipo tiene años de experiencia en .net porque no usar Mono, que es la implementacion de .net para otras plataformas, como veras se empieza a jugar un poco. 

    - Costo, las herramientas de desarrollo si hay que pagar licenias son caras, no se si tienen en mente precios, pero puedo decirte que una licencia en SQL Server seguro es mas económica que una de Oracle, Informix o por ahi DB2, si pero se podria analizar alguna otra de uso libre, como ser MySql, pero si no se tiene conocimiento en esta db no se consumirá mucho tiempo en aprender a usarla y ademas explorar las limitantes, entonces esta SQL Server Express, si sabes Sql Server seguro sabrás sql express.
    Aquí igual puede jugar también temas de estabilidad, es sabido que Oracle es mucho mas duro de romper que SQL Server, por ahi ante aplicaciones criticas de alto desempeño aunque el costo sea alto se puede optar por otro tipo de base de datos. Ojo esto tambien aplica a los lenguajes el precio de los IDE de desarrollo tienen toda su variedad, por ejemplo VS tiene su costo, pero se podria ir a Eclipse y desarrollar en java, pero has algun vez armado de forma completa Eclipse ,este es tan plugeable que es muy dificil dejarlo listo para intalarlo y ponerse a desarrollar, o al menos no en las primeras etapas de aprendizaje, por eso hay muchas empresas que venden paquetes que te customizan Eclipse y te lod ejan listo para desarrollar, con todos lo plugins instalados, por ejemplo uno de estos es MyEclipse, y este tiene su costo, ya no es libre el suso como lo es Eclipse pelado, entonces ahi la balanza puede volver al lado del VS.

    - Conocimiento, este es fundamental la curva de aprendizaje de una herramienta o tecnologia es muy cara, si lo piensas como empresa de tecnologia mantener al personal capacitado requeire invertir mucho esfuerzo y dinero, no solo para brindarle al empleado el momento para autocapacitarse, sino tambien en certificaciones, etc

    - Plazo de entrega, jeje este punto es crucial, si te dicen desarrolla algo en 1 año, (lo cual lo dudo mucho que alguna vez lo escuches, por lo general todo es para ayer), sera una cosa, pero si te dicen necesito 20 ABM en 1 semana (este es solo un ejemplo por ahí exagerado), de los cuales no sabes ni siguiera  la complejidad de los mismos, bueno tomaras las herramientas que mas tengas a mano, te remangaras y a escribir código a lo loco para poder llegar con los plazos



    Bien me extendí un poco pero queria aclararlo bien, usar una u otra tecnologia no depende de un gusto, sino del analisis de estas variables, seguro me este olvidando algun, pero en principio serian:

    - Restricciones técnicas
    - Conocimiento
    - Costo
    - Plazos de entrega

    Analiza estas variables en tu caso y ve a donde te llevan, si es a VB.NET y SQL Server, perfecto has tomado el camino correcto.

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Saturday, October 10, 2009 4:44 AM
  • Hola Leandro

    Alguna vez escuche que así se desarrollara una aplicación utilizando visual estudio express, en el momento de comercializar se debía pagar una licencia. Tu sabes cual es el costo?, si trabajo con VB .net también debo pagar una licencia?, y esta licencia se paga es por toda la aplicación o por cada una de las partes en donde la vaya a instalar.

    La verdad no sé nada de aspectos legales, si sabes de link que me asesoren al respecto te agradecería.


    Gracias, WebLatina Con muchas ganas de aprender
    Saturday, October 10, 2009 10:37 AM
  • hola

    hasta donde se si utilizas Visual Studio Express no ha ce falta pagar licencia para distribuir las aplicaciones creadas con esa herramienta.

    Te dejo el link donde lo dice: http://www.microsoft.com/express/support/faq/

    Veras que hay una consulta que dice:

     
    7. Can I use Express Editions for commercial use?

    Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions.

     

    Ahora bien esto solo aplica para las versión Express, si utilizas una versión Profesional, ahí la cosa cambia, ya que si debes comprar una licencia de este producto para poder distribuir tus aplicaciones.

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Saturday, October 10, 2009 2:07 PM
  • Este es un tema muy interesante para analizar. Es importante tomar una buena decisión en cuanto a que lenguaje o herramienta utilizar para un desarrollo de software.

    Refiriendonos precisamente a las tecnologias .net para desarrollar aplicaciones, en la web se ven muchos comentarios donde algunos programadores hablan mal de ellas, comparandolas con otros lenguajes como Java y Php, entre otros.

    El asunto es que detrás de estos comentarios esta la inconformidad(con Microsoft, caso que no interesa, ya que nuestro objetivo es satisfacer la necesidad del cliente con un producto de calidad en el plazo pactado) y en algunos casos la falta de experiencia laboral.

    Lenguajes como Php, Java han avanzado bastante en los ultimos años, y no se puede negar las cosas que se pueden hacer con ellos. Pero aqui entra a jugar un asunto muy importante:El conocimiento que tengas de estos. Esto en muchos casos determina que lenguaje o motor de base de datos usar.

    Cuando uno entra en el mundo laboral, como dice Leandro te das cuenta que los clientes necesitan y quieren sus proyectos para ya.
    Las herrramientas .net se aprenden de forma rapida,facil y existe mucha documentacion y foros para estas en la web.
    Los desarrollos con ellas tambien son ligeros, ya que dispone de un IDE que dispone de muchos controles ya listos para utilizar  o crear facilmente los tuyos. Otros IDE(no todos) son pobres en cuanto a aspectos de las GUI y se invierte mucho tiempo en desarrollandolas, tiempo valioso que se podria utilizar en la logica del Negocio.

    Tambien hay que tener en cuenta tu equipo de desarrollo. La realidad es que no somos los polifaceticos expertos en desarrollo avanzado en todo: Vb.Net, C#, Java, Php, etc.
    Ademas el tipo de desarrollo,si es un ambiente web o de escritorio.Muchos IDES y lenguajes estan mas orientados a la web. Y si haces un buen desarrollo(00 y en capas) seguro que podras portar facilmente la aplicacion de un ambiente a otro.

    Asi que el asunto es analizar la experiencia en el lenguaje y la facilidad en el manejo de las herramientas.
    Esto es solo una parte, ya que hay otros aspectos a considerar como la economia.

    Saludos

    Felipe Villa
    Saturday, October 10, 2009 3:49 PM
  • Muchas gracias por sus respuestas, algo se aclararon mis dudas...

    Haber... otra pregunta que me surge... ¿Qué ventajas tiene .net sobre Java? o sea si alguien les preguntase... por qué desarrollo su aplicación de escritorio con .net y no con java? Cuáles fueron sus razones?


    Bernardo Troncoso
    Sunday, October 11, 2009 3:03 AM
  • hola

    bien en realidad podria decirse que los modtivos que llevan a seleccionar uno u otro podrian ser:

    - conocimiento previo
    - curva de aprendizaje
    - costos
    - gusto personal

    seguro me falte alguno, pero creo que basicamente serian esto en mi caso

    O sea .net y java la verdad una vez teniendo los conocimiento de base son bastante similares en cuanto a las cosas que se pueden lograr, por ahi me refiere mas a C# y Java.

    Por ahi lo que tiene .net como ventaja es que esta mas pensado para integrase perfectamente a una plataforma que es Windows, por eso hay temas que cuando los quieres lograr son muy directos, cosa que si lo haces en java por ahi se pueden complicar un poco, pero ten en cuanta que java esta pensado para muchas plataformas.

    No olvides tambien como comente que tienes a Mono como la parte portable de .net

    Creo que en esta pregunta lo que mas te va a llevar a una tecnologia o a otra es el tiempo que tengas para estudiarla, si tienes tiempo podras aprender de ambas, pero si estas consigues un trabajo en donde estes el 100% del dia con .net es mas que seguro que el resto de tu carrera seguira por ese camino, no tendras mucho tiempo para ir por el otro.

    Si puedo decirte que piensa un Gerente de sistemas cuando tiene que seelccionar una tecnologia, y algo adelante en el post anterior.
    Conocimiento previos de su equipo, costo de los IDE de desarrollo, alianzas estratégicas, muchas consultoras de sistemas son Partner de Microsoft por lo cual generan una alianza que le da ciertos beneficios por desarrollar sobre la plataforma .net, esto también es determinante en al selección de un lenguaje.

    Si la elección es personal, te diria que puedes optar por cualquiera de los dos, por ahi como comentaba, la curva de aprendiza en .net es algo mas corta, o sea sin haber leido casi nada puedes instalar Visual Studio y empezar a dibujar controles y ver como reacionan a lo evento, o sea en plazos de dias con solo haber leido lo minimo puedes arrastrar controles y ver algo concreto, te puedo asegurar que en java esto no es tan directo, vas a tener que esperar bastante y leer algo mas hasta llegar a poder utilizar componente visuales, bueno salvo que uses un IDE como ser NetBeans que podria facilitarte las cosas, pero con Eclipse, te va a costar bastante mas.

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Sunday, October 11, 2009 2:41 PM
  • Muchas gracias por tus respuestas Leandro y a todos.

    Saludos ;)
    Bernardo Troncoso
    Tuesday, October 13, 2009 4:31 AM
  • :-)
    Hola,

    > se desarrollara una aplicación utilizando visual estudio express, en el momento de comercializar se debía pagar una licencia.

    Absolutamente erróneo.
    Todas las ediciones Express (incluso SQL Server) son gratuitas y el software que crees con ellas también.

    Otra cosa es si tu decides incluir algunos componentes de terceros, ya que cada fabricante tiene su propia política de licencias.
    Saludos,

    No olvides marcar la respuesta como correcta si te ha sido de utilidad :-)

    [MS-MVP-MCTS]

    Mi Perfil MVP en: https://mvp.support.microsoft.com/profile/Lluis
    NUG: http://andorradotnet.com
    Web: http://www.ordeeno.com
    Blog: http://msmvps.com/blogs/lfranco
    Geeks: http://geeks.ms/blogs/lfranco

    Wednesday, October 14, 2009 10:51 AM
    Moderator
  • :-)
    Hola,

    Agregar al comentario de Leonardo que aunque Java y C# son muy parecidas, en cuanto al IDE (entorno de desarrollo) la diferencia es abismal entre Visual Studio y  NetBeans / Eclipse (u otros de Java). Visual Studio es hoy por hoy la mejor herramienta de desarrollo jamás construida, y ésto tiene una incidencia direnta en términos de productividad.

    Además, la integración con otras tecnologías Microsoft es mucho mayor. Un ejemplo: ¿Alguien ha probado a utilizar WCF o servicios SOAP desde PHP? Para echarse a llorar...

    Saludos,

    PD - He pasado por todo tipo de tecnologías y lenguajes desde hace más de 15 años, y desde los tiempos de los viejos compiladores de Borland C++ 3.1, no existía una heramienta tan c*j*nuda para trabajar.

    No olvides marcar la respuesta como correcta si te ha sido de utilidad :-)

    [MS-MVP-MCTS]

    Mi Perfil MVP en: https://mvp.support.microsoft.com/profile/Lluis
    NUG: http://andorradotnet.com
    Web: http://www.ordeeno.com
    Blog: http://msmvps.com/blogs/lfranco
    Geeks: http://geeks.ms/blogs/lfranco

    Wednesday, October 14, 2009 10:59 AM
    Moderator