Python o Visual Basic. Que me recomiendan aprender primero.

Iniciado por hackmastter, 29 Enero 2015, 06:47 AM

0 Miembros y 3 Visitantes están viendo este tema.

hackmastter

Ya se que la gran mayoría dice que Visual Basic es la mejor opción para los que se inician en programación. Pero también dicen que lo que con Visual Basic el imposible con Python es fácil... Así que pensé que sería bueno iniciar de una vez con Python.
Así que quise preguntar si era bueno iniciar en python...

Seguro preguntaran: ¿Que tipo de programa quieres hacer?. Bueno, lo primero que quiero hacer (supongo que muy simple) es una agenda en la que pueda introducir todo tipo de datos y fotos y enlazar los nombres con las fotos, las fotos con los nombres como si fueran links (Veo venir a Visual Basic  :¬¬).

Se que sería bueno Visual Basic pero si inicio con eso, cuando llegue a los programas avanzados ¿me veré en la necesidad de empezar desde cero con otro lenguaje?

Ah, y si pueden recomendarme una página con buenos tutoriales de ese lenguaje que me recomienden se los agradecería mucho...

engel lex

realmente son muy diferentes... sus curvas de aprendizaje son similares...

visual basic es más visual, de buenas a primeras puedes crear interfaces faciles de interactuar y manejar esos aspectos con un par de clicks

python es más de consola... para hacer cosas visuales requieres cierta experiencia y conocimiento... pero en general ciertas cosas son más faciles y organizadas... a demás es un lenguaje interpretado, nada de compilar, solo guardar y listo... (eso trae sus contras)

fuera de esos 2 vas a tener que aprender otros eventualmente para adquirir conocimientos en general... pero la curva será más suave ya que sabes como se programa... la diferencia radica en conocer los detallitos de cada lenguaje... (ej, yo programo, jScript, PHP, python, c++ y cada uno tiene su fin)

pero si solo te piensas orientar a microsoft con VB.net te debería ir bien para empezar...

estos lenguajes te permiten aplicaciones avanzadas... la cosa es saber como usarlos, ya que realmente no son tan limitantes...


El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

3n31ch

[BIBLIA ESCRITA ASUMIENDO ES QUE ESTAS APRENDIENDO A PROGRAMAR]

Buenas, antes de todo quiero aclarar que no se VB, pero si se o me manejo en java, c#, php, python, asp.net y actualmente estoy aprendiendo c++ (quizás se me escape alguno).

En principio parece muy claro que no quieres aprender Visual Basic, por tu predisposición al lenguaje, eso me das a entender, y mas que por funcionalidades y todo eso si buscas aprender un lenguaje, sera mejor que aprendas uno que te llame la atención, que no te tengas que obligar a estudiar, si no mas bien que quieras hacerlo por entretenerte o curiosidad. Mas aun si es tu primer lenguaje de programación.

Por otro lado te contare un poco mi experiencia, quizás te ayude a tomar la decisión.

Yo empece a programar en Java, me dijeron esto es un "Hola mundo", quede fascinado, tal que cuando llegue a mi casa aprendí en el mismo día, a utilizar variables, los if, el siwtch and case... no paso mucho tiempo para que supiera lo básico y pudiera hacer cosas mas complejas.

Se me dio bien, y me gusto, me enfrasque en la teoría y seguí aprendiendo mas y mas por mi cuenta. Llego el momento en que deje a Java de lado, y aprendí otras cosas, eventualmente volvía a Java y luego me terminaba aburriendo (ahora estoy con el tema de java otra vez).

Mi novia hace un año atrás por la universidad le tuvieron que enseñar a programar, ella no se le dio bien así que yo le enseñe lo que pude y como mal profesor le hice un par de tareas. El lenguaje que le enseñaron era Python, un lenguaje de sintaxis fácil... muy simple para empezar a programar.

Actualmente trabajo como profesor particular de programación (una materia que cuesta mucho a los estudiantes en la universidad.) Y sinceramente para empezar a programar no recomiendo Python (opinión personal). Su sintaxis, su forma de hacer las cosas lo hace un lenguaje de alguna manera "fácil", pero por esa misma razón se te hará un poco mas complicado luego conocer otro lenguaje, de pronto te darás cuenta que las clásicas bromas sobre la programación que ves en paginas web no te darán gracia por el simple hecho de que en python nunca pusiste un ; o nunca esperaste para que compilara... Detalles, que bueno, no vivirás (y no lloraras).

