Tutoriales de programación en español usando Linux y Software Libre! Gambas, Anjuta, Glade, Kdevelop…

20 05 2008

Antigamente la programación era algo difícil, primero se programaba en unas tarjetas a las que se les perforaba el código, después llegaron las nuevas computadoras con discos duros que no requerian tarjetas perforadoras. Pero mas importante es conocer los lenguajes de programación.

Lenguajes de Programación.

Un lenguaje de programación es un conjunto de normas lingüísticas que permiten escribir un programa y que éste sea entendido por el ordenador y pueda ser trasladado a ordenadores similares para su funcionamiento en otros sistemas. Un programa es una serie de instrucciones ordenadas correctamente que permiten realizar una tarea o trabajo específico. Ahora bien, un lenguaje de programación se basa en dos elementos muy importantes:

  • Sintaxis: que se refiere a la utilización correcta de cada una de las sentencias de cierto lenguaje de programación.
  • Semántica: se encarga de que cada “oración” del lenguaje de programación utilizado tenga un significado correcto.

Evolución de los Lenguajes de Programación.

  1. Primera Generación: Los lenguajes de primera generación o también conocidos como lenguajes maquina, son en los que se utiliza el código binario(unos y ceros) para comunicarse con la computadora, esta generación de lenguajes es muy complicada, ya que al usar pocos signos, no puede expresar cosas muy complicadas. En la actualidad ya casi no se trabaja con lenguajes maquina, los únicos que lo hacen son los diseñadores de los “chips” de los procesadores.
  2. Segunda Generación: Los lenguajes de esta segunda generación son conocidos también como ensambladores, y se distinguen de los lenguajes maquina por su eficiencia(en comparación con sus antecesores). Estos lenguajes ensambladores se basan en lo que es la comprensión de varias palabras en una sola, por ejemplo:
  3. ADC significara “sumar con reserva”(en ingles: ADd with Carry)

    Haciendo notoria la aclaración, de que esta serie de instrucciones serán traducidas al lenguaje maquina por el compilador del lenguaje.

  4. Tercera Generación: Los lenguajes de tercera generación o de alto nivel son los lenguajes más comunes o que más conocemos(C, Pascal, Algol, Cobol, Fortran, BASIC). Estos lenguajes se asemejan ya un poco más al lenguaje humano, al utilizar palabras completas( en ingles) para la codificación de los programas.
  5. Cuarta Generación: Son los lenguajes de “programación asistida” por medio de ayudantes o wizards, estos lenguajes se han diseñado para facilitar la realizacion de muy variadas tareas, como lo son la simulación de fenómenos físicos, manipulación de datos estadísticos, etc. Algunos de estos lenguajes son: Visual Basic, INFORMIX 4GL, Visual J++, Visual C, he inclusive algunos autores consideran las planillas de calculo dentro de esta generación.
  6. Quinta Generación: En esta generación, el programador solo ingresa hechos y hace consultas, no se preocupa de cómo hacer los algoritmos que entregan la respuesta, algunos autores hasta hace poco todavía consideraban a esta generación como un sueño, pero gracias al avance de la tecnología, hoy en día es toda una realidad.

___________________________________________________________________________________

Este tema es sobre programación en  gambas, C, C++, java, etc. usando unicamente software libre y tambien software gratuito.

Para crear un programa, te basas en un lenguaje de programación. La programación actualmente es muy sencilla de aprender gracias a los nuevos programas de 3era generación.

Actualmente existiendo mucho software y sistemas operativos libres y gratuitos las empresas y universidades deberian de dejar de gastar miles de dólares por computadora dandoselo a microsoft.

Si puedes programar en linux igual que en windows, porqué pagar a microsoft? Ah, se me olvidaba, si programas en windows microsoft espia lo que haces, ya muchas empresas han demandado a microsoft por copiar su software.

___________________________________________________________________________________

Para programar ocupas saber el lenguaje de programación necesario para crear tu programa, o si no te interesa. Aunque tambien se puede solo copiar y pegar el código del programa (si es libre, existen millones de programas libres disponibles), pero esto ya no seria programar a menos que le hicieras modificaciones, a eso se le llama desarrollo.

Por ejemplo el programa eclipse usa varios lenguajes:

Lenguaje java

Lenguaje C

Lenguaje C++

___________________________________________________________________________________

Linux y el Software Libre.

Antes de aprender a programar en linux debemos saber algunas cosas:

Linux es un sistema operativo similar a Mac o a Windows Vista, aunque superior en muchisimos aspectos (ademas de ser gratuito).

