Enseñando a programar a mi hermano menor. ¿Por dónde empezar?

sergioRG

#149

#149Yonki_Kong:

es el lenguaje más accesible al inicio

Todo bien en 1995 o qué.

1 respuesta
Yonki_Kong

#181 Yo empece asi cuando aprendí programación. Luego los lenguajes de POO eran más faciles porque la estructura, variables, fucniones, matrices, arrays... ya los habia pillado.

Empezar por Java, es complicado.

1 respuesta
sergioRG

#182 Para eso aprendes C++ sin usar la parte de OOP o Python, y sales con algo de lo que puedas trabajar en un futuro, no? Lo digo porque C quitando la informática industrial y unos pocos sitios más no se me ocurre donde puedes aplicarlo, y menos si vienes de DAW.

Java el único problema que le veo es que es tedioso todo el setup para hacer un hello world, pero tampoco es tan loco empezar por ahí. La mayoría de gente con la que trabajo aprendieron en Java y tampoco murieron mucho. Lo de los objetos es algo que si lo introduces desde el principio la gente lo interioriza rápido, porque es bastante natural modelar el mundo en clases y montar jerarquías.

1 respuesta
Yonki_Kong

#183 Bueno si, en mis tiempos empecé con C, hoy en día empezaria con PYTHON.

1
V

los picacodigos son los paletas de los 2000s, salen hasta de debajo de las piedras

1 respuesta
sergioRG

#185 Sabes perfectamente que eso no es verdad. Y no contento con ello vienes aquí, al foro, a crear crispación. Solo para regodearte de las respuestas que obtengas, evidentemente en contra de tu posicionamiento que sabes erróneo.

No, esto no es gracioso. Tu falta de sensibilidad hacia este tema hace que mucha gente se sienta mal. De acuerdo que eso es Mediavida, pero hay cosas que pueden traspasar la pantalla del ordenador y herir el orgullo de quien te lea. Tú has pasado una barrera que no debías y por eso me causas poco menos que repugnancia.

Voy a respetarte a nivel personal, porque sé que en definitiva, solo tratas de divertirte a costa ajena, aunque con dudoso gusto. Por otra parte, te agradecería de que dejaras de considerarte amigo mío. Un saludo, espero que recapacites y no vuelvas a hacerlo.

7
elfito

Sois unos flanders. Quién no empiece por Brainfuck, es un mindundi.

Estáis debatiendo que es mejor, cuando es comparar churras con merinas. Eso se quita enseñando bien dos lenguajes distintos a la vez, para ser conscientes de las virtudes y defectos de cada uno. Si le gusta el mundillo, y acaba siendo autodidacta, se la va a sudar el lenguaje, reeducará su mente para pensar de manera distinta y posiblemente tenga la capacidad de adaptarse a otros lenguajes tanto existentes como por existir.

No pongáis puertas al campo xD

Czhincksx

Pero no le enseñes Java, que es tu hermano hombre... C#, C++, Python... Hay alternativas mucho más bonitas.

1 respuesta
B

Metele con c directamente o acabará siendo un soydev como el pato. Los conceptos se aprenden tarde o temprano; el escribir código limpio y optimizado es algo que se debería trabajar desde el principio para no coger malas costumbres.

gogogo

Hola mundo

eondev

#188 y le dices C++ y C# me cago en mi puta vida

danao

+1 a python, aunque hay muchos conceptos que no aprenderá ya que te abstrae demasiado pero si le gusta el magreo de datos, es la mejor opcion y es intuitivo aprenderlo.

Tambien está Golang pero tiene una curva de aprendizaje muy jodida pero creo que si es una persona que se esfuerza y una vez que tiene conceptos de programación básicos, tirarse a por ello es una buena opción de futuro.

B

En el hilo de los informáticos ese se nota que son un montón de gordos granudos con la actitud de intentar impresionar a las hembras

NoRelaX

¿De verdad estáis hablando de enseñar a programar a alguien, desde cero, sin tocar ningún lenguaje y a partir de papel y boli?

Espero que nunca os dediquéis a la docencia.

3 respuestas
B

#194 diría que me sorprende que haya gente tan disfuncional en puestos de trabajo de supuesta importancia pero la verdad que no

el ceo de mi empresa con el tema de la cuarentena empezó a postear magufadas en twitter, yo creo que dura dos meses más y se pasa al a homeopatía el cabrón

_MoNxO_

#1 https://github.com/P1xt/p1xt-guides/blob/master/README.md
De zero to hero. Muy recomendado.

Thanat0s

#194 El papel y el boli son para la primera semana, porque se enseñan conceptos en pseudocódigo que básicamente los puedes escribir hasta en español.
En plan si tuviéramos que explicar los condicionales pues algo así:

definimos verano igual a "azul"

Si verano es "azul" entonces
  escribir "Chanquete ha muerto"
si no
  escribir "Winter is coming"
fin Si

Básicamente yo explicaría en papel y boli lo más básico y una vez tenga esos conceptos asimilados ya pasar al lenguaje que más le guste o preguntarle qué le gustaría hacer para encaminarle hacia un lenguaje que le permita hacer algo que le apetezca.

1 respuesta
Seyriuu

#194 Sí.

¿Qué tiene de malo antes de meter a alguien a aprender un lenguaje enseñarle los conceptos básicos, generales y comunes de la programación y hacerle hacer un par de ejercicios donde emplee un par de bucles, de operaciones aritméticas, cuatro variables y un if?

