Soy un estudiante graduado de EC pero recientemente desarrollé un interés en la programación. ¿Cuáles son las fuentes para desarrollar algunas buenas habilidades de programación?

Soy un estudiante de ECE que ha estado enamorado de las computadoras desde hace mucho tiempo. No puedo afirmar que soy experto en programación, pero voy a seguir adelante y compartir lo que he hecho hasta ahora, y ver si eso ayuda a alguien que aterrice aquí.

1. En primer lugar, lee el manual de Hacker de Eric S. Raymond [1].

Recomiendo que al menos lea la sección ‘Actitud del hacker’. Es importante que tengas esta actitud (o la desarrolles en ti, si no es así) para que no te aburras de teclear frente a la pantalla de una computadora todo el día

2. Google es tu mejor amigo.

¿Alguna vez alguien te ha dicho que el mejor amigo del hombre es un perro (o un libro)? Bienvenidos al siglo XXI. Conozca a Google: si necesita algo, solo necesita preguntar (ejem, ‘tipo’).

Es importante que aprendas a hacer tu propio trabajo y a resolver tus propios problemas. Una búsqueda en Google resolverá casi el 100% de tus problemas cuando eres un principiante. Aprende a google. Las personas podrán (y, a menudo, estarán dispuestas a) ayudarte cuando seas un principiante. Pero no estarán ahí por siempre, y es probable que todas las preguntas de principiantes se hayan formulado dos veces en algún foro. Ah, y ciertamente no pueden ayudarte cuando eventualmente llegas a ser un programador más inteligente que ellos they

3. Aprender HTML.

Aunque HTML no es exactamente un lenguaje de programación, es suficiente para comenzar. Es fácil y liberal. Obtendrás una caída de lo que es crear algo; aprenderás a teclear lejos; y se enamorará <3 HTML también le servirá si decide ingresar a la programación web más adelante. Con HTML, puede ver sus resultados al instante, solo necesita un navegador web, y esto es importante como principiante: puede sentirse feliz (y estar más interesado en el proceso) al instante y puede corregir sus errores inmediatamente. .

Una vez que esté de acuerdo con el HTML básico, vaya a aprender algo de CSS y Javascript. Una vez que esté en él, vaya a ver HTML5 y CSS3. (Psst … ¿Recuerdas lo que te dije sobre google? Ve a google ahora 🙂).

Un consejo aquí: manténgase alejado de w3schools. Aprenda de una buena fuente como la Red de Desarrolladores de Mozilla [2] [3].

4. Aprender un lenguaje de programación.

Estás diseñando páginas web que no hacen nada. Estás diseñando tus páginas para que sean más bonitas que Nazriya Nazim [6]. Ahora sería un buen momento para entrar en una programación seria.

Algunos lenguajes de programación populares (voy a seguir adelante e incluiré lenguajes de formato suelto [No volveré a decirles: Vaya a google ;-)] como PHP también) hoy (en ningún orden en particular) son C , C ++, C #, PHP, Perl, Ruby, Python y Java. (Nota: Si omití tu favorito, no me llames nombres, solo inclúyelo en los comentarios).

Es importante que te mantengas alejado de Java, como principiante. Muchas personas creen que Java no le permite comprender algunos conceptos de programación importantes (y fundamentales) [5].

Cuando comencé, estaba en la Clase XI en la escuela (en India y en CBSE). Tuve un curso de programación de computadoras que usaba C ++. Así que seguí adelante y comencé a aprender C ++. Pero hoy en día, escucho a mucha gente decir cosas bonitas sobre Python. Nunca he intentado aprender Python (pero ahora quiero 😉), por lo que no puedo responder de lo fácil que es para un principiante. Pero siguiendo lo que he escuchado, debes comenzar a aprender Python primero.

El sitio web de Python en sí tiene un maravilloso tutorial. Deberías empezar por mirar allí [4].

Después de aprender lo básico, trata de mejorar. Explora conceptos avanzados. Ponte a prueba constantemente. Lee algunos buenos libros. Esfuércese por aprender algo nuevo sobre el idioma cada vez que lo use.

5. SPOJ

Esta es una extensión de la parte ‘ponte a prueba constantemente’. SPOJ significa Sphere Online Judge. SPOJ contiene muchos problemas para que los resuelvas. Subes tu código fuente y el juez te dice si lo has hecho bien.

Trate de resolver tantos problemas como sea posible. Pónganse límites que simplemente perderían. De esta manera, seguirás mejorando.