Para instalarlo unicamente debes descargar una imágen iso, quemarla en un cd o dvd, e instalarlo (de forma similar a la de windows xp), acá enlaces a tres isos por si te interesan:

Iso del cd de ubuntu
Iso del dvd de ubuntu
Iso del cd de kubuntu

La ventaja de descargar el dvd es que trae cientos de programas para que los instales sin ocupar internet, instalables desde synaptic o adept (entre ellos glade, anjuta, kdevelop, gambas, etc).

Luego de descargar la iso, la quemas con la opción quemar iso (burn image), y tienes listo para arrancar en tu computadora el cd o dvd, estos discos son live, arrancan sin necesidad de que los instales, si arranca en tu máquina verás el escritorio en unos 30 segundos, y desde ahí puedes instalar el sitema.

Al instalar linux puedes elegir entre escritorio gnome o escritorio kde, algunas distribuciones linux solo usan escritorio gnome, y otras solo kde, luego si quieres lo puedes instalar el otro escritorio. La diferencia es que el escritorio kde trae algunos programas que no trae gnome, y el aspecto del escritorio gráfico varia un poco.

La forma mas sencilla para instalar programas en linux es usando synaptic (adep si usas kde), dos click e instalas el programa (ya sea desde internet o el dvd).

Un programa libre (como linux) es aquel que puede conocerse su código, redistribuirse, ser modificado libremente, por eso es que hay tantas versiones de linux (distribuciones). Libre es diferente a gratuito.

Hay que recordar que los que son gratuitos y no libres no son software libre, son privativos y se llaman freeware no se pueden regalar o redistribuir, el tema trata sobre software libre.

Software de Desarrollo.

Hay muchos programas para programadores libres, la mayoria gratuitos:

1.- Gambas: Es un Programa libre, puede usarse en escritorio kde, o en escritorio gnome. Es ideal para empezar a programar.

2.- anjuta: Se usa en gnome.

3.- Glade: Se usa en gnome, aunque se puede instalar en kubuntu.
4.- Kdevelop: Se usa en kde, aunque se puede instalar en el escritorio gnome
5.- Eclipse: Usa java, C, C++, etc.

6.- Python

7.- RealBasic.

La consola es algo así como el programa DOS que normalmente trabaja solo con texto, pero la consola es muy superior. Todas las distros linux pueden trabajar desde consola o terminar. Linux trabaja con escritorios gráficos similares al de mac leopard y windows vista, entre ellos gnome y kde, puedes acceder a la consola (terminal) desde el escritorio gráfico.

___________________________________________________________________________________

1.- Gambas

Actualmente la manera mas sencilla para programar es con la programación visual (Gambas, visual basic, etc.), considerada de cuarta generación porque con pocos conocimientos puedes crear programas, aunque tiene algunas desventajas respecto a los programas de tercera generación.

Gambas es un programa que usa su propio lenguaje (lenguaje gambas), es similar al conocido ms visual basic. Puedes crear proyectos gráficos con ventanas o de terminal para trabajar desde consola.

Instalación: Busca gambas en synaptic e instalala, es cuestion de dos o tres clics (debes tener internet, o el dvd de ubuntu).

Para crear una programa basta con abrir un formulario desde la ventana proyecto. El formulario es la ventana que se abre al ejecutar el programa, donde van los botones, texto, etc.

Si quieres agregas algunas herramientas desde la ventana herramienta, y tambien puedes agregar algo de código (ventana de modulo o clase),