Mi pregunta es porque estas entre esos dos lenguajes?... Yo en lo personal no me arrepiento de que mi primer lenguaje sea java, me enseño lo que tenia que aprender, y por la documentación del lenguaje, es excelente. Sinceramente según mis conocimientos te recomendaría dos posibles lenguajes:

  • Java
  • C++

Y aun mas personalmente te recomendaría Java con el primer lenguaje por el simple hecho de que con c++ tendrás que preocuparte de mil cosas que al inicio pueden hacerse muy complicadas... Una vez aprendas Java, te recomendaría C++ y posterior a eso creo que estarías preparado para afrontarte a cualquier lenguaje de programación.

PD: Ahora que estas aprendiendo no te preocupes de que lenguaje es mas potente ni nada por el estilo, preocúpate de que te llame la atención. Y si ese lenguaje es Python entonces estudia Python.

Usuario Invitado

No voy a explayarme mucho para no aburrirte. Yo te recomiendo cualquier lenguaje para empezar.

El objetivo cuando empieza a programar es aprender a resolver problemas. Es por eso que antes de llevar cursos de programación llevas cursos de algoritmos. El objetivo es que identifiques la problemática de una situación y plasmes la solución en código.

Una vez que sabes solucionar problemas te darás cuenta que el lenguaje es sólo tu herramienta. La solución la tienes en la cabeza, en pseudocódigo, y solamente utilizas el lenguaje para plasmar la solución al problema.

Así que, Python o VB.NET, ambos te sirven. Yo te recomendaría Python por su simplicidad, no sólo de lenguaje, si no de entorno. Para empezar solo necesitas el IDLE que viene integrado con Python. Lo que te debe interesar por ahora es aprender a resolver problemas, escribir algoritmos eficientes, que den con la solución.

Una vez que hayas desarrollado tu capacidad analítica lo suficiente, podrás escojer cualquier lenguaje para poder estudiarlo. El procedimiento es el mismo, lo que cambia, es la forma de realizarlo en X, Y o Z lenguaje.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

hackmastter

Muchisimas gracias a los tres por sus respuestas...  :)

Y bueno, respondiendo a:
Cita de: Nac-ho en 29 Enero 2015, 07:38 AM
[BIBLIA ESCRITA ASUMIENDO ES QUE ESTAS APRENDIENDO A PROGRAMAR]

Mi pregunta es porque estas entre esos dos lenguajes?

Pues, la verdad es que son los dos que veo mas a mi alcanse según mi situacion actual, ya que conozco a alguien que me puede enseñar a programar con Visual Basic. Él trabaja con este lenguaje y vende los programas que el hace. (Según yo a muy buen precio por cierto ::) ). Y también sabe de Python un poco aunque enrealidad no le gusta demasiado.

Pero yo me inclino a Python, porque se que cuando llegue a las cosas avanzadas Python será mejor opción (bueno, lo sé por lo que leo en internet  :P)...

Y otra cosita que olvide. Una vez utilizé Visual Basic y noté que era demasiado secillo crear la parte visual, es decir, la cajas de texto, los botones, las entanas emergentes y esas cosas (el código lo auto generaba el mismo Visual Basic en segundo plano). Para lo que nesecitaba código era para especificar las interacciones entre las ventanas, cajas y botones.

Encambio con Python, (la verdad no se) pero noté que nesecitabas conocer el código para cualquier cosa que quisiera hacer, como las cajas y botones, y sus funciones entre ellas. ¿Será a esto a lo que se refieren cuando dicen:
Cita de: engel lex en 29 Enero 2015, 06:58 AM
python es más de consola...
Bueno, no se si es esto, pero creo que me gustaría mas así. Ya que no me gusta mcho la idea de depender de un programa para hecer las cosas. (Es como DreamWaver y el Bloc de Notas de windown. El DreamWaver podria hacerlo todo y tu no aprenderás nada, mientras que el Bloc de Notas no hará nada pero tu podrías hacerte llamar Diseñador Web  ;) ) Por eso yo eliminé de mi PC a DreamWaver y descargue el NotePad...  ;D

