Programacion [leer descripcion]

Iniciado por SineD, 17 Enero 2018, 19:45 PM

0 Miembros y 2 Visitantes están viendo este tema.

SineD

Hola muy buenas, soy un chaval que esta estudiando Informatica, quisiera aprender programacion, estos dias he estado jugando un poco en una pagina de escribir  online en HTML, (poniendo chorradas) la verdad he aprendido pero poco :( os queria pedir unos conejos:

1- Por donde podria empezar? [CSS HTML PHP javascript RUBY,PHYTON].

2- Cuanto tardaria en aprenderlo? [tengo ganas la verdad] [es importante la pregunta].

3. He estado en codecademy, pero no me ha servido de mucho... necesito vuestra ayuda.

Me han dicho que empieze por lo mas basico (HTML) y empezar subiendo pero quiero vuestra opinion ya que teneis mucha experencia en este dominio

Orubatosu

Técnicamente hablando, el HTML no es un lenguaje de programación. Es un "lenguaje de marcas de hypertexto"

Ahora bien, el html ha cambiado mucho desde hace unos años. A día de hoy se puede decir mas o menos de forma segura que tenemos un "estandar" llamado HTML5

Ese "estandar" integra tres partes, a saber:

1: HTML5 (Lenguaje de marcas de hypertexto)
2: CSS3 (estilos para el HTML)
3: javascript (este si, lenguaje de programación que se ejecuta interpretado en el navegador del cliente)

En este invento de las páginas web hay a veces mil formas de conseguir un resultado. Unas mas fáciles, otras menos y otras que aunque funcionen no son "correctas"

Lo ideal es meterse en HTML5 y CSS3 a un nivel "medio". Vamos, saber montar un poco tu página a un nivel rudimentario de saber donde pones las cosas, como las pones, de que colores y formas, etc. Y luego javascript acompañando el resto de HTML5 y CSS3

A día de hoy, esas tres cosas forman un bloque. Puedes poner nombres a elementos html con CSS3 para que javascript los maneje. Los tres "lenguajes" han creado por así decirlo un ecosistema en el que cada uno de ellos cumple un propósito.

Por hacer un ejemplo basto, si una página web es una casa, el html crea la estructura, el CSS3 la decoración, distribución de las habitaciones, etc. El javascript sería la domótica de esa casa. La que hace que se enciendas las luces, que se ponga la calefacción cuando lo necesitamos, etc.

Pero ojo, el "estandar html5" no está completamente soportado que yo sepa por completo en ningún navegador. Si que muchos lo están en un porcentaje muy elevado (la parte de la API 3D Canvas de html5 o la WebGL de javascript no la soportan al 100% todos). Eso puede cambiar en un tiempo

Y todo esto es a brochazos la parte "del cliente" para hacer páginas web. ¿Cuanto tardarías? depende de ti, en realidad no demasiado a asimilar los conceptos de uso de las diferentes herramientas (algunas son mas complejas que otras, las mas nuevas para gráficos son un poco mas liosas). En todo caso ya te digo que no necesitas aprenderte todo, nadie en su sano juicio lo hace. Si  en un momento dado no recuerdas exactamente todas las opciones de un elemento pues buscas en la documentación oficial (en inglés claro) y listos.

El javascript ya es otro tema. Ese lenguaje es relativamente fácil de aprender a nivel básico porque da muchas facilidades, como por ejemplo que los tipos no necesiten definición y cosas por el estilo. Pero ojo porque hay dos cosas que tienes que tener claras.

Una es que javascript y Java, guardan una relación que consiste en el nombre... y en nada mas. Son lenguajes diferentes en muchos aspectos, y de hecho javascript se puso ese nombre para "pillar fama"

La otra es que javascript a día de hoy ha evolucionado mucho y se ha convertido en un lenguaje bastante potente y que usa conceptos (puede usar) programación orientada a prototipos (un tipo de programación orientada a objetos). Como lenguaje es bastante amplio y no digamos ya si incluimos librerías externas como por ejemplo AJAX, JSON, JQuery... no es que haya que "saberselas" pero cada una te ofrece herramientas para entornos específicos que interesan a nivel profesionnal

Y todo eso anterior, es para hacer paginas HTML en el lado del cliente

Adicionalmennte, las páginas en realidad, al menos las "comerciales" incluyen mas cosas, como por ejemplo PHP y acceso a motores de bases de datos (MySql por ejemplo). Eso implica conocer dos lenguajes mas: PHP y SQL

El primero es un lenguaje de programación que se ejecuta en el servidor. Un lenguaje que se "empotra" en el código de tu página pero que los clientes no ven nunca, porque se procesa en el servidor (donde se aloja la página vamos). Eventualmente como también se usa entre otras cosas para acceder a bases de datos, necesitas conocer un poco al menos el lenguaje de consultas (SQL) que es virtualmente universal para todos los motores de bases de datos

¿Que puedes hacer? pues empezar por la parte del cliente, y luego cuando la tengas ya "dominada" pasar a la del servidor.

La buena noticia es que todo lo necesario es gratis y que no necesitas en principio tener un sitio web para probar tus "inventos" en PHP porque también puedes poner un servidor de páginas web local en tu ordenador

Lo mismo esto es excesivo, pero creo que cubre mas o menos "lo que hay". Aparte obviamente hay framewoks especializados, otros lenguajes en el lado del servidor (por ejemplo se puede usar Java, no es lo que mas se usa pero es posible hacerlo) y otros lenguajes.

¿Donde aprenderlo?

En Youtube hay montones de cursos gratuitos, algunos bastante extensos y en español. Ahí cada uno te dirá que tal o cual es mejor. Prueba unos cuantos y el que mas te guste
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

SineD

Muchisimas gracias, gente como tu necesita este mundo!

Gracias!! ;) ::)

