miércoles, 14 de marzo de 2018

Stephen Hawking




Stephen Hawking fue un físico teórico, astrofísico, cosmólogo y divulgador científico británico.

Un 8 de Enero de 1942 en el  que se cumplían los 300 años de Galileo, nació Stephen Hawking en la ciudad de Oxford. Tras realizar los estudios secundarios, entró en la  University College de Oxford, donde se licenció en 1962 con los títulos de matemático y físico. En 1963 con 21 años le diagnosticaron ELA o esclerosis lateral amiotrófica, los médicos solo le dieron dos años de vida. Se casaría y obtendría tres hijos de ese matrimonio. Se doctoró en Fisica Teórica en el año 1966.

En 1971 sugirió la formación, a continuación del big bang, de numerosos objetos denominados «miniagujeros negros», que contendrían alrededor de mil millones de toneladas métricas de masa, pero ocuparían sólo el espacio de un protón, circunstancia que originaría enormes campos gravitatorios, regidos por las leyes de la relatividad.

En 1974 propuso, de acuerdo con las predicciones de la física cuántica, que los agujeros negros emiten radiación térmica hasta agotar su energía y extinguirse. Hawking ha explorado asimismo algunas singularidades del binomio espacio-tiempo. En el mismo año fue designado miembro de la Royal Society y, tres años más tarde, profesor de física gravitacional en Cambridge, donde se le otorgó la cátedra Lucasiana de matemáticas (1980), que había sido dictada por tan egregias figuras como Isaac Newton y, más recientemente, Paul Dirac. Hawking continuaría ocupando dicha cátedra hasta su jubilación en 2009.  Finalmente falleció en el año 2018 a los 76 años.

Antes de su muerte, Stephen Hawking nos dejó tres advertencias:

-Calentamiento Global: "Estamos cerca del punto en el que el calentamiento global se vuelva irreversible", advirtió el físico británico.

Definió el cambio climático como "la amenaza mas gránde" que enfrenta la humanidad. "Al negar las evidencias y salir del Acuerdo de París, Trump causaría inevitablemente daños ambientales a nuestro bello planeta, poniendo en riesgo el mundo natural, para nosotros y nuestros hijos"


-El riesgo de la inteligencia artificial: "Puede ser lo mejor o lo peor que le suceda a la raza humana"

"Las computadoras pueden, en teoría, emular la inteligencia humana e incluso excederla", advirtió el cosmólogo, subrayando que nuestra capacidad intelentual es limitada. "La creación exitosa de una IA efectiva podría ser el evento más grande en la historia de nuestra civilización". Por lo tanto no sabremos si seremos infinitamente asistidos por la IA, o si seremos ignorados y marginados, o posiblemente destruidos por ella"

-La vida extraterrestre: El cientifico estaba en contra de  intentar contactar  a civilizaciones alienígenas , "Si los extraterrestres nos visitan, el resultado podría ser como cuando Colón llego a América, la cual no resultó bien para los nativos américanos". A pesar de ser de unos temas que mas interesaban al británico, la vida extraterrestre podría poner en riesgo a la Humanidad.








domingo, 21 de enero de 2018

Los videojuegos son una realidad

Los vídeojuegos han tenido un crecimiento asombro durante todos estos años, llegando a gente que puede dedicarse y vivir de ello, esto es conocido como "eSports" o "deportes electrónicos".

En la actualidad los eSports, cuentan con finales más vistas que eventos como puede ser la "SuperBowl". La personas que se suelen dedicar a esto son jovenes, principalmente entre 20-24 años, aunque no solo son varones, también cuenta con un 3% de mujeres. Según los profesionales de este campos, es difícil encontrar a un jugador profesional de más de 24 años, ya que con la edad se va perdiendo aptitudes como los reflejos, aunque se retiren a una edad no muy tardía, los jugadores más famosos pueden haber ganado dinero para no trabajar el resto de su vida.

No todos los jóvenes que juegan a videojuegos pueden llegar al nivel de profesional. Para ello tienen que destacar entre un gran número de jugadores. La mayoría de estos jugadores entrenan al día una media de 6 horas, en las cuales sacrifican su vida personal y su ocio.


Aunque los jugadores ganan una gran suma de dinero en las finales, también ganan por parte de patrocinadores y mostrando sus partidas en streaming, esto lo hacen desde su propia habitación.
En sus streaming, algunos jugadores destacados pueden tener miles de espectadores viendo como juegan.

