Como empezar desde cero en programación

Muy buenas a todos, tengo 17 años y me encantaría aprender programación y, si fuese posible aprender muchos lenguajes de programación. El caso es que quería preguntaros, desde el punto de vista de alguien que no tiene casi ninguna base de programación (por no decir nada) cual es el lenguaje mas fácil de aprender y de alguna página en la que muestren algun buen tutorial y ejercicios para ir iniciándose. También decir que tengo clarísimo que quiero dedicarme profesionalmente a esto, lo que ya no tengo tan claro es sobre que programar, por eso me gustaría ir sentando bases de algun par de lenguajes para ayudarme a saber que es lo que quiero programar, como funciona cada uno, en que se diferencian etc. He estado leyendo y muchos recomiendan python por ser un lenguaje fácil, con una sintaxis que no es muy complicada, otros hablaban de empezar directamente en C# o C porque segun ellos es el lenguaje mas "potente"... a si que si alguno me da alguna opinión para ir empezando poquito a poco se lo agradecería mucho. Salu2 :)
yo para empezar recomendaría pseudocodigo más que un lenguaje directamente.
A los crios les enseño primero a usar scratch, o pseint si son un poco mas mayores, para que vayan aprendiendo las bases y eso le es válido para cualquier lenguaje que quieran aprender después.
Gracias por la recomendación me estoy bajando pseint y tan pronto como lo tenga me pondré con ello. También estoy abierto a cualquier tipo de opinión y consejo sobre cualquier tema de programación, todo sea por ir aprendiendo.
Depende como seas tu, y que quieras programar...

Yo no sirvo para estudiar, asi que prefiero aprender sobre la marcha, programando

Otros son buenos estudiando, y prefieren leer manuales


Independientemente de eso, lo primero que hay que hacer es, plantearse que se quiere, y plantearlo en un papel. Una vez que lo tenes armado, da igual el codigo


Yo comenze con basic, aunque supongo ya estara desfasado. Comienza leyendo algo de teoria de programacion, sin lenguaje especifico, y cuando te sientas seguro, a un lenguaje.. supongo que C seria lo logico
Lo más común suele ser empezar con pseudocódigo como te ha recomendado Noumaios. Pasar posteriormente a C lo que vayas haciendo en pseudocódigo para comenzar a familiarizarte con el lenguaje suele ser sencillo y cuando controles medianamente bien C puedes echar un vistazo a la programación orientada a objetos con JAVA.

Hay muchos lenguajes distintos y en función de lo que quieras hacer (aplicaciones de escritorio, móviles, web...) uno u otro se adaptará mejor a tus necesidades pero una vez tengas una base la curva de aprendizaje suele ser mucho más sencilla.

Programar no es fácil (ni tampoco tan difícil que sino iba a estar yo aquí [+risas] ) pero nadie nace sabiendo y con ganas seguro que logras hacer grandes cosas, ánimo y mucha suerte [oki] .

Un saludo.
Yo voy a tirar una piedra y voy a recomendarte algo que conozco a varios que les ha funcionado bastante bien.

Búscate un lenguaje de scripting para crear aplicaciones básicas sin necesidad de crear código complejo. Intenta hacer algún jueguecillo en game maker, multimedia fusion, flash, o algunta herramienta similar. Con ello aprenderás algo que no se aprende aprendiendo un lenguaje que es la abstracción lógica. Es decir, no es aprender a escribir si no aprender qué escribir para alcanzar el resultado deseado. Uno de estos programas es muy útil debido a que los cambios los ves inmediatamente y son mucho más sencillos y descriptivos, por lo que puedes aprender a abstraer rápidamente. Luego, tendrás que aprender muchos conceptos técnicos y con ello un lenguaje de programación. Pero eso es pan comido una vez sabes abstraer la lógica a un programa, porque lo más dificil es eso. Conozco gente que en sus orígenes sabían a la perfección el idioma, sabía leer los programas e interpretar que hacían, pero no sabían hacerlo ellos mismos porque les faltaba ese paso de abstraer.
sea el lenguaje que sea lo ideal es junto a alguien que te oriente, prefiero una academia que por lo menos vas a tener las bases y evitaras manerismos
Yo estoy empezando con http://www.codecademy.com/.
Fácil y divertido, no se hasta donde se podrá llegar pero se hace muy ameno.
C se usaba antes para enseñar pero no es bueno ni de lejos.
Pseudocodigo esta bien para tener la lógica de programar. Después lo suyo es aprender un lenguaje imperativo, uno declarativo y uno orientado a objetos. Por poner un ejemplo C, sql, java.
Reakl escribió:Yo voy a tirar una piedra y voy a recomendarte algo que conozco a varios que les ha funcionado bastante bien.

