Foro de elhacker.net

Foros Generales => Dudas Generales => Mensaje iniciado por: Chon en 8 Octubre 2017, 01:03 am



Título: Quiero empezar a programar.
Publicado por: Chon en 8 Octubre 2017, 01:03 am
Hola me gustaría empezar a programar, algo, porque no se como empezar, ví las guías, pero requieren un nivel intermedio de c/c++ que no se ni lo que es, y me gustaría empezar, pero no se por donde ni como.
Si tenéis alguna sugerencia de vídeos, guías o algo que sean amenas y fáciles para aprender rápido por favor decirmelo!!
Gracias!


Título: Re: Quiero empezar a programar.
Publicado por: engel lex en 8 Octubre 2017, 01:08 am
los lenguajes más practicos para empezar a mi parecer son PHP, javascript (no Java ese es otro lio) y Python

para mi para aprender lo mejor es el ultimo, pero la sintaxis es muy diferente el resto de los otros lenguajes... mi recomendación aprende python (ya que puedes aprender rapido y luego dedicarte a entender lo complicado que es la algoritmia) y al mismo tiempo estudia o C++ o PHP, ya que estos usan la sintaxis stadard y te permitirá entender muchos lenguajes más adelante... tambien aprender ambos lenguajes se complementará en conocimiento entre uno y otro


Título: Re: Quiero empezar a programar.
Publicado por: Serapis en 8 Octubre 2017, 01:44 am
Yo te recomiendo Visual Basic Net. Es sencillo e intuitivo...

Después que tengas una base, puedes decidir si saltarte a otro lenguaje.


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 8 Octubre 2017, 02:43 am
Yo quería empezar con el C/C++ pero desde cero y empezar a comprender alguno sabe??


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 8 Octubre 2017, 02:45 am
Por cierto, alguna guía para aprender python? es que tengo 16 años y quiero ir aprendiendo pero es la primera vez que esucho esos y no cual escoger y el por que de ellos, para ir aprendiendo python por donde puedo?


Título: Re: Quiero empezar a programar.
Publicado por: Orubatosu en 8 Octubre 2017, 12:27 pm
Por ejemplo, curso online

G2FCfQj-9ig

Te adelanto que en programación en general, saber leer inglés a un nivel medio/alto no es opcional, es obligatorio

Todas las API de los lenguajes mas utilizados están documentadas en inglés

¿Que es una API?

https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones

Los lenguajes a día de hoy tienen un nucleo de instrucciones básicas, a partir de los que se construyen otras mas complejas que hacen mas cosas. Nadie se construye sus propias instrucciones matemáticas (a menos que quieras una cosa muy concreta y específica) o gráficas. Existen bibliotecas de "instrucciones" que incluyes en tus programas según las necesitas. Y la documentación de las mismas está en inglés


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 8 Octubre 2017, 12:50 pm
Vale, es que yo quiero como aprender un poco sobre hacking, parar ataques y ese tipo de cosas. Y me recomendaron aprender sobre redes programar, etc.. pero no se como empezar, ni por donde, así que no sé si voy bien empezando por programar ya me diréis vosotros por dónde empezar si por leer los tipos de redes etc. Aprender a programar etc... Ya me diréis yo no tengo prácticamente no idea, de inglés si, nivel intermedio/alto así que el inglés no sería un problema. Espero respuesta y gracias!


