Logo de IMECAF - Instituto Mexicano de Contabilidad, Administración y Finanzas
INSTITUTO MEXICANO DE CONTABILIDAD, ADMINISTRACIÓN Y FINANZAS

¿Qué es un programa?

Algunas personas estamos tan acostumbradas a este término que no nos detenemos a pensar que otros, con menos experiencia en la tecnología, puedan no tener idea de lo que estamos hablando cuando decimos la palabra programa, o aplicación, o programa de software, o simplemente software.

En forma resumida, se puede decir que un programa o software es una serie de instrucciones que se utilizan para que un equipo electrónico, no necesariamente una computadora, lleve a cabo una función u operación, que tiene por objetivo lograr un resultado específico, ya sea armar una pieza de un coche, o desplegar una lista de cálculos en la pantalla de una PC, hasta hacer cosas infinitamente más sofisticadas que eso; estas directivas o instrucciones no necesariamente corren por su cuenta todo el tiempo, de manera independiente al usuario, sino que puede tener interacción, mediante hardware (un teclado, mouse, o una serie de botones en una máquina industrial), para poder elegir el camino a seguir dentro de una variedad de opciones disponibles.

Ahora, a nivel más profundo o técnico, qué es lo que constituye a un programa. Una computadora o un equipo electrónico cuenta con una serie de circuitos que pueden hacer cálculos, dependiendo, como en una calculadora, de los valores de entrada que se le den. Este circuito generalmente se conoce como CPU y opera a un nivel muy lejano de lo que normalmente vemos cuando encendemos una computadora y encontramos la pantalla llena de atractivos íconos, fotos, botones, etc. Un CPU funciona solamente a base de unos y ceros, esto es, un estado e encendido (1) o apagado (0). Parece que se está sobresimplificando el asunto, pero la verdad es ésa. Llevando esto a una escala de millones y millones de operaciones por minuto, un CPU es capaz de mostrar una gráfica animada en la pantalla, o de presentarnos un video de Youtube, o de reproducir música que se escucha tan fiel como la original.

Aunque esto es muy sofisticado desde el punto de vista general, a nivel de las operaciones que hace el CPU todo se resume a mover unos y ceros de un lado para otro, ejecutando funciones lógicas que sirven para tomar decisiones, y hacer cálculos de sumas, restas, multiplicaciones, y divisiones. Ahora, el CPU no puede llevar a cabo esta serie de procesos sofisticados o no, si alguien no le dice cuáles, cuando y cómo hacerlo. Aquí es donde entra un programa.

El CPU hace todo lo que uno quiera, pero no por su cuenta, necesita un listado o serie de instrucciones que seguir para lograr el objetivo deseado. Y eso, a resumidas cuentas, es un programa. Ahora, siendo un circuito, el CPU no puede recibir dichos comandos más que en códigos que puede entender, en lo que es denominado lenguaje de máquina. Sin embargo, este lenguaje es muy limitado en el sentido de que está reducido a solamente un conjunto de funciones disponibles, las cuales se limitan a mover un valor de un lado a otro, y a efectuar operaciones muy sencillas.

Elaborar un programa muy complejo utilizando este lenguaje directamente resultaría muy laborioso y casi imposible de hacer. Por ello, se han desarrollado los denominados lenguajes de programación, los cuales permiten a un profesional de los sistemas de cómputo, escribir un programa en términos mucho más amigables para una persona, utilizando instrucciones con nombres entendibles, al mismo tiempo que proporcionan elementos o componentes que ya constituyen en sí pequeños programas que realizan funciones ya predefinidas que el usuario no tiene que codificar o programar desde cero. De esta manera, llevándolo a la gran escala, es que un programa como puede ser un procesador de textos o un manejador de hojas de cálculo, puede ser desarrollado de una manera práctica y funcional por un grupo de expertos en el tema.

