Programación en C/Prueba/Aprendiendo/Introducción
Objetivos
[editar]El objetivo principal de este libro es que cualquier persona sin conocimientos previos de programación pueda ser capaz de programar en el lenguaje C.
Una vez logrado el dominio del lenguaje, es probable que los lectores se interesen por otros temas más complejos que superen a los temas básicos. También les será más o menos sencillo aprender cualquier otro lenguaje de programación estructurada.
Sin embargo, este no es un libro que apunte únicamente a programadores principiantes. También puede resultar de interés para quienes ya tengan experiencia en el área de programación. En esta introducción hay dos secciones en las que se explica para los dos grupos principales de lectores qué camino seguir para comenzar a programar en el lenguaje C o bien perfeccionar conocimientos.
Estándar utilizado
[editar]El lenguaje C fue creado en los años setenta, y a lo largo de su historia ha pasado por muchas modificaciones, tanto con respecto a la sintaxis como con respecto al código incluido dentro de la biblioteca estándar. Es por ello que se fueron desarrollando estándares, para que todos sepan con qué versión del lenguaje se está trabajando.
Los distintos estándares del lenguaje C han sido: el C de Kernighan y Ritchie, un estándar no-oficial que surgió luego de la publicación de su libro en 1978; el C89 o C90, el primer estándar oficial, posterior a la publicación de los estándares ANSI en 1989 e ISO en 1990; y el C99, publicado en 1999.
En este libro se utilizará el estándar C99, si bien por cuestiones de estilo y compatibilidad muchas veces se utilizará código compatible con el estándar C89.
Para los principiantes
[editar]Para quien no haya programado antes, es recomendable seguir el orden del libro. Los temas están especialmente organizados de manera incremental o acumulativa. Tal vez, la cosa que se te va a hacer más útil en el camino del aprendizaje es la constancia, sé terco, no trastabilles, no te rindas, tal vez tu pregunta sea ¿cuántas veces tengo que intentar?, las veces necesarias para lograr tu objetivo, sería la respuesta.
Claro que el principal enemigo de nosotros los humanos es el tiempo y por eso en caso de que de verdad estés trancado en algo busca ayuda de alguien que sepa "más que tú". ¿Que no tienes a nadie a tu alrededor con esa característica? Tal vez no buscaste bien y tal vez quieras usar la red de redes. Utiliza los buscadores, pregunta en IRC, en foros de programación, en listas de correo.
Para los más avanzados
[editar]El lanzamiento queda libre por supuesto, solo tú sabes lo que necesitas. Las reglas del juego son las mismas de siempre: primero saber lo que se quiere o necesita y atacar por ahí.
En este caso, te será útil acceder a los contenidos a partir del índice, eligiendo sólo aquellos que te sean necesarios.
Requisitos
[editar]Se presupone que los lectores tienen conocimientos elementales de informática a nivel de usuario, y son capaces de instalar un compilador del lenguaje C en sus sistema. Los detalles sobre la instalación se verán en la sección Herramientas.
Con respecto al Hardware, sólo será necesario contar con una PC con sistema operativo, donde sea posible instalar un compilador, y en lo posible un entorno de desarrollo. Cuanto mejor sea la computadora, más rápido será el proceso de compilación y ejecución de los programas. Sin embargo, cualquier PC sirve para aprender con los ejemplos de este libro.
Para quienes no tengan conocimientos básicos de programación, puede ser una buena idea comenzar leyendo los primeros capítulos del Wikilibro Fundamentos de programación, ya que algunos temas explicados en ese libro se asumen ya conocidos.
Finalmente, un requisito imprescindible en todo programador o programadora es tener sentido común. Muchas veces se pueden adoptar mejores o peores soluciones ante los diversos problemas, y la decisión de cuál elegir pasa por la aplicación del sentido común.
Herramientas
[editar]Para programar tanto en C, como en C++, Java o cualquier otro lenguaje de programación, necesitamos contar con aplicaciones o herramientas que nos permitan poner en funcionamiento nuestro programa.
El lenguaje de programación C es compilado, así que en este caso necesitaremos un compilador, que será el encargado de transformar nuestro código fuente en código que la computadora pueda ejecutar.
Además, para facilitar la tarea de los programadores existen los denominados Entorno de desarrollo integrados (IDE). En muchos casos, estos entornos incluyen un compilador, un depurador, y otras herramientas.
Las herramientas a instalar dependerán del sistema operativo utilizado. A continuación se listan algunas posibilidades para el sistema operativo Windows o GNU/Linux, no es imprescindible utilizar estas herramientas en particular, cualquier compilador puede servir.
Windows
[editar]Uno de los entornos de desarrollo más conocidos entre los programadores de C sobre Windows, tanto novatos como expertos, es el Bloodshed Dev-C++, que es un entorno libre multiplataforma. Tal entorno de desarrollo fue abandonado y retomado mejorándolo pasando a llamarse WxDev-C++. Otro entorno libre y gratuito es el Code::Blocks. Ambos entornos pueden utilizarse tanto para C como para C++.
También hay otras alternativas privativas como los compiladores de Borland o de Microsoft (Microsoft Visual C++).
GNU/Linux
[editar]En los sistemas GNU/Linux, será necesario tener instaladas las herramientas gcc
y make
y la versión 6 de la glibc con su documentación, que son las que permitirán compilar los programas.
Para escribir y modificar el código, es posible utilizar cualquier editor de texto plano (en lo posible que cuente con resaltado de sintaxis), como son emacs, vim, kate, gedit o geany.
Sin embargo, para quienes son novatos en la programación, es recomendable utilizar un entorno de desarrollo como son el Anjuta DevStudio (para el entorno GNOME) o KDevelop (para el entorno KDE), ya que incluyen facilidades adicionales para la ejecución y solución de problemas.
Los programas mencionados se incluyen dentro de la instalación estándar de la mayoría de las distribuciones actuales de GNU/Linux, de modo que para instalarlos sólo será necesario seguir el procedimiento usual de instalación de aplicaciones para la distribución deseada.