Puedes ejecutar tu programa antes de crearlo (en la ventana proyecto vas al menu proyecto, y luego presionas ejecutar.

Luego creas tu programa:
Como .gambas, no puedes crear un .exe (se ejecuta desde consola, escribes ./nombredelprograma.gambas),
Comprimido como .tar.gz,
Empaquetado para algunas distribucioneslinux mandriva, debian, etc.

Tutoriales para novatos sin conocimientos de programación: http://wiki.gnulinex.org/gambas/4

Tutoriales mas avanzados: l_es.html…

Una vez te familiarices con la programación puedes avanzar con los otros programas y lenguajes de programación.

___________________________________________________________________________________

2.- Anjuta.

Se usa en escritorio gnome, lo instalas desde synaptic (lo buscas en la lista, dos click y listo).

Hechale una ojeada: http://www.augcyl.org/glol/old/N_2/Anjuta/node4.html

http://lliurex.net/home/files/documentacion/es/html509/ch34.html

http://lliurex.net/home/files/documentacion/es/html509/ch34s02.html

http://lliurex.net/home/files/documentacion/es/html509/ch34s03.html

http://lliurex.net/home/files/documentacion/es/html509/ch34s04.html

Manual de Anjuta y C++: http://maestrodenada.com/manualanjuta/

___________________________________________________________________________________

3.- Glade

Lo usas desde gnome e instalas desde synaptic.

http://eddy.writelinux.com/spanish/

ade.pdf#search=%22tutorial%20anjuta%22…

de_Manual_Iniciacion.pdf#search=%22tutorial%20glade%22…

Algunos usan anjuta y glade a la par.

___________________________________________________________________________________

4.- Kdevelop

Este programa solo está disponible para el escritorio kde, se instala con solo dos click desde adept y puedes programar en muchos lenguajes.

http://developer.kde.org/~larrosa/es/visualtutorial/index.html

0.html…

http://www.forosuse.org/forosuse/showthread.php?t=5912

___________________________________________________________________________________

5.- Eclipse SDK.

Es un Completísimo entorno de desarrollo integrado para Java y más. Eclipse es una potente y completa plataforma de programación, desarrollo y compilación de elementos tan variados como sitios web, programas en C++ o aplicaciones Java.

Se trata de un entorno de desarrollo integrado (IDE) en el que encontrarás todas las herramientas y funciones necesarias para tu trabajo, recogidas además en una atractiva interfaz que lo hace fácil y agradable de usar.

Cuentas con un editor de texto donde puedes ver el contenido del fichero en el que estás trabajando, una lista de tareas, y otros módulos similares. Si bien las funciones de Eclipse son más bien de carácter general, las características del programa se pueden ampliar y mejorar mediante el uso de plug-ins.

http://www.abcdatos.com/tutoriales/tutorial/o795.html

http://www.programacion.com/articulo/jap_eclip_1/

http://www.programacion.com/articulo/jap_eclip_2/

__________________________________________________________________________________

6.- Python

7.- RealBasic

http://www.uniovi.es/pcasares/Programando/

Todos los programas mencionados anteriormente son libres (tambien gratuitos), excepto realbasic, lo menciono porque es un programa muy interesante ya que permite crear programas para windows, linux y mac con el mismo código, es gratuito ilimitadamente para linux (si se usa desde windows el demo solo dura 30 dias). Realbasic es cerrado, pero puedes crear software libre ya que es un software de desarrollo como cualquier otro.

__________________________________________________________________________________

Extra: Vocabulario Básico.

Paradigma:

es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.

http://es.wikipedia.org/wiki/Paradigma

Paradigmas de la programación:

Si, hay varios paradigmas, de todas formas Realbasic es un programa adecuado para aprender a programar. Aunque el extrucutural no lo conozco.

http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n

Constantes:

Son tipos de datos (con valores numéricos o de cadena) que permanecen invariables, sin posibilidad de cambiar el valor que tienen durante el curso del programa.

Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.

Las variables:

Son estructuras de datos que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del computador pudiendo ser de longitud:

* fija, cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas.
* variable, cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.

Iterator:

Es un objeto que se mueve a través de un contenedor de otros objetos y selecciona a uno de ellos cada vez, sin porporcionar un acceso directo a la implementación del contenedor. Los iteradores proporcionan una forma estándar de acceder a los elementos, sin importar si un contenedor proporciona alguna marnera de acceder a los elementos directamente.

s07.html…

Una interfaz que declara los métodos necesarios para acceder secuencialmente a un grupo de objetos de una colección. Algunos de los métodos que podemos definir en la Interfase Iterator son:

Primero(), Siguiente(), haymas() y elementoactual()

Con el uso de este patrón, no es necesario conocer la estructura interna de la colección para poder utilizarla.

Función:

En el ámbito de la programación, una función es un tipo subalgoritmo, es el término para describir una secuencia de órdenes que hacen una tarea específica de una aplicación más grande. La diferencia entre funciones y los procedimientos (otro tipo de subalgotitmos) radica en que estos últimos no devuelven un resultado.

Las funciones en programación generalmente son las que realizan los cálculos para retornar el valor correspondiente a una función matemática más o menos compleja.

Compilador: Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es código máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación.

Mono: Es un proyecto de código abierto, que contiene un compilador para el lenguaje C#, entre muchas otras herramientas.

Anuncios

Acciones

Information

One response

26 08 2008

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




A %d blogueros les gusta esto: