Iniciarse en programación

Vikkktor

Hola a todos,
quizás mi cuestión sea demasiado extensa para contestarla por aquí,
pero agradecería cualquier tipo de información que me pudierais dar ya que mi objetivo es adentrarme en el mundo de la programación pero no tengo ninguna base en el campo.
Mis dudas son tan básicas que los manuales que encuentro por internet no me aportan nada ya que casi todos dan por hecho que tienes un conocimiento previo sobre el tema.

Bueno al grano, lo que quiero es aprender a construir una página desde 0, pero no sé como ni donde se encuentra el código para escribir, dónde se escribe ese código, como se transforma ese manojo de letras en algo visual y funcional, para que sirve cada lenguaje(c++, php...), cual es el más completo para esto, con cuál debería empezar, si son eficaces y facilitan el trabajo programas como DreamWeaver o FrontPage, que libros o manuales me recomendaríais...

En fin, sea lo que sea lo que sabéis acerca del tema, cualquier cosa que aportéis será bienvenida.

Un saludo y gracias. :P

Metaza

Por este orden: HTML,CSS,PHP,Javascript,AJAX

Los dos primeros no son lenguajes de programación pero si no los aprendes no harás webs.

Nada de Dreamweaver ni Frontmierda, a pelo en el notepad++ o sublimetext (O el que prefieras).

Para todo lo demás google, si quieres aprender por tu cuenta será tu web más visitada después de stackoverflow.

1 respuesta
drount

En udacity.com empieza de nuevo el curso de inicio a la programación a mediadios de este mes. Esta bien para aprender a programar.

Es el CS 101 y en python. Está orientado a aprender a programar, no a hacer una página web a saco.

Si te interesa aprender a programar, tener algo de base y conocer estructuras y algoritmos básicos, te puede interesar el curso.

Ojo, si decides hacerlo y realmente no tienes nada de base, supondrá unas cuantas horas de faena semanales si quieres sacarle el provecho que merece.

1 respuesta
Merkury

Yo antes de meterme en faena con codigo, lenguaje y demás sinceramente buscaría algo sobre algoritmia que es la base de todo y una vez que entiendas eso, meterte con lo demás.

2 respuestas
BLZKZ

#4 algoritmia tiene 100% que ver con html y css

Aún asi #1 depende de la web, si es estática html y css se aprende en dos dias

2 respuestas
Merkury

#5 A ver evidentemente no, pero desde luego si quiere PROGRAMAR, sin conocimientos de algoritmia se hace muy cuesta arriba (y sinceramente HTML y CSS no lo considero programación como tal).

La cosa es desde luego que para hacer una página en HTML y CSS no te hace falta algoritmia, pero si luego quiere meterse con PHP y Javascript, esos conocimientos le van a ir muy bien.

Y solo le he dado el consejo que me hubiese gustado recibir, aunque la algoritmia al principio es un coñazo, ahora plántate aquí y rebáteme (como intentan muchos) que la algoritmia no tiene nada que ver con la programación y que no sirve para nada.

1 respuesta
BLZKZ

#6 dime en php que necesitas de algoritmia algo más avazada que no sea saber usar un for (foreach) o un if para una web normal.

1 respuesta
Merkury

#7 Hombre todo depende del nivel al que programes esta claro.

Pero vamos hablas desde el punto de vista de alguien que sabe programar, quien empieza como #1, posiblemente lo que has puesto le sonará a chino.

Y aparte de eso, en la algoritmia no solo es aprender a usar un if o un for, si no más bien a saber encauzar los problemas y resolverlos con las herramientas adecuadas lo que al final proporciona una "agilidad mental" para no tener que estar aplicándola siempre de manera estricta.

Pero vamos #7 veo en ti un gran defensor del "Code and fix" XD

1 respuesta
BLZKZ

#8 no, de hecho soy defensor de la eficiencia, asi como de uso de patrones y metodologías, pero para según que cosas es totalmente useless, como por ejemplo para hacer un blog en php.

eXtreM3

