BlogWonderHowTo

La guía para principiantes para aprender a programar por sí mismo (recursos de aprendizaje incluidos)

La publicación de hoy es una pequeña guía para programadores principiantes en Null Byte. Dado que muchos de los miembros de nuestra comunidad recogen la programación de nuestros Bytes de la comunidad, solo tiene sentido diseñar una guía integral para su referencia. Esperamos que esta guía lo ayude a tomar una decisión informada y reflexiva sobre qué lenguajes de programación desea aprender y cómo desea aprender dichos lenguajes.

La pregunta ya ha surgido en los foros. ¿Qué lenguajes de programación debo aprender? Bueno, un buen amigo de Null Byte dijo una vez que un programador debería aprender un lenguaje compilado, un lenguaje interpretado o de alto nivel, un lenguaje de scripting y código de máquina.

Si eres muy nuevo en todo esto, apuesto a que estás preguntando: “¿Qué significan estos tipos de idiomas y por qué debería aprender tantos?”. Para responder a eso, tendré que explicar qué es realmente cada tipo de lenguaje y enumerar ejemplos de cada uno. A partir de ahí, lo guiaré a excelentes recursos para aprender los idiomas que despiertan su interés.

¡Quiero aprender a piratear! ¿Por qué hay tanta programación?

La piratería y la programación son casi lo mismo. No me malinterpretes, la piratería es mucho más que solo código. Sin embargo, cuando aprende a codificar, está tomando la computadora y haciendo que haga lo que querer. Estás aprendiendo qué lo hace funcionar. Solo entonces, cuando comprenda cómo funcionan las cosas, habrá descubierto que ya se ha convertido en un hacker.

Nota: Si necesita crear un entorno de programación para usted mismo, consulte esta gran guía de Null Byte.

Tipos de idiomas y recursos gratuitos para aprender

Binario

La madre de los lenguajes informáticos, el binario es tan simple como parece (en términos de lógica, no de simplicidad real). Los 1 y 0 que componen el binario representan un entero booleano para sobre y apagado. Estos se agrupan en octetos llamados bytes. Cada byte puede tener hasta 256 combinaciones diferentes (0-255). A estos se les asignan registros y valores, y son interpretados por programas de computadora.

Recursos binarios

  • Aquí hay un simple tutorial binario. Le proporcionará todo lo que necesita para comprender los conceptos básicos. Es mucho más simple de lo que piensas.

Codigo de maquina

El código de máquina (o ensamblado) es un código que se comunica directamente con el hardware. Cada tipo de procesador tiene un conjunto de instrucciones que utiliza para comprender los comandos que se le dan. Esto da como resultado un código que se puede ejecutar con casi 0 latencia. Los programas se ejecutan tan rápido como lo permiten las capacidades de su procesador cuando programa el código de máquina usando montaje.

Recursos de código de máquina

  • Un gran libro para leer, especialmente si es nuevo en programación y ensamblaje, es Programación desde cero. Este libro le ayudará a comprender cómo funcionan las computadoras, así como sus procesadores. Luego lo lleva a la codificación en ensamblaje ASM.

Idiomas compilados

Los lenguajes compilados son lenguajes que se escriben en una sintaxis de código, como C / C ++. Se ejecutan a través de un compilador, que los convierte en ejecutables de código máquina. Esto puede hacer que se pregunte por qué incluso usamos el ensamblaje. Bueno, un hacker de élite que es un mentor mío siempre me ha enseñado que el compilador toma atajos, y para un código perfecto, rápido y limpio, debes codificarlo tú mismo y “ser más astuto” que el compilador.

C / C ++

Considerado un lenguaje de nivel medio, C / C ++ es probablemente el lenguaje de programación más popular y, por lo general, el más favorecido entre los codificadores expertos. Es muy rápido, pero puede resultar difícil de entender. Probablemente no deberías empezar con esto.

Recursos de C / C ++

Haskell

Haskell es extraño, pero las personas que lo aprenden tienden a ser programadores increíbles. Es un puramente funcional lenguaje, lo que significa que, en general, las funciones en Haskell no tienen efectos secundarios. Hay un tipo distinto para representar los efectos secundarios, ortogonal al tipo de funciones. Una función pura puede devolver un efecto secundario, que posteriormente se ejecuta, modelando las funciones impuras de otros lenguajes.

Recursos de Haskell

  • Hay un hermosa respuesta en esta página de desbordamiento de Stack sobre cómo aprender a Haskell.

Java

