Red de conocimiento informático - Espacio del host - Quiero aprender programación, pero sé encender la computadora y nada más ¿Qué debo hacer?

Quiero aprender programación, pero sé encender la computadora y nada más ¿Qué debo hacer?

En primer lugar, la palabra "hacker" ha dado muchas definiciones, la mayoría de las cuales implican excelentes habilidades de programación, un fuerte deseo de resolver problemas y superar limitaciones. Si quieres saber cómo convertirte en hacker, bueno, sólo hay dos aspectos que importan. (Actitudes y Tecnología)

Ha existido durante mucho tiempo una comunidad cultural compartida de programadores expertos y gurús de redes, que se remonta a décadas atrás, desde los primeros miniordenadores de tiempo compartido y los primeros experimentos de ARPAnet. Los participantes de esta cultura acuñaron la palabra "hacker". Los piratas informáticos construyeron Internet. Los piratas informáticos hicieron del sistema operativo Unix lo que es hoy. Los piratas informáticos construyeron Usenet. Los piratas informáticos mantienen la WWW en funcionamiento. Si eres parte de la cultura, si has contribuido con algo y otras personas en el círculo saben quién eres y te llaman hacker, entonces eres un hacker.

El espíritu hacker no se limita a la cultura hacker del software. Algunas personas abordan otras cosas como la electrónica y la música con la misma actitud hacker; de hecho, puedes encontrarla en cualquiera de las ciencias y artes superiores. Los hackers de software reconocen a sus homólogos en otros campos y se refieren a ellos como hackers; algunos afirman que los hackers son en realidad independientes del campo en el que trabajan. Pero en este artículo nos centramos en las técnicas y actitudes de los piratas informáticos y en la tradición cultural compartida de qué país inventó el término "hacker".

También hay un grupo de personas que gritan fuerte que son hackers, pero en realidad no lo son. Son personas (en su mayoría adolescentes) que dañan deliberadamente ordenadores y sistemas telefónicos. Los verdaderos piratas informáticos llaman a estas personas "crackers" y desdeñan asociarse con ellos. La mayoría de los verdaderos hackers piensan que los crackers son tipos irresponsables y vagos que no tienen mucha habilidad. Actuar específicamente con el fin de violar la seguridad de otra persona no te convierte en un hacker, como tampoco ser capaz de abrir un automóvil con un trozo de cable te convierte en un ingeniero automotriz. Desafortunadamente, muchos periodistas y escritores tienden a confundir a los "hackers" con hackers; este enfoque irrita a los verdaderos hackers.

La diferencia fundamental es: los hackers construyen, los hackers destruyen.

Si quieres ser un hacker, sigue leyendo. Si quieres ser un hacker, lee el grupo de noticias alt.2600 y ve a la cárcel de 5 a 10 veces cuando descubras que no eres tan inteligente como pensabas. Eso es todo lo que tengo que decir sobre los hackers.

---La actitud de los hackers

Los hackers resuelven problemas, construyen cosas, creen en la libertad y la ayuda bidireccional, todos para uno y uno para todos.

Para ser considerado un hacker, tus acciones deben demostrar que ya tienes esta actitud. Para actuar como si tuvieras esta actitud, debes tenerla realmente. Pero si quieres ser reconocido en la cultura hacker cultivando una actitud hacker, estás cometiendo un gran error. Porque convertirte en el tipo de persona con estas cualidades es muy importante para ti, te ayuda a aprender y te proporciona un flujo constante de vitalidad. Como ocurre con todas las artes creativas, la forma más eficaz de convertirse en un maestro es imitar el espíritu del maestro, no sólo intelectualmente, sino también emocionalmente.

Así que, si quieres ser un hacker, repite las siguientes cosas hasta que te las creas:

1 El mundo está lleno de problemas fascinantes por resolver

DO Ser un hacker es muy divertido, pero es una diversión que requiere mucho esfuerzo. Estos esfuerzos requieren motivación. Los atletas exitosos se motivan al desarrollar sus cuerpos y desafiarse a sí mismos hasta sus límites. De manera similar, para ser un hacker, debes tener un deseo básico de resolver problemas, perfeccionar tus habilidades y ejercitar la inteligencia. Si aún no eres este tipo de persona y quieres ser un hacker, debes encontrar la manera de convertirte en uno. De lo contrario, descubrirás que tu pasión por el hacking será devorada sin piedad por otras tentaciones, como el dinero, el sexo y la fama social.

