Contribuyentes

jueves, 23 de diciembre de 2010

El proceso de software

Hoy les explicaré lo básico sobre el proceso del software, esto es el como empezar a desarrollar programas con un lenguaje de programación.

Cuando hablamos de lenguajes de programación nos referimos a un lenguaje específico con el cual comunicamos a la computadora u otro dispositivo lo que queremos que ejecute un algoritmo.

Cuando programamos tenemos que considerar varios pasos para poder desarrollar un buen programa.
Los pasos a considerar son los siguientes:

  • Especificación del problema
  • Análisis y diseño
  • Implementación
  • Validación
  • Mantenimiento
  • Refinamiento y extensión


Este proceso nos lleva a aplicar a nuestro programa un conjunto de etapas para tener un software decente. En el estado inicial tenemos que definir nuestro problema a resolver, especificándolo para así proseguir con el análisis y el diseño del algoritmo que nos permitirá resolver nuestro problema antes especificado; ahora que tenemos el algoritmo para resolver nuestro problema es momento de pasar a la implementación del algoritmo en un lenguaje de programación, el lenguaje a elegir deberá de ser adecuado con nuestro diseño del algoritmo, esto no deberá de ser difícil dado que el diseño sigue la filosofía del lenguaje de programación. A esta etapa también se le conoce como codificación. Ya que hemos terminado con la codificación, es momento de verificar que nuestro programa haga lo que se supone que debe de hacer, para esto, debemos de pasarle un conjunto de datos que sabemos que funcionan para nuestro algoritmo, así como datos que sabemos que lo harán fallar para detectar situaciones anómalas, esta etapa es la validación de nuestro programa. Los siguientes pasos a seguir son el mantenimiento, el refinamiento y extensión, hay que mantener nuestro programa después de haberlo puesto en funcionamiento, ya que esto es una de las partes más importantes del proceso de software, esto es la etapa de mantenimiento; el refinamiento y la extensión es por lo general hecha por personas distintas a las que diseñaron el software original; ayuda que el programa sea modular, esto quiere decir que nuestro programa contiene módulos que permiten extender el programa cambiando su comportamiento, sin cambiar el contenido original del programa, esto es la extensión y el refinamiento de nuestro programa.

Esta es una pequeña referencia sobre como es el desarrollo del software, en próximos posts explicaré de manera más detallada como es que se llevan estas etapas de manera individual y más formal.

Con esto me despido y Programación y otras historias... les deseamos una feliz navidad.

domingo, 19 de diciembre de 2010

Hola mundo en C

Continuando con esta serie de introducción a la programación esta vez les traigo el típico hola mundo escrito en C para empezar escribo el código:

#include < stdio.h >
main(){
printf("Hola mundo.\n");
}

Compilando
Utilizaré el compilador gcc para construir el código objeto, entonces vamos a un terminal y tecleamos:

gcc hola.c -o hola

En linux necesitamos dar permisos de ejecución a cada programa así que tecleamos:

sudo chmod +x hola

Para ejecutarlo simplemente escribimos:

./hola

Bueno ese sería nuestro primer programa en C.

Hasta la próxima.

Hola mundo en java

Empiezo a escribir en este blog el cual espero sea uno de los mejores en los tiempos venideros, como el Miguel esta con el rollo de ayudar a los demás en lo de la programada empezaré una serie de posts que mostrarán los aspectos básicos de diversos lenguajes de programación y para no hacer el cuento más largo les dejo el típico hola mundo en java, para verlo funcionar basta escribir este texto en una archivo de texto plano y darle el nombre de HolaMundo.java.


public class HolaMundo{
public static void main(String[] args){
System.out.println("Hola mundo.\n");
}
}

Compilando

Antes de ver nuestra obra maestra en acción es necesario "traducir" este código en "algo" que la máquina pueda entender, para esto abrimos un Terminal o consola y ejecutamos escribimos.


javac HolaMundo.java