Un programa se guarda en el disco duro de una computadora o en la memoria de un equipo, como un código ejecutable, es decir, un conjunto de instrucciones ya convertidas al lenguaje que el CPU puede entender, y solamente se mandan ejecutar cuando sea necesario, mediante un comando, una tecla o con dar click al botón del mouse sobre el ícono correspondiente a dicho programa, si se habla de una PC, o presionando botones o eligiendo opciones en la pantalla de un equipo industrial.

Fuente: IMECAF

 

¿Qué es PowerPoint?

Microsoft Powerpoint es una herramienta computaciónal o programa de software que nos permite crear, editar, modificar, grabar, enviar o imprimir presentaciones detalladas y con un gran número de elementos de diseño, para utilizarlas en reuniones de proyectos, para preparar cotizaciones a clientes, dar a conocer nuevos productos o servicios, etc. PowerPoint es un componente de Microsoft Office, y está incluído en todas sus versiones.

Ahora, para entender mejor lo que hace el programa, vayamos un poco al pasado. Cuando uno hacía una presentación para la escuela, en aquellas épocas en las que se usaban los proyectores de acetatos, si no es que todavía se utilizaban proyectores de transparencias, y escribía en unas láminas todo lo que quería exponer, principalmente con plumón o algún otro tipo de tinta. Obviamente, esto era práctico para hacerlo de vez en cuando y, sobretodo en cosas no muy profesionales, dado que hacer una lámina parecer sofisticada requería de mucho trabajo manual.

Con el advenimiento de las computadoras, así como de los proyectores que se podían conectar a las mismas, también vino la creación de una nueva generación de productos de software que, ofreciendo una serie de sencillas herramientas, permitieron elaborar estas presentaciones de una manera muy rápida y reutilizable y que, a lo largo de los años, se han convertido en un elemento indispensable en cualquier oficina, por lo que representa tanto para las áreas de ventas, marketing, procesos, etc.

PowerPoint tiene su origen en un programa llamado Presenter, elaborado por la empresa Forethought, a principios de los años 80. Esta compañía y su software fue vendida a Microsoft en 1987 y, en septiembre del mismo año, el gigante de software lanzó oficialmente su primera versión del programa, ya bajo el nombre de PowerPoint. Existen varios programas que compiten con PowerPoint, en funcionalidad y características, pero éste es sin duda el más utilizado a nivel global, cuando menos en el ámbito corporativo. El PowerPoint 2010, es el más reciente, aunque está próximo a salir el 2013, cuando se libere la nueva suite de Office.

Fuente: IMECAF, wikipedia.org

¿Qué es Excel?

En breve, Microsoft Excel es un software o programa de computadora para manejo de hojas de cálculo, es decir, es una herramienta que permite la creación, edición, modificación, grabación e impresión de documentos que contienen un número definido de celdas, distribuídas en columnas y renglones, en las que se alimentan números y fórmulas, mediante las cuales se pueden llevar a cabo operaciones y desplejar los resultados de las mismas, que pueden ser formateados para ser más legibles o incluso incorporados en gráficas para la toma de decisiones. Este producto está incluido en la suite de Microsoft Office, en cualquiera de sus versiones.

Es fácil entender el origen de este tipo de aplicaciones, ya que profesionistas como los contadores y los especialistas en impuestos, por ejemplo, han utilizado desde hace un tiempo considerable, libros o cuadernos en los que llevan a mano un control de sus números, haciendo cálculos por separado e introduciendo los resultados en las celdas correspondientes de sus documentos físicos. Sin embargo, cualquiera que haya hecho este tipo de trabajo, de esa manera, podrá constatar la cantidad de esfuerzo que requiere mantener al día esas cifras, así como llevar un manejo adecuado de las mismas.