(De manera similar, debes generar confianza en tu propia capacidad de aprendizaje; cree que, aunque no sepas mucho sobre un determinado problema, si lo estudias y lo pruebas poco a poco, eventualmente lo lograrás. dominarlo y resolverlo)

2. Un problema nunca debe resolverse dos veces

Las mentes inteligentes son recursos valiosos y limitados.

No deberían desperdiciarse reinventando la rueda cuando el mundo está lleno de otros problemas interesantes por resolver. Como hacker, tienes que confiar en que el tiempo de pensamiento de otros hackers es valioso, por lo que es casi un imperativo moral compartir información, resolver problemas y publicar los resultados a otros hackers para que otros puedan resolver nuevos problemas. con viejos problemas una y otra vez.

(No tienes que pensar que debes publicar tus inventos y creaciones, pero los hackers que hacen esto son los que se ganan el mayor respeto de todos. Vende algo de dinero para mantenerte, cómprate un casa, un coche, una computadora o incluso Hacer una fortuna y hackear valor también son compatibles, siempre y cuando no olvides que todavía eres un hacker)

3.

Los hackers nunca deberían hacerlo. Estar atrapados en tareas estúpidas y repetitivas porque cuando eso sucede significa que no están haciendo lo que sólo ellos pueden hacer: resolver nuevos problemas. Este tipo de desperdicio perjudica a todos. Por lo tanto, los trabajos aburridos y tediosos no sólo son incómodos, sino que son el delito máximo. Para actuar como un hacker, debes creer esto completamente y automatizar la mayor cantidad de trabajo tedioso posible, no solo para ti, sino para los demás (especialmente otros hackers).

(Existe una excepción obvia a esto. Los piratas informáticos a veces también realizan algún trabajo repetitivo y aburrido para "descansar el cerebro", o para dominar una determinada habilidad u obtener alguna otra información. Experiencia inalcanzable. Pero esto es su propia elección: las personas con cerebro no deben verse obligadas a realizar trabajos aburridos)

4 La libertad es buena

Los piratas informáticos son un antiautoritario natural. Cualquiera que pueda darte órdenes te obligará a dejar de resolver un problema que te fascina y, en el tono habitual de autoridad, suele dar algunas razones extremadamente estúpidas. Por lo tanto, no importa cuándo y dónde, cualquier autoridad, siempre que te oprima a ti o a otros hackers, debes luchar contra él hasta el final.

(Esto no quiere decir que no sea necesario ningún poder. Los niños necesitan supervisión y los delincuentes necesitan ser vigilados. Los piratas informáticos aceptarán algo si les ahorra tiempo obtener algo al seguir órdenes en lugar de obtenerlo. en otras formas de autoridad. Pero es un trato limitado y deliberado; el tipo de obediencia personal que el poder quiere no es tu entrega, sino obediencia incondicional).

El poder ama el escrutinio y el secreto. Desconfían de la cooperación voluntaria y del intercambio de información; sólo les gusta la cooperación que ellos controlan. Por lo tanto, para actuar como un hacker, es necesario tener una aversión y hostilidad instintivas hacia la censura, el secreto y el uso de la fuerza o el engaño para oprimir a las personas.

5. La actitud no sustituye a la habilidad

Para ser un hacker, debes desarrollar estas actitudes. Pero tener estas actitudes por sí solas no te convierte en un hacker, como tampoco te convierte en un atleta o una estrella de rock. Convertirse en hacker requiere inteligencia, práctica, dedicación y trabajo duro.

Por tanto, debes aprender a desconfiar de las actitudes y respetar las capacidades de todo tipo. Los hackers no perderán el tiempo con personas que son deliberadamente pretenciosas, pero respetan la capacidad, especialmente la capacidad de ser un hacker, pero cualquier habilidad siempre es buena. Es especialmente bueno tener habilidades técnicas que pocas personas pueden dominar, pero aquellas que involucran fuerza mental, habilidad y concentración son las mejores.

