miércoles, 6 de octubre de 2010

¿Tipos de lenguaje de programa?

Lenguajes de bajo nivel

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.

Dentro de este grupo se encuentran:

El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.


Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).

Lenguajes de Medio nivel

Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

¿Que es un lenguaje de programa?

Un lenguaje de programación es un lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.

Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma.

El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o subprograma informático.

En su uso, un lenguaje de programación puede acercarse a la forma humana de expresarse y, por eso, este tipo de lenguajes es llamado de alto nivel. Esto significa que utilizan palabras y formas en sus estructuras que se asemejan al lenguaje natural (especialmente al inglés). En cambio, aquellos lenguajes que se aproximan más a la forma en la cual la computadora se maneja, son llamados lenguajes de bajo nivel. Esto significa que lo que el programador deba escribir se acercará al lenguaje máquina, que es, en definitiva, lo que las computadoras pueden interpretar.

De todas maneras, un lenguaje de programación difiere en muchos aspectos de un lenguaje humano. Un código escrito en un lenguaje de programación específico siempre se interpreta de la misma manera (no como los idiomas humanos ambiguos), los errores son mucho más significativos (a tal punto de que un código puede volverse ininterpretable por la computadora), etc.

El código fuente es el conjunto de instrucciones que conforman un programa (o subprograma o módulo). El código fuente debe ser compilado para poder ser interpretado y ejecutado por la computadora. La compilación traduce el código fuente (que depende del lenguaje de programación) a un lenguaje máquina (que depende del sistema de la máquina).

Existen lenguajes del tipo script que son directamente ejecutados por un intérprete y no necesitan compilación.

Los lenguajes de programación pueden clasificarse según el paradigma que usan en: procedimentales, orientados a objetos, funcionales, lógicos, híbridos, etc., clasificación que depende de motivos que escapan al alcance de este artículo.

Son ejemplos de lenguajes de programación: php, prolog, asp, actionscript, ada, python, pascal, c, basic, java, etc.

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.

¿que es un flujograma?

Es una representación gráfica de la secuencia de actividades de un proceso.

Además de la secuencia de actividades, el flujograma muestra lo que se realiza en cada etapa, los materiales o servicios que entran y salen del proceso, las decisiones que deben ser tomadas y las personas involucradas (en la cadena cliente/proveedor)

El flujograma hace más fácil el análisis de un proceso para la identificación de:

Las entradas de proveedores; las salidas de sus clientes y de los puntos críticos del proceso.

EL Flujograma o Diagrama de Flujo, consiste en representar gráficamente hechos, situaciones, movimientos o relaciones de todo tipo, por medio de símbolos.
A continuación se observará de tres autores diferentes el concepto de Flujograma o Diagramas de Flujo, características, tipos, simbología, diseño y elaboración.
Según Gómez Cejas, Guillermo. Año 1.997; El Flujograma o Fluxograma, es un diagrama que expresa gráficamente las distintas operaciones que componen un procedimiento o parte de este, estableciendo su secuencia cronológica. Según su formato o propósito, puede contener información adicional sobre el método de ejecución de las operaciones, el itinerario de las personas, las formas, la distancia recorrida el tiempo empleado, etc.
Según Chiavenato Idalberto. Año 1.993; El Flujograma o Diagrama de Flujo, es una gráfica que representa el flujo o la secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestión, las unidades involucradas y los responsables de su ejecución.
Según Gómez Rondón Francisco. Año 1.995; El Flujograma o Diagrama de Flujo, es la representación simbólica o pictórica de un procedimiento administrativo.

Importancia:
Según Gómez Cejas, Guillermo. Año 1.997; es importante ya que ayuda a designar cualquier representación gráfica de un procedimiento o parte de este , El flujograma de conocimiento o diagrama de flujo, como su nombre lo indica, representa el flujo de información de un procedimiento.
En la actualidad los flujogramas son considerados en las mayorías de las empresas o departamentos de sistemas como uno de los principales instrumentos en la realización de cualquier métodos y sistemas.
Según Chiavenato, Idalberto. Año 1.993; es importante los flujogramas en toda organización y departamento, ya que este permite la visualización de las actividades innecesarias y verifica si la distribución del trabajo está equilibrada, o sea, bien distribuida en las personas, sin sobrecargo para algunas mientras otros trabajan con mucha holgura.

Según Gómez Rondón, Francisco. Año 1.995; los flujogramas o diagramas de flujo son importantes para el diseñador porque le ayudan en la definición formulación, análisis y solución del problema. El diagrama de flujo ayuda al analista a comprender el sistema de información de acuerdo con las operaciones de procedimientos incluidas, le ayudará a analizar esas etapas, con el fin tanto de mejorarlas como de incrementar la existencia de sistemas de información para la administración.

¿Que es un algoritmico?

Definicion: Algoritmo

Podemos encontrar muchas definiciones de algoritmo en los textos de programacion, todas ellas muy similares:
Conjunto ordenado y finito de pasos que permite hallar la solución de un problema.
Una secuencia de pasos que conducen a la realización de una tarea.
Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.
Conjunto de sentencias / instrucciones en lenguaje nativo, los cuales expresan la lógica de un programa.
Es un sistema por el cual se llega a una solución, teniendo en cuenta que debe de ser definido, finito y preciso.
Toda receta, proceso, rutina, método, procedimiento, técnica, formula que resuelven un determinado problema.
Conjunto de instrucciones concretas y detalladas mediante el cual se consigue una acción determinada.
Conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.
Descripción precisa de una sucesión de instrucciones que permite llevar a cabo un trabajo en un número finito de pasos.
Un conjunto de símbolos y procedimientos usados en la realización de un cálculo.

Las definiciones mas completas o formales:
Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]
Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]

Caracteristicas:

Las características fundamentales que debe cumplir todo algoritmo son:
Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.
Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.
Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.
Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

¿Que es un programa?

Según el contexto, programa puede tener diversos significados:
Programa informático, secuencia de instrucciones que una computadora puede interpretar y ejecutar;
Aplicación informática, programa informático diseñado para facilitar un determinado tipo de trabajo;
contador de programa, un registro interno del computador;
Programa de Erlangen, un tipo de solución a los problemas de la geometría del tiempo;
Como planificación, es un esquema que muestra la secuencia que lleva a cabo un proceso;
Programa minimalista, un programa de investigación dentro de la gramática transformacional formulado por Noam Chomsky;
Programa de televisión

Ambiciosos o novedosos proyectos de política o infraestructura gubernamental:
Programa del transbordador espacial
Programa de las Naciones Unidas para el Desarrollo
Programa Mundial de Alimentos
Programa de Naciones Unidas para los Asentamientos Humanos
Programa de las Naciones Unidas para el Medio Ambiente
ONUSIDA
Programa Memoria del Mundo, una iniciativa internacional propulsada y coordinada por la Unesco;
Programa de desarrollo
Programa Erasmus, forma una parte importante del programa de la Unión Europea Sócrates II.
Programa TACIS, una iniciativa de la Unión Europea destinada a apoyar la transición hacia una economía de mercado y el refuerzo de la democracia en la Comunidad de Estados Independientes (CEI) y en Mongolia;
Programa nuclear de Irán
Exposición de material didáctico o artístico: la presentación ordenada de contenido secuencial. Programa académico.

Categorías relacionadas
Categoría:Programas de juego
Categoría:Programas maliciosos
Categoría:Programas de intercambio de ficheros
Categoría:Programas de presentación
Categoría:Programa nuclear argentino
Categoría:Programas espaciales
Categoría:Programas de televisión

Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar correctamente.1 2 Al conjunto general de programas, se le denomina software y así, se refiere al equipamiento lógico o soporte lógico de una computadora digital.