6. Obteniendo ayuda

¡Mírate, gran amigo! Ya no eres un programador de bebés. Cuando comience a desarrollar sus propias aplicaciones, se encontrará con muchos problemas. Puedes encontrar ayuda en los foros en línea. Para cualquier tema relacionado con la programación, recomendaría Stack Overflow [7]. Descubrí que este es el mejor recurso sin sentido que puede esperar. Utilice sitios como estos para su ventaja.

No te olvides de leer sobre la etiqueta del foro. No uses un nombre de usuario que diga algo como ‘lord_of_coding_bammmm’. No entres en guerras de flamas sobre Gnome vs. KDE, o vi vs. Emacs. No hagas preguntas estúpidas [9].

7. Control de fuente

A medida que comiences a desarrollar aplicaciones grandes (o complejas, o un poco de ambas), jugarás mucho con el código y es fácil romperlo. Entonces, es importante que tengas algún tipo de control de código fuente como Git [8] (¡Sí, lo has adivinado: ve a Google!) O Mercurial, para no enviar decenas de horas de trabajo por el desagüe.

Un sistema de control de origen (o control de revisión) le permite retroceder en el tiempo y comenzar desde una versión anterior del código fuente. Además, puedes bifurcar y fusionar y bifurcar (¡yay! ¡No tienes idea de cuánto disfruto arrojándote nuevas palabras! Pulsa Google de nuevo :-P), lo que significa que puedes experimentar sin tener miedo de romper cosas.

8. Estilos y normas.

Es probable que se asocie con otros programadores en el futuro. Tienes que aprender sobre los estilos de codificación y las convenciones. Ya deberías ser amigos de puente con Google, así que te dejaré que averigües cuáles son :-).

9. Marcos y bibliotecas.

[Nota: no he hecho esto todavía, pero estoy en el proceso]

Es importante en este punto aprender algunos marcos y bibliotecas. Le permitirán lograr mucho más de lo que es posible cuando comienza desde cero.

Si estás en Python, echa un vistazo a Django. Si eres un tipo de PHP (¡yay!), Echa un vistazo a CakePHP o Zend. También haga una visita a los sistemas de administración de contenido (CMS) como WordPress, Joomla, Drupal, etc.

10. Contribuir a un proyecto de código abierto.

[Nota: no he hecho esto todavía, pero espero hacerlo en un futuro cercano]

Eres un programador ahora. Es hora de hacer algo que valga la pena. Vaya a buscar un proyecto de código abierto de su agrado (¡No, NO el kernel de Linux!), Y contribuya a él.

Cómo puedes contribuir a un proyecto de código abierto es un tema en sí mismo. Hay muchos recursos al respecto en Internet, por lo que no diré mucho al respecto aquí.


Otros puntos aleatorios:

  • Consíguete una caja de linux. Me gusta Fedora (por ser fiel a la naturaleza “libre”), pero siéntase libre de elegir y elegir. Hay literalmente miles de opciones.
  • Aprende a usar la línea de comandos y siéntete cómodo con ella.
  • Recuerde: el texto verde sobre un fondo negro es “wowwwww !!” material 🙂 Por otra parte, te da la sensación de ‘hacker’.
  • Consigue e instala texto sublime. Este es un maravilloso editor de texto que me agradecerás más tarde

Una nota:
Si hay correcciones, por favor hágamelo saber. Si me he perdido algo, por favor hágamelo saber. Si puedo explicar algo más, por favor hágamelo saber. Si no tienes nada que avisarme, hazme saber de todos modos.

Ah, y estaba bromeando cuando dije que estabas estilizando tus páginas para ser más bonita que Nazriya. ¡Ya pues! ¡Nadie puede ser más bonita que ella! 🙂


[1] Cómo convertirse en un hacker
[2] HTML: HTML en MDN
[3] CSS: CSS en MDN
[4] El tutorial de Python
[5] Busque “las trampas de Java como primer lenguaje de programación” en Google.
[6] Nazriya Nazim, mi actriz favorita (soy de Tamil Nadu, India)
[7] Desbordamiento de pila
[8] Git
[9] Cómo hacer preguntas de manera inteligente

No recomendaré stackoverflow a un principiante, te sentirás intimidado. Te recomendaré que comiences desde lo básico con un libro de texto en un lenguaje atractivo como Python. Considera poner tus manos en Head First Programming y Head First Python. Esos son libros que no te van a aburrir.