Si respetas la capacidad, disfrutarás mejorándola: el trabajo duro y la dedicación se convertirán en un alto grado de entretenimiento en lugar de una servidumbre. Esto es muy importante si quieres convertirte en un hacker.

---Técnicas Básicas de Hacking

La actitud del hacker es importante, pero la tecnología lo es aún más. La actitud no puede reemplazar las habilidades. Antes de que otros hackers te llamen hacker, existe un conjunto básico de habilidades que debes dominar. Este conjunto básico de tecnologías cambia lentamente con el tiempo a medida que surgen nuevas tecnologías y las antiguas se vuelven obsoletas. Por ejemplo, antes se incluía la programación en código máquina, pero más recientemente se incluyó el lenguaje HTML. Pero ahora obviamente incluye las siguientes técnicas:

1 Aprende a programar

Esta es, por supuesto, la técnica de piratería más básica. Si aún no conoce ningún lenguaje informático, le sugiero que comience con Python. Tiene un diseño claro y documentación completa, lo que lo hace adecuado para principiantes. Aunque es un buen lenguaje para principiantes, es más que un simple juguete. Es muy potente, flexible y adecuado para grandes proyectos.

Pero recuerda, si sólo conoces un idioma, no alcanzarás el nivel técnico que requiere un hacker, ni siquiera el nivel de un programador común y corriente; necesitas aprender a usarlo como Una forma universal de pensar en los problemas de programación, independientemente de cualquier lenguaje. Para ser un verdadero hacker, necesitas aprender a dominar rápidamente un nuevo idioma en unos pocos días usando algunos manuales y combinándolo con lo que ya sabes. Esto significa que debes aprender varios idiomas diferentes.

Si quieres hacer programación seria, tendrás que aprender C, el lenguaje central de Unix. Otros lenguajes que son importantes para los piratas informáticos incluyen Perl y LISP. Perl es útil y vale la pena aprenderlo; se usa ampliamente para páginas web activas y administración de sistemas, por lo que incluso si nunca programa en Perl, al menos debería poder leerlo. Vale la pena aprender LISP porque obtendrás una gran experiencia cuando finalmente lo domines, experiencia que te convertirá en un mejor programador en el futuro, aunque en realidad puedas usar LISP muy poco.

Por supuesto, de hecho será mejor que puedas hacer los cuatro. (Python, C, Perl y LISP). Además de ser los cuatro lenguajes básicos más importantes, representan cuatro enfoques de programación muy diferentes, cada uno de los cuales le beneficiará enormemente.

No puedo enseñarte completamente cómo programar aquí; es un trabajo complicado. Pero puedo decirles que los libros y los cursos tampoco pueden hacerlo. Casi todos los mejores hackers son autodidactas. Lo que realmente marca la diferencia es leer y escribir el código usted mismo.

Aprender a programar es como aprender a escribir en lenguaje natural. La mejor manera es leer algunas obras maestras de maestros, intentar escribir algo tú mismo, leer un poco más, escribir un poco más, leer un poco más, escribir un poco más... y así sucesivamente hasta lograr lo que ves en los ensayos de muestra. y poder.

Encontrar un buen código para leer ha sido difícil en el pasado porque rara vez había código fuente disponible para programas grandes que permitieran a los principiantes practicar. La situación ha mejorado mucho; ahora hay una gran cantidad de software, herramientas de programación y sistemas operativos de código abierto disponibles (todos escritos por piratas informáticos). Esto nos lleva naturalmente al segundo tema...

2 Consigue un Unix de código abierto y aprende a usarlo y ejecutarlo

Supongo que ya tienes una computadora personal Computadora o tienes una disponible (los niños de hoy tienen mucha suerte :-)). El paso más básico para los principiantes es obtener una copia de Linux o BSD-Unix, instalarla en una computadora personal y ejecutarla.

Por supuesto, existen otros sistemas operativos en el mundo además de Unix. Pero todos se envían en formato binario: no se puede leer su código fuente, y mucho menos modificarlo. Intentar aprender habilidades de piratería en una máquina con DOS o Windows es como intentar aprender a bailar con un bloque de metal atado a la pierna.

