¿Como lo hacéis?

R

Buenas a todos,

El titulo del post es un poco genérico pero no sabia muy bien que poner. ¿Como lo hacéis a la hora de aprender un nuevo stack/lenguaje?

Estoy aprendiendo programación web por mi cuenta y tras desenvolverme con soltura con lo básico (HTML5, CSS3,materialize, bootstrap) quiero pasar a aprender lo que realmente me llama la atención que es el back-end. Tras mucho leer y mucho leer y saturarme una y otra vez con la cantidad de información que hay creo que me decantare por aprender Ruby o Python con sus frameworks más famosos Rails o Django. Lo más cerca que he estado del backend es trastear con Wordpress y crear un tema por mi cuenta y trastear e investigar todo lo que he podido con el. También soy consciente de que necesitare aprender JavaScript (tengo una buena base pero me falta mucho por profundizar) visto que ya se usa para todo.

El problema viene en que hay tal cantidad de información que me saturo con facilidad y no se realmente de que fuentes debería fiarme al 100% y seguirlas. También creo que me vendría bien aprender como puede estructurarse una App web y cuales son las diferentes arquitecturas utilizadas, ya que si entiendo estos conceptos de base podre adaptar lo aprendido a cualquier lenguaje/stack que utilice.

No se si se entiende, en general me gustaría que me dijeseis como aprendéis un nuevo stack o lenguaje y en que hacéis más énfasis en la fase de aprendizaje y si de paso me dais algún consejo de por donde tirar o si aun estoy a tiempo de darme media vuelta e irme a otro lado pues genial :).

Gracias de antemano!

KoRMuZ

#1 Si vas a aprender directamente con frameworks, para estructurar las aplicaciones, usa las mejores prácticas de cada uno, que habrá mil guías con "best practices for XXX", que serán distintas para cada uno.

A qué te refieres con diferentes arquitecturas?

1 respuesta
R

#2 Gracias! si la verdad que de frameworks hay mil y un cursos empezando desde 0 y que como dices te enseñan las mejores practicas. Tengo pensado que si aprendo Rails por ejemplo, obviamente le tendré que dedicar primero algo de tiempo a Ruby pero no mas allá de lo básico, ya que de cara a desarrollar entiendo que es mejor que te den un "esqueleto" y una base funcional ya hecha de cara a ahorrar tiempo. Me recomiendas profundizar más en el lenguaje en si?

Pues no te lo se decir ni yo, para que veas lo poco que se de arquitectura web, es decir, conozco el MVC y comprendo como funciona pero no tengo idea de más ni se que más hay ni nada :S (perdona por no poder aclararlo mas...).

1 respuesta
R

Supongo que participar en foros de desarrollo ayudara pero solo conozco stackoverflow que es donde busco las dudas principales y los típicos foros de wordpress, rails, bootstrap...

Participáis en algún foro/comunidad (a parte de esta) que os ayude a estar al día y aprender?

1 respuesta
KoRMuZ

#3 Si no meto un patón ahora mismo, MVC es un patrón de diseño, no una arquitectura web. Por eso me refiero a que no entiendo qué quieres decir con eso.

Como has dicho, una base en el lenguaje siempre te va a ayudar, y podrás solucionar problemas que el framework no te soluciona, o soluciones "a más bajo nivel" si llega el momento necesario.

Un framework te va a ayudar a desarrollar más rápido, pero no va a desarrollar por ti. Te puede dar una funcion que sea generaUnFormulario(), pero si tienes que modificar dos arrays, o tienes algún problema con el rendimiento usando datos que estás tratando tú, vas a necesitar del lenguaje propiamente para sacarte las castañas del fuego.

#4 Mediavida es el núcleo del saber absoluto. Se permite que exista stackoverflow porque son buenos chavales.

PD: No, nada más que MV y StackOverflow.

2 respuestas
R

#5 si es un patrón de diseño. Lo de arquitectura web ya lo pregunto otro día cuando por lo menos sepa que quiero preguntar :)

Vale, por lo que, profundizar en el lenguaje más, me hará que aprender el framework sea más fácil y conocer en que puntos puede estar limitado y como puedo mejorar esas limitaciones editandolo o implementando nuevas partes. Básicamente, como me pasaba con wordpress, he ido aprendiendo algo de php a base de intentar editar Wordpress pero en realidad si hubiese aprendido Php antes hubiese podido aprender Wordpress con mucha más facilidad y editarlo mucho más.

Pd: Amen. MV manda. Me acabo de fijar que llevo casi 10 años por aquí... :wow:

Stricken

8:20 - 17:50

DarkSoldier

#5 MVC si es una arquitectura web

Como arquitectura que esta muy de moda a nivel de backend y es algo serio, DDD (Domain-Driven Design), para empezar usar MVC te ayudará mucho a separar concerns, evita muchísimo que el controller tenga lógica de negocio, pásala al modelo, que la vista sea muy tonta, bla bla, ponte a picar y lo verás tu mismo, haz mucho test, intenta aplicar TDD siempre que puedas... buenas prácticas..

https://webpro.github.io/programming-principles/ (esta la pusieron hace poco y es un must)

pd: si te das cuenta, todo lo que debes aprender ni es un lenguaje ni un framework, son conceptos abstractos que son agnósticos al lenguaje, aprenderte la sintaxis de un lenguaje no te llevará mucho en comparación con todo eso que debes aprender antes xD

1 respuesta
R

Muchas gracias a los dos por las apostaciones, luego las miro cuando llegue a casa.

#8 Exacto, en el Pd has dado en la clave. Entiendo que programes en Java, Python, Ruby o cobol tienes que tener unos conceptos muy claros comunes a todos los lenguajes que por asi decirlo es la parte teorico-logica de la programación y la base que debes tener clara para que luego el unico cambio de un lenguaje a otro sea a nivel de sintaxis y formas de hacer las cosas.

Es decir, por mucho que yo me ponga a trastear con un framework y comprenda como funciona y como tengo que estructurar las cosas, noto como que hay una "base" teórica que me falta y que no me permite comprender todo bien o llegar a entender el porque las cosas funcionan de ese modo...no se es dificil de explicar pero creo que tú, #8, lo has explicado bien con lo que has comentado.

Otra duda más concreta que me surje, es, una App que por ejemplo sea de resultados de partidos de un deporte, necesita obtener los datos de los resultados de manera automatica de algun sitio, y cargarlos y mostrarlos en su propia web, pero...la web de la que tu vas a cojer los datos tambien los tendra que cojer a su vez de otra, no? Como esta estructurado todo esto?

Perdonar por preguntar tanto, pero tengo muchas dudas y me gustaria por lo menos ir aclarando superficialmente alguna de ellas para ir haciendome un esquema mental algo más claro.

Merkury

#1 Aprender a programar basandote en un framework, es como decir que quieres ser arquitecto haciendo solo casetas para perros.

No me malinterpretes con mi ejemplo, pero lo mejor para aprender, es que aprendas el lenguaje y cuando ya sepas de que va la historia, meterte con un framework.

:D

1 respuesta
Setibi

#10 cierto si quieres aprender codeigniter, laravel, etc... dale duro a php haciendo como ya te han comentado, ejercicios de "buenas practicas", lo mismo pasa con angular y variantes, antes tendrás que hacer cosillas de javascript, jquery.

Luego es mas fácil verlo todo cuando ya tienes la base para comprender los frameworks, lo mismo pasa con Sass, less de css....

Usuarios habituales