domingo, 26 de mayo de 2019

El caso Huawei

¿Por qué Estados Unidos ha castigado a Huawei tan severamente?

Es dificil contestar esta pregunta en una sola frase, de hecho hay toda una historia detrás en la que hay muchas ramas del saber que podrían tomar su actuar como ejemplo, tanto de lo que se debe hacer, así como lo que no se debe hacer en los negocios.

Huawei es un gigante tecnologico que se desenvuelve en el mundo de las telecomunicaciones.  Es una compañía que tiene más de 20 años de existencia.

En sus inicios, empezaron trabajando con equipos y centrales teléfonicas, distribuyendo y representando para el mercado chino y después se convirtieron en productores.  Algunos dicen que utilizaron tecnología de las compañías que ellos representaban, para desarrollar productos propios, en otras palabras, copiaron lo que habían creado otros para aplicarlos a sus propios productos como creación legítima de ellos.

No hay que esforzarse mucho e información sobre acusaciones y litigios por violación a las normas de derechos de autor que ha infringido Huawei, abundan.

China es un país comunista que abandonó las ideas económicas típicas del comunismo y acepto utilizar algunas del capitalismo.  En terminos generales, su economía interna se rige bajo las leyes de la oferta y la demanda, hasta cierto punto, pero el mercado como tal, está bien protegido.  No es fácil para las compañías occidentales exportar a China.  Ellos prefieren que produzcas en el país, vendas a lo interno y exportes lo que desees.

Para China, como casi para cualquier potencia mundial, las telecomunicaciones son de vital importancia y en el caso chino, la actividad económica en este mercado es exclusiva para ser explotadas por empresas 100% chinas, en otras palabras, las compañías que son competencia de Hwauei, no pueden vender productos en China, sin embargo, Huawei, aprovecha el libre mercado y hace dinero, mucho dinero participando de sus beneficios.

China, abiertamente es reconocida por sus actividades de espionaje, sobre todo del espionaje industrial.  Esa actividad nada ética cuyo propósito es robar lo que otros desarrollan para copiarlo y sacarle provecho económico, a costa del tiempo y dinero invertido por los demás.

Esto, a través del tiempo, le ha dado una ventaja notable, pues entre otras cosas sus productos suelen ser mucho más económicos que los de la competencia, en ocasiones hasta un 30% menos.

Como comprenderán, a medida que los costos de implementación suben, ese posible 30% empieza cada vez más significativo.

Otra posible razón es la relacionada con la seguridad nacional.  Y es que el temor que hay entre algunas potencias capitalistas, es que los equipos y softwares provenientes de esta compañía, incluyan algunas facilidades que le permitan al gobierno chino llevar a cabo tareas de espionaje.

Hwauei a negado las acusacines, sin embargo, una legislación reciente, obliga a los ciudadanos y empresas chinas a colaborar en tareas de espionaje, cuando el gobierno lo solicite.

Ahora bien, este tipo de legislaciones no es exclusiva de China, otros países, algo más sutilmente también, de una forma u otra, pueden obligar a ciudadanos y compañías a cooperar.

Es posible que Huawei, ahora que es un gigante tecnológico, que realiza inversiones cuantiosas en investigación y desarrollo, haya dejado atrás las practicas de copiado, sin embargo sus antecedentes y mal comportamiento, de acuerdo a las reglas internacionales, le están jugando una mala pasada, pues es una de las razones que el Gobierno de los Estados Unidos está utilizando como justifiacación para prohibir que las empresas de este país hagan negocios con Huawei.

Y es que desde que se emitió el decreto, no sólo tienen problemas de software, sino que el suministro de hardware también se le está volviendo un serio problema.

Por el momento, tiene menos de noventa días para evitar un problema mayor, aunque ellos aseguran tener en stock suministros suficientes para lograr este bloqueo, hasta por un año a ritmos de producción y ventas actuales.

El problema está en que el castigo es directo, sin embargo se ha condicionado el levantamiento del mismo, a las negociaciones comerciales que se están dando entre Estados Unidos y China, las cuales no avanzan nada bien.

Todavía la situación está confusa y por el momento no está claro como todo resultará.

Amanecerá y veremos. 



viernes, 19 de enero de 2018

Clasificación de los lenguajes de programación

Hace un tiempo atrás, podíamos definir a los lenguajes de programación como mecanismos creados para que el hombre se pudiese comunicar con las computadoras.  Con la evolución de la tecnología y la diversificación de los usos que se les dan a nuevos dispositivos electrónicos, ya no podemos definir a los lenguajes de programación de esta manera.

Entonces actualmente podemos definir a los lenguajes de programación como aquellos que nos permiten interactuar con equipos electrónicos, ya sean estos computadoras, dispositivos móviles, sensores digitales, etc.

Lograr una única clasificación para los lenguajes de programación, se ha convertido en un reto, pues en la actualidad hay muchos factores que pueden ser tomados en cuenta para lograr dicha clasificación.

A continuación, veremos distintos tipos de clasificación de acuerdo a diversos factores.