Instálate una plantilla de wordpress y a volar, miles de plugins con un par de clics.

Vikkktor

#2 pero el dreamweaver no está bien para simplificar las cosas? para mi ver el notepad++ es como abrir el bloc de notas de windows y... no sé por donde empezar.

Por otro lado, ¿hay libros o guías donde se encuentre el código completo de cada lenguaje? me imagino que si sino vaya tela... ¿sabéis de alguno?

#3 el curso es gratuito verdad? aunque pone que el C101 ya ha empezado, igualmente hay una serie de videos que tienen buena pinta, les echare un ojo gracias.

#4 y #5 ante todo quiero que sepáis que mi duda no está orientada a un tipo de web concreta, no estoy pensando en crear un blog o una red social, simplemente quiero aprender lo más básico e ir avanzando poco a poco, no tiene sentido que quiera crear un nuevo "facebook" sin tener ni idea del tema xD.
Con lo de aprender algoritmia a que nivel os referís? tengo mínimas nociones de ello, es "cómo resolver un problema siguiendo una serie de pasos que te lleven al resultado" no?
Buscaré algo por ahí para cerciorarme mejor.

Por último, no entiendo cómo todo el amasijo de código escrito en un bloc se transforma en una web, es decir, ¿qué hay que hacer para que el código que escribes en el notepad++ por ejemplo, se traduzca en una web?

Gracias a todos por las respuestas me vienen muy bien!

2 respuestas
BLZKZ

#11 hay metodologías para llegar a resultados según el problema, según cada método puedes construir algoritmos más o menos eficientes.

Saber "algoritmia" no es saber hacer algoritmos, sino hacerlos eficientes.

Pero no creo que sea lo primero que debas aprender, dado que si no sabes programar no lo vas a aplicar.

Yo a programar aprendería en "general" y no particularizaria en una tecnologia concreta, asi te será mas facil aprender nuevas.

Python es un buen punto de comienzo. Y si realmente quieres aprender a programar alejate de generadores de código como dreamweaver y demás. El notepad++ es un "bloc de notas" que pone colorines para facilitarnos la vida a los programadores.

Wasd

Digamos que tu escribes en un idioma, y tu navegador lo traduce y lo interpreta de forma visual. Ejemplo para empezar: Abre un nuevo .txt y pega esto:

<html>
 <head>
  <title>Mi primera Web</title>
 </head>
<body>
 <center>
  <hr>
  <hr>
  <h1>Me llamo Vikkktor</h1>
 <hr>
  <p>Esta es una "web" simple para probar los tags mas simples y utilizados.</p>
 </center>
 </body>
</html>

Es una tontería de código, pero ahora mismo eso es lo de menos.
Una vez pegado, guardalo, cierra el documento y cambia el ".txt" del nombre por ".html". Lo abres con un navegador (Chrome o Firefox a ser posible, el Explorer es muy muy tiquismiquis).

Verás algunas lineas horizontales y "Me llamo Vikketor" en unas letras relativamente grandes arriba de todo (o así debería ser, no lo he probado, pero si fallo en eso ya me puedo tirar por un puente xD)

En el código, lo que va entre "<>" son tags.
<html> indica el lenguaje que vas a usar. Si sigues aprendiendo te familiarizarás con otros lenguajes como css, php, xml, xsl, xsd, etc...
el tag <head> contiene información útil para SEO (posicionamiento en buscadores, claro que en este caso no he incluido nada).
El <title> es el titulo de la página (en la pestaña correspondiente a la página abierta verás "Mi primera Web").
El <body> es eso, el cuerpo de la pagina.
<hr> simplemente hace una linea horizontal, a mi particularmente me gustan, casi siempre incluyo algunas :P xD.
Internet explorer suele dar errores con ciertos tags. Mientras que en algunos sitios leo que lo correcto es poner <hr> sin cerrarlo, el explorer dice que sin el "/" de cerrar </hr> no le sale de los huevos mostrarlo.
Otro tag que no he puesto pero usarás mucho es <br>, es simplemente un salto de linea.
Para poner tildes, lo correcto es usar, por ejemplo: V&iacute;ctor. De momento no voy a meterme en eso, pero sin el &acute; que sustituye a la tilde, en según que zonas verían otro símbolo, como un interrogante o el típico cuadradito.