En informática, se los denomina comúnmente binarios, (propio en sistemas unix, donde debido a la estructura de este último, los ficheros no necesitan hacer uso de extensiones. Posteriormente, los presentaron como ficheros ejecutables, con extensión .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilación y han sido creados, las instrucciones que se escribieron en un lenguaje de programación que los humanos usan para escribirlos con mayor facilidad, se han traducido al único idioma que la máquina comprende, combinaciones de ceros y unos llamada código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual es transformado en un binario cuando es compilado.

Generalmente el código fuente lo escriben profesionales conocidos como programadores. Se escribe en un lenguaje que sigue uno de los siguientes dos paradigmas: imperativo o declarativo y que posteriormente puede ser convertido en una imagen ejecutable por un compilador. Cuando se pide que el programa sea ejecutado, el procesador ejecuta instrucción por instrucción.

De acuerdo a sus funciones, se clasifican en software de sistema y software de aplicación. En los computadores actuales, al hecho de ejecutar varios programas de forma simultánea y eficiente, se le conoce como multitarea.

jueves, 5 de agosto de 2010

LISTADO DE PROGRAMA SEGUN SU LICENCIA

Los programas más importantes para desarrolladores web, comentados en DesarrolloWeb.com:

Categorías de programas comentadas
+ General
Programas cuya utilidad es de interés general, de uso no sólo exclusivo para los desarrolladores.

+ Diseño
Programas útiles para diseñar páginas web. Diseño web y diseño en general.

+ Multimedia
Programas orientados a la gestión o creación de animaciones y otros componentes con los cuales podrás dar más dinamismo a tu web.

+ Programación
Programas enfocados a desarrolladores y programadores, con los cuales tu idea de proyecto web se irá convirtiendo en realidad.

+ Gestión de contenidos
Programas que facilitan la gestión dinámica de contenidos en páginas web.

+ Navegadores
Diferentes navegadores, con los cuales visualizar páginas web, que te interesa conocer, para hacer pruebas en distintos entornos.

+ Editores HTML
Programas para la edición de código HTML, que ofrecen ayudas visuales específicas para construir webs, como editores WYSIWYG.

+ Editores CSS
Programas que facilitan la creación y edición de código CSS (hojas de estilo en cascada).

+ Clientes FTP
Programas clientes de FTP, con los que conectar po FTP a servidores de alojamiento, para publicar tus páginas web.

+ Lectores RSS
Programas lectores RSS, con los podras leer todos tus RSS.



LISTADO DE PROGRAMA SEGUN SU LICENCIA

La lista del FSF aprobó licencias del software

Lo que sigue es una lista de licencias del software cuál Fundación libre del software (FSF) ha aprobado como conformándose con su Definición libre del software. Están así, según el FSF, licencias libres del software.

Nombre Versiones Es copyleft? GLPcompatible? Utilizado cerca Notas
Licencia libre académica 1.1, 2.1 No No

Licencia el público en general de Affero 1 No
Versión 3 del AGPL es compatible con GLP versión 3.
Licencia el público en general del GNU Affero 3 Sí - GPLv3
Compatible con GLP versión 3 solamente.
Licencia de Apache 1.0, 1.1, 2.0 No Sí - GPLv3 Apache Las versiones 1.0 y 1.1 de la licencia de Apache no son GLP compatible
Licencia pública de la fuente de Apple 2 No No Apple's Darwinsistema operativo
Licencia del público de Arphic

No

Licencia artística 2.0
Perl Según FSF solamente la versión 2 de la licencia artística es compatible con el GLP
Licencia de la base de datos de Berkeley

DB de Berkeley También conocido como Licencia del producto de software de Sleepycat.
Licencia del software del alza
No

CeCILL 2

GLP compatible desde la versión 2
Licencia artística clarificada



Licencia común del desarrollo y de la distribución
No Sol's OpenSolaris
Licencia pública común 1.0
No

Licencia general de Cryptix
No

Licencia del software de DataGrid del EU
No

Licencia del público del eclipse 1.0
No

licencia de los eCos 2.0

GLP compatible desde la versión 2
Licencia del foro de Eiffel 2 No
GLP compatible desde la versión 2
Licencia de Expat
No Expat También conocido como Licencia del MIT
Licencia el público en general del GNU 1, 2, 3 GNU, Núcleo de Linux, MySQL
GNU poca licencia el público en general 2, 2.1, 3 glibc y muchas otras bibliotecas, temas e iconos
Licencia del público de IBM 1.0
No

Licencia abierta de la fuente de Intel (OSI)


Según lo publicado por la OSI.
Licencia pública Interbase 1.0
No

Licencia abierta de la fuente de Jabber 1.0
No
Esta licencia se ha retirado voluntariamente de la OSI.
Licencia del público del proyecto del látex 1.2, 1.3a
No Látex
Licencia modificada MOSQUITO el público en general

MOSQUITOtiempo de pasada caja de herramientas
Licencia del Javascript de Netscape



Vim 6.1 y más adelante
Vim
licencia del zlib

zlib También conocido como licencia del libpng.
Licencia de la biblioteca estándar de la función del iMatix



Licencia del xinetd
No xinetd
Licencia del público de Lucent 1.02
No Plan 9 También conocido como Licencia del plan 9.
Licencia del MIT
No X.org También conocido como Licencia X11.
Licencia modificada del DEB
No FreeBSD y OpenBSD
Licencia del público de Mozilla (MPL)

No Mozilla y Mozilla Firefox
Licencia abierta de la fuente de Netizen 1.0
No

Licencia del público de Netscape

No

Licencia abierta de la fuente de Nokia

No

Abra la licencia del software 1.0 ? No

Licencia de OpenLDAP 2.3, 2.7
OpenLDAP GLP compatible desde la versión 2.7
Licencia de OpenSSL

No OpenSSL
Licencia original del DEB
No No NetBSD
Licencia de PHP 3.0
No PHP
Licencia de Phorum 2.0
No

Public domain - No - El public domain no es verdad una licencia, por sí mismo. La definición de cuál está en el public domain varía de un país a otro, al igual que si o no el autor de un trabajo puede poner su trabajo voluntariamente en el public domain. Si un trabajo está en el public domain, nadie posee el copyright al trabajo, y/o (generalmente) cualquier persona puede utilizar, copiar, modifica, redistribuye, o explota de otra manera el trabajo para cualquier propósito.
Licencia de la fundación del software del Python 1.6a2, 1.6b1 - 2.0/2.1, 2.0.1/2.1.1
Python Esta licencia substituye la original Licencia del Python cuál no era GLP compatible[1]
Licencia del público de Q 1.0 No No Cuarto de galón Fue utilizado hasta el cuarto de galón 3.0, pues la versión 4.0 de la caja de herramientas de Trolltech fue lanzada bajo versión 2 del GLP.
Ml estándar de licencia del copyright de New Jersey
No

Licencia de la fuente de los estándares de la industria del sol 1.0
No
El sol ha retirado voluntariamente esta licencia.
Licencia del público del sol

No
Esta licencia ahora se parece “haber sido caída” por Sun a favor de la licencia nueva de CDDL, que también se deriva del MPL.
Licencia del público del Condor

No

Licencia de rubíes

Rubí
Licencia liberal de la fuente de Vita Nuova
No

Aviso y licencia del software de W3C

libwww
Licencia X11
No X.org Éste es el nombre preferido del FSF para la licencia del MIT.
Licencia XFree86 1.1 1.1 No No XFree86 El proyecto XFree86 disputa incompatibilidad del GLP.[2]
Licencia de Zend 2.0 No No Partes de PHP
Licencia del público de Zope 1, 2.0 No Zope GLP compatible desde la versión 2.0