Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Los tipos o tcnicas de programacin son bastante variados, aunque puede que muchos de
los lectores slo conozcan una metodologa para realizar programas. En la mayora de los
casos, las tcnicas se centran en programacin modular y programacin estructurada, pero
existen otros tipos de programacin. Los explicaremos a lo largo del artculo.
Programacin estructurada (PE)
La programacin estructurada esta compuesta por un conjunto de tcnicas que han ido
evolucionando aumentando considerablemente la productividad del programa reduciendo el
tiempo de depuracin y mantenimiento del mismo.
Esta programacin estructurada utiliza un nmero limitado de estructuras de control,
reduciendo as considerablemente los errores.
Esta tcnica incorpora:
Un programa esta estructurado si posee un nico punto de entrada y slo uno de salida,
existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que
todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
Programacin modular
En la programacin modular consta de varias secciones dividas de forma que interactan a
travs de llamadas a procedimientos, que integran el programa en su totalidad.
En la programacin modular, el programa principal coordina las llamadas a los mdulos
secundarios y pasa los datos necesarios en forma de parmetros.
A su vez cada modulo puede contener sus propios datos y llamar a otros mdulos o
funciones.
Programacin orientada a objetos (POO)
Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los
programas gracias a la reutilizacin de los objetos.
El elemento principal de la programacin orientada a objetos es el objeto.
El objeto es un conjunto complejo de datos y programas que poseen estructura y forman
parte de una organizacin.
Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo
del programador y las acciones del programa en ese momento.
El polimorfismo y la herencia son unas de sus principales caractersticas y por ello
dedicaremos ms adelante un artculo exclusivamente a tratar estos dos trminos.
En DesarrolloWeb.com hemos publicado anteriormente una explicacin de lo que es la
programacin orientada a objetos.
Programacin concurrente
Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma
simultanea.
Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados lentos en
las acciones.
Programacin funcional
Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras
funciones.
Programacin lgica
Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se trata de una
programacin basada en el clculo de predicados (una teora matemtica que permite lograr
que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones inteligentes).
Programacin
Saltar a: navegacin, bsqueda
Para otros usos de la palabra, vase Programacin (msica).
La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente
de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin.
El propsito de la programacin es crear programas que exhiban un comportamiento
deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias
reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y
lgica formal. Programar no involucra necesariamente otras tareas tales como el anlisis y
diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en
el desarrollo de pequeas aplicaciones.
Historia
Para crear un programa, y que la computadora lo interprete y ejecute las instrucciones
escritas en l, debe usarse un lenguaje de programacin. En sus inicios las computadoras
interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel, conocido
como cdigo mquina, siendo ste excesivamente complicado para programar. De hecho
slo consiste en cadenas de nmeros 1 y 0 (sistema binario). Para facilitar el trabajo de
programacin, los primeros cientficos que trabajaban en el rea decidieron reemplazar las
instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del ingls; las
codificaron y crearon as un lenguaje de mayor nivel, que se conoce como Assembly o
lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add
(sumar). En realidad escribir en lenguaje ensamblador es bsicamente lo mismo que hacerlo
en lenguaje mquina, pero las letras y palabras son bastante ms fciles de recordar y
entender que secuencias de nmeros binarios. A medida que la complejidad de las tareas
que realizaban las computadoras aumentaba, se hizo necesario disponer de un mtodo
sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una
tarea tan trivial como multiplicar dos nmeros puede necesitar un conjunto de instrucciones
en lenguaje ensamblador, en un lenguaje de alto nivel bastar con solo una. Una vez que se
termina de escribir un programa, sea en ensamblador o en un lenguaje de alto nivel, es
necesario compilarlo, es decir, traducirlo a lenguaje mquina.1
Lxico y programacin
La programacin se rige por reglas y un conjunto ms o menos reducido de rdenes,
expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural
acotada (en ingls); y que adems tienen la particularidad de una reducida ambigedad.
Cuanto menos ambiguo es un lenguaje de programacin, se dice, es ms potente. Bajo esta
premisa, y en el extremo, el lenguaje ms potente existente es el binario, con ambigedad
nula (lo cual lleva a pensar as del lenguaje ensamblador).
En los lenguajes de programacin de alto nivel se distinguen diversos elementos entre los
que se incluyen el lxico propio del lenguaje y las reglas semnticas y sintcticas.
Programas y algoritmos
Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de
seguirse para resolver un problema. Un programa normalmente implementa (traduce a un
lenguaje de programacin concreto) uno o ms algoritmos. Un algoritmo puede expresarse
de distintas maneras: en forma grfica, como un diagrama de flujo, en forma de cdigo
como en pseudocdigo o un lenguaje de programacin, en forma explicativa, etc.
Los programas suelen subdividirse en partes menores, llamadas mdulos, de modo que la
complejidad algortmica de cada una de las partes sea menor que la del programa completo,
lo cual ayuda al desarrollo del programa. Esta es una prctica muy utilizada y se conoce
como "refino progresivo".
Segn Niklaus Wirth, un programa est formado por los algoritmos y la estructura de datos.
Se han propuesto diversas tcnicas de programacin cuyo objetivo es mejorar tanto el
proceso de creacin de software como su mantenimiento. Entre ellas, se pueden mencionar
las siguientes:
programacin declarativa
programacin estructurada
programacin modular
Compilacin
El programa escrito en un lenguaje de programacin (fcilmente comprensible por el
programador) es llamado programa fuente y no se puede ejecutar directamente en una
La ingeniera del software se centra en los pasos de planificacin y diseo del programa,
mientras que antiguamente (programacin artesanal) la realizacin de un programa
consista casi nicamente en escribir el cdigo, bajo slo el conocimiento de los requisitos
y con una modesta fase de anlisis y diseo.
Referencias histricas
La primera programadora de computadoras conocida fue Ada Lovelace, hija de Anabella
Milbanke Byron y Lord Byron. Anabella introdujo en las matemticas a Ada quien, despus
de conocer a Charles Babbage, tradujo y ampli una descripcin de su mquina analtica.
Incluso, aunque Babbage nunca complet la construccin de cualquiera de sus mquinas, el
trabajo que Ada realiz con stas le hizo ganarse el ttulo de primera programadora de
computadoras del mundo. El nombre del lenguaje de programacin Ada fue escogido como
homenaje a esta programadora.
Este proceso est aplicado a todos los mtodos cientficos que actualmente se practican.
Objetivos de la programacin
La programacin debe perseguir la obtencin de programas de calidad. Para ello se
establece una serie de factores que determinan la calidad de un programa. Algunos de los
factores de calidad ms importantes son los siguientes:
El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial
hasta la fase final. El propsito de este programa es definir las distintas fases intermedias
que se requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el
software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de
desarrollo: se asegura de que los mtodos utilizados son apropiados. Estos programas se
originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde
dentro de la fase de implementacin. El ciclo de vida permite que los errores se detecten lo
antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del
software, en los plazos de implementacin y en los costos asociados. El ciclo de vida bsico
de un software consta de los siguientes procedimientos:
Los rasgos distintivos de un programador profesional son su alto dominio de las tcnicas y
las prcticas de programacin. El fundamento de la programacin radica en tomar muchas
pequeas decisiones que sirvan para resolver colectivamente una gran cantidad de
problemas. La habilidad y experiencia del programador son las que determinarn en mayor
medida lo acertado de estas decisiones.
En esta seccin
Revisiones de cdigo y estndares de codificacin
Explica cmo las revisiones de cdigo y los estndares de codificacin
ayudan a reforzar la tcnica de programacin apropiada.
Tcnicas de codificacin
Proporciona una lista de tcnicas de codificacin habituales.
Secciones relacionadas
Convenciones de cdigo y estructura de programas
Reproduce una lista de las convenciones de programacin relacionadas
especficamente con Visual Basic.
Convenciones de cdigo de VBScript
Reproduce una lista de las convenciones de programacin relacionadas
especficamente con Visual Basic Scripting Edition.
Resolver problemas debidos a tcnicas de codificacin de C
Explica tcnicas de programacin relacionadas con la portabilidad del
cdigo.
Editar Cdigo, HTML y Texto
Editar cdigo con el editor de cdigo de Visual Studio.
Documentacin XML
Usar XML para crear comentarios de documentacin entre lneas en C#.
Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en
ingls) para sistemas operativos Windows. Soporta varios lenguajes de programacin tales
como Visual C++, Visual C#, Visual J#, y Visual Basic .NET, al igual que entornos de
desarrollo web como ASP.NET. aunque actualmente se han desarrollado las extensiones
necesarias para muchos otros.
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, as
como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la
versin .NET 2002). As se pueden crear aplicaciones que se intercomuniquen entre
estaciones de trabajo, pginas web y dispositivos mviles.
A partir de la versin 2005 Microsoft ofrece gratuitamente las Express Editions, que son
varias ediciones bsicas separadas por lenguajes de programacin o plataforma enfocadas
para novatos y entusiastas. Estas ediciones son iguales al entorno de desarrollo comercial
pero sin caractersticas avanzadas. Dichas ediciones son:
Visual InterDev
Visual J++
Visual FoxPro
Visual SourceSafe
Historia
Visual Studio 6.0
Artculo principal: Microsoft Visual Studio 6.
Microsoft lanz el Service Pack 1 para Visual Studio 2003 el 13 de septiembre de 2006.
La versin interna de Visual Studio .NET 2003 es la 7.1 aunque el formato del archivo que
emplea es el 8.0.
Es compatible solo con Windows XP, Windows Server 2003 o anteriores
Visual Studio 2005
Visual Studio 2005 se empez a comercializar a travs de Internet a partir del 4 de octubre
de 2005 y lleg a los comercios a finales del mes de octubre en ingls. En castellano no
sali hasta el 4 de febrero de 2006. Microsoft elimin la coletilla .NET de su nombre, pero
eso no indica que se alejara de la plataforma .NET, de la cual se incluy la versin 2.0.
La actualizacin ms importante que recibieron los lenguajes de programacin fue la
inclusin de tipos genricos, similares en muchos aspectos a las plantillas de C++. Con esto
se consigue encontrar muchos ms errores en la compilacin en vez de en tiempo de
ejecucin, incitando a usar comprobaciones estrictas en reas donde antes no era posible.
C++ tiene una actualizacin similar con la adicin de C++/CLI como sustituto de C#
manejado.
Se incluye un diseador de implantacin, que permite que el diseo de la aplicacin sea
validado antes de su implantacin. Tambin se incluye un entorno para publicacin web y
pruebas de carga para comprobar el rendimiento de los programas bajo varias condiciones
de carga.
Visual Studio 2005 tambin aade soporte para arquitecturas de 64 bits. Aunque el entorno
de desarrollo sigue siendo una aplicacin de 32 bits, Visual C++ 2005 soporta compilacin
para x86-64 (AMD64, Intel 64) e IA-64 (Itanium). El SDK incluye compiladores de 64 bits
as como versiones de 64 bits de las libreras.
Visual Studio 2005 tiene varias ediciones radicalmente distintas entre s: Express, Standard,
Professional, Tools for Office y 5 ediciones Visual Studio Team System. stas ltimas se
proporcionaban conjuntamente con suscripciones a MSDN cubriendo los 4 principales roles
de la programacin: Architects, Software Developers, Testers y Database Professionals. La
funcionalidad combinada de las 4 ediciones Team System se ofreca como la edicin Team
Suite. Por otra parte, Tools for the Microsoft Office System est diseada para extender la
funcionalidad a Microsoft Office.
Las ediciones Express se han diseado para principiantes, aficionados y pequeos negocios,
todas disponibles gratuitamente a travs de la pgina de Microsoft.2 Se incluye una edicin
independiente para cada lenguaje: Visual Basic, Visual C++, Visual C#, Visual J# para
programacin .NET en Windows y Visual Web Developer para la creacin de sitios web
ASP.NET. Las ediciones Express carecen de algunas herramientas avanzadas de
programacin as como de opciones de extensibilidad.
Con Visual Studio Tools for Office (VSTO) integrado con Visual Studio
2008 es posible desarrollar rpidamente aplicaciones de alta calidad
basadas en la interfaz de usuario (UI) de Office que personalicen la
experiencia del usuario y mejoren su productividad en el uso de Word,
Excel, PowerPoint, Outlook, Visio, InfoPath y Project. Una completa
compatibilidad para implementacin con ClickOnce garantiza el entorno
ideal para una fcil instalacin y mantenimiento de las soluciones Office.