Programador 101: Cómo aprender a programar por ti mismo
Es posible que hayas querido aprender a desarrollar software o simplemente hayas querido escribir un script temporal pero no sabías por dónde empezar. Afortunadamente, hoy en día existe una gran cantidad de recursos de aprendizaje en Internet que le permiten convertirse en programador en poco tiempo. Gracias a la aparición de Internet, los programadores pueden discutir técnicas de desarrollo de software, publicar guías de aprendizaje y compartir ejemplos de código para que otros puedan aprender en línea. Si está interesado en cómo convertirse en programador, comenzar con la gran cantidad de excelentes materiales de capacitación y guías de aprendizaje que hay en Internet será un buen comienzo. Lo primero es lo primero: no se apresure a elegir un idioma. Un error común que cometen los principiantes es dudar en decidir qué lenguaje de programación es el mejor para aprender primero. Tenemos muchas opciones, pero no puedes hablar mejor ese idioma. Debemos entender: al final, no importa el idioma. Es importante comprender las estructuras de datos, la lógica de control y los patrones de diseño. Cualquier lenguaje o incluso un lenguaje de secuencias de comandos simple tendrá varias características que son comunes a todos los lenguajes de programación, lo que significa que todos los lenguajes están conectados. Estoy trabajando en mi título en Ciencias de la Computación y programo en Pascal, Ensamblador y C, y en realidad nunca lo he considerado como una carrera para obtener las recompensas. He estado aprendiendo programación por mi cuenta y no la necesito en el trabajo. Utilizo mis conocimientos existentes y consulto varios documentos y libros para aprender su uso. Así que no tengas prisa por elegir qué lenguaje de programación elegir. Averigua qué quieres desarrollar, utiliza un lenguaje que haga el trabajo y listo. Dependiendo de las distintas plataformas de desarrollo, hay muchas formas diferentes de desarrollo de software disponibles: desde aplicaciones de sitios web hasta software de escritorio, software para teléfonos inteligentes y herramientas de secuencias de comandos de línea de comandos. En este artículo, destacaré algunos recursos y tutoriales introductorios populares que pueden ayudarlo a aprender a programar y desarrollar en varias plataformas convencionales. Voy a asumir que eres un lector muy experto, pero para los novatos, cuando hable de código de programación, lo haré en un nivel básico. Porque incluso si lees un manual de introducción a la programación por tu cuenta, si descubres que puedes entenderlo, naturalmente te sentirás muy feliz, lo que te ayudará a seguir estudiando. Secuencias de comandos de escritorio La forma más fácil de comenzar a programar en Windows o Mac es comenzar con un lenguaje de macros o secuencias de comandos como AutoHotkey (Windows) o Automator (Mac). Algunos programadores de hardware gritan ante sus pantallas estos días que AHK y AppleScript no son lenguajes de programación reales. Quizás tengan razón en que técnicamente este tipo de lenguajes solo pueden realizar cierta programación de alto nivel. Pero para los principiantes que solo quieren comenzar y quieren implementar algunos programas que puedan ejecutarse automáticamente en sus computadoras, estos lenguajes serán un excelente punto de entrada y se sorprenderán con su rica funcionalidad. Por ejemplo, el Texter favorito de todos es una aplicación de Windows desarrollada por Adam usando AutoHotkey que puede ejecutarse de forma independiente. Por lo tanto, este lenguaje de secuencias de comandos está lejos de limitarse al desarrollo de software de secuencias de comandos a pequeña escala. Si desea comenzar con AutoHotkey, aquí tiene la guía de Adam: cómo convertir cualquier acción en un atajo de teclado usando AutoHotkey (luego puede descargar el código fuente de Texter para ver las partes internas de una aplicación de Windows completamente funcional desarrollada con AHK). Además de que el desarrollo web se limite a un lenguaje de programación específico y un sistema operativo específico, también puedes desarrollar tu programa principal en el navegador y dejarlo ejecutar en Internet. Esta es una aplicación web. Bienvenido al maravilloso mundo de la programación web. HTML y CSS: al desarrollar un sitio web, lo primero que necesita saber es HTML (de qué están hechas las páginas web) y CSS (un marcado de estilo que hace que se vea mejor). HTML y CSS no son lenguajes de programación; son sólo información estructural y de estilo para la página.
Sin embargo, debe aprender a escribir HTML y CSS simples manualmente antes de poder comenzar a desarrollar aplicaciones web. Una página web es la parte de visualización frontal de cualquier aplicación web. Esta guía HTML es un buen lugar para comenzar. JavaScript: una vez que puedas crear una página estática con HTML y CSS, las cosas empiezan a ponerse interesantes porque es hora de aprender JavaScript. JavaScript es un lenguaje de programación en navegadores web. Su magia es crear algunos efectos dinámicos en la página. JavaScript puede crear marcadores, scripts de Greasemonkey y Ajax, por lo que es un factor en todo tipo de cosas buenas en la web. Aprenda JavaScript desde aquí. Secuencias de comandos del lado del servidor: una vez que aprenda el conocimiento de una página web, debe comenzar a agregarle algunas operaciones dinámicas del servidor. Para lograr esto, debe prestar atención a un lenguaje de secuencias de comandos del lado del servidor, como PHP, Python. , Perl o Rubí. Por ejemplo, si desea crear un formulario de contacto basado en web que envíe correos electrónicos según la entrada del usuario, necesitará utilizar secuencias de comandos del lado del servidor. Los lenguajes de scripting como PHP le permiten comunicarse con una base de datos en un servidor web, por lo que si desea crear un sitio web donde los usuarios puedan iniciar sesión y registrarse, este lenguaje es exactamente lo que necesita. Webmonkey es un excelente sitio web de recursos de desarrollo web, que contiene una gran cantidad de manuales de instrucciones para varios lenguajes de programación web. Consulte su Guía para principiantes de PHP. Cuando se sienta más cómodo, consulte el tutorial de PHP y MySQL de WebMonkeys para aprender a usar PHP para interactuar con una base de datos. Lo mejor que hay en Internet es la documentación oficial en línea y la referencia de funciones del lenguaje PHP. Cada punto de conocimiento (como la función strlen) tiene comentarios de usuario y comentarios enumerados al final, que son muy valiosos para el documento en sí. (Me encanta PHP, pero hay muchos otros lenguajes de secuencias de comandos del lado del servidor entre los que puedes elegir). Marcos web: en los últimos años, los desarrolladores web han tenido que abordar problemas recurrentes una y otra vez en el proceso de desarrollo dinámico. sitios web. El problema es escribir código duplicado. Para evitar este problema de repetir el trabajo cada vez que desarrollan algunos sitios web nuevos, algunos programadores han creado algunos marcos y han dejado que los marcos completen el trabajo repetitivo por nosotros. El muy popular marco Ruby on Rails, por ejemplo, utiliza el lenguaje de programación Ruby para proporcionarnos una arquitectura específicamente orientada a la web que se puede utilizar para completar aplicaciones web ordinarias. De hecho, Adam utilizó Rails para desarrollar su primera aplicación web seria (¡e impresionante!), MixTape.me. Así construyó un sitio web sin ninguna experiencia. Existen otros marcos de desarrollo web, incluidos CakePHP (para programadores de PHP), Django (para programación en Python) y jQuery (para API web de JavaScript: API (interfaz de programación de capa de aplicación) se refiere a la comunicación entre diferentes rutas de programas intercambiables. Por ejemplo, si desea colocar un mapa dinámico en su sitio web, puede utilizar Google Maps sin desarrollar su propio mapa. La API de Google Maps le permite introducir fácilmente un mapa en su página a través de JavaScript.
Casi todos los servicios web modernos que conoce y ama proporcionan API a través de las cuales puede obtener sus datos y widgets y utilizar estos elementos interactivos en sus aplicaciones, como Twitter, Facebook, Google Docs, Google Maps, y la lista sigue y sigue. La integración de otras aplicaciones web en su aplicación web a través de API es ahora la vanguardia del desarrollo web enriquecido. Toda buena API de servicio web convencional viene con documentación completa y algunas instrucciones de inicio rápido (por ejemplo, esto es Twitter). Enloquecerse. Secuencias de comandos de línea de comandos Si desea desarrollar un programa que lea texto o archivos, ingrese y genere algo útil, entonces el lenguaje de secuencias de comandos de línea de comandos será una buena opción. Sin embargo, no es tan atractivo ni atractivo como las aplicaciones web y las aplicaciones de escritorio, pero como lenguaje de programación para un desarrollo rápido, no puede ignorarlas. Muchos scripts web que se ejecutan en plataformas Linux también se pueden ejecutar en modo de línea de comandos, como Perl, Python y PHP, por lo que si aprende a usarlos, podrá utilizarlos en ambos entornos. Mi camino de aprendizaje nunca ha dejado a Peal demasiado lejos. Aprendí Python por mi cuenta usando este excelente libro gratuito en línea Dive into Python. Si convertirse en un maestro de Unix también es su objetivo de aprendizaje, entonces definitivamente debe dominar el lenguaje de scripting bash. Bash es un lenguaje de secuencias de comandos de línea de comandos en entornos Unix y Linux que puede hacer todo por usted: desde secuencias de comandos de bases de datos de respaldo automático hasta programas interactivos para el usuario con todas las funciones. Al principio no tenía ninguna experiencia con scripts de bash, pero eventualmente desarrollé un administrador de tareas personal con todas las funciones usando bash: Todo.txt CLI. Complementos (complementos) Las aplicaciones web y los navegadores actuales pueden enriquecer sus funciones mediante algún software de extensión. A medida que algunos programas existentes, como Firefox y WordPress, reciben cada vez más atención por parte de los desarrolladores, el desarrollo de complementos también se está volviendo cada vez más popular. La gente dice "Pero si pudiera hacer ESTO, siempre y cuando domines HTML, JavaScript y CSS, puedes Puedes desarrollar muchas cosas que quieras en cualquier navegador. Los marcadores, los scripts de usuario de Greasemonkey y los estilos de usuario con estilo están escritos en el mismo idioma que las páginas más comunes y vale la pena examinarlos. Las extensiones de navegador más avanzadas, como la extensión de Firefox, pueden ayudarte mucho. Para desarrollar extensiones de Firefox, por ejemplo, es necesario dominar JavaScript y XML (un lenguaje de marcado similar al HTML, pero con un formato más estricto). En 2007 escribí cómo crear una extensión para Firefox, resultado de mi torpe investigación sobre algunos materiales de aprendizaje en línea. Muchas aplicaciones web gratuitas y populares, como WordPress y MediaWiki, proporcionan marcos de extensión. Todas estas aplicaciones están escritas en PHP, por lo que sólo puedes hacer estas cosas si estás familiarizado con PHP. Así es como se escribe un complemento de WordPress. Los desarrolladores que quieran aprovechar las tecnologías de vanguardia de Google Wave pueden comenzar escribiendo widgets y gadgets utilizando HTML, JavaScript, Java y Python. El primer bot Wave que escribí comenzó con esta guía de inicio rápido de una tarde. Desarrollar aplicaciones web en el escritorio Lo mejor de aprender a programar es que lo que aprende en un entorno se puede aplicar a otro.
La ventaja de aprender a desarrollar aplicaciones web primero es que tenemos algunos métodos para hacer que las aplicaciones web se ejecuten directamente en el escritorio. Por ejemplo, Adobe AIR es una plataforma de ejecución instantánea multiplataforma que permite que los programas que usted escribe se ejecuten en el escritorio de cualquier sistema operativo equipado con AIR. Las aplicaciones de AIR están escritas en HTML, Flash o Flex, por lo que permiten que sus aplicaciones web se ejecuten en un entorno de escritorio. AIR es una excelente opción para desarrollar e implementar aplicaciones de escritorio, como mencionamos en estas 10 aplicaciones que hacen que valga la pena instalar AIR. Desarrollo de aplicaciones móviles El desarrollo de aplicaciones móviles que se ejecutan en teléfonos inteligentes iPhone o Android está en auge en este momento, por lo que también podrías soñar con ganar dinero con tu genial aplicación en iTunes App Store. Sin embargo, como novato en la codificación, saltar directamente al desarrollo móvil puede tener una curva de aprendizaje pronunciada, ya que requiere familiaridad con lenguajes de programación de alto nivel como Java y Objective C. Sin embargo, deberías echar un vistazo a cómo es realmente la programación para iPhone y Android. Lea este sencillo ejemplo de desarrollo de aplicaciones para iPhone para obtener una comprensión preliminar del proceso de desarrollo de programas para iPhone. Todos los programas de Android están escritos en Java. Aquí hay un sencillo video tutorial para enseñarle cómo desarrollar su primer programa Hello Android (Nota: es posible que necesite un agente para ver este video). Paciencia, trabajo duro, experimentación y fracaso. Los buenos programadores tienen la cualidad de nunca darse por vencidos hasta lograr sus objetivos. Se sorprenderán gratamente de los logros que hayan obtenido a través de deliberaciones y fracasos a largo plazo. Aprender a programar puede ser muy gratificante, pero el proceso de aprendizaje puede resultar frustrante y solitario. Si es posible, lo mejor es buscar un socio que haga esto con usted. Si quieres dominar la programación, como cualquier otra cosa, debes persistir, intentarlo una y otra vez y adquirir más experiencia. El contenido de este artículo es un consejo importante para los principiantes que desean aprender a programar mediante el autoestudio. Veteranos de la programación: ¿me estoy perdiendo algo? No importa tu nivel, por favor deja tus pensamientos.