Esas cuatro chorradas son la base de la programación, luego en mi trabajo me encuentro ingenieros que no saben leer un triste código de 100 líneas sin ponerle 300 millones de puts y ejecutarlo y aún así se pierden.

1 respuesta
NoRelaX

#197 Claro, usar papel y boli al principio para empezar a enseñar tipos primitivos, estructuras de datos, funciones lógicas, paradigmas y poco más. Una vez se tenga eso medio absorbido ya es ponerse a picar.

2 1 respuesta
AikonCWD

#198 No tiene nada de malo. Pero mientras haces eso le puedes ir introduciendo un lenguaje real y matar 2 pájaros de un tiro.

Qué ganas en enseñarle: si comida = vacío entonces compra_comida
Cuando puedes aprovechar y enseñarle: if (!comida) { compra_comida() }

1 2 respuestas
claroquesi

no te olvides de las habilidades sociales y la ducha también

Wei-Yu

#200 que conste que opino como tú sobre esto pero en el segundo ejemplo piensa que ya le tienes que decir qué significan los paréntesis, corchetes, el operando de negación y encima también está el tema de que se está llamando una función.

Y que probablemente en un lenguaje random también tendrías que meter el ; o en python los espacios en blanco y ya estás añadiendo más cosas extra (en este caso sobre el scope y demás, que tiene intersección con los curly {} pero sigue siendo algo que añadir).

1
Seyriuu

#200 Que en el primer caso te estás centrando en que aprenda qué es la programación y cómo funciona, y en el segundo caso te estás centrando en enseñarle qué es un lenguaje y cómo funciona.

Luego saltan de un lenguaje a otro que tenga una sintaxis distinta y se ahogan en un vaso de agua.

Unas pocas horas (que no hablamos de estar un año con pseudocódigo, hablamos de un periodo de 2 a 5 horas máximo) pueden tener una gran influencia en la construcción de todo lo siguiente.

1 respuesta
AikonCWD

#203 tu te ahogaste en un vaso de agua cuando pasaste de tu primer lenguaje aprendido al segundo?
No entiendo con qué clase de retromonguers lidiáis vosotros en el trabajo, la verdad.

2 respuestas
NoRelaX

Pues a mí me parece más sencillo y práctico enseñar, en este caso el condicional if, directamente en la sintaxis de un lenguaje de programación existente (el que sea) que enseñarlo en lenguaje humano y que después tenga que hacer otro "ejercicio" para sintetizarlo.

1 1 respuesta
AikonCWD

#205 Y tampoco usaría un lenguaje inicial que no tenga tipado estático, para evitar malas praxis de un inicio o hacer que el cambio a su primer lenguaje de tipado estático le resulte complicado y tedioso.

Una vez asentadas las bases, deben saber declarar correctamente los datos, definir el tipo de los valores de retorno y todo eso. Python para enseñar desde 0 lo veo peligroso en ese aspecto.

1
Colgajo

Picacódigos contra picalibros, el hilo.

Seyriuu

#204 Yo aprendí pseudocódigo, luego aprendí C, luego Javascript y Php, luego Java y finalmente empecé a trabajar en PL/I y unos años más tarde me puse con COBOL. No he tenido problemas nunca, pero probablemente si hubiera aprendido con Java y hubiera empezado a trabajar con COBOL lo habría pasado mal

I

Yo creo que todos estamos de acuerdo en que para saber programar se tienen que aprender conceptos y no simplemente a replicar estructuras en un lenguaje determinado.
Las discrepancias están en si usar un lenguaje para aprender esos conceptos o no. Sinceramente creo que explicar con papel y boli cómo funciona un for viene muy bien (ya sea con pseudocódigo o con un esquema o dibujito incluso mejor) pero lo mejor es ir asimilando esos conceptos de forma práctica apoyándose en un lenguaje. De esta forma tienes la ventaja de que te vas familiarizando con cómo es un lenguaje de programación, y ves una aplicación práctica a todo lo que vas haciendo. Incluso si el alumno es motivado puede ir cacharreando cambiando aquí y allí y probando si funciona o no. Además es importante que cuanto antes empiece a darse cuenta de que programando hay que ser muy exactos, que dejándote un ; o algo así por el camino puede hacer que tu programa ya no funcione.
La segunda discrepancia es con el lenguaje... Por algún motivo que desconozco, hay mucho hate contra Java (casi siempre de gente que jamás ha hecho nada con java o muy poco)
¿Es Java un lenguaje perfectamente válido para iniciarse en la programación? Pues si, como muchos otros. Además tienes la ventaja de que estás aprendiendo uno de los lenguajes más usados en el mundo si no el que más, así como más longevos.

Y ya como opinión personal, pienso que es mejor pasar de un lenguaje más "verbose" (java en realidad no lo es tanto pero tiene esa fama porque si lo era más en sus primeras versiones) y fuertemente tipado a uno que haga más "magia". Es importante reforzar qué se está haciendo en cada momento y es mejor si eso se ve plasmado en código que si se lo tiene que imaginar.
Yo aprendí a programar en Pascal como muchos otros por aquí imagino, que es asquerosamente verbose, y precisamente se seguía usando este lenguaje para enseñar porque te obliga a estructurar mucho tus pensamientos. Cuando pasas de un lenguaje que tienes que declarar una variable al principio obligatoriamente a otro que puedes declararla al vuelo, eso que ganas, pero ya tienes en la cabeza lo que está pasando por debajo y que realmente el lenguaje solo te está facilitando cosas.

3
Fyn4r

#199 lo pones como si las estructuras de datos se aprendiesen en una mañana

2 respuestas

Usuarios habituales