Es por ello que desde que surgieron los equipos de cómputo, en específico los de uso personal, se originaron también herramientas que atacaron inmediatamente esta necesidad de simplificación, como fue VisiCalc, uno de los pioneros en este tema. Microsoft, en 1982 sacó un producto parecido denominado MultiPlan, sin embargo, aunque tuvo éxito en las plataformas denominadas CP/M, cuando introdujo su nuevo sistema operativo llamado MS-DOS, este programa se vio relegado a segundo plano por una aplicación muy reconocida y utilizada en su momento, el Lotus 1-2-3. Microsoft tardó varios años en ponerse al día, sacando la primera versión de Excel para las computadoras Mac de Apple, en 1985 para posteriormente lanzar la primera entrega de este producto para su plataforma Windows en 1987. Lotus tardó en migrar su software a este sistema operativo y eso le dio ventaja a Microsoft para posicionarse en el mercado.

Excel es un producto que no solamente permite manejar hojas de cálculo, sino que, a través de componentes que se han venido agregando con los años, también puede tener acceso y manipular bases de datos desde el mismo programa, así como automatizar tareas y desarrollar prácticamente nuevas aplicaciones, utilizando el llamado Visual Basic for Applications o VBA, el cual es un subconjunto de un lenguaje de programación ampliamente utilizado y, aunque sencillo en su sintaxis, muy poderoso en cuanto a lo que permite hacer.

Actualmente Excel es uno de los programas de hoja de cálculo más utilizados a nivel mundial, siendo la última versión disponible la 2012, aunque en breve saldrá ya a la venta la 2013, para la nueva plataforma Windows 8.

Fuente: IMECAF, wikipedia.org

¿Qué es Word?

En resumen, Microsoft Word es un procesador de textos, es decir, una herramienta que permite la creación, edición, modificación, grabación e impresión de documentos por medio de una computadora. Este programa está incluido en la suite de Microsoft Office, en cualquiera de sus versiones.

Aunque pareciera ser que un producto como éste, con tantos años en el mercado (fue creado en 1983), sería conocida por todo el mundo, no es así. Hay quienes, por su pasado laboral, por su nivel actual de estudios o simplemente, por su inexperiencia con las computadoras, no saben qué es Microsoft Word. Bueno, eso no es para sentirse mal ni mucho menos.

Cuando uno no tiene acceso a una computadora o desconoce cómo utilizarla y necesita preparar un documento, pues podría hacerlo a mano o en una máquina de escribir. Sin embargo, eso resulta muy poco práctico dado que cualquier corrección o cambio implica volver a hacer de nuevo todo desde cero, en el peor de los casos. Así, con esta necesidad y con la facilidad que da una herramienta tecnológica como es la PC, surgieron desde hace más de tres décadas, aplicaciones que permitían al usuario escribir documentos, editarlos, modificarlos, cambiar el formato al texto, imprimirlo y por supuesto grabarlo, para poder reutilizarlo en el futuro.

Una de dichas aplicaciones, denominadas procesadores de texto, es Microsoft Word y actualmente es de las más utilizadas a nivel mundial, sobretodo en equipos que corren el sistema operativo Windows, también desarrollado por Microsoft. Hay algunos productos alternativos a Word, que ofrecen la misma funcionalidad, incluso gratuitos, como Writer, parte del producto libre Open Office. Sin embargo, los productos de Microsoft son utilizados por lo general en las empresas y la gente por consiguiente los conoce más.

Cabe señalar que, aparte de fungir como procesador de textos como función principal, los programas de este tipo tiene otras importantes características, como lo es la combinanción de correspondencia, que permite generar de manera automática, en conjunción con una base de datos, documentos personalizados. Esto es, una carta que se quiera mandar a un grupo de personas no tiene que ser escrita o editada para cada una de ellas en particular, sino que se estipulan los campos que corresponden al nombre y a la personalización en general del documento, y el software se encarga de producir de manera casi inmediata una versión específica con los datos de cada persona de la lista que se especifique.

Adicionalmente, un programa como Word permite incorporar elementos en el documento que no sean texto exclusivamente, como pueden ser tablas con información, imágenes, diseños, etc.

Fuente: IMECAF

¿Qué es un lenguaje de programación?

Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.