Si tu programa sintácticamente es correcto el compilador creará un archivo .class o código objeto que será leído por la máquina virtual para que se ejecute, para ejecutarlo solo tenemos que teclear lo siguiente:


java HolaMundo

Esto generará la salida y obtendremos esto:

Hola mundo.

jueves, 16 de diciembre de 2010

Iniciando a programar (Nota sobre herramientas varias para desarrollo en Linux)

Este post es para recomendar una página que tiene un muy buen tutorial sobre software destinado para desarrollo en varios lenguajes dentro de Linux, entre lo que destaca dentro de este tutorial, se encuentran varios compiladores para Java, C, C++, Fortran, Pascal, Cobol, Lisp, Ada,C#, HBasic, en la página se listan los compiladores Open source y comerciales.
También hay varias herramientas de desarrollo, IDE's (entornos de desarrollo integrados), herramientas de debuggueo en memoria, diseño de software (modelados UML), entre otras cosas, así como links relacionados con lo anterior y recomendaciones de libros para desarrollar dentro de sistemas UNIX.
La página es la siguiente:

Así que ya tienen una referencia por donde empezar si les interesa un lenguaje en particular.

miércoles, 15 de diciembre de 2010

Iniciando a programar (Emacs)

Bien ya que tenemos una pequeña introducción sobre los editores de texto más utilizados para programar, entonces daré una pequeña reseña sobre lo que es Emacs y porque lo considero uno de los mejores editores de texto. Emacs es un editor de texto avanzado, con un amplia gama de funciones orientada para desarrolladores de software y otros usuarios técnicos. Emacs tiene varias versiones, entre las que destacan Emacs en modo consola y GNU Emacs.
GNU Emacs es la que yo utilizo de manera más frecuente dentro de mi SO, y lo utilizo más que los IDE's (Netbeans, Eclipse, Adjunta, etc.), esto es por que cuando tiendo a escribir me mejora el tiempo de escritura, además de adaptarse al lenguaje de programación en el que estoy escribiendo mostrando un resaltado de sintaxis, y otra de las características por las que me gusta es por la capacidad de definir "macros de teclado" que contienen lotes de comandos de edición definidos por el usuario.
Emacs es uno de los editores de texto más populares usados por los programadores y se encuentra ampliamente distribuido entre casi todos los sistemas operativos (Sistemas tipo UNIX (Mac, Linux, Solaris, BSD, etc.), Windows, Ms-Dos, etc.).
Emacs proveé la capacidad de ser personalizable por el usuario. Hay tres formas principales de personalizarlo:
  • Utilizando la opción customize que se encuentra en Options, de ésta forma podemos personalizarlo de manera gráfica.
  • La segunda opción es definir macros para tener opciones complejas que no se tienen por default en Emacs.
  • Y la tercera opción es modificar .emacs que se encuentra en el /home/usuario/.emacs, se personaliza con Emacs Lisp.

Emacs tiene entre sus principales comandos los siguientes:

  • forward-word     M-f     Avanzar una palabra.
  • search-word     C-s     Buscar una palabra en el buffer.
  • undo     C-/ ó C-_     Deshacer el último cambio, y cambios anteriores si se pulsa repetidamente.
  • keyboard-quit     C-g     Abortar el comando actual.
  • fill-paragraph     M-q     Wrap text in ("fill") a paragraph.
  • find-file     C-x C-f     Visitar un fichero (del cual se especifica el nombre) en su propio buffer de edición.
  • save-buffer     C-x C-s     Guardar el buffer de edición actual en su fichero visitado.
  • save-with-newname     C-x C-w     Guardar el buffer de edición actual como fichero cuyo nombre se ha de especificar.
  • save-buffers-kill-emacs     C-x C-c     Preguntar al usuario si se quieren guardar los cambios, y después salir de Emacs.
  • set-marker     C-[space]/C-@     Colocar un marcador en el lugar donde se quiere cortar o copiar.
  • cut     C-w     Cortar todo el texto entre el marcador y el cursor.
  • copy     M-w     Copiar todo el texto entre el marcador y el cursor.
  • paste     C-y     Pegar texto del portapapeles de Emacs.
  • kill buffer     C-x k     Cerrar el buffer actual.

