Programación, por donde empezar

Ranthas

#59 Si te hubieras leído el post completo, te hubieras ahorrado poner semejante estupidez, se te nota que estás enterado del tema.

isnotavail

Yo os voy a dar mi punto de vista como aficionado, no me dedico a ello profesionalmente, es un hobby , pero en mi caso cuando empece fue importante a nivel de boost motivacional ver resultados rapidos, estudiar un par de conceptos y hacer un miniproyecto, estudiar otros cuantos, y hacer otro, etc, si me hubiese puesto en plan autodidacta solo en casa a estudiar java como lo hacen en un grado estoy seguro que lo hubiese dropeado a la semana.

2
allmy

La gente está loca haciéndote empezar por lo complicado.

Empieza por lo fácil, por Python. Y es importante que empieces al menos la primera vez, mediante un curso estructurado. Luego ya una vez entiendas con conceptos generales y la lógica de todo, vas a otras cosas y a otros lenguajes.

Querer empezar por Java, por C++ o por cosas así es un camino a ninguna parte, la mayor parte de las veces. Java por ejemplo es un lenguaje con una sintaxis de la que no vas a entender absolutamente nada hasta que lleves bastante tiempo programando. Todo ese tiempo vas a tener sus programas fallando y no vas a saber por qué. Es como empezar la casa por el tejado.

Y C++ se complica muchísimo y muy rápido a nada que quieras hacer algo interesante. Así que vas a estar haciendo cosas muy básicas mucho tiempo, y te vas a aburrir.

2
B

Yo empecé con el htdp y me gustó mucho. Lo recomiendo.

