martes, 8 de septiembre de 2020

Programación Informática y Tipos de programación

Programación Informática

 La programación informática es el proceso por medio del cual se diseña, codifica, limpia y protege el código fuente de programas computacionales. A través de la programación se dictan los pasos a seguir para la creación del código fuente de programas informáticos. De acuerdo con ellos el código se escribe, se prueba y se perfecciona. El objetivo de la programación es la de crear software, que después será ejecutado de manera directa por el hardware de la computadora, o a través de otro programa. La programación se guía por una serie de reglas y un conjunto pequeño de órdenes, instrucciones y expresiones que tienden a parecerse a una lengua natural acotada. El lenguaje de programación, son todas aquellas reglas o normas, símbolos y palabras particulares empleadas para la creación de un programa y con él, ofrecerle una solución a un problema determinado. 

Tipos de programación

Programación estructurada (PE)

La programación estructurada está compuesta por un conjunto de técnicas que han ido evolucionando, aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento de este. Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.

Esta técnica incorpora:

  • Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.
  • Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
  • Estructuras básicas: existen tres tipos de estructuras básicas:
    • Estructuras secuénciales: cada acción sigue a otra acción secuencialmente. La salida de una acción es la entrada de otra.
    • Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de estas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
    • Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.


Las principales ventajas de la programación estructurada son:

  • Los programas son más fáciles de entender
  • Se reduce la complejidad de las pruebas
  • Aumenta la productividad del programador
  • Los programas queden mejor documentados internamente.

Un programa esta estructurado si posee un único punto de entrada y sólo 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.

Programación modular

En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad. En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros. A su vez cada módulo puede contener sus propios datos y llamar a otros módulos o funciones.

Programación orientada a objetos (POO)

Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos. El elemento principal de la programación orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
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 características y por ello dedicaremos más adelante un artículo exclusivamente a tratar estos dos términos. 

Programación concurrente

Este tipo de programación 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 simultánea. Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.

Programación funcional

Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.

Programación lógica

Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).

¿ Que es Lucidchart y para que sirve ?

 Lucidchart es una herramienta que crea gráficos y diagramas a la que podemos sacar numeroso partido. La creación de diagramas de flujo nos sirve para la creación de un organigrama o la representación gráfica de un mapa mental.

Lucidchart, una excelente opción para crear diagramas de flujo

Hasta ahora había herramientas que ya hacían esto posible pero hay varias aportaciones que nos permite Lucidchart que sin ser innovadoras en sí mismas no se habían aplicado anteriormente a este tipo de programas:

  • Tiene un soporte web basada en sistema de arrastre de los elementos. Esto simplifica mucho las cosas.
  • Se puede compartir de manera colaborativa a través de la red de forma que se permite el trabajo simultáneo y colaborativo de un grupo de personas.
  • Presenta numerosas opciones para crear diagramas de flujo, diagramas de Venn, mapas mentales, organigramas, diagramas de proceso,etc, Pero tambien se puede hacer diseños de pantallas para aplicaciones para smatphones y tabletas.

Usamos diagramas de flujo para una enorme cantidad de tareas: definición de funciones en un software, procesos que deben seguirse en la fabricación de una pieza, creación de mapas mentales… los diagramas son la solución perfecta para definir conceptos en poco espacio, para indicar el orden en el que deben realizarse las tareas o dejar claras las posibilidades que tenemos durante un trabajo especí­fico. Dentro de esta categorí­a tenemos una aplicación web que puede ayudarnos bastante: Lucidchart.

Se trata de una plataforma de trabajo en equipo en la que es posible diseñar diagramas de varios tipos, un software con opción gratuita que permite la creación de diagramas en linea con varias funciones bastante atractivas:

  1.  Podemos arrastrar y soltar los componentes directamente en el panel de trabajo, ayudando así­ a crear diagramas de forma intuitiva.
  2.  Está basado en HTML5, evitando el flash para que sea compatible con cualquier dispositivo, incluyendo móviles.
  3.  Incluye un historial de revisiones para que podamos ver la evolución en la creación de un nuevo documento, informando siempre quién modificó el archivo, cuándo lo hizo y qué alteraciones realizó. En cualquier momento podemos volver a una versión previa.
  4.  Podemos dejar comentarios en los documentos, así­ como comunicarnos con otras personas del equipo usando un chat.
  5.  Es posible incrustar el diagrama creado en cualquier página web, viendo cómo se actualiza a medida que seguimos trabajando en él.

Los cambios se realizan de forma automática, y todos los datos se transfieren a los servidores de Lucidchart utilizando Secure Socket Layer (SSL) con cifrado AES-256 bits, por lo que la seguridad está garantizada.