Además, Unix también es el sistema operativo de Internet. Puedes aprender a utilizar Internet sin conocer Unix, pero no puedes convertirte en un hacker de Internet sin saberlo. Por esta razón, la cultura hacker actual está en gran medida centrada en Unix. (Esto no siempre es cierto, y algunos de los primeros hackers no estaban contentos con ello, pero la relación entre Unix e Internet es tan fuerte que ni siquiera Microsoft puede evitarlo.)

Entonces, instale Unix: personalmente me gusta Linux, pero hay otras opciones. (También puedes ejecutar DOS, Windows y Linux simultáneamente en la misma máquina) Aprendalo. Ejecútelo. Úselo para hablar con Internet. Lea su código. Intenta modificarlo. Obtendrá herramientas de programación mucho mejores (incluidos C, Lisp, Python y Perl) que las disponibles en los sistemas operativos de Microsoft, se divertirá y aprenderá más de lo que jamás imaginó.

Para obtener más información sobre cómo aprender Unix, consulte The Loginataka.

Para obtener Linux, consulte: Dónde obtener Linux.

3 Aprenda a usarlo WWW y escribir HTML

La mayor parte de lo que construye la cultura hacker funciona en lugares que no se pueden ver, ayudando a que funcionen fábricas, oficinas y universidades, y su impacto en las vidas de otros es difícil de ver en la superficie. La Web es una gran excepción.

Incluso los políticos coinciden en que este gran y brillante juguete hacker está cambiando el mundo. Sólo por esta razón (y por muchas otras), es necesario aprender a dominar la Web.

Esto no significa sólo cómo utilizar un navegador (todos pueden hacerlo), sino aprender a escribir HTML, el lenguaje de marcado de la Web. Si no sabes programar, escribir HTML te enseñará algunos hábitos de pensamiento que te ayudarán a aprender. Por lo tanto, primero cree su propia página de inicio.

Pero el simple hecho de crear una página de inicio no te convierte en un hacker. La Web está llena de varias páginas web. La mayor parte es basura sin sentido y sin información.

Para ser valiosa, su página debe tener contenido: debe ser interesante o útil para otros piratas informáticos. De esta manera, llegamos al siguiente tema....

---El estatus de la cultura hacker

Como la mayoría de las culturas que no involucran dinero, el reino hacker opera en mantener la reputación. Consigues resolver problemas interesantes, pero lo interesantes que sean y lo buenas que sean tus soluciones serán juzgados por aquellos que tienen el mismo nivel técnico que tú o aquellos que son mejores que tú.

En consecuencia, cuando juegas un juego de hacking, sabes que tu puntuación depende de la evaluación de tus habilidades por parte de otros hackers. (Es por eso que no eres un hacker hasta que otros hackers te llaman hacker). Este hecho a menudo se ve atenuado por la impresión de que el hacking es un trabajo solitario; también se ve reforzado por otro tabú de la cultura hacker (la potencia de este tabú). está disminuyendo pero sigue siendo fuerte): la negativa a reconocer la evaluación propia o externa como motivación de una persona.

En particular, los antropólogos llaman al reino hacker una cultura de élite. Aquí construyes estatus y fama no por tu dominio sobre los demás, ni por la belleza, o por tener lo que los demás quieren, sino por tu dedicación. Especialmente donando tu tiempo, tus talentos y tus logros técnicos.

Para ganarte el respeto de otros hackers, puedes hacer las siguientes cinco cosas:

1. Escribir software de código abierto

La primera (y la más básica) y tradicional) es escribir programas que otros hackers encuentren interesantes o útiles, y publicar el código fuente del programa para que todos lo disfruten.

(En el pasado lo llamábamos "software libre", pero esto desconcertó a muchas personas que no conocían el significado preciso de gratis. Ahora muchos de nosotros usamos el término "código abierto" en palabras)

Los expertos más respetados en el reino de los hackers son aquellos que escriben software a gran escala y ampliamente utilizado y lo publican para que todo el mundo utilice su software.

2. Ayude a probar y modificar el software de código abierto