Java es un gran lenguaje. Comparable en formas a C / C ++, Java usa su propio intérprete y compilador que se ejecuta en todos los sistemas operativos para ejecutar su código de bytes. Esto significa que es completamente portátil. Java también es un lenguaje muy rápido y de bajo nivel, por lo que es genial tenerlo en tu arsenal. Muchos trabajos contratan programadores con experiencia en Java.

Recursos de Java

Idiomas interpretados

Los lenguajes interpretados son lenguajes que comúnmente se escriben con guiones y luego se ejecutan a través de un intérprete. El intérprete procesa el script como código de máquina. Esto permite que el código sea corto y elegante, pero consume muchos más recursos valiosos.

Pitón

Mi favorito personal, Python es un lenguaje de programación rápido, simple, limpio y fácil de usar que se enfoca en la legibilidad del usuario. Esto hace que aprender Python sea fácil y muy divertido.

Recursos de Python

  • Cómo pensar como un informático, Python es un gran libro para empezar a utilizar Python. Le brinda consejos analíticos para abordar problemas de programación difíciles. Incluso se enseña un poco de inteligencia artificial al final, donde se hace un programa que Realmente aprende!
  • TheNewBoston tiene toneladas de excelentes vTutoriales que lo guiarán a través del aprendizaje de Python.
  • Aprendiendo Python te lleva desde el comienzo del aprendizaje de Python, hasta la élite. Es un libro muy largo pero completo para convertirse en un sabio con Python.
  • DiveIntoPython es un tutorial de programadores preexpuesto para Python. Si puede recorrerlo con dificultad y comprenderlo como principiante, esta es, con mucho, la mejor manera de aprender el idioma. El libro enseña hábitos y sintaxis de codificación perfectos, a la altura de los estándares de Python.

Perl

Perl es similar a Python en muchos aspectos. Su sintaxis es un poco más difícil y es menos potente que Python en algunas áreas. Por eso, recomiendo solo aprender a leer y piratear los scripts de Perl de otros programadores.

Recursos de Perl

  • El Sitio web de Perl tiene un libro gratuito y muchos otros recursos allí mismo, que también son algunos de los mejores.
  • Aprendiendo Perl es un libro extenso y la contraparte de Perl a su Aprendiendo Python prima.

PHP

PHP es un lenguaje importante en Internet. Casi todos los sitios web utilizan este lenguaje para realizar tareas programadas, como analizar información de una base de datos. ¡También se puede usar para codificar cosas divertidas como bots de IRC! Aprender PHP es esencial para aprender si quieres ser un hacker, porque la mayoría de los sitios web en Internet usan PHP, y para explotarlo, debemos aprenderlo.

Recursos

  • La documentación oficial de PHP es el mejor lugar para aprender PHP, en mi opinión. Aprender de algo como la Biblia de PHP puede ser demasiado abrumador y mucha de la información proporcionada puede ser irrelevante para los principiantes o tener poco o ningún sentido.

Rubí

Ruby es un dinámica, reflexivo, propósito general lenguaje de programación orientado a objetos. Es un lenguaje popular para aprender y también se usó para codificar el Metasploit framework y muchas de sus cargas útiles.

Recursos

  • El Aprendizaje Ruby El sitio tiene buena información que puede usar para aprender a codificar en Ruby, pero cuesta dinero. Sin embargo, en mi opinión, la mejor opción sería Aprende Ruby de la manera difícil. Este es un recurso de aprendizaje increíble y gratuito para pasar de ser un novato en programación a Ruby-ninja.

Cáscara

Aprenda BASH / simple y llanamente. Los usuarios de Windows rara vez necesitan usar el terminal. Sin embargo, los usuarios de Mac y Linux pueden beneficiarse a gran escala si todos nos reunimos y aprendemos el terminal. ¡Esto puede hacer que las tareas repetitivas sean pan comido con un guión! Si tiene un servidor web, es probable que ejecute Linux, así que ¿por qué no hacer su vida más fácil y simplemente aprenderlo ahora?

Recursos

  • La mejor guía para BASH y simplemente administrar su computadora desde la terminal probablemente tendría que ser El tutorial de usuario de Rute. Realmente no puedo enfatizar lo bueno que es este libro, así que por favor no olvide leerlo si planea aprender comandos de shell.

Si tiene alguna pregunta acerca de la programación, ¡envíeme un mensaje a mí oa cualquier otra persona útil en Null Byte!

¡Involucrarse!

Imagen vía ninjasofcode

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Mira también
Cerrar
Botón volver arriba
Cerrar