jueves, 8 de agosto de 2019

LENGUAJES DE PROGRAMACION

LENGUAJE C 
También conocido como "lenguaje de programación de sistemas", fue creado en el año 1972 por Dennis Ritchie para UNIX un sistema operativo multiplataforma donde el lenguaje C es un lenguaje estructurado como son Pascal,Fortran,Basic.

En 1973, el lenguaje C se había vuelto tan potente que la mayor parte del kernel Unix, originalmente escrito en el lenguaje ensamblador PDP-11/20, fue reescrita en C.
Éste fue uno de los primeros núcleos de sistema operativo implementados en un lenguaje distinto al ensamblador. (Algunos casos anteriores son el sistema Multics, escrito en PL/I, y Master Control Program para el B5000 de Burroughs, escrito en ALGOL en 1961).

VENTAJA DEL LENGUAJE:

-La programación en C tiene una gran facilidad para escribir código compacto y sencillo a su misma vez.
-En el lenguaje C no tenemos procedimientos como en otros lenguajes solamente tenemos funciones y los procedimientos los simula.
- Esta terminantemente prohibido escribir funciones, procedimientos y los comando en mayúscula todo se escribe en minúscula (a no ser las constantes J).
- Los archivos en la C se escriben en texto puro de ASCII del dos si se escribe en WORD: por ejemplo, el mismo se incluye muchos códigos no entendidos por el compilador y generara errores, una vez escrito se debe pasar a compilar el archivo que tiene 2 extensiones (NOTA : El compilador genera archivos con extensión EXE).

ESTRUCTURA DE PROGRAMACIÓN:

Encabezados <ficheros.h> en el se almacenan las funciones que trae el lenguaje propio o las funciones nuestras se les llaman " Librerías".Las funciones de C dan mucha potencia al programador en podemos realizar los programas con mucha potencia y facilidad de código.


Las constantes son variables que conservan el mismo valor todo el programa una vez que incluimos una constante en nuestro programa el compilador va a sustituir el texto contenido en la constante por el texto del mismo.

Son llamadas cabecera de funciones a las que se encuentran en el mismo programa y al final de la función principal MAIN () en el que se desarrolla todo el codigo  del programa que son llamadas funciones de procedimientos (es una función que se autoejecuta cuando se compila el programa).


TIPO DE VARIABLES EN C:


PROCESO DE COMPILACIÓN:

La compilación de un programa C se realiza en varias fases que normalmente son automatizadas y ocultadas por los entornos de desarrollo:
  1. Preprocesado consistente en modificar el código fuente en C según una serie de instrucciones (denominadas directivas de preprocesado) simplificando de esta forma el trabajo del compilador. Por ejemplo, una de las acciones más importantes es la modificación de las inclusiones (#include) por las declaraciones reales existentes en el archivo indicado.
  2. Compilación que genera el código objeto a partir del código ya preprocesado.
  3. Enlazado que une los códigos objeto de los distintos módulos y bibliotecas externas (como las bibliotecas del sistema) para generar el programa ejecutable final.



VISUAL BASIC

Es un lenguaje de programación orientado a objetos creado por Microsoft , es un lenguaje que incorpora todas las herramientas necesarias para la creación de cualquier aplicación para Windows.
Visual Basic es un lenguaje visual que se origina del lenguaje de programación Basic, este lenguaje se basa en un ambiente de desarrollo totalmente gráfico, que facilita la creación de interfaces gráficas.

BARRA DE MENÚ:

Esta barra resulta muy similar a la de cualquier otra aplicación de Windows, ya que algunos menús de esta barra tienen muy poca novedad.El menú File tiene pocas novedades,lo más importante es la distinción entre proyectos. Un proyecto reúne y organiza todos los ficheros que componen el programa o aplicación, estos ficheros pueden ser formulario, módulos, clases, recursos, entre otros. Visual Basic 6.0 permite tener más de un proyecto abierto simultáneamente, lo cual puede ser útil en ocasiones El menú Proyect permite añadir distintos tipos de elementos a un proyecto, se puede elegir el tipo de proyecto y determinar el formulario con el que se arrancará la aplicación, con el comando componentes se pueden añadir nuevos controles a la barra de controles (Toolbox) que aparece a la izquierda de la pantalla.

BARRA DE HERRAMIENTA ESTÁNDAR: 

Aparece debajo de la barra menús, esta permite acceder a las opciones más importantes de los menús de Visual Basic. Esta barra posee dos elementos que son propios de EID de Visual Basic, el primer elemento marcado en rojo representa  el indicador de posición de los controles en la aplicación.

El segundo elemento marcado en rojo representa el indicador de tamaño de los controles en la aplicación

CAJA DE HERRAMIENTA:
Esta caja incluye controles con los que se puede diseñar la pantalla de la aplicación, estos son, botones de comando, etiquetas, cajas de texto, imágenes, entre otros.
FORMULARIOS:
Son las zonas de la pantalla sobre las que se diseña el programa y sobre los que se sitúan los controles o herramientas. Al ejecutar el programa el formulario se convertirá en la ventana principal de la aplicación.
VENTANA DE PROPIEDADES:
En ella se muestran todas las propiedades de un control o un módulo seleccionado en la aplicación.
VENTANA DE ESQUEMA DE FORMULARIOS:
Esta ventana permite observar y alinear en la pantalla de cada uno de los formularios de una aplicación, es decir, que permite indicar la posición donde se debe aparecer cada uno de los formularios.

CONTROLES USADOS EN VISUAL BASIC 6.0:
BOTONES DE COMANDO: 
Son aquellos botones típicos que vemos frecuentemente en las aplicaciones de Windows, que realizan operación en específico, ejemplo, salir, imprimir, cancelar y otros.

FONT: 
Permite cambiar de fuente del texto que aparece en el objeto, el tipo de fuente se refiere a las operaciones o efectos que se pueden efectuar sobre un texto como el tamaño de letra, negrita, cursiva y otros.




COBOL

Es un lenguaje de programación de alto nivel desarrollado por primera vez por el Comité CODASYL (Conference on Data Systems Languages) en 1960. Desde entonces, la responsabilidad por el desarrollo de nuevas normas COBOL ha sido asumida por el American National Standards Institute (ANSI). Ha habido 3 modificaciones de normas ANSI para este lenguaje: en 1968, 1974 y 1985. COBOL es un acrónimo que significa COmmon Business Oriented Language (Lenguaje orientado a los negocios comunes).

CARACTERÍSTICAS:
Para evitar errores de redondeo en los cálculos que se producen al convertir los números a binario y que son inaceptables en temas comerciales, COBOL puede emplear y emplea por defecto números en Base diez.

Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los nuevos paradigmas de programación y a los lenguajes que los implementaban. En la revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un método de generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes de compiladores las añadían de forma no estándar. Este proceso se está viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten emplear COBOL como Lenguaje de scripting y de Servicio web. También existen compiladores que permiten generar código COBOL para la plataforma .NET y EJB.
Distribución de perfiles de revisión de código:
-Exportación e importación de perfiles de revisión de código.Además, la Revisión de código para COBOL soporta reglas personalizadas escritas por el  usuario. Las características incluyen:
-Generación rápida de proyectos de plug-in para el desarrollo de normas escrita por el usuario.
-Generación de archivos de código fuente Java™ que proporcionan una infraestructura para una regla escrita por el usuario.
-Una API Java que proporciona clases para reglas personalizadas escritas por el usuario.
-Una API Java para acceder a los elementos de lenguaje COBOL de un archivo de código fuente cuanto éste se está revisando.
-Soporte de muchos elementos de lenguaje COBOL.

La aplicación de revisión de código de línea de mandatos está soportada para COBOL.

Las características incluyen:
-Ejecución desde la línea de mandatos de Linux o Windows.
-Soporte para reglas estándar específicas de lenguaje, reglas y categorías personalizadas y reglas personalizadas escritas por el usuario.
-El soporte de proceso por lotes de varios proyectos o directorios.
-Opciones de ámbito para procesar proyectos, directorios o todos los proyectos del espacio de trabajo.
-Soporte para incluir listas y excluir listas de archivos específicos.
-Archivos de salida de datos XML y CSV.




PASCAL

Pascal es un Lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60. Su objetivo era crear un lenguaje que facilitara el aprendizaje de la Programación a sus alumnos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
  1. El código esta dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
  2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.


CARACTERÍSTICA:

Es un lenguaje que casi se considera pseudo-código, así que puedes ofrecer explicaciones comprensibles y completas directamente con código.Eso implica que su lenguaje tiene 3 principales características:
- La claridad que se pueda entender cuando se lea un código,si un programa esta claramente escrito debe ser posible que otro programador siga la logia sin esfuerzo.
-La legibilidad no importa lo que ocupe el código, si esta correctamente tabulado y ordenado para poder leerse.Esto solo se consigue a través de un acercamiento disciplinado de la programación.
-La eficacia de la velocidad de ejecución y el uso de los recursos del ordenador (sobre todo la memoria).


COMPILADORES DISPONIBLES DE PASCAL:


-Epox

-Compilador GNU Pascal(GPC), escrito en C, basado en GNU Compiler COllection(GCC) que se distribuye bajo licencia GPL.

-Free Pascal es un compilador estable y potente distribuido tambien libremente bajo la licencia GPL la cual este sistema te permite mezclar codigo Turbo Pascal con codigo Delphi y soporta muchas plataformas y sistemas operativos. 
-Turbo Pascal fue el compilador dominante para PCs durante los años 80 y hasta principios de los año 90, muy popular debido a sus magnificas extensiones y tiempos de compilacion sumamente cortos.

-Delphi es un producto tipo RAD (Rapid Application Development) de Borland utiliza el lenguaje de programación Delphi, descendiente de Pascal, para crear aplicaciones para la plataforma Windows, en donde las ultimas versiones soportan compilacion en la plataforma .NET.

 - Kylix es la versión mas nueva de Borland reiterando la rama de Pascal de sus productos, es descendiente de Delphi con soporte para el sistema operativo Linux y una librería de objetos mejorados (CLX).El compilador y el IDE están disponibles para uso no comercial, actualmente este proyecto esta descontinuado.
-Lazarus es un clon de Delphi, basado en Free Pascal es software libre.





JAVA
Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de Lenguaje de Programación C C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.

VENTAJA:

-El Lenguaje JAVA es orientado a objetos,el paradigma de programación orientada a objetos supuso un gran avance en el desarrollo de aplicaciones, ya que es capaz de acercar la forma de programar a la forma de pensar del ser humano.
-El Lenguaje JAVA  es relativamente fácil de aprender comparado con otros.
-En JAVA no existen problemas con la liberación de memoria en el sistema, decidieron romper con el sistema tradicional de liberación de memoria, haciendo que el programador ya no fuese el responsable de esa tarea.
-Sintaxis similar a C/C++,pero mas simple
-Manejo automático de la memoria(para los que vienen de C/C++)"Si, no hay punteros! WOW!
-Puede correr en el explorador y en dispositivos móviles.

DESVENTAJAS:
-Algunas implementaciones y librerías pueden tener código rebuscado
-Al tratarse de un lenguaje interpretado,el rendimiento en la ejecución de programas suele ser un poco menor.
-Al contrario que los programas compilados a codigo nativo,solo podemos ejecutar un programa en JAVA si disponemos de una maquina virtual(JVM), sin este simulador no podremos ejecutar ningún programa escrito en JAVA.




POWERBUILDER

Es una herramienta de desarrollo de clase empresarial desarrollada por la empresa PowerSoft,es orientada a objetos y permite el desarrollo de diferentes tipos de aplicaciones y componentes para ejecutar arquitecturas cliente/servidor,distribuidas y web.

CARACTERISTICAS:

-PowerBuilder es una herramienta de desarrollo orientada a aplicaciones de gestión contra bases de datos. Algo así como un Oracle Developer/2000 o el Access de Microsoft, pero profesional, multiplataforma, cliente/servidor, orientado a objetos y capaz de acceder homogéneamente a cualquier base de datos que soporte SQL.
-PowerBuilder está orientado al 100% para aplicaciones de gestión (contabilidad, facturación, financieras) con uso intensivo de base de datos.
-Cuenta con un lenguaje propio de alto nivel llamado PowerScript, que soporta todas las características de la orientación a objetos (encapsulación, herencia, y polimorfismo), SQL incrustado, excepciones (a partir de la versión 8 ), y otras características propias de este tipo de lenguajes.

HISTORIA:

POWERSOFT: En 1991 se crea la versión PowerBuilder 1.0 que prometía facilitar la creación de la aplicaciones de escritorio en el sistema operativo Windows de Microsoft, esta empresa fue la encargada hasta la tercera versión en el año 1993.

SYBASE: 
En el año 1994 Sybase adquiere a PowerSoft,desde ese momento comenzó una gran época para PowerBuilder, se integraría con otros productos de la empresa y sumaría una presencia mundial, sin embargo con el advenimiento de Internet, la aparición de nuevos lenguajes de programación y la baja innovación de Sybase en este producto provocó una perdida de competitividad.

SYBASE SAP: En 2010 la empresa SAP adquiere Sybase, desde el punto de vista tecnológico SAP requería productos que fortalecieran sus software y no depender de terceros, en esta linea PowerBuilder nunca fue de su interés quedando relegado durante los últimos 7 años, perdiendo popularidad y funcionalidades.

APPEON: En julio de 2016 la empresa SAP anuncia que firmó un acuerdo que cede la administración del desarrollo de Powerbuilder a la empresa Appeon​ un compañía dedicada a la prestación de servicios tecnológicos basados en las tecnologías de la extinta Sybase.

lunes, 8 de julio de 2019

MODELOS DE IMPLEMENTACION DE INTERNET DE LAS COSAS

El Modelo de Implementación es comprendido por un conjunto de componentes y subsistemas que constituyen la composición física de la implementación del sistema. Entre los componentes podemos encontrar datos, archivos, ejecutables, código fuente y los directorios. Fundamentalmente, se describe la relación que existe desde los paquetes y clases del modelo de diseño a subsistemas y componentes físicos.

Un informe elaborado por IoT Solutions World Congress, el evento más relevante relacionado con Internet de las Cosas para el sector industrial que organiza anualmente Fira de Barcelona, pone de manifiesto que, en el cada vez más acelerado proceso de expansión de sistemas y metodologías relacionadas con Internet de las Cosas en diferentes sectores industriales, emergen modelos de negocio disruptivos que surgen y se multiplican a la misma velocidad. 

No obstante, los expertos advierten que la implementación de una red IoT de acuerdo a modelos de negocio establecidos en otros sectores o empresas no será suficiente a la hora de extraer valor de las oportunidades que proporcionan los procesos basados en cloud. 

Sacar partido de IoT implica que las empresas han de redefinir sus planteamientos en la creación de valor y en la captura del mismo”

De un modo similar al proceso que sigue la creación de valor, la conexión de un sistema IoT que aproveche el potencial de cloud y establezca una política adecuada conseguirá monetizar el valor aplicado al cliente, señala el estudio de IoT SWC, en un proceso que permitirá a las organizaciones trasladar nuevas capacidades en la creación de nuevos productos más rápidamente, a la vez que estableciendo puntos clave de control en la cadena de valor a la hora de reducir costes, registrar patentes y ganar fortaleza de marca.
La adopción de redes de Internet de las Cosas está dando lugar a que las grandes empresas estén transformando su manera de hacer negocios. Al examinar más de cerca las industrias que en la actualidad encabezan el crecimiento a través de IoT y de qué modo diferentes sectores de la economía tienen la posibilidad de beneficiarse de las innovaciones que brinda la tecnología de los sensores y la analítica de datos, se observa que prácticamente todos pueden sacar partido de internet de las cosas, lo que significa que habrán de aplicar un gran despliegue de sensores conectados a objetos como maquinaria industrial, edificios de oficinas y estanterías de almacenes. 




La industria de la fabricación invertirá del orden de 140.000 millones de dólares en soluciones IoT dentro de los próximos 5 años

De todos los sectores industriales manufacturing será el primero en implementar despliegues de IoT de forma masiva, donde la parte más significativa de las inversiones se la llevarán los sistemas de sensores instalados en las plantas de fabricación. En la actualidad, un 18% de la industria de la cadena de producción dispone de despliegues IoT y, de estos, al menos una quinta parte emplea IoT para incrementar la producción y reducir los costes. A través de la comunicación M2M, las empresas de fabricación podrán tomas decisiones proactivas para mejorar la línea de suministro, a través de operaciones de mantenimiento preventivo. Además de ello, las tecnologías M2M ayudarán a reducir la producción defectuosa y los tiempos muertos en la cadena de fabricación.




Un 17% de compañías del sector de la automoción emplea en la actualidad plataformas IoT en la cadena de producción de sus vehículos.

 Volkswagen, por ejemplo, ha implementado un sistema que realiza un seguimiento de todas las partes que intervienen en la cadena de suministro para saber la localización exacta de cada pieza en todo momento. Es de esperar que otros sectores industriales como el transporte y el almacenamiento, al tratarse de empresas de logística, realizarán grandes inversiones en la automatización de sus almacenes y sistemas de expedición hasta alcanzar los 112.000 millones de dólares en 2019. Las TIC es otro de los sectores industriales que ya saca partido de IoT; un segmento que expande sus inversiones para acomodar nuevos servicios al incremento en volumen de datos y a las necesidades de análisis de información que genera IoT.




El ecosistema de internet de las cosas ofrece a los retailers oportunidades en tres áreas críticas

Experiencia del cliente, cadena de suministro y en la construcción de nuevos canales de venta. Mientras IoT sigue permaneciendo en la mente de muchos como un fenómeno más cercano a la ciencia-ficción, los rápidos avances alcanzados en este sector superan los niveles de comprensión de la mayoría. IoT pone a disposición de los retailers oportunidades reales a la hora de desarrollar un vasto ecosistema que conecte el mundo físico con el virtual, permitiendo la bidireccionalidad, y la interacción con los consumidores tanto en el establecimiento como fuera del mismo, siendo el smartphone el elemento que actúa de hub de las interacciones. La tecnología de localizadores beacon está siendo empleada por retailers para interactuar directamente con los consumidores en el momento que entran en el establecimiento.



El sector de la energía necesita modernizar su infraestructura de abastecimiento actual


Es imposible efectuar una reconstrucción que parta de la misma base del sistema; la solución pasa por confiar en las tecnologías inteligentes para optimizar las infraestructuras con la finalidad de mejorar la calidad y la seguridad del suministro energético a costes más reducidos para los consumidores. Junto con la innovación tecnológica, y la entrada de nuevas fuentes de energía y generación distribuida sobre nuevas redes inteligentes (smart grids), el desarrollo de energías renovables y la integración progresiva de nuevos modos de transporte están transformando el sector, si bien es cierto que, actualmente, el segmento energético está sometido a cambios importantes tanto por razones de entorno regulatorio como por la situación de liberalización y competencia creciente. 

















Los dispositivos conectados a redes IoT disponen de mayores cotas de seguridad

Proporcionan utilities que otorgan unos niveles de control sin precedentes en las operaciones de suministro a través de tecnologías digitales; unas tecnologías que colman la necesidad más fundamental de las empresas energéticas. Una vez ha alcanzado el nivel básico en calidad y seguridad en el suministro, IoT puede ayudar a las energéticas a abordar requerimientos de segundo y tercer nivel.
La transformación digital de los negocios a través de servicios de valor dirigidos a los consumidores estará presente en IoT SWC 2016

Los próximos días 25, 26 y 27 de octubre de 2016, Barcelona acogerá la segunda edición del congreso más importante del mundo dedicado a tecnologías y procesos relacionados con Internet de las Cosas de aplicación industrial: IoT Solutions World Congress (IoT SWC) que organiza Fira de Barcelona.




TIPOS DE LICENCIAS LIBRE

La licencia de software es una especie de contrato en el cual se especifican todas las normas y clausulas que dictan el uso de un programa.
Al instalar o adquirir un programa significa que a aceptado el contrato de LICENCIA que otorga dicho programa.





Software Libre:

Es un programa o secuencia de instrucciones usada por un dispositivo de procesamiento digital que sirva para resolver un problema determinado, en pocas palabras el software libre si puede estar licenciado,o protegido por una patente autoral.
El software libre suele estar disponible gratuitamente, o al precio de distribución. al denominarse como software libre se le puede definir como "Software Gratuito"
Y si el software es distribuido puede definirse como "Sofware Comercial".



COPYLEFT:

La mayoría de las licencias usadas en la publicación de software libre permite que los programas sean modificados y redistribuidos. Estas prácticas están generalmente prohibidas por la legislación internacional de copyright, que intenta impedir que alteraciones y copias sean efectuadas sin la autorización del o los autores.


DEBIAN:

De entre todos los tipos de software debian es la mas clara, ya que se aplica directamente entre debia y la comunidad desarrolladora.
cualquier distribuición hecha bajo la licencia Debian deba estar acompañada de su código fuente





LICENCIA SHAREWARE:

Esta licencia en particular puede subdividirse en otras debido a sus condiciones. Ya que permite al usuario poder hacer uso de los programas por un tiempo limitado; o, en algunos casos puede usarse permanentemente, pero con funciones limitadas. 
En el cual abarca tres tipos de licencia:

-TRIAL:

Es el nombre que se le da a la licencia de un programa de pago que tiene todas sus funciones activas; pero, solo por un período de tiempo limitado. Y de entre los ejemplos más populares tenemos la paquetería de Adobe, Sony Vegas, Kaspersky, etc.

-DEMO:

Este tipo de licencia se presenta a menudo en los videojuegos; ya quepermite al usuario hacer uso del producto por tiempo indefinido, pero con la mayoría de sus funciones restringidas.

-ADWARE

Está clasificación se le da a aquellos programas comerciales que puedes utilizar de forma gratuita; pero que a cambio, descargan publicidad o que cuentan con versiones más avanzadas del mismo producto que requieren de ser compradas. 



LICENCIA TIPO MPL:

Se asemeja a la licencia BSD que vimos anteriormente; sin embargo, está es menos permisiva con las distribuciones y se considera un termino medio entre licencias BSD y las licencias GNU. Sus lineamientos te obligan a entregar al creador original del código tus modificaciones; y te permite solo licenciar los archivos binarios.




LICENCIA FREEWARE:

Se trata del libre derecho al uso y copia de un software bajo los términos que defina el autor de dicho programa; y a su vez, no permiten bajo ninguna condición su modificación o venta por parte de terceros. 



LENGUAJES DE PROGRAMACION

LENGUAJE C   También conocido como "lenguaje de programación de sistemas", fue creado en el año 1972 por Dennis Ritchie para UN...