Una pequeña aproximación a los paradigmas de la programación

En el mundo de la informática podemos encontrar lenguajes de programación para todos los gustos. Claro que no depende de nuestro gusto la elección de un lenguaje u otro, sino del contexto en el que se vaya a utilizar. No es lo mismo implementar un sistema de reconocimiento facial que desarrollar un API RESTful… Pero no sólo hay diferentes lenguajes de programación que elegiremos dependiendo del caso concreto, sino también diferentes paradigmas de la programación. En este post analizamos brevemente en qué consiste cada uno de estos paradigmas.

Continuar leyendo “Una pequeña aproximación a los paradigmas de la programación”

¿Cómo sabemos que un proyecto de desarrollo ha terminado?

Uno de los problemas recurrentes cuando se ejecuta un proyecto de desarrollo de software es saber cuándo el proyecto ha acabado, es decir, cuándo el cliente acepta la entrega del proyecto y se liberan los recursos para otros proyectos. Desde la perspectiva del cliente, el problema está en saber si la aplicación que se entrega hace lo que él espera que haga. Por otra parte, los desarrolladores suelen decir que una tarea está terminada cuando han terminado de escribir el código. Sin embargo, la programación inicial no siempre cubre las necesidades del cliente. Puede que la toma de requerimientos no haya sido precisa o puede que el código no funcione como el programador espera. En cualquiera de los dos casos, esto supone un inconveniente tanto para el cliente como para el desarrollador.
Continuar leyendo “¿Cómo sabemos que un proyecto de desarrollo ha terminado?”

SQL vs NoSQL

Históricamente, las bases de datos se han venido representando como una agrupación de tablas y relaciones entre éstas. Para hacer consultas a estas bases de datos se emplea el lenguaje SQL. De ahí que a este tipo de bases de datos (relacionales) se las denomine informalmente “bases de datos SQL”. Sin embargo, existe otro tipo de bases de datos en las que los datos que se almacenan no tienen por qué guardar relaciones entre sí. A este tipo de bases de datos se las denominó NoSQL, en oposición honor a las populares bases de datos SQL.

Continuar leyendo “SQL vs NoSQL”

La importancia del control de versiones

Un controlador de versiones es un sistema que nos permite guardar un registro de las modificaciones que realizamos sobre un fichero a lo largo del tiempo. Habitualmente se utiliza en entornos de desarrollo de software, pero puede resultar de gran utilidad para cualquier persona que necesite un control robusto sobre la tarea que está realizando. La mayoría de la gente utilizamos algún sistema de control de versiones sin ser conscientes de ello. El ejemplo más claro es cuando editamos cualquier tipo de fichero en servicios de almacenamiento en “la nube” como Google Drive o Dropbox.

Continuar leyendo “La importancia del control de versiones”

Sistemas de Gestión de la Traducción

El control, la colaboración y la eficiencia son tres aspectos importantes cuando se administra una empresa. Para conseguirlo, es necesario evitar tareas manuales repetitivas y laboriosas. Los Sistemas de Gestión de la Traducción pueden ayudarte con esta tarea. Estos sistemas son programas que soportan tareas de traducción complejas. La mayoría de los proyectos de traducción implican equipos multi-persona, posiblemente ubicados en varios países diferentes, y los TMS pueden aunar las diferentes disciplinas de un equipo, de modo que casi parece como si sus miembros estuvieran trabajando lado a lado.

Continuar leyendo “Sistemas de Gestión de la Traducción”

En Sciling hablamos Scilingo

Según la Wikipedia, la internacionalización es “el proceso de diseñar software de manera tal que pueda adaptarse a diferentes idiomas y regiones sin la necesidad de realizar cambios de ingeniería ni en el código”.

El objetivo es separar claramente la responsabilidad de programar y la responsabilidad de adaptar el programa a diferentes países e idiomas. Para ello, los desarrolladores envuelven los textos traducibles con un código especial. Ese código permite que los textos se exporten a unos ficheros especiales que los traductores pueden abrir con sus herramientas de traducción. También permite que las traducciones estén disponibles en la aplicación sin que los desarrolladores tengan que modificar su programa cada vez que haya traducciones nuevas. En cualquier caso, los desarrolladores están obligados a escribir el texto base que servirá para los traductores.

Continuar leyendo “En Sciling hablamos Scilingo”

La comunidad open-source como colaboración inter-empresarial

Que en Sciling estamos muy comprometidos con la comunidad open source no es ningún secreto. Todas las personas que trabajamos aquí hemos colaborado o colaboramos activamente con la distribución de código y haciendo aportes en la medida de lo posible a diferentes campos de la informática. Es por ello que cuando surge la necesidad de desarrollar una utilidad para la empresa no dudamos en hacer de esta herramienta algo a lo que el resto también pueda acceder.

Continuar leyendo “La comunidad open-source como colaboración inter-empresarial”

Automatizando el proceso de traducción

Todos los comercios electrónicos que apuestan por convertirse en un negocio viable, en algún momento empiezan a crear y optimizar procesos. Por ejemplo, generar facturas a partir del checkout del carrito de compra o dar de alta a un nuevo cliente en el CRM. Y cuando se trata de vender en el extranjero o abrirse a nuevos mercados, la traducción es un proceso inevitable. Tanto pequeños como grandes comercios electrónicos deben ejecutar, por este orden, las siguientes fases:

Continuar leyendo “Automatizando el proceso de traducción”