Quizás te parece muy raro todo, pero no es tan complicado como puedes pensar. Hacer una web suele ser labor de un programador, un diseñador, un maquetador, etc...
No se, yo no soy el que mas sabe de por aquí, pero si tienes cualquier duda pregunta sin problemas ;)

En cuanto al por qué de que un código se convierta en algo visual... Bueno, se puede explicar de muchas maneras, tanto a bajo nivel como a alto nivel, pero de momento, con que sepas que cambiando la extension de los documentos, ya se pueden interpretar de una forma u otra, debería ser suficiente.
Ahora mismo aclararte demasiadas dudas podría ser contraproducente.

1 2 respuestas
Thanat0s

Hace cosa de 12 años yo estaba donde tú estás ahora, quería hacer una web, no tenía ni puta idea, así que lo primero que hice fue empezar a cotillear el código de otras webs y mirar manuales por internet.

Lo básico para empezar a hacer una web es HTML, #13 te lo ha explicado muy bien y te ha puesto un ejemplo.

Una vez hagas algo con HTML tendrás una web estática.

Hoy en día todas o casi todas las webs son dináminas, por ello tendrás que aprender PHP y MySQL.

PHP es un lenguaje muy parecido a C/C++ en cuanto a la sintaxis.
Para hacer una web normalita te bastará con aprender lo que se aprende en primero de carrera: if then else, while, do while, for, bucles anidados, arrays y si acaso punteros.

Con MySQL gestionas la base de datos que es donde se guardan hoy en día todos los datos de una web, por ejemplo, este hilo que has abierto.

Es decir, hay una separación entre el código de la web y la información de la web.
A diferencia de HTML puro que no lo permitía el PHP + HTML te permite acceder a la información guardada en la base de datos.

Para mejorar la apariencia de tu web necesitarías aprender CSS.

Javascript y AJAX yo lo dejaría para lo último.

pd: para escribir algo en php y ver el resultado necesitas tener instaladas determinadas cosas en tu disco duro, te recomiendo que te bajes el xampp que no requiere instalación y lo lances para practicar una vez hayas aprendido html.

1 respuesta
drount

#11 Es gratuito y a mediados de este mes empieza de nuevo desde 0.

EnZo

1º xHTML
2º CSS
3º PHP/Phyton/Asp.net/Node.js
4º SQL
5º Javascript
6º Jquery/Mootools

Te recomiendo aprender en ese orden.

1
Vikkktor

#13 muchas gracias por el aporte, aunque de HTML ya tenía esas mínimas nociones, eso mismo que has ejemplificado tú lo hicimos el año pasado en el instituto, aunque por desgracia no avanzamos más jeje.

Creo, contradecirme sino, que los diferentes lenguajes se pueden combinar no?, es decir, una pagina puede tener html, php y cualquier otro lenguaje, es que dándole a "ver el código fuente" de algunas páginas veo que casi todas empiezan con "<html>", esta por ejemplo.

#14 y los demás lenguajes, aparte de HTML, ¿funcionan, es decir, se aplican de igual manera que el html? abres el notepad++ y te pones a escribir código de cada lenguaje?. Aunque no sé ya que un amigo que está en 1º de ingeniería le vi hacer alguna cosa en python que es lo que dan en clase y el python usa como una aplicación aparte no? estoy bastante perdido en eso...

Entonces, lo que me recomendáis es que siga este orden?:
1º - HTML
2º - PHP
3º - MySQL
4º - PYTHON
5º - CSS

Y Java y Ajax para qué sirven? que son los más complejos?

Por último, #14 ya me descargué el xampp, para que sirve exactamente?

Gracias a todos de nuevo, ya voy avanzando algo. :D

1 respuesta
Thanat0s

