Papers by jorge dominguez chavez
Resumen-Llama la atención que, en ciertosíndices de popularidad del uso los lenguajes de programa... more Resumen-Llama la atención que, en ciertosíndices de popularidad del uso los lenguajes de programación, PHP esté en declive, sin embargo, al buscar servicios de hosting 1 la oferta se centra en PHP. Contradicción que ofrece un espacio para el análisis. En losúltimos 20 años se ha pronosticado la desaparición de PHP, sin embargo, a pesar de su menor popularidad, PHP sigue siendo una opción viable y demandada en el desarrollo de software. Por lo que se pretende presentar un análisis que explique esto contrastando con dos lenguajes populares, PYTHON Y JAVA.
Este artículo trata, de manera clara y detallada, sobre las funciones y/o procedimientos compilad... more Este artículo trata, de manera clara y detallada, sobre las funciones y/o procedimientos compilados en PostgreSQL, y proporciona información valiosa para los lectores interesados en este
sistema de gestión de bases de datos.
Si bien PostgreSQL dispone de una gran cantidad y variedad de funciones de agregado o definidas, puede suceder que los requisitos particulares de un sistema no encuentren solución en ellas.
En estos casos, el desarrollador codifica sus propias funciones o procedimientos para procesos específicos.
En el artículo Desarrollo de un osciloscopio virtual utilizando Glade, C++ y SFML: Una perspectiv... more En el artículo Desarrollo de un osciloscopio virtual utilizando Glade, C++ y SFML: Una perspectiva práctica y teórica, se presentó un osciloscopio virtual básico que para visualizar señales eléctricas de un solo canal. Además, el programa es estructurado. En esta continuación
de dicho artículo o Parte II, se presentan mejoras y adiciones que permiten al usuario visualizar señales de múltiples canales y tipos, así como realizar análisis de la señal, y el programa original se migra a una clase C++.
Adiciones al interfaz gráfico de usuario:
Ajustar la frecuencia de muestreo del osciloscopio.
Ajustar el ancho de pulso de la señal.
Guardar la captura de la señal en un archivo (será implementada en la parte III).
Mejoras a la implementación:
Representar señales de múltiples canales.
Representar señales de diferentes tipos, como ondas sinusoidales, cuadradas, triangulares, etc.
Realizar análisis de la señal, como la medición de la frecuencia, la amplitud y el tiempo
de subida.
Este artículo demuestra cómo desarrollar un osciloscopio utilizando Glade y el lenguaje C++.
Se a... more Este artículo demuestra cómo desarrollar un osciloscopio utilizando Glade y el lenguaje C++.
Se aborda una visión amplia de la representación matemática y gráfica de ondas en un osciloscopio electrónico, explorando las ondas sinusoidales y otras formas como las cuadradas, triangulares y las figuras de Lissajous. Además, se proporcionan ejemplos prácticos de programas en C++,
utilizando la biblioteca SFML para visualizar estas formas de onda en un entorno gráfico.
Se espera que el uso de casos concretos facilite la comprensión de la teoría, permitiendo a los lectores experimentar directamente la representación de las ondas en un entorno virtual. La
inclusión de programas para la graficación de ondas sinusoidales, triangulares, rectangulares y en figuras de Lissajous demuestra la versatilidad del osciloscopio electrónico y proporciona una base
sólida para aquellos interesados en comprender las diversas aplicaciones de este dispositivo.
Además, se resalta la importancia de ajustar los valores según las necesidades específicas y se proporciona una guía para la instalación de la biblioteca SFML en sistemas UX, permitiendo a los lectores implementar y experimentar con los programas por sí mismos.
Este artículo demuestra cómo desarrollar un osciloscopio utilizando Glade y el lenguaje C++.
Se ... more Este artículo demuestra cómo desarrollar un osciloscopio utilizando Glade y el lenguaje C++.
Se aborda una visión amplia de la representación matemática y gráfica de ondas en un osciloscopio electrónico, explorando las ondas sinusoidales y otras formas como las cuadradas, triangulares y las guras de Lissajous. Además, se proporcionan ejemplos prácticos de programas en C++, utilizando la biblioteca SFML para visualizar estas formas de onda en un entorno gráfico.
Se espera que el uso de casos concretos facilite la comprensión de la teoría, permitiendo a los lectores experimentar directamente la representación de las ondas en un entorno virtual. La inclusión de programas para la graficación de ondas sinusoidales, triangulares, rectangulares y en guras de Lissajous demuestra la versatilidad del osciloscopio electrónico y proporciona una base sólida para aquellos interesados en comprender las diversas aplicaciones de este dispositivo.
Además, se resalta la importancia de ajustar los valores según las necesidades específicas y se proporciona una guía para la instalación de la biblioteca SFML en sistemas UX, permitiendo a los lectores implementar y experimentar con los programas por sí mismos.
Este artículo continúa el tema de optimización de la interacción con bases de datos en PHP median... more Este artículo continúa el tema de optimización de la interacción con bases de datos en PHP mediante la clase`DatabaseConnection.php`. Una gestión eciente de la conexión a la base de datos es esencial para garantizar la rapidez, seguridad y eciencia de una aplicación web. La clase`DatabaseConnection.php`, basada en PDO y PHP, modulariza el código, mejora la seguridad y facilita el mantenimiento. Además, se mencionan soluciones especícas como pgBouncer y pgPool para PostgreSQL, que ofrecen funcionalidades avanzadas de gestión de conexiones y equilibrio de carga. La elección depende de los requisitos especícos de la aplicación y la tecnología. La clase PDO en PHP es una herramienta poderosa que proporciona ventajas en portabilidad, seguridad, soporte para múltiples bases de datos, rendimiento y exibilidad, lo que la convierte en una opción popular. En resumen, el uso de clases para gestionar conexiones a bases de datos mejora el rendimiento y la mantenibilidad, especialmente en aplicaciones web y sistemas con interacción frecuente con bases de datos.
Este artículo pretende realizar un análisis equilibrado de la relación entre la IA y la Educación... more Este artículo pretende realizar un análisis equilibrado de la relación entre la IA y la Educación Superior, considerando tanto sus ventajas como sus desafíos, y las diferencias entre los países, principalmente los latinoamericanos. También aborda las causas del potencial plagio académico, su detección, corrección y consecuencias. Nuestro objetivo es estimular un pensamiento crítico profundo y promover debates enriquecedores, con la esperanza de que los lectores desarrollen una comprensión más profunda y matizada de la IA en el contexto educativo.
Este artículo presenta las mejores prácticas para el acceso y la gestión de bases de datos Postgr... more Este artículo presenta las mejores prácticas para el acceso y la gestión de bases de datos PostgreSQL en PHP. Cubre temas como la conexión a la base de datos, la consulta de datos, las transacciones, los patrones de diseño y la gestión de errores. Comienza explicando cómo usar la función pg_connect() para conectarse a una base de datos PostgreSQL. A continuación, muestra cómo encapsular esta funcionalidad en una clase DatabaseConnection. Esta encapsulación permite interactuar de manera eciente con la base de datos, promueve la modularidad, mantenibilidad y seguridad en el código. También discute la importancia de métodos seguros y ecientes, como consultas preparadas y bibliotecas ORM, para evitar vulnerabilidades como la inyección SQL. Aborda el concepto de transacciones, destacando su relevancia para mantener la integridad y coherencia de los datos en entornos con múltiples usuarios concurrentes. Finalmente, se discuten dos patrones de diseño esenciales, el Singleton Pattern y el Factory Pattern, y cómo implementarse en la gestión de conexiones a bases de datos. Estos patrones ofrecen ventajas como la centralización de la creación de instancias y la abstracción de la lógica de acceso a datos. Se destaca la importancia de comprender y aplicar las mejores prácticas en el acceso a bases de datos. Lo que no sólo mejora la calidad y seguridad de las aplicaciones, sino que fortalecen las habilidades de desarrollo y contribuyen a la creación de sistemas más conables y efectivos. Palabras clave: PostgreSQL, PHP, Base de datos, Acceso, Gestión, Conexión, Consulta, Transacciones, Patrones de diseño This article presents best practices for accessing and managing PostgreSQL databases in PHP. It covers topics such as connecting to the database, querying data, transactions, design patterns, and error handling. It begins by explaining how to use the pg_connect() function to connect to a PostgreSQL database. It then shows how to encapsulate this functionality in a Database-Connection class. This encapsulation allows for ecient interaction with the database, promotes modularity, maintainability, and security in the code. It also discusses the importance of safe and ecient methods, such as prepared queries and ORM libraries, to avoid vulnerabilities such as SQL injection. It addresses the concept of transactions, highlighting its relevance for maintaining the integrity and consistency of data in environments with multiple concurrent users. Finally, it discusses two essential design patterns, the Singleton Pattern and the Factory Pattern, and how to implement them in database connection management. These patterns oer advantages such as centralizing instance creation and abstracting data access logic. It highlights the importance of understanding and applying best practices in database access. This not only improves the quality and security of applications, but it also strengthens development skills and contributes to the creation of more reliable and eective systems.
La rápida evolución tecnológica está cambiando la forma en que trabajamos, y las habilidades digi... more La rápida evolución tecnológica está cambiando la forma en que trabajamos, y las habilidades digitales se convierten en un activo valioso para las empresas y los profesionales en este entorno dinámico. Aquellos que poseen competencias digitales sólidas están mejor preparados para aprovechar las oportunidades que ofrece la transformación digital y para enfrentar los desafíos del futuro laboral. La inversión en el desarrollo de habilidades digitales es esencial para mantener la competitividad y el éxito en el mundo empresarial actual.
La pregunta que surge es: quiénes son los profesionales más expuestos a perder su empleo? No lo sabemos. No tenemos respuesta porque no con-
tamos con fuentes de información para hacer estimaciones precisas. Pero el aprender habilidades digitales para evitar riesgos. Es momento de prepararse para el futuro...!!!
La primera vez que leí el libro “Los 7 Hábitos de la Gente Altamente Efectiva” de Stephen Covey, ... more La primera vez que leí el libro “Los 7 Hábitos de la Gente Altamente Efectiva” de Stephen Covey, tenía veinte años. Es un gran y estimulante libro que simplifica cuestiones más importantes y los desafíos de la vida en un puñado de prácticas y principios. ¿La aplicación de estos hábitos podría hacernos programadores más productivos? Pensé que esta es una pregunta que vale la pena explorar.
Este trabajo tiene como objetivo presentar el funcionamiento y las posibilidades que ofrece el si... more Este trabajo tiene como objetivo presentar el funcionamiento y las posibilidades que ofrece el sistema operativo Android en el desarrollo de sus aplicaciones con Java. Comenzamos por un enfoque analítico de las características básicas de Android hasta llegar a la realización de una aplicación que ejemplos de sus funciones principales. Además, pretendemos estimular a aquellas personas interesadas a investigar sobre la programación para móviles. Adicionalmente, presentamos las características básicas para el desarrollo de aplicaciones Android con el lenguaje de programación Java. Para ello es necesario el conocimiento básico del lenguaje de programación y de la programación orientada a objetos. Sin embargo, contamos con cursos de Java desde cero. Este trabajo se centra en entender las aplicaciones Android, y como este sistema operativo trabaja y algunas de sus características principales. Por medio de ejemplos prácticos revisamos las características más importantes del API de Android, aplicado a smartphones o tablets, a su vez utilizamos el lenguaje Java, y herramientas de desarrollo como Eclipse y el simulador, empleadas para crear rápidamente aplicaciones Android, así como la aplicación de las distintas APIs disponibles a tal efecto. El trabajo pretende mostrar, de una manera didáctica, el uso y potencial de esta plataforma de desarrollo. Por esta razón, se dedica a describir los pasos necesarios para que un usuario con poca experiencia sea capaz de desarrollar sus propias aplicaciones Android. Programación Android con Java ¿Qué es una plataforma de software? Una plataforma informática es un sistema que sirve como base para hacer funcionar determinados módulos de hardware o de software con los que es compatible. Dicho sistema está definido por un estándar alrededor del cual se determina una arquitectura de hardware y una plataforma de software (incluyendo entornos de aplicaciones). Al definir plataformas se establecen los tipos de arquitectura, sistema operativo, lenguaje de programación o interfaz de usuario compatibles.
In the middle of the twentieth century, the economic and political elite gave a lower position, t... more In the middle of the twentieth century, the economic and political elite gave a lower position, to occasional advisers, who they call the experts. Today, the social, economic and political area recognizes that the natural and social sciences have a direct and fundamental influence.
¿Por qué nos preocupa la seguridad? A partir de los años 80 el uso del computador personal y de l... more ¿Por qué nos preocupa la seguridad? A partir de los años 80 el uso del computador personal y de los primeros teléfonos celulares comienza a ser común. Aparece la preocupación por la integridad de los datos. En la década de los años 90 proliferan los ataques a sistemas informáticos, aparecen los virus y se toma conciencia del peligro que nos acecha como usuarios de PC y equipos conectados a Internet. Las amenazas se generalizan a finales de los 90. Se toma en serio la seguridad informática. ¿Qué hay de nuevo en los años 2000? Por el uso de Internet, el tema de la protección de la información se transforma en una imperiosa necesidad y con ello se populariza la terminología “Políticas de seguridad”
Los ciberdelincuentes han utilizado el phishing y las redes sociales para obtener información de ... more Los ciberdelincuentes han utilizado el phishing y las redes sociales para obtener información de las personas y de las empresas. Los empleados recién contratados son los objetivos más buscados. Los costos de estos ataques son elevados, cada ataque varía según la persona y/o empresa. Los costos involucran: desprestigio para la persona, inquietud sobre bienes y familiares, interrupción de la actividad empresarial, gastos de los clientes, pérdida de ingresos y el detrimento de la imagen personal y/o de la empresa. Presentamos algunas sugerencias para resolver este problema.
Con la predicción buscamos reducir la incertidumbre que le espera a un sistema en el futuro, mien... more Con la predicción buscamos reducir la incertidumbre que le espera a un sistema en el futuro, mientras que con el control regulamos su operación para que cumpla con las expectativas y objetivos propuestos.
Uploads
Papers by jorge dominguez chavez
sistema de gestión de bases de datos.
Si bien PostgreSQL dispone de una gran cantidad y variedad de funciones de agregado o definidas, puede suceder que los requisitos particulares de un sistema no encuentren solución en ellas.
En estos casos, el desarrollador codifica sus propias funciones o procedimientos para procesos específicos.
de dicho artículo o Parte II, se presentan mejoras y adiciones que permiten al usuario visualizar señales de múltiples canales y tipos, así como realizar análisis de la señal, y el programa original se migra a una clase C++.
Adiciones al interfaz gráfico de usuario:
Ajustar la frecuencia de muestreo del osciloscopio.
Ajustar el ancho de pulso de la señal.
Guardar la captura de la señal en un archivo (será implementada en la parte III).
Mejoras a la implementación:
Representar señales de múltiples canales.
Representar señales de diferentes tipos, como ondas sinusoidales, cuadradas, triangulares, etc.
Realizar análisis de la señal, como la medición de la frecuencia, la amplitud y el tiempo
de subida.
Se aborda una visión amplia de la representación matemática y gráfica de ondas en un osciloscopio electrónico, explorando las ondas sinusoidales y otras formas como las cuadradas, triangulares y las figuras de Lissajous. Además, se proporcionan ejemplos prácticos de programas en C++,
utilizando la biblioteca SFML para visualizar estas formas de onda en un entorno gráfico.
Se espera que el uso de casos concretos facilite la comprensión de la teoría, permitiendo a los lectores experimentar directamente la representación de las ondas en un entorno virtual. La
inclusión de programas para la graficación de ondas sinusoidales, triangulares, rectangulares y en figuras de Lissajous demuestra la versatilidad del osciloscopio electrónico y proporciona una base
sólida para aquellos interesados en comprender las diversas aplicaciones de este dispositivo.
Además, se resalta la importancia de ajustar los valores según las necesidades específicas y se proporciona una guía para la instalación de la biblioteca SFML en sistemas UX, permitiendo a los lectores implementar y experimentar con los programas por sí mismos.
Se aborda una visión amplia de la representación matemática y gráfica de ondas en un osciloscopio electrónico, explorando las ondas sinusoidales y otras formas como las cuadradas, triangulares y las guras de Lissajous. Además, se proporcionan ejemplos prácticos de programas en C++, utilizando la biblioteca SFML para visualizar estas formas de onda en un entorno gráfico.
Se espera que el uso de casos concretos facilite la comprensión de la teoría, permitiendo a los lectores experimentar directamente la representación de las ondas en un entorno virtual. La inclusión de programas para la graficación de ondas sinusoidales, triangulares, rectangulares y en guras de Lissajous demuestra la versatilidad del osciloscopio electrónico y proporciona una base sólida para aquellos interesados en comprender las diversas aplicaciones de este dispositivo.
Además, se resalta la importancia de ajustar los valores según las necesidades específicas y se proporciona una guía para la instalación de la biblioteca SFML en sistemas UX, permitiendo a los lectores implementar y experimentar con los programas por sí mismos.
La pregunta que surge es: quiénes son los profesionales más expuestos a perder su empleo? No lo sabemos. No tenemos respuesta porque no con-
tamos con fuentes de información para hacer estimaciones precisas. Pero el aprender habilidades digitales para evitar riesgos. Es momento de prepararse para el futuro...!!!
sistema de gestión de bases de datos.
Si bien PostgreSQL dispone de una gran cantidad y variedad de funciones de agregado o definidas, puede suceder que los requisitos particulares de un sistema no encuentren solución en ellas.
En estos casos, el desarrollador codifica sus propias funciones o procedimientos para procesos específicos.
de dicho artículo o Parte II, se presentan mejoras y adiciones que permiten al usuario visualizar señales de múltiples canales y tipos, así como realizar análisis de la señal, y el programa original se migra a una clase C++.
Adiciones al interfaz gráfico de usuario:
Ajustar la frecuencia de muestreo del osciloscopio.
Ajustar el ancho de pulso de la señal.
Guardar la captura de la señal en un archivo (será implementada en la parte III).
Mejoras a la implementación:
Representar señales de múltiples canales.
Representar señales de diferentes tipos, como ondas sinusoidales, cuadradas, triangulares, etc.
Realizar análisis de la señal, como la medición de la frecuencia, la amplitud y el tiempo
de subida.
Se aborda una visión amplia de la representación matemática y gráfica de ondas en un osciloscopio electrónico, explorando las ondas sinusoidales y otras formas como las cuadradas, triangulares y las figuras de Lissajous. Además, se proporcionan ejemplos prácticos de programas en C++,
utilizando la biblioteca SFML para visualizar estas formas de onda en un entorno gráfico.
Se espera que el uso de casos concretos facilite la comprensión de la teoría, permitiendo a los lectores experimentar directamente la representación de las ondas en un entorno virtual. La
inclusión de programas para la graficación de ondas sinusoidales, triangulares, rectangulares y en figuras de Lissajous demuestra la versatilidad del osciloscopio electrónico y proporciona una base
sólida para aquellos interesados en comprender las diversas aplicaciones de este dispositivo.
Además, se resalta la importancia de ajustar los valores según las necesidades específicas y se proporciona una guía para la instalación de la biblioteca SFML en sistemas UX, permitiendo a los lectores implementar y experimentar con los programas por sí mismos.
Se aborda una visión amplia de la representación matemática y gráfica de ondas en un osciloscopio electrónico, explorando las ondas sinusoidales y otras formas como las cuadradas, triangulares y las guras de Lissajous. Además, se proporcionan ejemplos prácticos de programas en C++, utilizando la biblioteca SFML para visualizar estas formas de onda en un entorno gráfico.
Se espera que el uso de casos concretos facilite la comprensión de la teoría, permitiendo a los lectores experimentar directamente la representación de las ondas en un entorno virtual. La inclusión de programas para la graficación de ondas sinusoidales, triangulares, rectangulares y en guras de Lissajous demuestra la versatilidad del osciloscopio electrónico y proporciona una base sólida para aquellos interesados en comprender las diversas aplicaciones de este dispositivo.
Además, se resalta la importancia de ajustar los valores según las necesidades específicas y se proporciona una guía para la instalación de la biblioteca SFML en sistemas UX, permitiendo a los lectores implementar y experimentar con los programas por sí mismos.
La pregunta que surge es: quiénes son los profesionales más expuestos a perder su empleo? No lo sabemos. No tenemos respuesta porque no con-
tamos con fuentes de información para hacer estimaciones precisas. Pero el aprender habilidades digitales para evitar riesgos. Es momento de prepararse para el futuro...!!!
cialidad.
Hoy en día son muchas las aplicaciones de la informática. En invernaderos se utilizan compu-
tadores con programas que controlan la temperatura, humedad y el riego para conseguir
mejores plantas y frutos. En aviación se utilizan simuladores de vuelo para que los pilotos
entrenen y programas para controlar el tráfico aéreo. Los vehículos sin conductor, el tratamien-
to de imágenes por computadora, la arqueología, ganadería, medicina, ciencias e ingenierías
donde los usuarios de computadores de todo el mundo manejan programas de distintos tipos:
procesadores de texto, hojas de cálculo, gestores de bases de datos, sistemas operativos, nave-
gadores de Internet, juegos, reproductores de audio, de vídeo, etc. También hay computadores
en los edificios inteligentes, en cajeros automáticos y en muchos otros lugares.
Pues todos los programas que están en los computadores son hechos por programadores.
información, los riesgos en el entorno, la reducción de los ciclos de vida de los productos y los delitos infor-
máticos, hacen que la información sea un elemento clave para la gestión, supervivencia y crecimiento de la
organización empresarial. Moreno Cevallos [48].
En 1970 nace la auditoría informática. Ésta, constituye una plataforma que gestiona las TIC en las empresas,
detectando de forma sistemática el uso de los recursos y los flujos de información dentro de la empresa y
determinar si la información es crítica para el cumplimiento de su misión y objetivos, identificando nece-
sidades, falsedades, costos, valor y barreras, que obstaculizan los flujos de información eficientes. En este
momento, las organizaciones tienen conciencia sobre la necesidad de aumentar el nivel de control sobre la
gestión de sus sistemas de información, Moreno Cevallos, [48].
Para Castillo Pérez [49] la información depende de la confiabilidad de los datos, de los procesos que la ge-
neran y de los modelos para procesarlos. Los usuarios están conscientes que la información ayuda a ser más
productivo para cumplir con los objetivos de la empresa; por lo que esta información debe ser útil, oportuna,
fácil de interpretar, actualizada, adecuada y precisa; con estas características de la calidad de la información
se toman decisiones relevantes de una manera rápida, mejora su desempeño y efectividad en el trabajo.
Para una empresa la auditoría informática es una práctica de trascendental importancia social y económica,
establece diversas relaciones entre los diversos agentes, ya que mediante su aplicación se obtiene informa-
ción fiable para tomar decisiones que soporten el desarrollo y productividad de la empresa.
Este libro pretende ser una introducción a la auditoría informática. estimular su estudio y aplicación. Sustenta
que debe regirse por los cuatro puntos básicos: Políticas y procedimientos, Recuperación de desastres y continuidad del negocio, Supervisión en el sitio, Seguridad y Delitos informáticos.
La soltura del uso de la consola es una destreza a menudo abandonada y
considerada arcaica, pero su práctica denota flexibilidad y productividad de un
administrador de base de datos
en una forma obvia y sutil.
Los puntos presentados son básicos, y otros específicos, sofisticados, u ”oscuros”.
El libro no es largo, pero si usa y recuerda los puntos aquí tratados, sabrá sobre
configuración, administración de usuarios y grupos, accesos y rutas, y sobre
aspectos de seguridad en el servidor.
Este libro forma parte de la serie ”Bases de Datos Relacionales”
Hoy en día, casi la totalidad de los sistemas de información existentes consiste en el uso de Siste-
mas Gestores de Bases de Datos (SGBD) relacionales. En el mercado del software existen múltiples
opciones propietarias bien conocidas para suplir esta necesidad, sin embargo en el presente también
existen opciones libres que, por su escasa capacidad publicitaria, son notablemente desconocidas, al
menos en nuestro entorno.
PostgreSQL es un sistema de gestión de bases de datos orientado a objetos y relacional (ORDBMS)
que hace énfasis en la extensibilidad y conformidad con los estándares. Está liberado bajo la licencia
free/open source PostgreSQL, similar a la licencia MIT. PostgreSQL está desarrollado por el Grupo
de Desarrollo Global de PostgreSQL, el cual consiste en un grupo de voluntarios empleados y super-
visados por empresas como Red Hat y EnterpriseDB.
Este texto pretende enseñar las características básicas del SGBD PostgreSQL como alternativa en
prestaciones y robustez para cualquier tipo de demanda a los SGBD propietarios más extendidos.
Porque es uno de los lenguajes de programación mejor diseñados, eficientes y fáciles de usar actualmente. C es un lenguaje bastante simple, que ha sobrevivido el paso del tiempo ya con él se escriben sistemas operativos, compiladores, herramientas de sistema y muchas cosas necesarias para que las aplicaciones escritas en lenguajes de más alto nivel puedan funcionar. Su diseño minimalista, armónico y correcto se diferencia de otros que parecen parchados y obligados a adaptarse a ciertos paradigmas.
El lenguaje C fue creado en los 70's como un lenguaje de alto nivel (C era un lenguaje de alto nivel).
Uno de sus objetivos fue ayudar a los programadores a desarrollar sistemas operativos y debería contar con tres características: escribir comportamiento complejo sin mucho esfuerzo, construcciones de alto nivel y control sobre el hardware las que hacen a C uno de los lenguajes más confiables en la actualidad.
C es utilizado en el kernel de Linux, de los BSDs, de macOS y la API de Windows (WinAPI) está exportada como funciones y estructuras C. El kernel de un sistema operativo es un espacio cercano al hardware que se programa mediante el uso de ensamblador y lenguaje C. Así tene-
mos: Linux, Minix, Hurd, FreeBSD, OpenBSD, y Darwing, el kernel de Mac OS X. Linux sigue gobernando el 100 % de las 500 supercomputadoras más rápidas del mundo, un monopolio que
muestra el poder de este sistema operativo a la hora de ser utilizado en estos entornos.
Proyectos modernos implementados en C: a) PostgreSQL, Mariadb, Mysql, SQLite3 b) GIMP, c) Versionado: Git, Subversion, d) Servidores Web: Apache, Nginx, e) Editores: Emacs, VIM, Geany, f) Matemáticas: R, MATLAB, Octave, g) Aplicaciones: redis, memcached, GTK+, Gno-
me, xfce, cURL, Grandes partes de ReactOS y h) muchos virus informáticos se crean en C porque aprovecha vulnerabilidades en los programas para crear sus exploits.
C además, tiene otras características que lo hacen único entre todos los lenguajes de programación, ya que existe un compilador de C para todas las plataformas actuales y para muchas legadas. C es la lengua franca de todos los lenguajes de alto nivel.
Existen millones de líneas de código escritas en C desde hace décadas.