Búscate un lenguaje de scripting para crear aplicaciones básicas sin necesidad de crear código complejo. Intenta hacer algún jueguecillo en game maker, multimedia fusion, flash, o algunta herramienta similar. Con ello aprenderás algo que no se aprende aprendiendo un lenguaje que es la abstracción lógica. Es decir, no es aprender a escribir si no aprender qué escribir para alcanzar el resultado deseado. Uno de estos programas es muy útil debido a que los cambios los ves inmediatamente y son mucho más sencillos y descriptivos, por lo que puedes aprender a abstraer rápidamente. Luego, tendrás que aprender muchos conceptos técnicos y con ello un lenguaje de programación. Pero eso es pan comido una vez sabes abstraer la lógica a un programa, porque lo más dificil es eso. Conozco gente que en sus orígenes sabían a la perfección el idioma, sabía leer los programas e interpretar que hacían, pero no sabían hacerlo ellos mismos porque les faltaba ese paso de abstraer.


Estoy contigo, yo aprendí PHP (lenguaje de script) y me sirvió muchísimo, cuando me enseñaron algo de C, era como si ya supiera de que iba el tema, tenía adelantado un montón frente a otras personas en el mismo curso.
Lo mejor de PHP es que tienes su manual online con MULTITUD de ejemplos, multitud de comunidades que comparten código, etc... además sólo necesitas guardar el archivo y darle a F5 para ver tus cambios (sin necesidad de compilar, mano de santo hoyga)
El tema es comenzar en un lenguaje, que sirva de base, da igual cual, y primero ir a la teoria

Yo creo que da igual PHP, Java, C, Pascal, etc etc al final son todos lo mismo, si te moves bien en uno, podes saltar a otro, con una base


A mi me pasa al contrario, soy programador de assembler, y joder... aun despues de anios de programar, es imposible que saque dos lineas coherentes.. por ejemplo, en C... XD mi cerebro funciona diferente devido a que aprendi algo que no es una base muy util para saltar de lenguajes
Ellacopter escribió:Yo estoy empezando con http://www.codecademy.com/.
Fácil y divertido, no se hasta donde se podrá llegar pero se hace muy ameno.


Haz caso a Ellacopter ;)

También http://www.coursera.org mola mucho.
iTor escribió:
Ellacopter escribió:Yo estoy empezando con http://www.codecademy.com/.
Fácil y divertido, no se hasta donde se podrá llegar pero se hace muy ameno.


Haz caso a Ellacopter ;)

También http://www.coursera.org mola mucho.


O Udacity, mismamente. Por ejemplo: https://www.udacity.com/course/cs101
Tira de pseudocodigo. Te tienes que ir quedando con la metodología de trabajo:

- declaración de variables
- clases
- bucles sencillos ( for, switch, if )
- espacios de nombres
- programas sencillos

Por el lenguaje no te preocupes. Lo importante es coger el hábito. Una vez que lo tengas serás capaz de programar en cualquier lenguaje teniendo internet.

A día de hoy yo trabajo con C# desarrollando aplicaciones .Net. En mis orígines comencé con C y Pascal.