Eleкtro

#5
Cita de: hackmastter en 29 Enero 2015, 17:12 PMY otra cosita que olvide. Una vez utilizé Visual Basic y noté que era demasiado secillo crear la parte visual, es decir, la cajas de texto, los botones, las entanas emergentes y esas cosas (el código lo auto generaba el mismo Visual Basic en segundo plano). Para lo que nesecitaba código era para especificar las interacciones entre las ventanas, cajas y botones.

Acabas de descubrir la diferencia entre una IDE con soporte RAD (VisualStudio), y un lenguaje que ofrece una IDE sin practicamente ninguna utilidad valiosa para el programador más allá de sus funcionalidades más primarias (Python-IDLE).

Recuerda que Python es un lenguaje de Scripting cuyo paquete de instalación lleva una IDE gratuita y orientada a principiantes (nada que ver con las IDES profesionales de terceros para Python), ¡no lo confundas con un buen patrón de programación a seguir o algo parecido por ser la herramienta que va incluida en el paquete o por parecerse al notepa o por lo que sea!,
mientras que VB.Net es un lenguaje compilado y se puede adquirir una IDE de pago que proporciona las herramientas más profesionales para manejar dicho lenguaje (VS).




Cita de: hackmastter en 29 Enero 2015, 17:12 PMEncambio con Python, (la verdad no se) pero noté que nesecitabas conocer el código para cualquier cosa que quisiera hacer, como las cajas y botones, y sus funciones entre ellas. ¿Será a esto a lo que se refieren cuando dicen: Bueno, no se si es esto, pero creo que me gustaría mas así.

¿Eso lo consideras un beneficio al respecto?, no te das cuenta de lo improductivo que resulta escribirlo todo todito a mano, jeje, pero bueno, si tú crees que eso va a ser más cómodo para ti o crees que te vas a sentir más profesional por "escribir la UI a mano", o lo que sea... pues bueno, allá cada uno con sus gustos :P.

Pero déjame explicarte que VisualStudio solo "genera" un control dándole un estilo visual por defecto (algún estilo debe tener el control por defecto, no puede estar en blanco, vaya), quiero decir, que no te hace el trabajo, obviamente puedes modificar tanto los elementos visuales del control, como las propiedades de cada control de la misma manera que lo haces usando Python-GTK/etc en un editor, escribiendo el código a mano, al igual que puedes añadir los controles en la UI "escribiendo código" (y no usando el designer), e incluso puedes ir mucho más lejos y crear tus propios controles de forma bastante sencilla (o compleja variando las necesidades), y dinamicamente.




Cita de: hackmastter en 29 Enero 2015, 17:12 PMYa que no me gusta mcho la idea de depender de un programa para hecer las cosas. (Es como DreamWaver y el Bloc de Notas de windown. El DreamWaver podria hacerlo todo y tu no aprenderás nada, mientras que el Bloc de Notas no hará nada pero tu podrías hacerte llamar Diseñador Web  ;) )

Por usar un GUI builder para añadir un control en la UI arrastrando el ratón no vas a estar aprendiendo más, ni menos, ni tampoco te va a hacer peor programador ni mucho menos mejor, ni te estará haciendo el trabajo sucio si es lo que piensas. Todo eso son conceptos erroneos, en mi opinión.

De hecho, es una característica que va ligada a los estándares de la programación de hoy en día, cualquier IDE que tenga integrado un GUI builder, no solo se ve en VB.Net, sino en IDES de Java, C++, C#, Delphi, etc, y Python, porsupuestisimamente:

Is there an GUI Designer for python?

¿Y por que se usan esas herramientas en lugar de un editor de texto?, La razón principal es obvia, fue un avance informático muy importante en lo relacionado con el desarrollo de aplicaciones, y deberías aprovecharlo.

Aquí puedes leer un poco sobre el tema del que estoy hablando, algunas características muy importantes que se suelen ver en una IDE:

Rapid application development
Graphical user interface builder
Intelligent code completion
Debugger




