Aprender a programar.

batulfo

Buenas gente.

Pues eso, hace mucho tiempo que quiero aprender a programar, pero nunca he sabido por donde empezar. Se que hay varios, o muchos lenguajes de programacion, pero estoy pez, y no tengo ni idea.

Cual me recomendariais para empezar? Por donde empiezo una vez escogido el lenguaje? Teneis paginas donde pueda aprender en plan autodidacta?

Gracias y un saludo ;)

LOc0

Hola.

www.algoritmia.net

http://aprendepascal.wikidot.com/

Ser autodidacta requiere vocación y sobre todo disciplina. Buena suerte.

Salu2 ;)

RubaPowa

html , php , java , mysql , c+ ... deberias decir que tipo de programacion quieres aprender , creacion de webs basicas , bases de datos ...

BLZKZ

#3 la clase de programacion no es el lenguaje, no confundamos xD

1
B

Estoy de acuerdo con #4
Aprender a programar, es aprender a realizar un for, un bucle, cuando utilizar una cosa u otra, etc.
Luego aplicas las sentencias de cada lenguaje a eso que has aprendido.

Kartalon

Pero lo suyo es aprender con un lenguaje coño xDDD

Aprender a programar con pseudocódigo es desalentador. Que aprenda con C y luego se mire Java y profit.

NeO_PedritO

Yo tambien te recomendaria que empieces con pascal, y que luego sigas con c/c++. A partir de ahi, lo que tu quieras.

batulfo

Por lo que he visto por "inet", segun la gente, Pascal es el mas facil para empezar. De momento estoy con la pagina que me dijo #2, pero veo que no esta completa. Cuando llegue a hacer todo lo de la pagina esa, ya seguire buscando mas. Gracias por la info gente ;)

Kartalon

Pues yo recomendaría C por simples motivos de sintaxis, al fin y al cabo la mayoría de lenguajes más utilizados tienen una sintaxis más similar a C (sino son lenguajes que decienden directamente de este).

Pero vamos, que para el caso da igual.

B

Yo te diria que empezaras por C, Pascal o Basic... de entre ellos elegiria entre C y Basic ya que son los implementados en un mayor numero de arquitecturas... todo aquel que haga informatica me tachara de sacrilego, hijo de lol etc... pero a mi parecer son los 2 mas utiles.

Despues de muuuuuuuuucha practica te diria que te extendieras hacia el paradigma de los objetos con C# o Java... a dia de hoy son los mas utilizados, C++ tb es recomendable pero es un poco mas complicadillo. Hay alguna alternativa mas como phyton pero lo mejor es empezar por alguno de esos 3 que son los mas extendidos.

Luego si te quedan pelos en la cabeza y el estress no ha podido contigo puedes meterte algo de ensamblador, pero solo si te va la electronica y programar PICs etc.

Como experiencia te dire que la programacion mola a ratos, es como la guarida del conejo de Alicia en el Pais de las Maravillas, no sabes hasta donde llega y a veces lo pasas bien y otras mal... lo pasas bien cuando algo te sale... tanto que contratarias una felatriz para el momento. Las peores, generalmente cuando pasas una tarde cagandote en la madre de Charles Babbage y similares por una interferencia entre hilos o un simple algoritmo mal planteado.

B

Digo yo que lo mejor es aprender con un lenguaje con una curva de aprendizaje apta para iniciados y que de paso le sea útil en el futuro(Python por ejemplo). Lo de Pascal,Modula 2,ADA es de hace 10 años. Empezar con visual basic por el amor de dios NO.

BLZKZ

#9 que quieres que te diga, pero c++ se parece a pascal más en algunas cosas de sintaxis que a c, amén de que pascal y c son primos en sintaxis xD

Yo empezaría con c++ sinceramente, porque es muy extendido, entiendo que es inmensamente fácil encontrar información sobre el lenguaje, tiene los mejores IDE's y por si fuera poco es bastane sencillo en cuanto a sintaxis (más que c)