Suerte!!!
Xavy_S escribió:Estoy contigo, yo aprendí PHP (lenguaje de script) y me sirvió muchísimo, cuando me enseñaron algo de C, era como si ya supiera de que iba el tema, tenía adelantado un montón frente a otras personas en el mismo curso.
Lo mejor de PHP es que tienes su manual online con MULTITUD de ejemplos, multitud de comunidades que comparten código, etc... además sólo necesitas guardar el archivo y darle a F5 para ver tus cambios (sin necesidad de compilar, mano de santo hoyga)


PHP no es un lenguaje de scripting. Tal vez se le podía considerar como tal hace años, ahora no.

Pues yo te voy a recomendar Python. Si a día de hoy está a la cabeza como el mejor lenguaje para empezar a programar es por algo. Y además es tan potente que se puede hacer cualquier cosa con él, como por ejemplo crear un motor de búsqueda llamado Google.

Además de aprender a programar de una forma fácil, aprenderás a tener tu código limpio y bien estructurado.
Wow no pense que llegaría a contestar tanta gente pero bueno, se agradece xD. De momento estoy en pseudocódigo, la teoría la tengo mas o menos y bueno poco a poco se va aprendiendo, tendré en cuenta todas las recomendaciones que habéis hecho. Salu2 :D
cipoteloth escribió:C se usaba antes para enseñar pero no es bueno ni de lejos.
Pseudocodigo esta bien para tener la lógica de programar. Después lo suyo es aprender un lenguaje imperativo, uno declarativo y uno orientado a objetos. Por poner un ejemplo C, sql, java.

Pues siento discrepar, pero C es quizá de los mejores lenguajes para aprender, porque te hacer ser consciente de los errores que cometes y te enseña como se gestiona la memoria de una aplicación.

Si vas a estudiar en serio (con en serio me refiero a la carrera), empieza por C, que te asienta las bases de la programación y te da una visión a medio-bajo nivel de un computador. Después cuando sepas la teoría hasta punteros (y lo entiendas, muy importante) y te hayas implementado tu solo alguna estructura de datos que los utilice, me pasaría a algún lenguaje orientado a objetos como Java o C#. De todas formas esto no tiene por qué ser secuencial; puedes aprender C mientras lo compaginas con Java por ejemplo, y no vas a tener ningún problema.
raylib es lo que buscas, perfecta librería para empezar desde 0

www.raylib.com ratataaaa
A mí en la universidad me están enseñando Python.
Según dicen, es uno de los lenguajes de programación más sencillos de aprender. Y se suele utilizar mucho en proyectos open source.
Si alguien quiere aprender este lenguaje, le recomiendo un curso gratuito que imparten en la web de Coursera, y que está muy, muy bien.
Paso link: https://www.coursera.org/course/pythonlearn
Yo empecé por C, aprendí C++ y me hice el curso de Python de la universidad Edx. Y mi consejo es que empieces primero por Python sin dudar. Hace un tiempo recomendaba C, pero Python es tan increíblemente útil y sencillo que creo que es lo mejor que puedes hacer.
Seguramente en poco vuelvan a abrir el curso de Python y si te animas a hacerlo, te dan un certificado al completarlo, (el curso es en inglés). Pero ya te aviso que no es difícil.
Lo más importante de todo es: ¡Ánimo y adelante!
Aprende C, luego C++, y despues de eso sabras usar el 90% de los lenguajes actuales. Pero nunca olvides la algoritmia porque eso es mas importante que saber lenguajes. Practica pensando lo que haces, piensa si hay formas mejores de hacerlo, y sobre todo, piensa primero en como resolver el problema y luego programalo, no vayas instantaneamente al IDE a poner lineas de coldigo a lo loco a ver si sale algo.
Yo hace no demasiado tiempo estaba como tú. Mi consejo:
1. psudocódigo: papel, lapiz, goma y aprender que es un do-while, while, for, qué tipos de variables hay etc. (yo puedo pasarte apuntes de primero de Desarrollo de APlicaciones Multiplataforma, es un grado superior).
2. Un lenguaje, a ser posible, que no sea orientado a objetos de base. Los lenguajes así a muy groso modo se dividen en los que son orientados a objetos y los que no (según aprendas verás que esto no es cierto del todo). Recomendación: C (es un poco tedioso pero te da una base muy muy buena) o Phyton (es orientado a objetos pero te puede valer).
3. Elegir un lenguaje orientado a objetos. Si tienes buena base del punto 2, no te costará. Yo pasé de C a Java. Java mola porque es multiplataforma (el mismo programa funciona independientemente del Sistema Operativo en el que lo lances) Es muy versatil y fácil de aprender (una vez más, si tienes buena base del punto 2).