Cita de: hackmastter en 29 Enero 2015, 17:12 PMEl DreamWaver podria hacerlo todo y tu no aprenderás nada, mientras que el Bloc de Notas no hará nada pero tu podrías hacerte llamar Diseñador Web  ;) ) Por eso yo eliminé de mi PC a DreamWaver y descargue el NotePad...  ;D

Seguimos con el ejemplo entre una IDE wysiwyg orientada a la programación Web y una IDE orientada al desarrollo de aplicaciones de escritorio, ¡Es algo totalmente distinto!.

Hay gente capaz de escribir una página html con el notepad, si, por supuesto, es algo relativamente fáicl, y bueno, el scripting se basa más o menos en eso, en escribir y escribir instrucciones en un editor, omitiendo otros detalles innecesarios como la elaboración de una GUI, no por eso está mal usar un GUI builder cuando necesitar desarrollar una GUI en un lenguaje de Scripting, para eso existen.

Dices que usas notepad en lugar de DreamWeaver porque así te puedes hacer llamar "diseñador de webs" al no usar una IDE, es decir, ¿que te sientes mejor programador al usar una herramienta primitiva, al imponerte límites inecesarios por negarte a usar los beneficios de las herramientas modernas?, ¿que sentido le ves a eso?.

EDITO: No se mucho sobre programación web, pero uno de mis hermanos lleva décadas diseñando Webs y he adquirido muchas experiencias de él, tienes razón en que quien suele aprender a usar Dreamweaver luego no sabe hacer nada por si solito a mano por ejemplo ni sabe cómo corregir bugs ni nah, pero es que esto es muy distinto, esto no es Html,
el buen programador (de webs, y de lo que sea) es aquél que mejor sabe aprovechar los recursos de su entorno (entre otras cosas, como conocer sus capacidades, intentar desarrollar un algoritmo de la forma más eficiente, ser humilde, blah blah blah... ese no es el tema ahora), una IDE aumenta tu rendimiento/productivas en un 200%, mientras que el notepad solo te ralentiza en cada tarea ...por no decir que ni siquiera puedes debuggear una app, ya me dirás que cualidades ganarás como desarrollador de software usando un editor de texto para programar, en lugar de una IDE capacitada, aunque sea un simple script de Python.

Estás muy equivocado con ese manera de pensar.




CitarPero yo me inclino a Python, porque se que cuando llegue a las cosas avanzadas Python será mejor opción (bueno, lo sé por lo que leo en internet  :P)...

Generalizando con las espectativas y las necesidades de un programador "estándar", no va a haber practicamente NADA que puedas desarrollar en Python pero no puedas hacerlo en VB.Net, y viceversa




Sobre la elección entre Python o VB.Net:

Al final todo depende de gustos y necesidades, quiero dejar claro que todo lo que he comentado hasta ahora y lo que voy a comentar solo es mi opinión personal, pero yo y mis gustos coincidimos en que Python es improductivo empezando por su estricta sintaxis, y dejándome por el camino cientos de razones más (que ya he comentado en muchas ocasiones en otros posts).

Entre dos lenguajes tan capacitados en funcionalidades como Python y VB.Net, la mejor opción es aquella con la que más a gusto estés y la que mejor se adapte a tu forma de trabajar en lo referente a la programación, no solo cuenta el lenguaje o sus capacidades/limitaciones, sino también la herramienta (IDE) que vayas a utilizar (si, hazte a la idea que no vas a usar por siempre el notepad si tienes pensado programar de forma seria en el lenguaje que sea, acabarás usando una IDE con características profesionales, de esas que tanto te has quejado en los comentarios), asi que simplemente evalua bien las distintas características que te ofrece cada lenguaje.

PD: Yo aprendí de forma básica Python (sin profundizar excesivamente en sus Internals), para evaluarlo como lenguaje, y luego pasé por la misma elección, ¿Python o VB.Net?, bueno, creo que te podrás dar cuenta de cual fue mi decisión si te fijas en la imagen de mi avatar xD.

Saludos!








3n31ch

#6
Cita de: hackmastter en 29 Enero 2015, 17:12 PM
Ya que no me gusta mcho la idea de depender de un programa para hecer las cosas. (Es como DreamWaver y el Bloc de Notas de windown. El DreamWaver podria hacerlo todo y tu no aprenderás nada, mientras que el Bloc de Notas no hará nada pero tu podrías hacerte llamar Diseñador Web  ;) )