Los piratas informáticos también respetan a quienes utilizan y prueban el software de código abierto. En este mundo imperfecto, inevitablemente dedicamos mucho tiempo al desarrollo de software en la fase de prueba y detección de errores. Es por eso que cualquier autor de código abierto que lo piense dos veces le dirá que los buenos probadores beta son tan valiosos como los rubíes. (Sabe cómo describir claramente los síntomas de error, localizar bien los errores, tolera los errores en el software que se lanza rápidamente y está dispuesto a utilizar algunas herramientas de diagnóstico simples). Incluso uno de ellos puede decir qué fase de prueba es prolongada y frustrante. Una pesadilla de agotamiento. , que es simplemente algo saludable.

Si eres novato, intenta encontrar algún programa en desarrollo que te interese y conviértete en un buen beta tester. Desde ayudar con las pruebas hasta ayudar a detectar errores y, finalmente, ayudar a modificar programas, seguirá progresando. Cuando escribas programas en el futuro, otros te ayudarán y serás recompensado por tu amabilidad original.

3. Publicar información útil

Otra cosa buena es recopilar y organizar información o documentos útiles e interesantes como preguntas frecuentes en la web. Muchos de los principales mantenedores de preguntas frecuentes son tan respetados como otros autores de código abierto.

4. Ayudar a mantener el funcionamiento de la infraestructura

La cultura hacker se basa en voluntarios. Para que Internet funcione correctamente, es necesario realizar mucho trabajo aburrido: administrar listas de correo, grupos de noticias, mantener una gran cantidad de documentos, desarrollar RFC y otros estándares técnicos, etc. Las personas que hacen este tipo de cosas recibirán mucho respeto de la gente, porque todos saben que estas cosas requieren mucho tiempo y trabajo pesado, no son tan divertidas como codificar. Hacer estas cosas requiere perseverancia.

5. Servir a la cultura hacker en sí

Finalmente, puedes servir a la cultura en sí (por ejemplo, como yo, escribe un tutorial básico sobre "cómo convertirte en un hacker": - ) ) (jeje, tradúcelo al chino como yo :-) ) Esto no tiene que hacerse después de haber estado aquí durante mucho tiempo, haber dominado los 4 puntos anteriores y haber ganado cierta reputación.

La cultura hacker no tiene líderes. Para ser precisos, tiene algunos héroes culturales, ancianos tribales, historiadores y portavoces. Si permaneces en este círculo el tiempo suficiente, podrías convertirte en uno de ellos.

Recuerde: los piratas informáticos no confían en los derechos de fanfarronería de sus ancianos tribales, por lo que obviamente es peligroso perseguir tal reputación. Tienes que tener humildad y gracia básicas.

---La conexión entre hackers y nerds

Al contrario de la leyenda popular, no es necesario ser un nerd para ser un hacker. Sin embargo, muchos piratas informáticos son bichos raros. Ser un outsider te ayuda a concentrarte en cosas más importantes, como pensar y programar.

Por lo tanto, muchos hackers están dispuestos a aceptar la etiqueta de "raros", y algunos incluso están dispuestos a utilizar la palabra "geek" y sentirse orgullosos de ello---esto es para declarar que no lo son. cooperando con la sociedad en general.

Si puedes concentrar suficiente energía para ser un buen hacker y aun así tener una vida normal, está bien. Es mucho más fácil hacer esto hoy que cuando era un novato en los años 1970. La cultura dominante hoy en día es mucho más amigable con los fanáticos de la tecnología. Aún más gente se da cuenta de que los hackers suelen ser más cariñosos y buenos amantes y cónyuges. Para obtener más información, consulta la Guía para chicas geek.

Si te atrae el hackeo porque no estás contento con tu vida, está bien, al menos no te distraerás. Quizás encuentres a tu otra mitad en el futuro.

---El significado del estilo

Para reiterar, para ser un hacker, debes entrar en el espíritu hacker. Todavía hay mucho que hacer cuando no estás frente a tu computadora. No sustituyen a la programación real (nada puede reemplazar la programación), pero muchos hackers los practican y sienten una conexión esencial con el espíritu hacker.

Leer ciencia ficción. Asiste a un panel de ciencia ficción. (Un buen lugar para encontrar hackers)

