Subpage under development, new version coming soon!
Subject: Asesoramiento: Programación para aficionados
Catenaccio [del] to
All
Estimados,
Supongamos que uno quiere programar en PC, pero no profesionalmente ni mucho menos, ni nada. Supongamos, incluso y para poner un ejemplo, que por hobby uno quisiera programar alguna boludez para Sokker (un programita que baje tu equipo y tus estadísticas y las organice) o cosas así. O una versión más del conocido "gusano", ese juego donde una fila de caracteres va comiendo un caracter que aparece al azar dentro de un cuadrado y cada vez que come uno "crece" y hay que seguir moviéndolo sin tocar los bordes y sin tocar su propia cola.
Supongamos, además, que el aficionado no tiene prácticamente conocimiento alguno en programación. Es decir, de joven aprendió algo de código máquina del Z80 (para quienes tienen alguna remota idea de qué es eso), y que aprendió sí algo de programación en basic en computadoras de los 80s, pero eso es todo, no sabe nada más, o sea que debe ser considerado y tratado como un absoluto principiante.
Con independencia de su escepticismo acerca de que este muñeco realmente pueda lograr algo, si uds. (le hablo a los conocedores) le tuvieran que recomendar un lenguaje para aprender y despuntar el vicio, ¿qué le recomendarían?
Mi intuición me indica que Java sería una buena opción. Pero, ¿es así?
Supongamos que uno quiere programar en PC, pero no profesionalmente ni mucho menos, ni nada. Supongamos, incluso y para poner un ejemplo, que por hobby uno quisiera programar alguna boludez para Sokker (un programita que baje tu equipo y tus estadísticas y las organice) o cosas así. O una versión más del conocido "gusano", ese juego donde una fila de caracteres va comiendo un caracter que aparece al azar dentro de un cuadrado y cada vez que come uno "crece" y hay que seguir moviéndolo sin tocar los bordes y sin tocar su propia cola.
Supongamos, además, que el aficionado no tiene prácticamente conocimiento alguno en programación. Es decir, de joven aprendió algo de código máquina del Z80 (para quienes tienen alguna remota idea de qué es eso), y que aprendió sí algo de programación en basic en computadoras de los 80s, pero eso es todo, no sabe nada más, o sea que debe ser considerado y tratado como un absoluto principiante.
Con independencia de su escepticismo acerca de que este muñeco realmente pueda lograr algo, si uds. (le hablo a los conocedores) le tuvieran que recomendar un lenguaje para aprender y despuntar el vicio, ¿qué le recomendarían?
Mi intuición me indica que Java sería una buena opción. Pero, ¿es así?
Hola Cate.
Mirá, yo laburo en sistemas y trabajé con muchísimas herramientas.
Java es bastante complicado y tiene muchas vueltas. No te lo recomiendo para nada para empezar.
Como decís que conocés algo de basic, te recomiendo el viejo Visual Basic 6.0 y si te animás a algo un cachito mas complejo, totalmente actual y que es mil veces mejor, Visual Basic .Net
Ayudas online hay millones para esas herramientas y realmente no tienen una alta complejidad.
Mirá, yo laburo en sistemas y trabajé con muchísimas herramientas.
Java es bastante complicado y tiene muchas vueltas. No te lo recomiendo para nada para empezar.
Como decís que conocés algo de basic, te recomiendo el viejo Visual Basic 6.0 y si te animás a algo un cachito mas complejo, totalmente actual y que es mil veces mejor, Visual Basic .Net
Ayudas online hay millones para esas herramientas y realmente no tienen una alta complejidad.
C# también se aprende bastante fácil, me parece... bah, el IDE es de los mejores, no te deja equivocarte. Igual yo arranqué con muchos lenguajes pero no se un joraca :P
Para juegos, El Game Maker. Hacés juegos comunes sin saber nada... si aprendés el lenguaje podés hacer juegos más complejos.
Yo dejé en el camino un fútbol por cuestiones de salud mental... ya lo voy a retomar y te voy a consultar para el motor, Cate, así si después lo jugás no despotricás tanto :P :P
Para juegos, El Game Maker. Hacés juegos comunes sin saber nada... si aprendés el lenguaje podés hacer juegos más complejos.
Yo dejé en el camino un fútbol por cuestiones de salud mental... ya lo voy a retomar y te voy a consultar para el motor, Cate, así si después lo jugás no despotricás tanto :P :P
Como te dijeron, creo que .NET es una buena opción. Tiene un IDE amigable y podés programar en una serie de lenguajes (C#, Visual Basic, C++, Perl, Python, Delphi, Fortran y varios más).
Si tu idea es efocarte en un lenguaje de programación, PHP es una buena opción, pero tiene el tema de que la plataforma de desarrollo es bastante complicada, ya que no existe un IDE oficial y además su uso más común es orientado a la web y en ese caso deberías desarrollar directamente sobre un sitio web o montarte un servidor web local en tu máquina. No es muy práctico para alguien que recién empieza, pero el lenguaje es muy potente y versátil.
Otra opción es Python. Desde mi humilde opinión, de lo mejorcito que hay dando vueltas por ahí. Es simple, permite programar en objetos o estructurado, tiene bastantes opciones para armar entornos gráficos (entre ellos PyGtk o PyQt) y es muy rápido.
Respecto a Java, a mi modo de verlo no es práctico y mucho menos si tu experiencia viene del lado de Z80 y Basic que son totalmente estructurados. Java te obliga a programar en objetos, lo que significa que te tenés que olvidar de todo lo que sabías hasta ahora y cambiar tu forma de pensar un programa. Si eso no es un problema para vos, Java puede ser una opción, especialmente porque tiene muchas cosas resueltas (es casi un Mecano donde unís piezas pre-programadas).
Como resumen te diría que .NET es el más simple de empezar a usar. PHP y Python son un poco más artesanales y Java estaría al nivel de .NET en simpleza, pero con la salvedad del cambio en la forma de pensar las cosas.
Si tu idea es efocarte en un lenguaje de programación, PHP es una buena opción, pero tiene el tema de que la plataforma de desarrollo es bastante complicada, ya que no existe un IDE oficial y además su uso más común es orientado a la web y en ese caso deberías desarrollar directamente sobre un sitio web o montarte un servidor web local en tu máquina. No es muy práctico para alguien que recién empieza, pero el lenguaje es muy potente y versátil.
Otra opción es Python. Desde mi humilde opinión, de lo mejorcito que hay dando vueltas por ahí. Es simple, permite programar en objetos o estructurado, tiene bastantes opciones para armar entornos gráficos (entre ellos PyGtk o PyQt) y es muy rápido.
Respecto a Java, a mi modo de verlo no es práctico y mucho menos si tu experiencia viene del lado de Z80 y Basic que son totalmente estructurados. Java te obliga a programar en objetos, lo que significa que te tenés que olvidar de todo lo que sabías hasta ahora y cambiar tu forma de pensar un programa. Si eso no es un problema para vos, Java puede ser una opción, especialmente porque tiene muchas cosas resueltas (es casi un Mecano donde unís piezas pre-programadas).
Como resumen te diría que .NET es el más simple de empezar a usar. PHP y Python son un poco más artesanales y Java estaría al nivel de .NET en simpleza, pero con la salvedad del cambio en la forma de pensar las cosas.
Ya que están con el tema, me cuelo y pregunto: ¿qué es IDE? :P ¿Visual Studio sería un IDE? ¿O no tiene nada que ver?
Grazie mile!
Grazie mile!
Vendria a ser el programa en sí con sus respectibas herramientas.. Uno puede programar en notepad, pero si tenes un programa con un compilador, que te revisa el codigo, que tiene herramientas varias, etc, es mucho más sencillo y práctico en gral.
IDE = integrated development environment
Es básicamente lo que te dijo _polo y en el caso del Visual Studio, el programa principal es un IDE. :-)
Es básicamente lo que te dijo _polo y en el caso del Visual Studio, el programa principal es un IDE. :-)
Un IDE son un monton de herramientas alrededor de un editor de texto que te hacen la vida mas facil.
Cate, vos diste un par de ejemplos de lo que se te ocurriria hacer, pero no creo que quieras hacer el nibbles.
Si lo que queres es programar algo para la WEB (tipo lo que hizo ginod de la pagina de sokker), alejate de JAVA.
Soy programador de JAVA, y es un lenguaje muy potente y se pueden hacer paginas muy copadas con JAVA, muchisimas paginas de las que visitas hoy en dia tienen un servidor hecho en JAVA corriendo atras. Pero yo no lo recomendaria para empezar, se necesitan muchos dias de configuracion y de aprender conceptos que por lo que dijiste ahora no tenes.
De .Net y del mundo Microsoft no conozco nada.
Una opcion si queres tener algo andando en poco tiempo es PHP. A mi no me gusta php para nada, es demasiado facil programar a lo burro y las cosas quedan mal y no las podes arreglar despues (la parte de la SN la progrme a lo bruto y asi quedo :P). Pero si queres tener algo rapido, y que ande sin buscarle la 5ta pata al gato, yo probaria con PHP. Hay muchas info dando vueltas, la mayoria de las cosas basicas ya estan hechas y hay ejemplos por todos lados y podes hacer copy y paste y algo termina saliendo.
Y ahora va lo que yo te recomendaria, que es Python. Es mucho mas simple que JAVA, mucho menos expresivo (expresivo quiere decir que podes hacer mas con menos codigo). Tiene lo bueno de JAVA que es un buen manejo de memoria que es muy importante porque te desligas de muchos problemas. Aparte, es un lenguaje hecho y derecho, donde al usarlo SI aprendes los conceptos basicos de programar. Con PHP aprendes a hacer una pagina, con Python aprendes a programar.
Python te permite hacer lindas paginas web (Youtube esta hecha en Python, ahora la estan migrando de a poco a JAVA).
Hace un tiempito que no uso Python, pero es el que mas me gusta para hacer algo rapido, simple, y que quede mas o menos lindo.
Una ultima nota, hace un tiempo Google saco algo conocido comi AppEngine, que para mi es uno de los productos que mas me sorprendio. La idea es que Google gratis te da un espacio en el eter y un monton de herramientas (incluido una especie de BD), y te maneja toda la infraestructura. Casi no te tenes que preocupar de nada salvo de programar la pagina en si, y te la permite crear tanto en JAVA como en Python. Creo que por ahora solo te podes registrar en US, porque el codigo de verificacion te lo mandan al celular, y tiene que ser un celular de US. No se cuando lo abren al resto del mundo. Si le queres dar una chance, decime que de alguna manera hacemos para que se te active la cuenta.
saludos
Si lo que queres es programar algo para la WEB (tipo lo que hizo ginod de la pagina de sokker), alejate de JAVA.
Soy programador de JAVA, y es un lenguaje muy potente y se pueden hacer paginas muy copadas con JAVA, muchisimas paginas de las que visitas hoy en dia tienen un servidor hecho en JAVA corriendo atras. Pero yo no lo recomendaria para empezar, se necesitan muchos dias de configuracion y de aprender conceptos que por lo que dijiste ahora no tenes.
De .Net y del mundo Microsoft no conozco nada.
Una opcion si queres tener algo andando en poco tiempo es PHP. A mi no me gusta php para nada, es demasiado facil programar a lo burro y las cosas quedan mal y no las podes arreglar despues (la parte de la SN la progrme a lo bruto y asi quedo :P). Pero si queres tener algo rapido, y que ande sin buscarle la 5ta pata al gato, yo probaria con PHP. Hay muchas info dando vueltas, la mayoria de las cosas basicas ya estan hechas y hay ejemplos por todos lados y podes hacer copy y paste y algo termina saliendo.
Y ahora va lo que yo te recomendaria, que es Python. Es mucho mas simple que JAVA, mucho menos expresivo (expresivo quiere decir que podes hacer mas con menos codigo). Tiene lo bueno de JAVA que es un buen manejo de memoria que es muy importante porque te desligas de muchos problemas. Aparte, es un lenguaje hecho y derecho, donde al usarlo SI aprendes los conceptos basicos de programar. Con PHP aprendes a hacer una pagina, con Python aprendes a programar.
Python te permite hacer lindas paginas web (Youtube esta hecha en Python, ahora la estan migrando de a poco a JAVA).
Hace un tiempito que no uso Python, pero es el que mas me gusta para hacer algo rapido, simple, y que quede mas o menos lindo.
Una ultima nota, hace un tiempo Google saco algo conocido comi AppEngine, que para mi es uno de los productos que mas me sorprendio. La idea es que Google gratis te da un espacio en el eter y un monton de herramientas (incluido una especie de BD), y te maneja toda la infraestructura. Casi no te tenes que preocupar de nada salvo de programar la pagina en si, y te la permite crear tanto en JAVA como en Python. Creo que por ahora solo te podes registrar en US, porque el codigo de verificacion te lo mandan al celular, y tiene que ser un celular de US. No se cuando lo abren al resto del mundo. Si le queres dar una chance, decime que de alguna manera hacemos para que se te active la cuenta.
saludos
Yo dejé en el camino un fútbol por cuestiones de salud mental... ya lo voy a retomar y te voy a consultar para el motor, Cate, así si después lo jugás no despotricás tanto :P :P
Jajaja!!! Contá conmigo! Para ideas y beta tester y lo que quieras!!! :P
Gracias a todos por lo que me vienen diciendo!
La verdad, no sé siquiera qué es un lenguaje "estructurado" y qué uno "orientado al objeto" (vi en algún lado que Java era eso, pero no sabía de qué hablaban), y la verdad, si bien, por lo que me dicen, mi experiencia estaría vinculada a un lenguaje "estructurado", tampoco me molesta aprender otra cosa si fuera lo que más conviene, porque me tomo esto como un aprender desde 0.
Más allá de esto, si uds. piensan que me conviene un estructurado, y parece en ese sentido que los más recomendables son el .Net y el Python, entonces pregunto:
¿Y qué debería bajarme para comenzar a programar en esos lenguajes? ¿De qué tutoriales dispondría? ¿Hay libros para esos lenguajes que yo pueda comprar en alguna librería por el centro, por decir?
La verdad, no sé siquiera qué es un lenguaje "estructurado" y qué uno "orientado al objeto" (vi en algún lado que Java era eso, pero no sabía de qué hablaban), y la verdad, si bien, por lo que me dicen, mi experiencia estaría vinculada a un lenguaje "estructurado", tampoco me molesta aprender otra cosa si fuera lo que más conviene, porque me tomo esto como un aprender desde 0.
Más allá de esto, si uds. piensan que me conviene un estructurado, y parece en ese sentido que los más recomendables son el .Net y el Python, entonces pregunto:
¿Y qué debería bajarme para comenzar a programar en esos lenguajes? ¿De qué tutoriales dispondría? ¿Hay libros para esos lenguajes que yo pueda comprar en alguna librería por el centro, por decir?
Te conviene aprender un lenguaje orientado a Objetos. JAVA es orientado a objetos, Python tambien, C# tambien.
Los lenguajes estructurados son cosa del pasado.
Como leer, la verdad esta todo en internet.
Si queres, cuando tengo que aprender lo basico de algo, leo los "X in a nutshell"
"JAVA in a nutshell"
"Python in a nutsgell"
"PHP in a nutshell"
Son bastante basicos, solo requieren un conocimiento basico sobre programacion orientada a objetos (si el lenguaje es orientado a objetos). No se donde podrias leer lo basico sobre programacion orientada a objetos porque eso lo vi en la universidad.
Para aprender lo basico de programacion orientada a objetos SI te recomendaria aprender lo basico en JAVA (los mas religiosos te dicen que deberias aprender en Smalltalk, pero la verdad es que no s e usa y estarias invirtiendo tiempo en algo que no tiene ningun fin practico).
Sun (el creador de JAVA) tiene un par de tutoriales interesantes sobre objetos:
Conceptos basicos
La idea general es que vos ya no creas un "programa omnipotente" donde esta todo definido, el programa tiene un comienzo y un fin, sino que vos programas "objetos", que son simplemente modulos que saben hacer algo en particular, tu apicacion basicamente ccumple su proposito, porque hay un conjunto de esos "objetos" que vos creaste que se comunican entre si, cada uno colaborando con lo que sabe hacer y entre todos logran el proposito.
cualquier cosa avisame.
salute.
Los lenguajes estructurados son cosa del pasado.
Como leer, la verdad esta todo en internet.
Si queres, cuando tengo que aprender lo basico de algo, leo los "X in a nutshell"
"JAVA in a nutshell"
"Python in a nutsgell"
"PHP in a nutshell"
Son bastante basicos, solo requieren un conocimiento basico sobre programacion orientada a objetos (si el lenguaje es orientado a objetos). No se donde podrias leer lo basico sobre programacion orientada a objetos porque eso lo vi en la universidad.
Para aprender lo basico de programacion orientada a objetos SI te recomendaria aprender lo basico en JAVA (los mas religiosos te dicen que deberias aprender en Smalltalk, pero la verdad es que no s e usa y estarias invirtiendo tiempo en algo que no tiene ningun fin practico).
Sun (el creador de JAVA) tiene un par de tutoriales interesantes sobre objetos:
Conceptos basicos
La idea general es que vos ya no creas un "programa omnipotente" donde esta todo definido, el programa tiene un comienzo y un fin, sino que vos programas "objetos", que son simplemente modulos que saben hacer algo en particular, tu apicacion basicamente ccumple su proposito, porque hay un conjunto de esos "objetos" que vos creaste que se comunican entre si, cada uno colaborando con lo que sabe hacer y entre todos logran el proposito.
cualquier cosa avisame.
salute.
Me olvide, para empezar a programar en esos lenguajes:
Yo uso el IDE Eclipse. Es el que dice "Eclipse IDE for JAVA developers".
Por default tiene todo incorporado para programar en JAVA. Pero es muy configurable, y tiene un plug in para trabajar con Python
Se llama PyDev. Si vas a downloads, ahi te explica como instalarlo desde el Eclipse.
Para .NET se que esta el Studio, pero nunca lo use
Yo uso el IDE Eclipse. Es el que dice "Eclipse IDE for JAVA developers".
Por default tiene todo incorporado para programar en JAVA. Pero es muy configurable, y tiene un plug in para trabajar con Python
Se llama PyDev. Si vas a downloads, ahi te explica como instalarlo desde el Eclipse.
Para .NET se que esta el Studio, pero nunca lo use
Además, para programar en Python necesitás instalar el intérprete de Python.
Y como tutorial, te recomiendo The Python tutorial, que es el tutorial oficial. Y algo en criollo y bien básico, pero que te puede servir como introducción es este.
Y como tutorial, te recomiendo The Python tutorial, que es el tutorial oficial. Y algo en criollo y bien básico, pero que te puede servir como introducción es este.
Te conviene aprender un lenguaje orientado a Objetos. JAVA es orientado a objetos, Python tambien, C# tambien.
C# es lo mismo o tiene algo que ver con C++ o C+ o algo así?
C# es lo mismo o tiene algo que ver con C++ o C+ o algo así?
Como te dijeron, creo que .NET es una buena opción. Tiene un IDE amigable y podés programar en una serie de lenguajes (C#, Visual Basic, C++, Perl, Python, Delphi, Fortran y varios más).
(...)
Como resumen te diría que .NET es el más simple de empezar a usar. PHP y Python son un poco más artesanales y Java estaría al nivel de .NET en simpleza, pero con la salvedad del cambio en la forma de pensar las cosas.
Ahora, a ver si entiendo: .NET igual implicaría que tengo que programar en Python, C++ o lo que sea, pero entonces qué sería .NET? o .NET es algo en sí mismo y, además, puedo programar encima en esos lenguajes?
@ todos:
A lo mejor yo tampoco ayudo mucho con el nivel de abstracción de mi planteo. Por eso lo hago algo más concreto: supongamos que mi objetivo final fuera programar mi propio Sokkerviewer o Sokker la pindonga, es decir, mi propio programita que baja los datos de mi equipo en SK y a partir de ahí los ordena, analiza y demás.
Si uno quisiera hacer algo así, ¿uds. entonces cuál de las opciones que venimos hablando me recomendarían?
Gracias una vez más a todos!
(...)
Como resumen te diría que .NET es el más simple de empezar a usar. PHP y Python son un poco más artesanales y Java estaría al nivel de .NET en simpleza, pero con la salvedad del cambio en la forma de pensar las cosas.
Ahora, a ver si entiendo: .NET igual implicaría que tengo que programar en Python, C++ o lo que sea, pero entonces qué sería .NET? o .NET es algo en sí mismo y, además, puedo programar encima en esos lenguajes?
@ todos:
A lo mejor yo tampoco ayudo mucho con el nivel de abstracción de mi planteo. Por eso lo hago algo más concreto: supongamos que mi objetivo final fuera programar mi propio Sokkerviewer o Sokker la pindonga, es decir, mi propio programita que baja los datos de mi equipo en SK y a partir de ahí los ordena, analiza y demás.
Si uno quisiera hacer algo así, ¿uds. entonces cuál de las opciones que venimos hablando me recomendarían?
Gracias una vez más a todos!