Una excelente alternativa a Microsoft Visio que vale la pena probar. 

 Lector y editor de Visio | Lucidchart

jueves, 3 de septiembre de 2020

Manejadores de bases de datos bajo licencia

Base de datos con licencia 

ACCESS.
Microsoft Access es un sistema de gestión de bases de datos incluido en el paquete ofimático denominado Microsoft Office. Igualmente, es un gestor de datos que recopila información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etcétera. Está pensado en recopilar datos de otras utilidades (Excel, SharePoint, etcétera) y manejarlos por medio de las consultas e informes.
ORACLE
•Por el acrónimo en inglés de Relational Data Base Management System), fabricado  por Oracle Corporation.
•Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:
•Soporte de transacciones.
•Estabilidad.
•Escalabilidad.
•Es multiplataf orma.
•Su mayor defecto es su enorme precio, que es de varios miles de euros (según versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.
•Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo Linux.

IterBase


Interbase es un sistema de gestión de bases de datos relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear.

Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi-generacional. InterBase corre enplataformas Linux, Microsoft Windows y Solaris.

Sybase (Todas las versiones)


Es un motor de bases de datos altamente optimizado para inteligencia empresarial, desarrollado por la empresa Sybase, llamado ahora Sap Sybase IQ debido a la compra de la empresa Sybase por parte de Sap. Diseñado específicamente para entregar resultados más rápidos en soluciones de inteligencia empresarial analítica de misión crítica, almacenes de datos y generación de reportes, Sybase IQ combina velocidad y agilidad, con un bajo costo total de propiedad, lo que permite a las empresas llevar a cabo análisis de datos y generación de reportes antes impensables, imprácticos o costosos. La más reciente versión de SAP Sybase IQ es la 16.

Microsoft SQL Server
•En el mundo empresarial existen programas denominados “sistemas gestores de bases de datos”, abreviado SGBD (del inglés Database Management System o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. En el mercado existen varias alternativas, algunas libres, como las ofrecidas por marcas como Microsoft,  Oracle, Sybase ASE, PostgreSQL o MySQL. Microsoft SQL Server es la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos. Es un sistema de gestión de base de datos relacional desarrollado como un servidor que da servicio a otras aplicaciones de software que pueden funcionar ya sea en el mismo ordenador o en otro ordenador a través de una red (incluyendo Internet). Características de Microsoft SQL Server :
•Soporte de transacciones.
•Escalabilidad, estabilidad y seguridad.
•Soporte de procedimientos almacenados.
•Incluye también un potente entorno gráfico de administración, que permite el
•uso de comandos DDL y DML gráficamente.
•Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y las terminales o clientes de la red solo acceden a la información.

•Permite administrar información de otros servidores de datos. 

Paradox


Paradox es una base de datos relacional para entornos MS Windows, anteriormente disponible para MS-DOS y Linux, desarrollada actualmente por Corel e incluida en la suite ofimática WordPerfect Office. En los tiempos del MS-DOS, era una base de datos de bastante éxito, compitiendo con dBase, Clipper y FoxBase. Pasó al control de Borland después de la compra de Ansa Software en 1987. Aunque Borland la rediseño para Windows, su cuota de mercado es mucho menor que la de Microsoft Access, pero su lenguaje de programación (ObjectPAL) es Pascal, lo que le hace más potente que Access, que usa Visual Basic y esto limita bastante sus prestaciones si se compara con otras bases de datos que usan lenguajes más avanzados. Con su Runtime se puede desarrollar una aplicación usando una sola licencia sin limitación de puestos. Las características que distinguen Paradox / DOS fueron los siguientes:


1.Una consulta visual de la aplicación ejemplo que fue apoyada por un motor de IA.

2.El uso eficaz de la memoria (convencional, así como ampliada / ampliado) -. Caché de tablas de datos y, en particular, los índices que provocó la paradoja para ejecutar tareas con gran rapidez, en contraste con los conocimientos explícitos necesarios para la optimización del rendimiento xBase

3.Un lenguaje de programación innovadora del Idioma de la aplicación Paradox (PAL) que era legible, de gran alcance, y pueden ser registrados en las acciones del teclado (algo así como la grabación de macros de Lotus 1-2-3).

4.Lotus-como los menús y las ventanas de texto que la interfaz nativa (a diferencia de dBase que tenía una interfaz de línea de comandos con los menús en capas en la parte superior).

5.Particularmente en Paradox 1.0 y 2.0, el usuario y manuales de programación ganado premios lectura - fueron ilustrados abundantemente, bien presentado y las explicaciones fueron escritos en inglés común.

FoxPro
•FoxPro es un sistema de gestión de bases de datos que fue diseñado por una compañía pequeña llamada Fox software, para que después gracias a su éxito fuera absorbido por Microsoft. Básicamente es un lenguaje de programación o programa de almacenamiento, el cual es capaz de procesar grandes cantidades de datos y guardarlos en una base segura. El programa tiene la virtud de poder servir de administrador de estos datos, pudiendo clasificarlos, moverlos, incluso eliminarlos del sistema. FoxPro es un Sistema Gestor de datos y archivos compatible con los diferentes Sistemas Operativos del mercado.
•Con FoxPro, las bases de datos eran tratadas por los desarrolladores y diseñadores de programas como un objeto completo, fácil de manejar, con atributos que lo convierten en una pieza clave del desarrollo del sistema. Los datos que estaban en estas bases, podrían ser cualquier cosa, imágenes, videos, multimedia en general, documentos, contactos, entre otros.
•Las ventajas de FoxPro se observaban más que todo en su complejo sistema de almacenaje, cuando fue creado, no existían computadoras personales con Disco Duro, todo se manejaba a través de disquetes y FoxPro suprimía considerablemente los datos a través de su mecanismo de administración de datos.

IBMDB2

•DB2 incluye todo lo necesario para implementar una solución de replicación de datos en cualquier tipo fr ambiente distribuido o heterogéneo, pues permite enviar los datos a cualquier sitio para cubrir todos los requerimientos de una empresa, desde oficinas centrales a sucursales, usuarios móviles, proveedores, clientes y socios de negocios. Gracias a su alcance global y de bajo costo, Internet puede ser una solución de negocios muy poderosa para realizar operaciones comerciales garantizando un nivel de seguridad y confiabilidad con sus servicios de autorización y autenticación integrados a redes y sistema operativos, soportando el network−computing utilizando Java y JDBC, incluyendo capacidad nativa de almacenar varios tipos de datos: alfanuméricos, video, imagen, audio y los definidos por el usuario.

1.Permite el manejo de objetos grandes (hasta 2 GB), la definición de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline.

2.Además, cuenta con un monitor gráfico de performance el cual posibilita observar el tiempo de ejecución de una sentencia SQL y corregir detalles para aumentar el rendimiento.

IBM Informics
•IBM Informix® es una base de datos rápida y flexible que puede integrar perfectamente SQL, NoSQL/JSON y datos espaciales y de series temporales. La versatilidad y la facilidad de uso de Informix hacen que sea una solución preferida para una amplia gama de entornos, desde los almacenes de datos empresariales hasta el desarrollo individual de aplicaciones. Además, con su pequeño tamaño y sus capacidades de autogestión, Informix es muy adecuado para las soluciones integradas para la gestión de datos.
•Los clientes de las empresas más innovadoras del mundo dependen de Informix. Descubra por qué, en sus propias palabras, con este informe de G2 Crowd, Informix Software: An Embedded Database for the Edge and Beyond (PDF, 1,7 MB).


InterBase



 Es un sistema de gestión de bases de datos relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear.

IB es un DBMS poderoso y compacto que cumple con el estandard SQL92 y que tiene soporte para muchas plataformas: Resultado de imagen para ventajas y desventajas de la base de datos Interbase

Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi-generacional. InterBase corre en plataformas Linux, Microsoft Windows y Solaris.


1.-InterBase destaca del resto de los sistemas de bases de datos por su arquitectura única, basada en versiones. Esto quiere decir que, a pesar de tratarse del sistema más barato, es también el que ofrece un mejor acceso concurrente a los datos que administra. Si necesitamos una vista coherente de la base de datos, Oracle, SQL Server y DB2 bloquean la información que leen e impiden su actualización durante la duración de la transacción de lectura. Esto no sucede en InterBase porque la escritura genera una nueva versión del registro, sin perder la coherencia de la información. Una agradable consecuencia es que podemos realizar copias de seguridad completas “en caliente”, sin interrumpir el funcionamiento del sistema.


2.-Otro de los puntos fuertes de InterBase es su cercanía al estándar de SQL, sobre todo en la sintaxis de procedimientos almacenados y triggers.


3.-Es sumamente fácil programar una base de datos activa en InterBase y posteriormente adaptar la definición para Oracle.


4.-El lenguaje de procedimientos y triggers es muy potente, e incluso supera a Oracle en la facilidad para expresar cláusulas de verificación check que involucren a varias tablas, y en que los triggers no están sujetos a los problemas ocasionados en Oracle por las denominadas “tablas mutantes”.


Programación Informática y Tipos de programación

 La programación informática es el proceso por medio del cual se diseña, codifica, limpia y protege el código fuente de programas computacio...