Por otro lado, el término «lenguaje natural» define un medio de comunicación compartido por un grupo de personas (por ejemplo: inglés o francés).

Los lenguajes que los equipos usan para comunicarse entre ellos no tienen nada que ver con los lenguajes de programación; se los conoce como protocolos de comunicación. Se trata de dos conceptos totalmente diferentes. Un lenguaje de programación es muy estricto:

A CADA instrucción le corresponde UNA acción de procesador.

El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata de datos tal como llegan al procesador, que consisten en una serie de 0 y 1 ( datos binarios).

El lenguaje máquina, por lo tanto, no es comprensible para los seres humanos, razón por la cual se han desarrollado lenguajes intermediarios comprensibles para el hombre. El código escrito en este tipo de lenguaje se transforma en código máquina para que el procesador pueda procesarlo.

El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar al lenguaje máquina, pero los desarrolladores pueden comprenderlo. No obstante, este lenguaje se parece tanto al lenguaje máquina que depende estrictamente del tipo de procesador utilizado (cada tipo de procesador puede tener su propio lenguaje máquina). Así, un programa desarrollado para un equipo no puede ser portado a otro tipo de equipo. El término «portabilidad» describe la capacidad de usar un programa de software en diferentes tipos de equipos. Para poder utilizar un programa de software escrito en un código ensamblador en otro tipo de equipo, ¡a veces será necesario volver a escribir todo el programa!

Por lo tanto, un lenguaje de programación tiene varias ventajas:

  • es mucho más fácil de comprender que un lenguaje máquina:
  • permite mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en diferentes tipos de equipos.

Lenguajes de programación imperativos y funcionales

Los lenguajes de programación generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:

  • lenguajes imperativos
  • lenguajes funcionales

Lenguaje de programación imperativo

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio.

No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencialidad de las instrucciones.

Lenguaje de programación funcional

Un lenguaje de programación funcional(a menudo llamado lenguaje procedimental) es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una función se invoca a sí misma, hablamos de recursividad.

Interpretación y compilación

Los lenguajes de programación pueden, en líneas generales, dividirse en dos categorías:

  • lenguajes interpretados
  • lenguajes compilados

Lenguaje interpretado

Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario.

Lenguaje compilado

Un programa escrito en un lenguaje «compilado» se traduce a través de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.

Un programa escrito en un lenguaje compilado posee la ventaja de no necesitar un programa anexo para ser ejecutado una vez que ha sido compilado. Además, como sólo es necesaria una traducción, la ejecución se vuelve más rápida.
Sin embargo, no es tan flexible como un programa escrito en lenguaje interpretado, ya que cada modificación del archivo fuente (el archivo comprensible para los seres humanos: el archivo a compilar) requiere de la compilación del programa para aplicar los cambios.

Por otra parte, un programa compilado tiene la ventaja de garantizar la seguridad del código fuente. En efecto, el lenguaje interpretado, al ser directamente un lenguaje legible, hace que cualquier persona pueda conocer los secretos de fabricación de un programa y, de ese modo, copiar su código o incluso modificarlo. Por lo tanto, existe el riesgo de que los derechos de autor no sean respetados. Por otro lado, ciertas aplicaciones aseguradas necesitan confidencialidad de código para evitar las copias ilegales (transacciones bancarias, pagos en línea, comunicaciones seguras, etc.).

Lenguajes intermediarios

Algunos lenguajes pertenecen a ambas categorías (LISP, Java, Python, etc.) dado que el programa escrito en estos lenguajes puede, en ciertos casos, sufrir una fase de compilación intermediaria, en un archivo escrito en un lenguaje ininteligible (por lo tanto diferente al archivo fuente ) y no ejecutable (requeriría un interprete). Los applets Java, pequeños programas que a menudo se cargan en páginas web, son archivos compilados que sólo pueden ejecutarse dentro de un navegador web (son archivos con la extensión .class).

Listado de Lenguajes de Programación

