Acerca de

La principal motivación de hacer publicaciones en este sitio está en poder compartir un poco del conocimiento adquirido como Ingeniero de Software.

La objetivo inicial es abarcar algunos conceptos generales de programación, principalmente en C++ moderno con CMake, incluyendo conceptos muy básicos, otros cuantos intermedios y avanzados. También pretendo que los ejemplos tengan los mínimos requerimientos posibles, ya que es común encontrar que para escribir un ejemplo simple en C++ hay que tener instalados varios programas, dependencias, herramientas, en general varios requerimientos que desmotivan a alguien que esté iniciando a conocer el lenguaje.

La documentación en español no es tan abundante como la que está en inglés; Javier Estrada es una de las personas que ha estado motivando a la comunidad hispanohablante para aumentar la documentación disponible en español, entre otras ayudando a adecuar la traducción de la documentación oficial y mantenerla al día. Ampliar esta documentación es otra de las motivaciones.

Distribución de las publicaciones en el sitio

Las entradas se agrupan en las siguientes pestañas:

  • Publicaciones: Corresponden a todas las entradas agrupadas por año y ordenadas por fecha, donde las que están más arriba son las creadas o modificadas más recientemente.
  • Categorías: Corresponden a los que yo considero como los niveles de compresión mínimos sugeridos para los temas tratados, tales como:
    • Principiante
    • Intermedio
    • Avanzado
  • Etiquetas: Corresponden a los temas principales tratados en una publicación, tales como:
    • CMake
    • C++
    • STL

Comentarios con Disqus

En todas las publicaciones es posible dejar comentarios, tanto como usuario de disqus, como invitado usando un correo electrónico, siguiendo los pasos que se muestran en la imagen:

disqus-guest

Publicidad

El público objetivo del sitio es básicamente yo mismo por lo tanto el sitio no contendrá publicidad.

Manos a la obra

Algunos consejos de Brian Ruth para mantenerse al día con C++ son:

  1. Aceptar que hay demasiados temas como para conocerlos todos.
  2. Distinguir nombres, siglas, bibliotecas, palabras clave.
  3. Filtrar las fuentes de información.
  4. Enseñar un poco de lo que sabe.

Este sitio es claramente el punto 4, así que sin más rodeos ¿Por donde comenzar? Pues por ¡Hola Mundo!


Entradas recientes

Señales y Ranuras

4 minutos de lectura

Señales y Ranuras se refiere a una funcionalidad para comunicación entre objetos. En C++ es un término acuñado a Qt enfocado en la comunicación en interfaces...

Hola Mundo, de nuevo: std::print

3 minutos de lectura

Así como sucede con la mayoría de funcionalidades en C++ hay diversas formas de escribir mensajes en el stdout. A partir del estándar C++23 se puede encontra...

Operación Módulo

6 minutos de lectura

Es una operación aritmética usada para obtener el residuo en una división, usualmente de números enteros positivos, pero no está limitada solamente a ellos, ...

Tamaño de objetos invocables

3 minutos de lectura

Todo objeto que pueda ser invocado usando la sintaxis de llamado a función es considerado un objeto invocable. Por ejemplo: Punteros a funciones (miembro, y ...

Interfaces Gráficas de Usuario

3 minutos de lectura

En C++ no hay una biblioteca de gráficos dentro del estándar por lo cual es necesario recurrir a bibliotecas de terceros, como Gtk, Qt, o SFML. Es bastante c...

Depuración de scripts Python en CLion

3 minutos de lectura

No es sorpresa ver que Jetbrains tiene muy bien documentada la manera de configurar un intérprete de python en CLion, y que bastan solamente dos sencillos pa...

Funciones Miembro Especiales

4 minutos de lectura

Son aquellas funciones que bajo ciertas circunstancias se definen automáticamente por el compilador aun si no son declaradas por el usuario.

Convenciones de nombres

3 minutos de lectura

La decisión de usar una convención suele acordarse para un proyecto o equipo. Lo más importante al elegir una es que sea consistente a través de todo el códi...

Pruebas de referencia: benchmark

3 minutos de lectura

En programación se suelen usar las benchmarks, o pruebas de referencia, como una técnica para medir el rendimiento de un sistema o de uno de sus componentes.

Fechas en formato estándar

3 minutos de lectura

Una forma sencilla de representar la fecha-hora en el formato estándar ISO 8601 es usando std::chrono y la biblioteca {fmt}.

Complemento a dos: binarios negativos

6 minutos de lectura

Hay varias maneras de representar números binarios con signo; una es por medio del Complemento a Dos, con la cual se debe tener en cuenta el número de bits a...

SQL incrustado usando SOCI

5 minutos de lectura

SOCI es una biblioteca de acceso a bases de datos que soporta SQLite, MySQL, Oracle SQL, entre otras. El enfoque en esta publicación es usarla para hacer rea...

Mini base de datos con SQLite3

4 minutos de lectura

SQLite es una biblioteca que implementa un motor de bases de datos pequeño, rápido, auto-contenido, de alta fiabilidad, y de funcionalidad SQL completa.

fmt: Una biblioteca de formato de texto

4 minutos de lectura

{fmt} es una biblioteca de código abierto, definida como una alternativa rápida y segura frente a stdio (de C) y iostreams (de C++) para dar formato. std::fo...

Sobrecarga del operador de inserción

2 minutos de lectura

Un stream es un canal de flujo de datos; el operador de inserción << se encarga de insertar datos en un flujo de salida std::ostream, como lo es std::c...

Compilación a velocidad Ninja

2 minutos de lectura

Uno de los generadores CMake disponibles se denomina Ninja, y genera los archivos requeridos para el sistema de compilación con el mismo nombre.

Creación de bibliotecas en proyectos CMake

3 minutos de lectura

Los dos tipos de bibliotecas usualmente creadas en C++ son: estáticas y dinámicas. A diferencia de los binarios ejecutables, estas no tienen punto de entrada...

Tamaño de una clase vacía

2 minutos de lectura

Una clase vacía es aquella que no contiene variables miembro, y contiene por lo menos una función miembro.

Ordenamiento intuitivo con Rangos

4 minutos de lectura

La biblioteca de rangos incluida en C++20 trae finalmente una funcionalidad con la cual realizar ordenamientos en contenedores secuenciales de la STL de una ...

Compilación simplificada con CMake

4 minutos de lectura

CMake es una herramienta para controlar el proceso de compilación de software de una manera simple, independiente de la plataforma.

Conan como administrador de paquetes

5 minutos de lectura

Conan es un administrador de paquetes multiplataforma, descentralizado, y de código abierto, que permite crear y compartir paquetes de software para C++

El estándar del lenguaje

2 minutos de lectura

Un estándar de C++ hace referencia a una versión aprobada por el comité de estandarización. Al 2020 se han aprobado los estándares 98, 03, 11, 14, 17, y 20; ...

Hola Mundo C++

1 minuto de lectura

Hola mundo en informática hace referencia al primer ejercicio que se hace para visualizar la sintaxis de un lenguaje de programación.