EFEX

Cita de: SineD en 17 Enero 2018, 19:45 PM
Hola muy buenas, soy un chaval que esta estudiando Informatica, quisiera aprender programacion, estos dias he estado jugando un poco en una pagina de escribir  online en HTML, (poniendo chorradas) la verdad he aprendido pero poco :( os queria pedir unos conejos:

1- Por donde podria empezar? [CSS HTML PHP javascript RUBY,PHYTON].

2- Cuanto tardaria en aprenderlo? [tengo ganas la verdad] [es importante la pregunta].

3. He estado en codecademy, pero no me ha servido de mucho... necesito vuestra ayuda.

Me han dicho que empieze por lo mas basico (HTML) y empezar subiendo pero quiero vuestra opinion ya que teneis mucha experencia en este dominio

1- Pues si, html y css es un inicio
2- No se cual es tu meta, igual seria dificil definirlo..
3- Internet esta lleno de documentacion, tutoriales, esta todo servido.

Pasa tu tiempo libre estudiando, viendo ejemplos dia a dia y veras como en unas semanas tendras algo armado. Esto es realmente eso, sentarse, programar, leer, programar, pasar horas y horas, dia a dia. Pueden surguir algunos momentos que te estanques pero las dudas o errores seguramente alguien ya los tuvo y lo soluciono en algun sitio, sino el foro siempre alguien puede ayudar.

Yo estudiaria una cosa a la vez, cuando me sienta comodo, sigo con lo siguiente.
html css > javascript > lenguaje del lado del servidor(php, ruby, javascript) > base de datos > elige algun framework

Despues a esa altura ya sabras que sige despues. Desarrollo web es muy amplio y cada cierto tiempo con nuevas tecnologias, nuevos conceptos, etc., para que te des una idea, mira este diagrama.. creo que es de los mismo de codeacademy si no mal recuerdo.
https://coggle.it/diagram/52e97f8c5a143de239005d1b/t/web-development/56212c4e4c505e0045c0d3bda59b77e5977c2c9bd40f3fd0b451bdcf8da4aa52

Si entiendes ingles, es un gran plus, la mayoria de la documentacion o tutoriales en español no estan actualizados o carece de contenido.


http://www.mclibre.org/consultar/htmlcss/index.html (Creo que empeze con este sitio hace mas de 10 años atras :) )
https://hackr.io/ Lleno de tutoriales de lo que busques.
GITHUB 

Orubatosu

Ah bueno... obviamente el inglés técnico a un nivel aceptable es algo imprescindible

Toda la documentación oficial está únicamente en inglés. Tengo la mala costumbre de darlo por supuesto
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998