Estudia budismo zen o practica artes marciales.

Desarrolla un par de oídos precisos y aprende a apreciar la música especial. Aprende a tocar un instrumento o cantar.

Mejora tu apreciación de los juegos de palabras.

Aprende a escribir con fluidez en tu lengua materna. (Sorprendentemente, todos los mejores hackers que conozco también son muy buenos escritores)

Cuanto más hagas estas cosas, mejor serás como hacker. No está del todo claro por qué suceden estas cosas, pero todas implican una combinación de habilidades del cerebro izquierdo y derecho, lo que parece ser la clave. (Los piratas informáticos necesitan tanto un pensamiento lógico claro como, a veces, una fuerte intuición que vaya más allá de la lógica)

Finalmente, hay algunas cosas que no se deben hacer.

No uses identificaciones estúpidas y demasiado sensacionalistas.

No te llames punk y no pierdas el tiempo con esa gente.

No No envíes correos electrónicos llenos de errores ortográficos y gramaticales, ni publiques artículos plagados de errores.

Hacer lo anterior puede dañar seriamente tu reputación. Los hackers tienen mucha memoria: les llevará años olvidar su estupidez.

---Otros recursos

Peter Seebach mantiene una excelente sección de preguntas frecuentes sobre piratas informáticos para gerentes que no saben cómo tratar con piratas informáticos.

El Loginataka tiene mucho material sobre cómo desarrollar adecuadamente la actitud de un hacker de Unix.

También escribí una "Breve historia de la cultura hacker".

También escribí otro artículo, "La Catedral y el Bazar", que explica mucho sobre cómo funciona Linux y la cultura del código abierto. También tengo una discusión más directa en su secuela "Abriendo el reino de la inteligencia".

---FAQ (Preguntas frecuentes)

P: ¿Me enseñarás cómo ser un hacker?

Desde que publiqué esta página por primera vez, he recibido solicitudes todas las semanas para "enseñarle a hackear"; desafortunadamente, no tengo suficiente tiempo ni energía para hacerlo yo mismo. El proyecto de programación ha comenzado; 110% de mi tiempo.

Incluso si quiero enseñarte, es imposible. El hacking es básicamente una actitud y una tecnología que debes practicar por tu cuenta. Descubrirá que incluso si los verdaderos piratas informáticos quieren ayudarlo, no se ganará su respeto si les ruega que le enseñen algo.

Estudia primero. Demuestra que lo estás intentando y que puedes aprender por tu cuenta. Entonces ve a pedir consejo a los piratas informáticos.

P: ¿"Hackearán" un sitio por mí? ¿O enseñarme cómo hackearlo?

No. Cualquiera que haga esta pregunta después de leer las preguntas frecuentes es un idiota y no le prestaré atención aunque tenga tiempo. Cualquier correo electrónico que me envíen será ignorado o vilipendiado.

P: ¿Dónde puedo encontrar hackers reales con quienes hablar?

La mejor manera es unirse a un grupo de usuarios de Unix o Linux cercano y asistir a sus reuniones.

P: ¿Qué idioma debo aprender primero?

HTML, si aún no lo conoces.

Pero no es un lenguaje de programación real. Cuando esté listo para programar, le sugiero que comience con Python. Mucha gente le recomendará Perl. Es más popular que Python, pero es más difícil de aprender.

C es muy importante, pero es el más difícil de aprender. En primer lugar, no intentes aprender C.

P: ¿El software libre de código abierto hará que los programadores tengan hambre?

Eso parece poco probable: hasta ahora, la industria del software de código abierto ha creado empleos en lugar de destruirlos.

Si escribir un programa es un beneficio puramente financiero en comparación con no escribir un programa, el programador será recompensado por ello siempre que lo complete, independientemente de si es gratuito o no. Además, no importa cuán gratuito sea el software desarrollado, siempre habrá necesidad de aplicaciones de software más nuevas.

P: ¿Por dónde empiezo? ¿Dónde están los Unix gratuitos?

En otra parte de esta página hay enlaces a los Unix gratuitos más utilizados. Para ser un hacker, debes ser autosuficiente y capaz de educarte.