Es raro conocer a otro que le pase esto... te explicare mi punto de vista respecto a las IDEs de desarrollo.

Cuando empece a programar tuve un problema... en Java como en muchos otros lenguajes existen el concepto de librerías, que son código pre-escrito útil para realizar ciertas funciones, como por ejemplo pedir datos por teclado...  Eso es parte de la programación y es usado para todo. Mi problema es que cuando me di cuenta que podria programar casi cualquier cosa y luego me enseñaron estas librerías... pues no me cayo muy bien, veras, yo quería hacerlo TODO... me demoraba el mil veces mas y programaba lo que ya estaba en librerías. Si algún dia estudias java entenderás cuando te digo que programe mi propio ArrayList. Al paso del tiempo lo deje, y me di cuenta que el uso de librerías es normal y lógicamente correcto... pero luego cuando intento hacer algo gráfico, aparece la IDE que escribe código por mi... reventé. Tome y realice una drástica idea:

Utilizando bloc de notas, cree mi propio bloc de notas con un botón para compilar, y luego programe una temporada utilizando el bloc de notas creado por mi.

Desperdicie tiempo valioso, y ahora que lo leo me suena de locos, pero al final lo madure y no tengo ningún lió con las IDEs.

He tenido la oportunidad de realizar páginas web con motivo comercial, las cuales he vendido. Todas las realice con notepad++ ya que he visto algunos IDEs de estos que crean código por ti... Que bueno no lo hacen del todo bien, claro funciona pero al fin y al cavo es código escrito por alguien que no piensa, y a mi parecer muchas veces este código generado es código basura. Pero desde esa misma IDE programo sin problema, no porque tenga esa funcionalidad la voy a utilizar, y hay casos en que la utilizaras porque simplemente no tienes tiempo, si te enfocas en esto de manera comercial te darás cuenta de la triste realidad: Al cliente no le importa como lo hagas mientras funcione. No le importa si tu código de pronto le dan arcadas a quien lo lea si lo hiciste en la mitad del tiempo que el que si se preocupa de su código, entonces preferirá la basura.

Es por esta razón que te recomiendo lo siguiente:

Aprende a programar un lenguaje que te guste sin utilizar funcionalidades extremas de cualquier IDE, evita que cualquier IDE te agregue código, de esta manera entenderás como funcionan las cosas y las memorizaras por la practica.

Luego de aprender, cuando ya sepas como funciona, utiliza las funcionalidades que no utilizaste antes, no pierdas el tiempo, cada hora que le dedicas a ese botón que intentas posicionar y regular su tamaño es una hora perdida que utilizarías para aprender mas.

Ya si después creas tu propio programa, el cual quieres que sea perfecto... bien hazlo tu, después de todo ya aprendiste como hacerlo.


PD: te recomiendo que si tienes un profesor y ya tienes las ganas, olvídate del lenguaje y aprende pseudocodigo que es mas importante para tu inicio, en caso de que no tengas tantas ganas y necesites ese empujón aprende código normal...

PD2: Programar un algo gráfico en un lenguaje de programación es muy distinto que  hacerlo con HTML, tampoco te confíes.

luchi

Con respecto a las IDEs... ¿no podríamos quedarnos en el punto medio? Me refiero, por ejemplo para programar webs en lugar de el Notepad usar Netbeans o Ecipse, que  permite ir más rápido y no darte todo masticado como el Dreamweaver. Para interfaces en Java, en lugar de usar la parte de diseño de Netbenas hacerlo en código que queda más limpio y eso luego afecta al rendimiento.

basic5

yo hize una agenda telefonica asi como la que quieres hacer con foto esta el video en you tube...y use visual basic 5 y access la pareja ideal jsjs,, es mas facil visual basic para base de datos usando access que cualquier otro lenguaje hasta linux torvald lo ha dicho..
yo manejo visualbasic.net 2010  pero mi favorito sigue siendo vb clasico tengo una gran cabtidad de codigo y programas ya hechos y para que empezar todo de nuevo si ya lo tengo hecho  en ese lenguaje.

tambien tengo una pagina de juegos de visual basic!
en facebook