#17 Depende del lenguaje puede que necesite ser compilado o interpretado y dependiendo de qué lo interprete necesitará unas cosas u otras.

Un programa en C++ necesitará ser compilado utilizando un compilador del mercado acc, gcc u otros, y dependiendo de si lo compilas en en x86 (Intel) o un A64 (AMD y otros) generará cosas que servirán para lo mismo pero que tendrán bytes de forma diferente.

Es decir, los lenguajes que necesitan ser compilados, al cambiar una línea de código, necesitas compilar de nuevo para saber si el cambio que has hecho funciona.

HTML es interpretado, tu navegador coge el fichero .html y lo va leyendo y generando el resultado que ves en tu pantalla.

Python por ejemplo es interpretado, escribes en un archivo .py y necesitas tener instalado python para poder hacer python loquesea.py y ejecutarlo.

Pero en general, puedes programar en todos los lenguajes con notepad++, abres, editas y si es necesario compilas.

Yo te recomendaría:
1- HTML & CSS (van íntimamente unidos, ya te darás cuenta)
2- PHP
3- MySQL
4- Javascript & JQuery & AJAX (que van ligados también)

Java es un lenguaje que nada tiene que ver con Javascript, no los confundas.

El xampp es una aplicación que simula un servidor de Apache y de MySQL.
Apache es una aplicación que interpreta ficheros PHP en el servidor y manda al cliente una respuesta.
Por ejemplo, esta web está hospedada en X, tú a X le haces una petición de este hilo, suponiendo que tienen Apache instalado, este coge tu petición con las variables que tenga (por ejemplo tu sesión), interpreta el código php, accede a la base de datos, seguramente MySQL, y genera una respuesta que la manda a tu explorador web. El resultado es lo que ves por pantalla.

Así pues con xampp no tienes que pagar a ninguna compañía, lo puedes hacer en local.

Y yo no me pondría a aprender python de momento hasta que no tengas cierta soltura con otros lenguajes de programación.

Saludos!

1 respuesta
tada

Por experiencia propia te diría que aprendas las cosas en este orden:

  1. XHTML
  2. CSS
  3. PHP básico. Te vale C o Phyton para aprender bucles, condicionales, etc..
  4. Aprende SQL y a gestionar una base de datos.
  5. Ahora que sabes SQL vuelve al PHP y aplica tus nuevos conocimientos.
  6. Javascript
  7. Cuando creas que no puedes saber mas empieza con frameworks, Jquery, Zend, etc..
  8. Mil cosas mas, pero primero llega hasta aquí..

Webs:
google.es/ de página de inicio
w3schools.com para ver ejemplos sencillos

La gente le tiene manía al Dreamweaver porque tiene para hacer las cosas de forma &quot;gráfica&quot;, pero si lo usas como editor de código puro y duro es la caña y facilita mucho la vida su autocompletar. Eso si, yo empecé HTML y CSS con el bloc de notas haciendo tablas.. ojala hubiese tenido un notepad++ xDD

1 respuesta
Wasd

En general te lo han explicado muy bien. La verdad es que el compañerismo que hay en este sub-foro diría que es único en MV xD.

1 respuesta
BLZKZ

#19 prueba sublime text ;) va "aprendiendo" según pones cosas, es cremoso

3 respuestas
Merkury

#21 Uff es una maravilla eh, yo desde que lo descubri hace 6 meses soy fan incondicional XD

1 respuesta
GreyShock

#21 Eso es verdad? O-o tiene alguna especie de inteligencia artificial o algo así?

Yo el que llevo usando desde hace un año es NetBeans, y de por todos los que había pasado antes este me tiene más que contento. Autocompletar inteligente que bebe de las clases y funciones que tengas definidos en tooodos los archivos del proyecto, estilos y demás... Y genial la conexión con el servidor, para ir actualizando el local con el FTP al vuelo, incluso si añades manualmente imágenes u otros archivos a la carpeta dle proyecto, él los va actualizando de forma silenciosa de fondo (si quieres configurarlo así vaya, hay modos más clásicos).

