Archivo de la categoría Software

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...

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...

Remover, resumir y otros términos



Con frecuencia leo textos técnicos, mayoritariamente escritos por latinoamericanos que, quizás por la influencia del inglés son ciertamente incorrectos en ese contexto. Un poco como ya viéramos con Vectores, matrices, registros y otras hierbas, pero esta vez constatados sobre el DRAE (Diccionario de la Real Academia de la lengua Española).

La importancia de usar las palabras correctas es fundamental si queremos que los lectores comprendan con facilidad lo que decimos (o escribimos). Es una muestra más de los desarrolladores y las faltas de ortografía.

En este artículo hablaré de remover y de resumir, términos bastante habituales en su uso erróneo.…

Continuar leyendo...

Galardones de FileOptimizer



¿Por qué use C++ Builder con FileOptimizer? desvelaba mi apuesta personal por Embarcadero C++ Builder desde hace más de 20 años.

Volvemos a hacer balance de FileOptimizer, porque aunque la psicología evolutiva dice que quitamos importancia a los traumas sufridos en el pasado como simple condición de supervivencia, ello choca con un defecto que tenemos los humanos, recordar más lo negativo que lo positivo. Es lo que ocurrió en el artículo sobre FileOptimizer y la comunidad. No me olvido tampoco de la entrada en la Wikipedia que nunca llegó, ni de la implementación multihilo/multihebra que lleva años aplazándose.…

Continuar leyendo...

¿Por qué C++ Builder?



Empecé usando C++ Builder en 1996 con la versión 1.0, muchos lo conocíamos todavía como Ebony, el nombre en clave del producto. Desde entonces, he sido un apasionado de este entorno de desarrollo, en realidad ya lo era antes con Turbo C, lo que no dejan de ser un argumento más en favor de mi nombramiento como Most Valuable Professional en Embarcadero Technologies.

En aquellos años, la programación Windows era muy tediosa. Si en algún momento habéis programado para Windows de verdad, os sonarán los conceptos de bucle de proceso de mensajes, identificador de ventana, y aún recordaréis muchas de las funciones de su API.…

Continuar leyendo...

Nombres cortos en Windows 10



Por algún motivo que desconozco, en algunas instalaciones de Windows 10, el soporte de nombres de archivo corto o SFN (Short File Names), viene desactivado en algunos volúmenes.

Si la principal revolución de Windows NT 3.1 y Windows 95, fue el soporte de nombres de archivo largos o LFN (Long File Names), te preguntarás para que quiere uno seguir manejando los ficheros y directorios siguiendo la vieja convención de FAT tipo 8.3 (8dot3), o sea un nombre de ocho caracteres, y una extensión de tres.

En circunstancias normales, no necesitarías esta característica, en especial si usas una versión de 64 bits de Windows que ya no es compatible con DOS.…

Continuar leyendo...