Edit: Yo he estudiado de manera autodidacta y en un año encontré curro fuera de España de frontend dev (que creo que es de lo más fácil para encontrar algo).
Si tuviera que empezar ahora y con vistas a front haría lo siguiente:

  1. Htdp: https://htdp.org/2020-8-1/Book/index.html o si te ves con ganas SICP: https://xuanji.appspot.com/isicp/ (bastante más complicado que el HTDP)
  2. Algos y data structures: http://interactivepython.org/runestone/static/pythonds/index.html
  3. HTML + CSS. Aquí no le daría muchas vueltas, buscaría algún recurso y me lo miraría pero sin perder demasiado el tiempo (yo hice este: https://www.internetingishard.com/html-and-css/)
  4. plain js: https://javascript.info/
  5. React: https://epicreact.dev/ (en rutracker diría que está pirata) + https://www.youtube.com/watch?v=KJP1E-Y-xyo o tirar directamente de la doc que está muy bien.

1 y 2 para aprender a programar, 3, 4 y 5 para aprender a hacer un trabajo.

Con esto yo creo que ya da para encontrar algo y se puede hacer en menos de un año (serás un masilla tho).

Para aprender CS más seriamente personalmente tengo pensado estudiar:

Estos últimos no me los he leído pero los mencionan aquí https://teachyourselfcs.com/ como buenos libros en relación al tiempo invertido/recompensa.

5
RosaNegra

#2 puuuuum en tu cara pato noname

PaPi

#13 Yo me he animado con los fineses, mola mucho el tema MOOC y Netbeans con TMC para mandar los ejercicios. Gracias!

1
ramaGZ

Por recomendación de algunos en este hilo empecé hace unos días con htdp.org

La teoría la explica bastante bien pero los ejercicios están completamente fuera de lugar la gran mayoría de las veces, es extremadamente frustrante.

Ilustro: en el ejercicio 8 del punto 1.6 "Mixin up with booleans", te piden que crees una expresión para que arroje "tall" o "wide" según si la imagen es más larga que ancha o viceversa. La solución (de forma extremadamente lamentable, encontrada fuera del libro), es la siguiente:

(if (> (image-height cat) (image-width cat))
    "tall"
    "wide")

La expresión se entiende perfectamente, pero contiene strings asociados a la condicional, algo que para sorpresa de nadie, no se te dice en ningún momento ni cómo hacer ni si es posible hacerlo (hasta ahora solo manejaste valores #true o #false). Es decir, el ejercicio es absolutamente imposible de completar porque faltan datos. Se te dice que mires el ejercicio 1 para crear este tipo de expresiones, pero evidentemente no lo hace con condicionales.
Quizás haya que buscar en la documentación cómo hacerlo, pero esto lo hace peor todavía. Sería como mirar una película y tener que darle al pause para buscar en la Wikipedia o en una novela cada vez que se hiciera referencia a algo que no estuviese explícitamente expuesto en esa película.
Lo peor es que justo después, basada en esta expresión, te piden que crees otra que arroje "tall", "wide" o "square" según convenga. Lo normal es que no tengas ni idea de como se estructura eso. Para eso deberían enseñarte a conjugar múltiples condicionales. Y por lo tanto, una vez más, el ejercicio es imposible de realizar.

Los ejercicios siguen todos el mismo patrón, hay una falta de información descomunal en ellos.

>Esto es un ladrillo
>Esto es cemento
>Puedes juntar el ladrillo y el cemento de esta forma
>Aquí tienes un link y una mención a la documentación como quien no quiere la cosa
>Ejercicio 1: construye la caseta de un perro

Creo que no es para nada un buen libro de iniciación a la programación. De hecho, me parece un recurso de muy bajo nivel en términos educativos para una materia que se supone que debes practicar para aprender.

2 2 respuestas
VROhN

¿Alguna recomendación para aprender C# a parte del tutorial de píldoras informáticas?

Para un completo novato.

Cryoned

#67 http://htdp.org/2003-09-26/Solutions/contents.html

aunque es la versión de hace una década no sé si habrán modificado cosas.

#67ramaGZ:

Creo que no es para nada un buen libro de iniciación a la programación.

es literalmente como se enseña en las mejores universidades y con estudios detrás que muestran que todos los alumnos que empiezan con ello, salen mejor preparados que quienes empiezan con otros lenguajes a saco. En serio, es el mejor recurso si pretendes aprender en serio las bases de la programación.

Y siempre puedes escribir a los autores y hacen correcciones cada 2x3 en los textos para mejorar la comprensión en base a las sugerencias.


De todas maneras si te frustras, que a veces en esto es muy común, puedes coger algo de nostarchpress y python que es para ir aprendiendo a jugar y hacer cosillas o el zero to hero que tiene reviews estelares, pero la base fundamental de programación la cogerás peor o te costará más tiempo, al menos en teoría, luego cada uno funciona a su forma.

1 respuesta
ramaGZ
#69Cryoned:

es literalmente como se enseña en las mejores universidades y con estudios detrás que muestran que todos los alumnos que empiezan con ello, salen mejor preparados que quienes empiezan con otros lenguajes a saco. En serio, es el mejor recurso si pretendes aprender en serio las bases de la programación

El libro ni siquiera te enseña algo tan básico como estructurar el código con tabulaciones/espacios, realizar algunos ejercicios es sencillamente imposible. No "muy difícil" o "solo reservado para mentes privilegiadas", no. Imposible. CTRL+F "indentation", cero resultados.
Por suerte ya hice cursos de HTML y CSS y de forma paralela a este libro también JS, si no no sabría ni qué coño estoy viendo en pantalla.
Dicho lo cual:

(if (string? in) 
    (string-length in)
    (if (image? in) 
        (* (image-height in) (image-width in))
        (if (number? in)
            (if (> in 0) 
                (- in 1)
                (abs in))
            (if (boolean? in) 
                (if in
                    10
                    20)
                (error "Unknown data type")))))

pedirle a alguien que realice un ejercicio así es completamente ridículo cuando no sabe lo que es ni un sangrado, ni para qué sirve, ni estructurar, ya no varias, sino dos condicionales seguidas.

El libro por si mismo es una pérdida de tiempo para el novato autodidacta porque avanza sin saber escribir más de 4 líneas de código seguidas.

2 respuestas
Cryoned

#70 htdp no es un libro para enseñarte a lo que le estás pidiendo, es un libro para enseñar a la gente a pensar cómo diseñar programas. Es la base fundamental con la que estructurar la cabeza, no unas reglas de código, para eso vienen luego otros libros, no es clean code ni nada, es una introducción para amueblar conceptos y prepararles para lo que viene luego.

Pero igual no es lo que estás buscando está claro.

echa un ojo a zero to hero si decides seguir otras vías.

https://www.udemy.com/course/complete-python-bootcamp

o a los cursos cs50 de harvard edx o demás.

https://www.edx.org/course/cs50s-introduction-to-computer-science

1
laZAr0

A mi me pasó igual cuando empecé, no me enteraba de nada. Al final lo mejor es que te pongas algún curso en video, aunque sólo sea para empezar; qué se yo, 20 videos del curso de java de pildorasinformáticas; y después ya te pongas con el libro.

Ese hombre por ejemplo explica todo para gente que de verdad parte desde cero, es profesor y eso se nota, no es sólamente un libro, machaca las cosas 100 millones de veces. Los libros pueden estar muy bien pero creo que es importante tener ciertos fundamentos, pero si de verdad partes de cero, es normal que no te enteres de nada al no tener a nadie al que recurrir en esos casos.

Es muy común decir "aquí se parte desde cero" y ser el típico recurso que si lo coge mi padre se cuelga del cuello. De cero es de cero, que cualquier persona, aunque no sepa ni lo que es un ordenador, pueda empezar a asimilar información de una forma progresiva.

Htdp será la hostia, pero de verdad dudo que nadie que no haya hecho sus pinitos antes se haya puesto con ese libro desde cero, ni si quiera los que te lo recomiendan. Lo usarán en 1000 universidades, sí, pero en las universidades hay profesores que dan clases y corrigen dudas.

6
Kaledros

Aprender con un libro es bastante más complicado que aprender con alguien que sepa enseñar y se adapte a tu ritmo. No todos aprendemos a la misma velocidad.

B
#70ramaGZ:

es una pérdida de tiempo para el novato autodidacta porque avanza sin saber escribir más de 4 líneas de código seguidas

No hables con tanta rotundidad. Al principo se hace cuesta arriba pero es algo que se puede hacer siendo novato y autodidacta.

Dicho esto, está claro que requiere de un mayor esfuerzo que un curso de Udemy, pero también se aprende más.

Yo te recomendaria que grindees hasta llegar al capitulo 2. Una vez te acostumbras a racket mola mucho.

Edit: Personalmente, cuando me atascaba en algun ejercicio tiraba de repos tipo este: https://github.com/adaliu-gh/htdp me lo miraba bien y para adelante.

1
Fyn4r

#67 programar va de eso que pones en el ejemplo

B

Yo antes de htdp o sicp recomendaría el mítico:

Creo que es muchísimo más accesible para dummies que los dos anteriores.

AikonCWD
#4eondev:

Te recomiendo que tires por el curso de nacho cabanes de C

Recomiendas C para enseñar a programar?
A partir de hoy me caes bien

isvidal

Yo aprendi con C y a papel para mas inri

fuck that

Glumyglu

https://eventex.es/actividad/programacion-eficiente/

¿Cómo veis este curso de temario? Sé algo de Python, Matlab y R (sobre todo centrado en el cálculo científico) pero me gustaría ampliar un poco.

1 respuesta
desu

#79 No pagues nunca por un curso de programación.

Tienes TODAS las clases del MIT, Stanford, CMU gratis... Con notas de tutor, con diapositivas, las practicas, clases obviamente grabadas en video. Actualizadas a;o a a;o donde tienen de media 10 tutores manteniendo el material fresco...

Solo pagaría por repasos con un tutor, material postdoc o super tecnico... y lo general de este también esta disponible... Asique solo paga tutores XD

Aqui tienes una de berkely, he googlead "berkely efficient programming"
https://cs170.org/

Tienes ejercicios y soluciones, videos. En fin.

Eso si ves las semanas? Tómatelo muy orientativo, la exigencia es muy alta. Ve a tu ritmo.

3
13 días después
Aeran

Este hilo es una mina para novatos , gracias a todos por vuestras aportaciones.

1