En cuanto a #1... ser autodidacta en este entorno requiere muchísimo esfuerzo, sobretodo si la base es 0. Recomiendo algún cursillo, ya no por la calidad del contenido, que muchas veces no supera el de muchos tutoriales... pero el rollo de tener compañeros, profesor para dar la tabarra, ejercicios y demás, crea una dinámica de aprendizaje mu rica. Hoy en día creo que hay gran variedad de cursos de iniciación al desarrollo web muy baratos o incluso gratuitos.

Por lo demás, los compis te han contestado divinamente, HTML->CSS->PHP->JAVASCRIPT->ETC... (aunque yo aprendí javascript antes que php y no me ha pasado nada malo xD)

1 respuesta
Vikkktor

#18 me has dejado un poco perdido xd
por un lado, que es compilar? Y por otro, que es python exactamente, es un lenguaje?
Un programa? Un lenguaje que necesita su propio programa? Y con el que se crean webs o programas? O ambas? Perdon por tant preguntita pero tengo demasiadas dudas.

#21 #22 #23 sublimetext que es un editor como notepad?
cual me recomendais para empezar?

En cuanto a los cursos, mirare algo por mi ciudad (gijon), duracion, precios...
Aparte de los de udacity en ingles, conoceis alguno en espanol?

Segun decis, primero mirare html y css y mas tarde php y bases de datos no?

Un saludo y gracias a todos de nuevo. Como dice #20 el companerismo aqui es realmente unico.

2 respuestas
Thanat0s

#24 Compilar es traducir las líneas de código de un determinado lenguaje a lenguaje máquina (0's y 1's) para que tu microprocesador lo entienda y sepa como utilizarlo.

Python es un lenguaje de programación que no necesita ser compilado, pero para ser ejecutado necesita un interprete que ejecuta esas líneas de código, ese interprete es el propio programa que se llama python.

Yo python no lo he usado para hacer webs, lo he usado para hacer scripts que he usado en linux. Y desconozco si se puede utilizar en web.

Y para más información lee esto:
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_interpretado

http://es.wikipedia.org/wiki/Int%C3%A9rprete_inform%C3%A1tico

autlos

#1 "DreamWeaver"... caca: notepad++

Y de páginas para aprender lo básico:
http://www.html.net/

ó
http://www.aulafacil.com/CursoHtml/temario.htm

Las dos tienen más o menos lo mismo, te quedarás con la idea y 4 conceptos, yo seguí la primera página, después pasé a w3schools.

En cuanto al orden yo diría que html-css-javascript en este orden para entender lo básico. A partir de aquí ya no puedo decirte más porque es donde me quedé yo, y hace tiempo que no miro nada.

saludos.

Merkury

#24 Si es un editor, pero es la panacea de los editores de text :D

http://www.sublimetext.com/

Li3cht

Una preguntilla, el Sublime Text tiene una herramienta similar al Edit Plus para visualizar lo que vas haciendo? siempre hablando de lenguajes tipo html, claro...

Wasd

Yo me descargué la versión beta no-comprada y te deja un poco cerrado. Quise cambiarle una macro porque directamente no funcionaba (Ctrl + / en vez de Ctrl + 7) y no me dejó. Al final me bajé una versión crackeada desde tpb y ya lo pude cambiar y funciona.

eisenfaust
  1. Trastea un poco con con algun editor en tiempo real de HTML. Crea una pequeöa web estatica.

  2. Aplica varios estilos a tu web con CSS.

  3. Aprende Perl http://www.onyxneon.com/books/modern_perl/modern_perl_a4.pdf

  4. Crea tu primera web dinamica con http://mojolicio.us/

  5. Conoce Javascript http://www.amazon.es/JavaScript-Parts-Working-Shallow-Grain/dp/0596517742/ref=sr_1_1?ie=UTF8&qid=1333574314&sr=8-1

  6. Aprende SQL http://sql.learncodethehardway.org/book/

1 respuesta