A continuación, encontrará una lista bastante completa de los lenguajes de programación existentes:

Lenguajes como COBOL y FORTRAN eran (y en algunos casos siguen siendo) utilizadas por las grandes aplicaciones de computadoras de tipo MainFrame, dando soporte a bancos y empresas de esa envergadura.

Para aplicaciones potentes y eficientes, generalmente no hay nada como el lenguaje C o C++, dependiendo de si es un programa de consola u orientado a objetos (cuenta con interfaz gráfica, interactividad, etc.). Sin embargo, para aplicaciones que no son de misión crítica, el Visual Basic suele ser una elección muy común dada la simplicidad de su sintaxis y el poder de su modelo de programación, así como de todos los componentes que pueden incorporarse al mismo con gran facilidad. Para aplicaciones multiplataforma, como se mencionó anteriormente, JAVA es la elección por defecto, debido a que bastan con codificar una vez el programa para que pueda corrrer en un sinnúmero de configuraciones de hardware diferentes, desde una computadora, una tablet, un teléfono o incluso un aparato de cocina. JAVA ha logrado convertirse en un estándar para este tipo de propósito debido a que, siendo gratuito y muy poderoso, modulable y escalable, fue rápidamente adoptado por los desarrolladores y se convirtió en una alternativa muy viable para los fabricantes de hardware que requerían de un software de garantías que pudiera cumplir con el objetivo de ser ligero y, dentro de todo, eficiente. Actualmente, algunos sistemas operativos de teléfonos celulares o tablets, como Symbian (que ya va de salida), Android o el mismo BlackBerry, estan basados sobre JAVA.

Por otro lado, con el crecimiento que ha tenido internet, y la infinidad de aplicaciones que han hecho uso de esta red, surgieron varias alternativas a los lenguajes tradicionales, las cuales nacieron con la conectividad en sus raíces así como la intención de obtener resultados con el menor esfuerzo posible y de la forma más amigable. Si bien no son precisamente nuevos (algunos datan desde principio de los 90’s) sí son mucho más modernos que otros mencionados con anterioridad. Algunos de estos lenguajes son Perl, PHP, Python y Ruby, los cuales son ampliamente utilizados en sitios de internet por todo el mundo, y para una gran variedad de aplicaciones. Aunque son lenguajes interpretados y, como se explicó previamente, esto implica que no son compilados y por ende los scripts creados no lograrán alcanzar el poder o eficiencia de un programa desarrollado en C, por ejemplo, dadas las capacidades actuales de los equipos, sobretodo si se trata de servidores de web, las diferencias en velocidad de procesamiento para la mayoría de los usos no son tan drásticas como para elegir una opción más compleja. Por poner un ejemplo, mientras que hace mucho tiempo haber creado un servidor de web en las herramientas convencionales habría requerido seguramente de bastantes líneas de código, con Python es posible lograrlo solamente con la siguiente sentencia:

python -m SimpleHTTPServer

Si bien es que algunos de estos lenguajes fueron muy utilizados en su momento, como puede ser CLIPPER (para manejar bases de datos) o PASCAL, las necesidades de hoy en día así como la evolución en las aplicaciones, los equipos y los dispositivos han hecho que varios de ellos ya estén prácticamente obsoletos y que su uso sea ya más educativo o para dar mantenimiento a plataformas legacy, que corren todavía al día de hoy pero son sistemas muy antiguos que por alguna razón no han sido migrados a nuevas versiones o alternativas de hardware y/o software.

Como se podrá haber visto en el presente artículo, un lenguaje de programación es un elemento básico para poder desarrollar cualquier tipo de programa o aplicación que utilice un hardware, ya sea una computadora o algún equipo industrial. Dependiendo de las necesidades particulares del software así como de los objetivos de velocidad, fiabilidad, practicidad, así como de la plataforma en particular que se usará, será la elección del lenguaje de programación a emplear.

Fuente: kioskea.net, jorgesaavedra, IMECAF