De acuerdo a su nivel de abstracción, tenemos:
1. Lenguaje Máquina
2. Lenguaje de Bajo Nivel
3. Lenguaje de Alto Nivel

Si tomamos en cuenta la forma como son convertidos a lenguaje máquina, tenemos:
1. Lenguajes compilados
2. Lenguajes interpretados

Los lenguajes de programación también pueden ser clasificados tomando en cuenta para qué han sido creados:
1. Lenguajes para uso general
2. Lenguajes para uso específico

Desde el punto de vista cronológico, durante algún tiempo, los lenguajes de programación estuvieron ligados a las generaciones de desarrollo de las computadoras.  Tomando en cuenta esto, encontramos que podemos contabilizar hasta 5 generaciones de lenguajes de programación.

Por último, tenemos una clasificación que es mucho más abarcadora y que toma en cuenta las características y el modo de funcionamiento como fueron creados los lenguajes de programación.  A esto lo conocemos como clasificación de acuerdo a sus paradigmas de programación.

A continuación, se listan los paradigmas más conocidos, comunes o que poseen un mayor uso o alcance:
1. Programación Imperativa
2. Programación Declarativo
3. Programación Orientado a Objetos
4. Programación Funcional
5. Programación Lógica
6. Programación Dirigida por Eventos

jueves, 18 de enero de 2018

La importancia de conocer sobre los lenguajes de programación

Los lenguajes de programación han sido creados para lograr que las computadoras en general y otros dispositivos electrónicos en particular, ejecuten las operaciones deseadas para lo cual han sido creados.

En una forma sencilla, podemos definir a los lenguajes de programación, como un conjunto de instrucciones que son organizadas de manera tal que sirven para obtener algún tipo de resultado.

En estos tiempos en donde encontramos automatización por todos lados, estos resultados pueden ser desde el desarrollo de operaciones matemáticas, consultas a bases de datos, así como mover el brazo de un robot o monitorear o procesar señales.

Existe un número plural de lenguajes de programación, cada uno con sus propias características y particularidades.  Es común encontrarse en situaciones en donde más de un lenguaje puede ser empleado, por ejemplo, para ser aplicado en el control o la solución de algún problema o situación.

Aprender de los distintos tipos de lenguaje de programación tiene una gran ventaja y esta es que nos permite conocer mejor la tecnología de manera tal que podemos identificar las posibilidades que dicha tecnología nos ofrece.

El conocer las características de los lenguajes de programación permite crear códigos altamente eficientes en cuanto al uso del procesador y al tiempo de codificación pues se comenten menos errores durante el proceso de creación de la lógica de programación.

El poder identificar las fortalezas y debilidades de cada lenguaje de programación, permite poder seleccionar aquel que se adecue de mejor manera al proyecto que estamos desarrollando.  Esto permitiría ahorrar costos de desarrollo en una etapa actual y de mejoras o mantenimiento durante una etapa posterior.

Actualmente encontramos lenguajes de programación utilizados para el desarrollo de aplicaciones que serán utilizadas en diversos ambientes de los distintos sistemas operativos existentes, así mismo tenemos lenguajes de programación para el desarrollo de aplicaciones que sirven como complementos a otros softwares, como por ejemplo para ser utilizados junto con los navegadores de Internet.

En los últimos años, el gran crecimiento que ha tenido el desarrollo de la telefonía móvil ha permitido el surgimiento de nuevos sistemas operativos y nuevos lenguajes de programación diseñados para crear aplicaciones que pudiesen ser ejecutados en los mismos.

No solamente encontramos lenguajes de programación creados para el desarrollo de aplicaciones para ser ejecutadas en computadoras personales o en dispositivos móviles.  También encontramos lenguajes de programación utilizados para la creación de aplicaciones en equipos industriales como los robots en las líneas de ensamblaje o los utilizados en las bodegas de almacenamiento.  Inclusive, cada vez más vemos como la informática, en sus distintas formas, empieza a tomar mayor protagonismo en el control del funcionamiento de vehículos, camiones, aviones y barcos.

El Internet de las Cosas (IoT), es un área nueva en donde el desarrollo tecnológico digital ha permitido el desarrollo de dispositivos de uso especializado.  Al igual que todas las demás aplicaciones que ya conocemos también utilizamos lenguajes de programación para poder darle funcionalidad a los mismos.

Desde la creación de la primera computadora han existido los lenguajes de programación.  Estos han ido evolucionando con el tiempo.  Algunos han sido utilizados para crear otros sistemas operativos y otros lenguajes de programación con mayores capacidades que superan las limitaciones de los ya existentes.

A través del tiempo hemos visto como lenguajes de programación muy populares y de uso extendido durante cierto período de tiempo, en la actualidad han quedado en el recuerdo, se han convertido en parte de la historia de la evolución tecnológica.  Los lenguajes de programación de uso general utilizados años atrás han dado paso a muchos lenguajes de programación de uso especializado, por llamarlo de alguna manera, que otorgan más poder y mejor control a las aplicaciones creadas por los mismos.