y #10 puedes usar c++ como lenguaje estructurado (procedural) como si fuera c (o pascal) sin usar clases de objetos ni leches (que será a lo que llamas "complicado") pero sinceramente lo complicado del paso de c a c++ es el cambio a la orientación a objetos, pero que no es obligatorio en principio hacer uso de ese "paradigma" o forma de programar

1
Kartalon

#12

que quieres que te diga, pero c++ se parece a pascal más en algunas cosas de sintaxis que a c

no wai tio

Puni

yo empece con java y no me ha ido mal, de hecho tengo conocimiento de q mi facultad es de las pocas q empiezan desde 0 con orientacion a objetos y no me ha ido nada mal. de hecho pasarse al paradigma estructurado es una chorrada si vienes de OO, al reves me consta q no... :D

de hecho para el nuevo grado habia propuestas de empezar con Ruby, que es orientado a objetos puro, no como java q tiene los tipos primitivos, y entre algunos profesores tenia buena acogida.

dr_Rouman

Yo empecé con C, luego con C++ (aparte de los lenguajes menos comunes que te enseñan en la facultad: Scheme, CLIPS, Prolog, Flex, yacc...) y ahora estoy con Python haciendo el proyecto.

Sé que debería aprender Java si quiero vivir de esto algún día, pero me da mucha pereza xDD

Es importante aprender algoritmia antes, pero puede ser muy muy desalentador no ver un resultado inmediato de lo que estás haciendo, especialmente si eres autodidacta. Puedes ir aprendiendo ambas cosas a la vez.

Aprende qué es un programa, lo típico de algoritmos + estructuras blablabla Y a la vez puedes, por ejemplo, entender qué es un compilador / intérprete (muy muy por encima)

Aprendes lo que son variables, bucles y condiciones y luego te miras la sintaxis del lenguaje en cuestión para probarlo.

Y así hasta que te aburras xd

B

#12 Si c++ es complicadillo a la hora de trabajar con cierta limpieza en memoria, con aplicaciones graficas, hilos etc... de todas formas, lo que iba a decir, para aprender c++ como lenguaje procedural, aprende c y punto...

#15 Pues Java no es nada complicado, al menos lo basico... yo mismo empece hace 3 meses de 0 y estoy haciendo apps para android, aunque eso si, la concurrencia solo la he tocado por encima... eso de que varias hebras trabajen sobre los mismos datos es escabroso en cualquie lenguaje xDDD.

D

#15 yo, que soy del área de sistemas aprendí a programar en Java en un curso del INEM, imagina tu q estás más curtido picando codigo xD. Es facilote

MaKi

Pascal me encanta pero tiene un gran problema con el ";" que confunde a los novatos.

En C el ";" es un separador de sentencias:

if (condicion)
sentencia1;
else
sentencia2;

En Pascal el ";" es un separador de bloques:

if (condicion) then
sentencia1
else
sentencia2;

En python, es superior a ambos y no son necesarios los ";".

Por cosas como esta, yo le propondría C o mucho mejor aún Python para empezar.

BLZKZ

#13 por ejemplo a la hora de mostrar variables usando librerias de entrada salida, es mas parecido c++ a pascal que a c.

#16 como lenguaje procedural c++ tiene sintaxis mas sencilla que C, por eso lo decia, ademas salvo en linux c++ es más usado, y java es muy parecido a c++ por lo que matas dos pajaros de un tiro (siendo java el lenguaje más usado actualmente)

1
E

Si quieres empezar bien empieza aprendiendo a programar en ningún lenguaje en concreto, cosas generales que sirven para todos los lenguajes y después PASCAL.

Es una chusta, pero de cara a aprender otras cosas, te será más fácil, es el método que siguen en las universidades.

LOc0

#18

El ; en Pacal es SEPARADOR de sentencias y bloques. En C el ; pertenece a la propia sentencia. Por eso en Pascal el ; antes de un END es opciona así como el ; después de un bloque si es el último antes del END final. Recuerdo bien esto porque tuve que hacer un traductor Pascal -> C para la práctica de Compiladores y este asunto lo remarcaban en el enunciado dando a entender que podría ser "problemático".