Título: Re: Quiero empezar a programar.
Publicado por: n1sen en 8 Octubre 2017, 16:06 pm
Te dejaré una página sobre Python: Python para impacientes (http://python-para-impacientes.blogspot.cl/)


Título: Re: Quiero empezar a programar.
Publicado por: ivancea96 en 8 Octubre 2017, 19:10 pm
Yo quería empezar con el C/C++ pero desde cero y empezar a comprender alguno sabe??

C y C++ son grandes elecciones para empezar! Siempre y cuando realmente quieras profundizar en la programación. Un buen curso de C++, con vídeos: http://www.minidosis.org (http://www.minidosis.org)


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 8 Octubre 2017, 20:29 pm
Pero yo me refiero, para empezar un poco sobre el hacking y todo este mundillo, que es necesario? empezar a programar directamente o empiezo por algo primero, espero que ser me resuelvan las dudas, ya que estoy bastante liado


Título: Re: Quiero empezar a programar.
Publicado por: ivancea96 en 8 Octubre 2017, 20:41 pm
Sin saber programar, poco vas a avanzar en temas de hacking. Por lo menos un mínimo.
Si no sabes como funcionan las cosas, es más complicado modificarlas o romperlas.


Título: Re: Quiero empezar a programar.
Publicado por: Orubatosu en 8 Octubre 2017, 21:35 pm
El "hacking" es solo una rama, pero es por decirlo de un modo "poetico" como aprender a conducir vehículos especiales. Si antes no sabes conducir, mal andamos.

Las bases son importantes. Eso de la "seguridad" es algo que tendrás que tocar antes o despues de forma obligatoria. No para "hacer ataques" sino precisamente para evitarlos. A partir de ahí supongo que la gente se mete en esos "fregados"

Pero son la base, pretender "aprender hacking" es como hacer malabares son una docena de motosierras en llamas encendidas sin saber hacerlo con 3 mandarinas


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 9 Octubre 2017, 11:48 am
Y me podeis dar algunos consejos o guías para ir empezando por favor?


Título: Re: Quiero empezar a programar.
Publicado por: Orubatosu en 9 Octubre 2017, 13:57 pm
Empezar a programar en algún lenguaje es un primer paso. De hecho si es el tema de redes el que te interesa quizás algo relacionado con el mismo

Tienes el combo HTML + CSS + PHP + javascript que es prácticamente "el lenguaje de internet" Como introducción aprenderías dos lenguajes diferentes

Pero unas puntializaciones:

HTML no es un lenguaje de programación como tal, es un lenguaje de marcas (el que crea la estructura de las páginas web)

CSS es un "lenguaje" de dinero gráfico para dar apariencia a los bloques definidos con HTML

javascript es un lenguaje de programación interpretado que se ejecuta en el ordenador cliente (es decir: en el navegador de quien visita una página)

PHP es un lenguaje de programación interpretado que funciona en el servidor (no tienes acceso al mismo desde tu navegador) y que principalmente gestiona el contenido de páginas web usando normalmente acceso a bases de datos alojados en el servidor (mySql, SQL server...) Eso implica que con PHP se aprende también el lenguaje SQL (o al menos se debería aprender)

Es una "introducción" como cualquier otra, no abarca "todo" lo que es la web porque son posibles otras aproximaciones como usar JavaEE en lugar de PHP (usando un conector Apache Tomcat por ejemplo) y además existen muchas tecnologías "ya preparadas" que se basan en ese entorno. Wikipedia por ejemplo funciona usando esas tecnologías, incluso este foro funciona con PHP+MySQL

Este sería una de las áreas de "seguridad", ya que precisamente el que PHP haga consultas a bases de datos desde formularios web abre la puerta a posibles ataques como por ejemplo el muy conocido "SQL Inyection" (a día de hoy el mismo PHP tiene muchas opciones para bloquear estos ataques)

El campo es enorme, pero quizás la ventaja es que estos lenguajes son relativamente "simples" (que no pequeños ni limitados) y se puede tener en un solo PC todas las herramientas de forma gratuita y sencilla

Y ojo, esto sería para conocer lo que es parte de la programación "de internet" (y hay muchas páginas y servicios famosos que usan estas tecnologías). El campo se amplia mucho mas si nos metemos en otros lados

Aparte de que el tema de las redes es importante, y "de pasada" se puede tocar también con estos temas


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 9 Octubre 2017, 14:21 pm
Vale, asi que para introducirme en el mundillo del hacking empiezo sobre HTML+CSS+PHP+javascript?.
Algún video o algo que recomendeis que sea decente y comprensible para niveles bajos/nulos?


Título: Re: Quiero empezar a programar.
Publicado por: engel lex en 9 Octubre 2017, 15:28 pm
HTML
http://www.tutorialesprogramacionya.com/htmlya/ (http://www.tutorialesprogramacionya.com/htmlya/)

CSS
http://www.tutorialesprogramacionya.com/cssya/ (http://www.tutorialesprogramacionya.com/cssya/)

JS
http://www.tutorialesprogramacionya.com/javascriptya/ (http://www.tutorialesprogramacionya.com/javascriptya/)

JQuery (probablemente la librería más usada e importante de JS)
http://www.tutorialesprogramacionya.com/javascriptya/jquery/ (http://www.tutorialesprogramacionya.com/javascriptya/jquery/)

PHP
http://www.tutorialesprogramacionya.com/phpya/ (http://www.tutorialesprogramacionya.com/phpya/)

aunque yo que tu me oriento a JS y PHP, porque CSS  puede llegarse a hacer extenso y frustrante


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 9 Octubre 2017, 16:48 pm
Vale, muchas gracias, actualmente durante las preguntas que os estab haciendo estaba leyendo y estoy la guia de hackerhighschool, no se si servirá de algo ya me direis.


Título: Re: Quiero empezar a programar.
Publicado por: Orubatosu en 9 Octubre 2017, 18:48 pm
Para que entiendas un poco el "tema" HTML y CSS son los que hacen el "armazon". Si aprendes lo mas básico de lo básico no es necesario mas para trastear con php y javascript. Con saber montar por ejemplo un formulario en HTML (lo que se aprende en realidad en pocas horas y te olvidas por ahora de todo lo demás) ya se puede trastear en PHP

Si te decides por ese tema, deberías de buscar un servidor "casero" que no es mas que montar el equivalente de un "servidor de internet" (aunque en realidad estarás usando algo muy parecido a lo que usa cualquier empresa que de servicios de internet, pero solo para ti) parar correr los programas en local

Normalmente para eso se instala lo que se denomina generalmente un "paquete LAMP" o "WAMP". "L" por Linux o "W" por Windows, y el resto por "Apache Server" + "MySQL" + PHP

En plan vídeo, por poner una sugerencia (de las muchas que hay)

I75CUdSJifw

Para PHP e introducción a MySQL

Para ver el tema SQL mas en profundidad

iOiyJgnN71c

Y para javascript

m2nscBtQEIs

Un apunte, aunque ya lo han comentado ten una cosa muy clara: javascript y Java son cosas diferentes. De hecho la similitud entre sus nombres se debe a una estrategia inicial de marketing, y son lenguajes muy diferentes entre si

Y adelantarte que con esto tendrías una "base" para entender como funcionan las páginas y servicios de web, como se suelen hacer las conexiones con servidores de bases de datos... pero esto es solo un primer paso. Conocer esto no te va a hacer "hacker", te dará algunos rudimentos y conocimientos de como funcionan las conexiones de redes, las diferencias entre programas de cliente y servidos y como se evitan algunas vulnerabilidades en bases de datos.

C y C++ son cosas diferentes también, principalmente que C++ integra el paradigma de la POO (Programación orientada al objeto). Si te suena a "chino" puede que sea porque no conoces las "palabritas" de los lenguajes que usan ese paradigma que son todavía mas divertidos (polimorfismo, sobrecarga, encapsulamiento, herencia...). En esos lenguajes también existe la posibilidad de acceder a bases de datos como en los de web (de hecho practicamente todos los lenguajes permiten eso). Puede que en lugar de la opción "internet" te interese esta otra.

Pero te adelanto que lenguajes como Java o C++ son mucho mas "puñeteros" que PHP o javascript. Quizás quieras empezar con lenguajes que sean mas "simples"


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 9 Octubre 2017, 19:33 pm
Vale, muchas gracias, a mi lo que me gustaría es aprender a realizar/parar ataques de virus y cosas asi, para trabajar en algo de cyberseguridad, saber como conseguir IP's como rastrearlas, etc... Pero me han dicho que empieze por programar no se si será buena elección o no, o si se empieza por otra cosa antes.



Lo que me recomendaron es que estudie CCNA, leyes, luego redes, y luego hacking de programación pero no se como empezar ni por donde, ya me decís si puedo, perdon por enviar tantos mensajes y ser tan pensado, pero no me decido y como no controlo..


Título: Re: Quiero empezar a programar.
Publicado por: Orubatosu en 9 Octubre 2017, 22:19 pm
Ya bueno, el problema es que estás indicando una especialización muy concreta que exige que antes "si o si o si" conozcas muchas mas cosas.

Es como si quieres tener un curso de conducción a altas velocidades y no sabes ni ir en bicicleta por poner un paralelismo. O como si quieres ser neurocirujano sin ser antes médico, o componer sinfonias sin saber leer solfeo

Lo que te estamos indicando es una "somera introducción" pero que no te quepa la menor duda de que un especialista en seguridad "controla" esos temas como el orinar


Título: Re: Quiero empezar a programar.
Publicado por: Chon en 10 Octubre 2017, 15:50 pm
Empecé con los cursos de Python que me dejasteis, de momento voy por el video 6 lo llevo todo bien, gracias! Espero ir en buen camino


Título: Re: Quiero empezar a programar.
Publicado por: Orubatosu en 11 Octubre 2017, 10:40 am
Sin duda, pero ten en cuenta una cosa.

La programación en términos generales "es siempre igual" en el sentido de que se trata de que quieres hacer "algo". Descompones el "algo" en "algos" mas pequeños y los solucionas.

En Programación hay dos grandes paradigmas (hay muchos mas, pero en términos generalistas)

https://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n

Estos son la programación imperativa y la orientada a objetos (y muchos en mayor o menor medida son una mezcla de ambos). Phyton por ejemplo es multiparadigma, y puedes usar un paradigma, el otro o ambos.

Lo importante es "aprender a pensar" usando esas herramientas. Una vez que consigues eso, el resto de los lenguajes son parecidos y es simplemente adaptarse a sus particularidades.

Por ejemplo Phyton tiene lo que se conoce como "tipado dinámico" mientras que Java o C++ usan tipado fuerte. ¿Eso los hace diferentes? Si, pero solo porque debes de tener eso en cuenta, no porque la forma de resolver problemas sea otra.

El funcionamiento general de todos los lenguajes es parecido. Hay una sintaxis, unas normas de tipado, un paradigma (Java por ejemplo es íntegramente orientado al objeto) pero la forma de resolver problemas no es muy diferente entre ellos. Todos usan librerías externas, todos usan bucles, estructuras de toma de decisiones, etc...

Obviamente hay muchas diferencias entre lenguajes, pero la forma de "solucionar problemas" es muy parecida entre ellos. Por eso da un poco igual con que lenguaje te inicies, y Phyton es particularmente interesante porque:

Es interpretado (es mas fácil encontrar errores en un lenguaje interpretado que en uno compilado)

Tiene tipado dinámico (te evitas los errores de tipos)

Es multiparadigma (puedes empezar por la programación "tradicional" y luego entrar en la de objetos)

Y una cosa, cuando te atasques en un problema, intenta analizarlo con calma, si no te sale pregunta. Nadie nace enseñado en nada