Archivo de la categoría Informática

Visual C++ 2008 vs Visual C++ 2017



Tal vez recordéis Sieve en PowerBASIC Console Compiler 6 donde comparaba la última versión de PowerBasic Console Compiler (6.04) de 2011, con la anterior (5.0) de 2008.

Continuando con el artículo de WinAPI contra C, intrínsecas, C++ y ensamblador donde evaluábamos diferentes mecanismos de hacer lo mismo sobre Windows, hoy compararemos la evolución que ha tenido Microsoft Visual C++ en estos 11 años.

Pues aprovechando que me he encontrado de casualidad con los ejecutables de Visual C++ 2008 que publiqué en x86 vs x64 he procedido a comparar el rendimiento con el último Visual C++ 2017.…

Continuar leyendo...

UnQlite compilado para Windows (32 y 64 bits)



Han pasado unos años desde que compilara SQLite para Windows x64. Hoy ocurre algo parecido, y es que gracias al nuevo Take Command he descubierto esta nueva base de datos NoSQL.

A diferencia de MongoDB o Redis, UnQlite se ha diseñado para ser standalone, o serverless como ellos lo llaman. Es decir, funciona embebido sin necesidad de ningún servidor, lo que en ese sentido la hace muy parecida a SQLite. Es además código C portable.

El caso es que aunque su código es libre, y está disponible en GitHub, su licencia para entornos de producción es comercial.

Ofrecen binarios disponibles para Windows, pero sólo de 32 bits.…

Continuar leyendo...

WinAPI contra C, intrínsecas, C++ y ensamblador



Vamos a proseguir con las comparativas que iniciamos en WinAPI vs C en donde si recordáis comparábamos las funciones de la RTL de los compiladores de Visual C++ 2017 y C++ Builder 10.2.3 contra las funciones de la API de Windows.

Hoy vamos a centrarnos en Visual C++, y lo que procederemos será a comparar el rendimiento de las diferentes formas que permiten rellenar un bloque de memoria con un valor determinado. Vamos a usar FillMemory (API de Windows); memset (RTL de C/C++); __stosd (intrínseca de Visual C++); implementación en C puro, e implementación en ensamblador puro.

Los resultados inicialmente han sido previsibles, la implementación en C++, pese a usar 32 bits se ha mostrado notablemente más lenta.…

Continuar leyendo...

Panorama de los relojes inteligentes



En el mundo de los entusiastas de la horología, un asunto que suscita muchas reflexiones es la decaída en el uso del reloj de pulsera. Es también un tema recurrente en las entrevistas relojeras.

Con el teléfono móvil acompañándonos a cada instante, y nuestro entorno plagado de relojes, parece que cada vez es menos necesario tener de un instrumento en nuestra muñeca sobre el que consultar la hora.

Tras años siendo usuario de la Xiaomi Mi Band, con el conato de “inteligencia” del Casio GMW-B5000D, y más reciente con uno de los integrantes de la crème de la crème, el Suunto 9 Baro, puedo hablar con cierto conocimiento de causa.…

Continuar leyendo...

Yo no soy influencer



Yo no soy un influencer, o no quiero serlo en la forma que las marcas lo entienden actualmente. Un influencer según una de las definiciones mejores que he encontrado es una persona que cuenta con cierta credibilidad sobre un tema concreto, y por su presencia e influencia en redes sociales puede llegar a convertirse en un prescriptor interesante para una marca.

Me gusta analizar productos que me interesan, independientemente que me los ceda una marca como que los pague de mi bolsillo. Un análisis honesto y con conocimiento es sin lugar a dudas un contenido que aporta valor, que efectivamente contribuye a que la gente compre o no compre ese producto, pero que lo haga sabiendo lo que hace.…

Continuar leyendo...

Suunto 9 Baro Black



Suunto Oy es una empresa finlandesa fundada en Vantaa en el año 1936 por Tuomas Vohlonen. Se dedicaron por muchos años a la fabricación de instrumentos de medida, esencialmente brújulas. Productos avanzados y de buena calidad, que no obstante fueron desconocidos en nuestro país durante muchísimos años.

En 1999 pasan a formar parte del conglomerado Amer Sports, dueño también de las marcas Salomon, Wilson, Atomic, Arc’teryx, Mavic y Precor. A la gran potencia comercial y de marketing del grupo se suma la globalización del siglo XXI, haciendo que Suunto acabe siendo una marca conocida en todo el mundo.…

Continuar leyendo...

Improve, ingenuity, support, resume, designed y location



Continuamos con Remover, resumir y otros términos, en esta ocasión incorporando las sugerencias de nuestros lectores: Kabe, bianamaran y las mías propias.

Para aportar algo de variedad al asunto, nos centraremos en anglicismos, muchos de ellos provenientes del entorno tecnológico, en esta ocasión, partiendo de sus términos en inglés, que se adaptan equivocadamente al español.

Improve

No significa improvisar, sino mejorar.

verb
1. mejorar
2. aumentar

Ingenuity

No quiere decir ingenuidad, sino ingenio. Naivety o naiveté son los términos correctos para ingenuidad.

noun
1.…

Continuar leyendo...

RAD Studio Community Edition (gratis)



Os traigo un anuncio muy interesante, puesto que como muchos sugeríamos y deseábamos, finalmente Embarcadero ha decidido liberar una versión gratuita y verdaderamente funcional de RAD Studio, es decir, tanto de C++ Builder como de Delphi. Se trata de RAD Studio Community Edition, o dicho de otro modo, de Delphi Community Edition y C++ Builder Community Edition.

Si bien actualmente teníamos las ediciones Starter que solían ser gratuitas (aunque puntualmente se vendieron a 99€), Starter era una edición tan recortada del producto que no servía para casi nada. Esta nueva edición Community es similar en concepto a Microsoft Visual Studio Community, es decir, tiene las mismas funcionalidades que la edición profesional (RAD Studio Pro), pero con una licencia parecida a la Starter que conocíamos.…

Continuar leyendo...

WinAPI contra C



Muchas veces tiendo a usar funciones implementadas en la API de Windows en vez de las nativas de C/C++. El motivo es que al estar disponibles en el propio sistema evitamos que se enlacen en nuestra aplicación, y así el ejecutable resultante sea más compacto. El inconveniente es que probablemente sean más lentas, particularmente porque nunca generarán código en linea (inline).

Nada mejor que hacer una pequeña comparativa de Windows API (WinAPI) vs la librería de funciones de C (C RTL), comparando sus equivalente. A saber:

ZeroMemory contra memset.
FillMemory contra memset.…

Continuar leyendo...

C++ Builder in the requirements



Como integrante del programa MVP de Embarcadero fui invitado para confeccionar a un call for papers acerca de C++ Builder.

El tiempo apremiaba, así que opté por desarrollar con mayor formalisto, que no rigurosidad, lo que os explicaba en ¿Por qué C++ Builder. De esa manera es como surgió mi autoría en el memorando (whitepaper) C++ Builder in the requirements, y que fue sometida el pasado 13 de abril de 2018.

C++ Builder in the requirements

April 13th 2018. Javier Gutiérrez Chamorro

Abstract

One of the key factors for successful development projects starts in its roots. The development technology you use.…

Continuar leyendo...