Y recomendar C frente a Pascal a un noob por cosas de estas, en serio y sin acritud, me parece un poco de xD...

Salu2 ;)

batulfo

Vale, muchas gracias por todas las respuestas y recomendaciones. Entonces, con cual de estos 3 me quedo?

-Pascal
-C
-Python

Nucklear

Yo te recomiendo C y Python y que cuando ya entiendas el funcionamiento te pases a la programación orientada a objetos.

cabron

#22:

Si quieres que durante los próximos 6 meses - 1 año, tus programas lo único que hagan es tener entrada y salida por consola, y hartarte de hacer ejercicios de sumar números y recorrer cadenas, aprende C, C++ o Java.

Si quieres ver una ventana con botones al poco de dominar lo básico y construir programas que hacen algo, aprende python.

Por lo que das a entender, quieres a aprender a programar por hobby, y lo más importante de un hobby, es entretenerse, no llegar a ser el próximo ingeniero de la NASA, así que te recomiendo la segunda opción.

soulsville

Programar apesta.

Odio programar.

En la carrera hemos empezado con C xd. Supongo que es lo más útil y sencillo para empezar, aunque como te dice cabrón, búscate algún lenguaje que te entretenga.

RaymaN

Aprovecho el hilo para preguntar si es buena idea aprender Java enfocado a Android desde 0 (nunca he visto Java, solo PHP, C++ y VB) o coger una buena base en Java y luego empezar en Android.

Me llama mucho la programación para Android, creo que puede tener buenas salidas xD

LOc0

#26

C++ (el de los templates, no el de usar cout<< en vez de printf) es una fumada de lenguaje de mucho cuidado. Si te defiendes con él, Java no te va a suponer mayor problema. Y en cuanto al "java de Android" pues es Java con ciertas "limitaciones" (Estuve trasteando de cara al PFC aunque luego he tirado por otra rama). Mírate alguna guía rollo pasar de C++ a Java y dale caña.

Salu2 ;)

BLZKZ

el de los templates y no el de cout<< what??? xDDDDDDDDd

pero si los templates son plantillas simplemente -.- ahora mismo tengo hecho un "akinator" que usa templates (arboles y secuencias) y uso cout porque no me apetece hacer una GUI, con una UI de consola sobra xD

#26 Para andoid no te mires java, pasa directamente a manuales, que sabiendo c++ veras que es muy parecido pero sin tener que preocuparte de la memoria dinámica. Ahora edito y te paso un enlace con un manual de android para iniciarte :)

EDIT: http://commonsware.com/Android/Android-1_0-CC.pdf yo diria que está muy bien

Ademas es el libro para iniciarse, hay otros dos en la web http://commonsware.com/ por $20 creo que era te llevas en edicion fisica los 3. Tambien hay que tener en cuenta que tienen licencia four to free asi que... :P

1
Nucklear

#24 ¿Java aplicaciones de consola? Pero si es uno de los lenguajes con mas versatilidad (En mi opinión al menos). Con Java SE puedes hacerte cualquier aplicación de escritorio que quieras y con la Enterprise Edition tienes material para aplicaciones web para rato sumándole todas las librerías existentes que hay.

Queráis o no, para conseguir los conceptos básicos hay que hacerse aplicaciones básicas, y estas van desde los típicos Hello World hasta tontería de ejemplos que circulan por ahí. Una vez con la base bien aprendida si puedes dar rienda suelta y buscarte el lenguaje que vas a utilizar. Ademas conociendo los principios básicos de la programación y de la POO puedes adaptarte a cualquier lenguaje nuevo en cuestión de semanas/meses sin mucho esfuerzo.

Kartalon

#26 Es un poco cani sureño, seguro que si no sabe Java se empieza a mirar Android y se vuelve "tolocoh primoh". Mejor que empiece haciendo hola mundos.

<3