En la actualidad destacan varios juegos en el entorno de los eSports, aquí le hablaremos de algunos:

-League of Legends: más conocido por sus siglas (LOL),es un videojuego de tipo MOBA perteneciente a la empresa "Riot Games". Cuenta con unos 4.500 jugadores profesionales, sus finales tuvieron cita en Pekín, que contó con más de 40.000 espectadores presenciales y unos 75 millones por streaming. En 2016 contó con un premio de más de 5 millones.

-Dota 2: es un videojuego perteneciente también al género MOBA, llevado por la empresa "Valve Corporation". Los premios de su final contaron con más de 20 millones de dólares, siendo el videojuego con el premio más alto.

-Counter Strike: es un videojuego de disparos en primera persona, comandado por la misma empesa que el juego anterior.  En unas de sus finales de naciones hubo un premio de 500.000 dólares para el ganador.


Los eSports son un hecho, nadie puede negar que jugar a videojuegos es sólo una forma de pasar el rato, si no que puede ser considerado como un trabajo en los que estos jóvenes se ganan la vida. Aunque no todo es esto, como

viernes, 24 de noviembre de 2017

Paradigmas de programación y sistema de tipos.



Paradigmas de programación
Un paradigma de programación es un estilo de desarrollo de programas,  lo que viene siendo un modelo para resolver problemas. Cada lenguaje de programación se encuadra en uno o varios tipos de paradigmas a partir del tipo de órdenes que permiten implementar.

Dentro de los paradigmas de programación destacan:

-Imperativo :  Es el más usado, se basa en dar instrucciones  de como hacer la cosas mediante algoritmos. En este tipo destaca: Lenguaje de máquina,  C, Basic, Pascal, Smalltalk.
-Orientada a objetos:  Los objetos manipulan los datos de entrada para la obtención  de datos de salidas específico,  donde cada objeto ofrece una funcionalidad.  Destaca  C++ , C# , Java y Phyton.
-Declarativa:  Los programas  describen  los resultados  esperados sin listar explícitamente  los pasos a llevar a cabo. Destaca Prolog, Haskel , Curry...
-Lógico: El problema se modela con enunciados de lógica de primer orden. Destaca Prolog
-Funcional:  Se componen de implementaciones de comportamiento que reciben un conjunto  de datos  de entrada y devuelven un valor de salida. Destaca Haskell y Miranda.

También hay dirigida por eventos y orientada a aspectos, pero no forman parte del grupo principal. Cada paradigma se utiliza para problemas concretos,  por lo que uno puede ser mejor que otro dependiendo para que.

Sistema de tipos
Un sistema de tipo se encarga de cómo un lenguaje de programación clasifica los valores y las expresiones en tipos, es decir, como se manipulan e interactuan. Los sistemas varían según el lenguaje y su tipo. Los tipos de datos normalmente tienen asociaciones tanto con valores en la memoria o con objetos como con variables.

 Las principales funciones son:
-Seguridad: El uso de tipos de datos puede permitir a un compilador detectar incoherencias en el significado o código probablemente inválido. Un sistema de tipado fuerte ofrece más seguridad, pero no garantiza, necesariamente una seguridad completa.

-Optimización: un sistema de tipado estático puede dar información muy útil al compilador.
-Documentación: En sistemas de tipificación más expresivos, los tipos de datos pueden servir como una forma de documentación, porque pueden ilustrar la intención del programador.

-Abstracción: Los tipos de datos permiten a los programadores pensar en los programas a un alto nivel, sin tener que preocuparse con el bajo nivel de la implementación. 

También podemos distinguir dos tipos: estático y dinamico.

-Estático: El tipado estático nos obliga a definir desde el principio el tipo de una variable, ejemplos de lenguajes con tipado estatico son C, C++, Pascal, Java, Objetive-C, C#...

-Dinámico:  El tipado dinamico nos da la facilidad de no definir los tipos al declarar una variable, algunos ejemplos son PHP, JavaScript, Grooby, Phyton..

Un ejemplo de diferencia entre ambos lo podemos ver en la Conversión de tipos,  mientras en los lenguajes estáticos, muchas de las conversiones entre tipos tendrás que hacerlas a mano (cast) y las que no tengas que hacer, te arrojaran Warnings de perdida de datos, obligándote a también hacerlas a mano. En cambio los lenguajes tipados dinamicamente intentan hacer las conversiones ellos mismo, ahorrándote mucho código