Estos son los principales comandos de Emacs, además de los mostrados en el post anterior. Esto es con lo que se puede iniciar con Emacs, si quieren saber más sobre Emacs pueden visitar las siguientes direcciones:

martes, 14 de diciembre de 2010

Iniciando a programar (editores de texto)

Lo primero que necesitamos para programar es disponer de un sistema operativo (obvio), un editor de texto para escribir nuestros programas y muchas ganas para iniciar a programar. El sistema operativo que utilizo es Ubuntu, que como sabrán es una distribución Linux, pero lo importante es tener un editor de texto para comenzar a escribir código, aquí mostraré los que más uso cuando me dedico a escribir código:
  • Vi
  • Emacs
y entornos de desarrollo integrado para el desarrollo de proyectos medianos a grandes que utilizo se encuentran los siguientes:
  • Netbeans
  • Eclipse
  • Adjunta
Netbeans y eclipse los utilizo principalmente para desarrollo con Java o desarrollo en web y Adjunta para proyectos en C/C++, pero tiendo a utilizar en mayor medida Emacs y Vi para escribir rápidamente y tener comandos para escribir más código en menor tiempo, el que recomiendo para iniciar a aprender su uso es Emacs y Vi, dedicaré un post completo para Emacs y otro para Vi en un futuro cercano, por lo pronto dejaré unos cuantos comandos para usarlo sin despegar las manos del teclado:
  • Ctrl-x Ctrl-s -- Salvar el archivo que se está editando
  • Ctrl-x Ctrl-f -- Crear o abrir un archivo nuevo
  • Ctrl-x 2 -- Dividir la pantalla de edición actual en 2 de manera horizontal
  • Ctrl-x 3 -- Dividir la pantalla de edición actual en 2 de manera vertical
  • Ctrl-x 1 -- Regresar a una sola pantalla (se muestra el archivo actual que se esta editando
  • Ctrl-x Ctrl-c -- Cerrar emacs
  • Ctrl-a -- moverse al principio de la línea
  • Ctrl-e -- moverse al final de la línea
  • Ctrl-f -- moverse un caracter a la derecha
  • Ctrl-b -- moverse un caracter a la izquierda
  • Alt-f (o Meta-f) -- moverse una palabra a la derecha
  • Alt-b (o Meta-b) -- moverse una palabra a la izquierda
Y para vi en modo consola los comandos más comunes se encuentran:
  • vi cod -- abrir el archivo cod en modo consola
  • :w -- Guardar el archivo
  • :q -- cerrar el archivo
  • :q! --cerrar el archivo sin guardar cambios 
  • i -- insertar texto inmediatamente a la izquierda del cursor
  • a -- insertar texto inmediatamente a la derecha del cursor
  • x -- eliminar texto inmediatamente después del cursor
  • ESC -- regresar a modo consola (esto es no añadir texto en el archivo, pero continuar visualizándolo)
  • dd -- elimina una linea desde modo consola
  • h o flecha izquierda -- mueve el cursor un caracter a la izquierda
  • j o flecha abajo -- mueve el cursor una linea hacia abajo
  • k o flecha arriba -- mueve el cursor una linea hacia arriba
  • l o flecha derecha -- mueve el cursor un caracter a la derecha
Con esto ya tenemos de manera inicial como operar con los editores de texto más usados para programar dentro de un entorno Linux y utilizarlos en cualquier lenguaje para desarrollar nuestro código que realicemos.

lunes, 13 de diciembre de 2010

Primera Entrada

Bien, esta es la primera entrada de este pequeño proyecto que pienso iniciar, en este blog deseo escribir todo lo que he aprendido sobre programación y todo lo relacionado con las Ciencias de la Computación, bien creo que es hora de iniciar.