Si todo te suena a complicado etc, no te agobies. http://stackoverflow.com/ y http://www.conclase.net/ son grandes aliados.

Si quieres empezar a trastear (seguro que quieres) dale a esto, es bastante divertido y te enseña la base muy bien. https://www.codehunt.com/. Basicamente es un juego donde mueves los muñecos y atacas programando.
Todo depende de a lo que quiera llegar. Es imposible alcanzar un buen nivel de conocimiento en esto de la programación sin pasar por un lenguaje que maneje punteros y requiera comprender las consecuencias de lo que se está haciendo.

Eso si, para programar cuatro mierdas en plan aplicación web o una aplicación de formularios chorras para móviles no hace falta controlar, así que cualquier lenguaje que tenga bucles y ifs te valdrá para entender el flujo lógico de la aplicación.

Yo soy de la vieja escuela de aprender C ( o algún otro lenguaje algo más "didáctico" que C como Pascal ) con un editor de texto y un compilador en linea de comandos. Los IDEs vendrán después para hacerte la vida fácil.
Ya sé que HTLM5 no es un lenguaje de programación, pero si empiezo aprendiendo HTML, CSS me serviría de algo? O tendría que empezar de 0 en POO? O debería convinar el aprendizaje con otros lenguajes como java, php o phyton?
Drami24 escribió:Ya sé que HTLM5 no es un lenguaje de programación, pero si empiezo aprendiendo HTML, CSS me serviría de algo? O tendría que empezar de 0 en POO? O debería convinar el aprendizaje con otros lenguajes como java, php o phyton?


No conozco en profundidad todo lo nuevo que trae HTML5 o CSS2, pero no tiene nada que ver con programar en C o en un lenguaje orientado a objetos. HTML no deja de ser texto plano con normativa que interpreta el navegador. Se podría decir que son mundos diferentes (esto, según avanzas en tu vida de programador verás que no es cierto).

Lo primero que te tienes que plantear es: ¿Qué me gustaría programar?
A) Quiero hacer páginas web tipo EOL y cosas así. Entonces empieza a apretarte HTML5, CSS2, Javascript y cómo se usan librerías como Jquery

B) Quiero hacer aplicaciones web que sean algo más que una página. Entonces combina la parte A con Java EE, Spring, Structs y cosas así. A día de hoy, en el mundo de las Gestorías (Cárnicas) tipo Accenture, SIA etc es lo que se hace de verdad

C) Quiero hacer programación "pura". Aplicaciones de escritorio, juegos, aplicaciones Móviles ect. Entonces lo más recomendable es JAva, Phyton, C#, C++... aquí ya va en gustos.


Elijas lo que elijas yo vuelvo a decir lo mismo, empieza leyendo en páginas para principiantes y haciendo ejercicios de pseudocódigo en papel y lápiz. Y muy recomendable aprender C para que luego entiendas el salto del paradigma O.O. y no te pierdas con cosas como punteros, memoria dinámica etc. Yo hice el grado superior de DAM, te puedo pasar apuntes y cosas. Nada que no puedas encontrar en la web
24 respuestas