martes, 7 de noviembre de 2017

El mejor lenguaje para aprender a programar

El mejor lenguaje para aprender a programar

Una de las primeras preguntas que se hace alguien que empieza a programar es ¿cual es el mejor lenguaje para aprender a programar? Puedes preguntar a distintos programadores y seguramente ninguno de ellos coincidan en la respuesta. Edina Diseño Web Valencia tratará en este "post" de dar algún consejo y sugerencias para intentar ayudaros a decidir.

¿Qué vas a querer programar?


Como hemos estado comentando hay muchísimos lenguajes de programación, pero dependiendo por qué queremos aprender a programar es mejor decantarse por uno u por otro.

Por ejemplo, si lo que queremos es dedicarnos a hacer páginas web tendremos que aprender JavaScript y PHP. En cambio si lo que nos gusta, o lo que nos gustaría hacer, son apps para Android y apps para iOS deberemos aprender por una parte Java (para Android) y Swift (para Apple).

Si lo que queremos es ir más allá de un proyecto específico, o te gustaría aprender varios lenguajes, lo mejor es aprender los fundamentos de la programación. Para aprender a pensar como un programador nos servirían aplicaciones y métodos para enseñar a programar a los niños, pueden llegar a ser muy útiles.

Lenguajes de Programación más recomendados para Principiantes


Casi todos los lenguajes de programación más conocidos como Java, C, C# o Phyton, sirven para hacer más o mneos las mismas cosas. Lo importante es aprender y entender bien como funciona una de ellos, ya que si luego queremos aprender otro nos resultará muchos más sencillo.

Hay lenguajes más o menos tipados, es decir nos permite cambiar el tipo de dato (el valor de una variable la definimos de un tipo y no la podemos usar como otro distinto a no ser que tenga una conversión). Otros que usan más o menos comillas, o en los que no es necesario utilizar ";".

Aquí hablaremos de los siguientes:
  • C
  • Java
  • Python
  • JavaScript
  • Herramientas para los más pequeños

C, aprende a gestionar la memoria


C es uno de los lenguajes que actualmente más se siguen utilizando. Una de las principales razones es que se trata de un lenguajes compilado, es decir, se carga completamente en memoria traducido a lenguaje máquina y por lo tanto es mucho más rápido. En cambio uno interpretado va leyendo línea por línea lo que va necesitando.

Con C se aprende a depurar código y a gestionar la memoria mediante los punteros.

El problema de empezar con este lenguaje es que la curva de aprendizaje no es muy sencilla y quizá se te puede atragantar un poco.

Java, uno de los mejores lenguajes para principiantes


Java es un lenguaje orientado a objetos fuertemente tipado. Es uno de los más populares ya que la curva de aprendizaje es muy buena, además podemos encontrar muchos repositorios y tutoriales por la red.

Una de las mejores cosas que tiene programar en Java es que lo escribes una vez y lo ejecutas en cualquier dispositivo. Esto es porque una vez que compilas tu programa cada sistema operativo tiene su JVM la que interpreta este código.

Al aprender Java, que es programación orientada a objetos, podremos pasar fácilmente a otros lenguajes como C++, Python o PHP. 

Python, el lenguaje de moda


También es uno de los más recomendados para empezar a programar. Su código es fácil de leer y también ayuda a desarrollar un estilo de programación limpio sin necesidad de ser muy estricto con la sintaxis (cosas como olvidar un paréntesis al final de una línea). 

Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional.

Python es un lenguaje que se utiliza mucho en el tema de seguridad, por eso estos últimos años está cogiendo más fuerza.

JavaScript, imprescindible en programación web


JavaScript también es un lenguaje orientado a objetos y no está tipado. No hay que pensar que es igual que Java, ya que tienen semánticas y propósitos diferentes. 

Tradicionalmente se venía utilizando en páginas web HTML para realizar operaciones y únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor. Actualmente es ampliamente utilizado para enviar y recibir información del servidor junto con ayuda de otras tecnologías como AJAX. JavaScript se interpreta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML.


Scratch, herramientas para los más pequeños

Es un lenguaje de programación visual y se utiliza sobretodo para estudiantes, académicos, profesores y padres con la finalidad de crear de forma sencilla animaciones y juegos. Puede ser un paso para entrar en el mundo de la programación para posteriormente meterse con lenguajes más complicados.

Para empezar a utilizar Scratch tan sólo tendrás que elegir entre una de las dos modalidades del programa que el MIT pone a disposición de los usuarios:
  • Ejecutarlo a través de un navegador compatible directamente desde la página web oficial. Si eliges esta cómoda modalidad es muy recomendable registrarse en la comunidad, pues los proyectos que crees podrás guardarlos en 'la nube' para tenerlos siempre a tu disposición.
  • Descargar Scratch en su versión 'offline', para ejecutarlo sin necesidad de navegador ni de conexión a Internet. Os dejamos el enlace para descargarlo.

Desde Edina Diseño Web pensamos que aprender a programar es muy importante, ya que cada vez más la tecnología está presente en nuestras vidas. Así que elijas el lenguaje que elijas seguro que te resulta muy útil.
martes, 31 de octubre de 2017

Tim Cook: "aprender a programar es más importante que aprender inglés"

Tim Cook CEO Apple

La tecnología ha pasado a formar parte de nuestras vidas en las últimas décadas. Y por eso, ahora más que nunca, es muy importante saber programar.

Tim Cook, el famoso CEO de Apple, ha realizado unas declaraciones muy llamativas. A pesar de que el inglés está considerado como un idioma global, él piensa que es mucho más importante saber programar.

En una entrevista concedida a Konbini Francia, Cook asegura que "si fuera un estudiante francés de 10 años, creo que sería más importante aprender a programar que aprender inglés".

Cook no piensa que el inglés no es importante, pero el lenguaje de programación es más universal. Afirma que "es un lenguaje con el que te puedes expresar a 7.000 millones de personas en todo el mundo".

Además, continua diciendo que la programación debería estudiarse en TODAS las escuelas públicas del mundo, y no ser un trabajo que requiera una especialización.

La realidad es que esta opinión esta siendo cada vez más compartida. El mundo ha cambiado mucho y sigue cambiando, y a pesar de ello, el sistema educativo parece haberse quedado estancado.

Podría ser más interesante enseñarles estas habilidades a los niños en una edad que tienen capacidad para absorberlo todo. Aprender a programar resultaría más beneficioso que memorizar y repetir diferentes asignaturas sin entender nada.


APRENDER A PROGRAMAR. ¿CÓMO EMPIEZO?

Cómo aprender a programar

Aprender a programar a día de hoy resulta más fácil que hace 20 años, ya que Internet es una de las herramientas principales para ello. De hecho los que empezamos a programas y nos atascamos siempre tenemos a "San Google".

Pues para esta tarea tenemos  distintos métodos:
  • Aprender con un libro o con apuntes de forma autodidacta: encontrar un buen libro y se tenga voluntad, base lógico-matemática y determinación para estudiar por cuenta propia durante un periodo de tiempo prolongado. Ej. "Aprender a programar con Java".
  • Realizar un curso sobre fundamentos de programación: consideramos que no es una mala opción para personas que quieran estudiar de forma guiada. Existe una amplia oferta de cursos impartidos de forma presencial (por universidades, academias, centros de formación especializada, etc.), semi-presencial u on-line (a través de Internet). 
  • Realizar estudios oficiales en el área de informática – programación: es quizás la mejor vía para aquellas personas que quieren dedicarse profesionalmente a la informática. Hay modalidades presenciales y semipresenciales. Tanto si realizas un modulo de grado superior como DAM o DAW, como si realizas estudios universitarios  Grado de Informática, lo puedes compaginar con el trabajo.
  • Aprender a programar apoyándonos en un sitio web de confianza: como hemos estado diciendo internet es una muy buena herramienta a la hora de aprender a programar. Podemos encontrar cursos gratuitos en Youtube y otros a un coste bastante bajo para la calidad que tienen. Por ejemplo en Udemy tenemos un monton de cursos para diferentes lenguajes y suelen costar unos 10€.
  • Otras vías: aprender con un amigo, familiar, etc. no es una mala opción, pero no todos tenemos la oportunidad de poder elegir este método.
Desde Edina Diseño Web estudiaremos en el próximo artículo cual es el mejor lenguaje para aprender a programar.
viernes, 27 de octubre de 2017

Android 8.1 Oreo y todas sus novedades

Android 8.1 Oreo


Han pasado dos meses desde que se lanzó Android 8.0 Oreo y ya tenemos su próxima actualización. Android 8.1 Oreo saldrá en Diciembre, pero desde ayer esta disponible la versión previa para los dispositivos Pixel y Nexus.

Esta actualización va a ser menor y las principales novedades las encontraremos en reducidos cambios de la interfaz. Los cambios mayores los tuvimos cuando pasamos de Android 7.1 al 8.0, pero faltaba hacer algún cambio en la interfaz.

AJUSTES RÁPIDOS


En la barra de ajustes rápidos de nuestro dispositivo podremos ver la pantalla de inicio. Así que el fondo será transparente.

CLARO Y OSCURO AUTOMÁTICO


Dependiendo del fondo de pantalla que tengamos (claro u oscuro) parte de la interfaz se adaptará su tema a claro u oscuro. Este cambio es automático.

ESTADO DE LA BATERÍA EN DISPOSITIVOS BLUETOOTH


Este es uno de los mejores cambios por su utilidad. Podremos ver el estado de la batería de los dispositivos que tengamos conectados a nuestro Smartphone por bluetooth.

BOTONES DE NAVEGACIÓN Y BARRA


La barra de navegación pasa a ser blanca y además los botones se atenúan y al poco se vuelven a iluminar si los vuelves a tocar. Al parecer estos cambios en la interfaz traen más claridad a nuestro dispositivo y el cambio en los botones es para que pasen más desapercibidos.

APAGAR Y REINICIAR



Cuando pulsemos de manera prolongado nuestro botón de apagar aparecerá una ventana emergente con las opciones apagar y reiniciar.

MÁS NOVEDADES PARA ANDROID

  • Memoria Android Go: incorpora un conjunto de optimizaciones para las configuraciones de Android Go, los dispositivos con 1GB o menos de RAM.
  • Autocompletado: mejoras en el autocompletado al integrase con el de Google. Se añade también soporte para la personalización de nuestra interfaz del cuadro de diálogo guardar.
  • API de memoria compartida: permite que las app`s puedan hacer uno de memoria compartida para un acceso más rápido a los datos comunes.
  • WallpaperColor API: se trata de una API que permite a los lanzadores de aplicaciones personalizar el color tanto del fondo de pantalla como el color de fondo de las carpetas.

CONCLUSIÓN


Esta versión de Android 8.1 Oreo está lanzada para que los desarrolladores puedan ir probándola, así que no es recomendable de momento para los usuarios no profesionales.

Esta versión no viene con cambios transcendentales pero puede que tenga ciertos aspectos positivos como el cambio que hemos hablado antes de incluir la batería de tus dispositivos conectados por bluetooth.




miércoles, 18 de octubre de 2017

Fallo de Seguridad en el WIFI

WPA2 fallo de seguridad en el protocolo

A principios de este semana se ha dado a conocer una información que ha desestabilizado la ciberseguridad en todo mundo. Unos investigadores de la Universidad de Leuven han descubierto que el protocolo WPA2 es vulnerable. Este protocolo (WPA2) es el más avanzado y hasta este momento creíamos que seguro para las conexiones wifi.

En conclusión lo que han descubierto los investigadores es que cualquier persona que utilice wifi puede ser espiado a través de su red doméstica. Al parecer se trata de un fallo muy grave y que no tiene una solución a corto plazo. Lo único que podemos hacer es utilizar alternativas hasta que se recupere la seguridad en el sistema o se haga una actualización del mismo.

El principal problema de este fallo es que afecta a la raíz del protocolo WPA2, indistintamente del tipo de router que tengamos, y este protocolo es el único que se utiliza en todo el mundo para la conexión wifi. Por eso lo único que podemos hacer es ponérselo lo más complicado posible a los hackers, pero no se puede hacer mucho para mejorar la ciberseguridad.

Soluciones provisionales:
  • Navegar por lugares seguros
  • Utilizar VPN
  • Utilizar Internet con cable
  • Mantener tu dispositivo actualizado

Navegar por lugares seguros


El fallo de seguridad que tienen los router consiste en que captan la información  que se transmite por wifi y la descifra gracias a la contraseña que consigue del engaño. Deberíamos solo entrar en páginas seguras (protocolo https) y en cuanto las aplicaciones utilizar también las que encripten la información que suelen ser la mayoría.

A través del fallo los hackers saben desencriptar la información pero utilizando webs y aplicaciones seguras, estas vuelven a encriptar este información, ya no les resultaría nada fácil poder descifrar esta información.


Router con fallo de seguridad en el protocolo WPA2

Utilizar VPN


VPN (Virtual Private Network) es una tecnología de red que te permite crear una red local aunque estés navegando a distancia y necesites pasar la información a una red pública. A través de su propio protocolo protege los datos hasta que le llegan al receptor.

Si no quieres estar pendiente de si estas navegando por una web o una aplicación segura lo mejor para ti es utilizar VPN. Lo que haces con este servicio es garantizar que toda la información que sale de tu dispositivo está encriptado hasta que no llega al receptor.

La única pega o inconveniente es que la puedes utilizar de manera gratuita (no son las más fiables) y las que valen la pena cuestan aproximadamente entre 20 y 35 dólares al año. Esta puede ser una buena opción para gente que utiliza el wifi y no sabe o no se fija en que páginas o aplicaciones se esta metiendo.

Utilizar Internet con cable


Lo más seguro para evitar este fallo de seguridad también tiene lógica, si no utilizamos el wifi el protocolo WPA2 no nos va a afectar. Utilizando el cable para navegar o utilizar los datos si estamos fuera de casa. Lo único acordarnos de apagar el wifi en casa y navegaremos muchísimo más seguros.

Además de todas estas recomendaciones repetir como hemos dicho en otras ocasiones que lo mejor es tener tu dispositivo lo más actualizado posible, ya que las actualizaciones se hacen por alguna razón y una de las principales es corregir ciertos errores que pueden dar pie a fallos de seguridad. 


jueves, 5 de octubre de 2017

Cómo saber si tu web esta penalizada por Google

SEO y la penalización

¿Mi web esta penalizada? Esta es la pregunta que muchos se hacen porque de repente bajan de posición o simplemente no aparecen en el buscador de Google. Aquí te vamos a dar algunas claves para saberlo.

¿Está penalizada mi web?


Como decíamos antes cuando empezamos a bajar de puestos o recibimos menos llamadas lo primero en lo que pensamos es que Google nos ha penalizado. Pero hay otras causas por las puede que se hayan perdido esas posiciones. Es normal que surjan cambios en el buscador porque otra web mejora su posición, porque la tendencia de búsqueda cambia o simplemente te has equivocado con el archivo robots.txt y has puesto que deje de indexar algo importante.

Por lo tanto lo primero que debemos detectar es si realmente Google ha visto algo raro en nuestra web y nos ha penalizado.

Lo normal es que suceda lo siguiente:
  • Perdemos visibilidad en alguna o en todas las palabras clave
  • Se reduce considerablemente el tráfico orgánico de Google
  • El dominio deja de indexarse
  • Alguna o todas las páginas desaparecen del buscador
Las cosas que suele penalizar son:
  • SEO negativo (competidores que meten tus enlaces malintencionadamente en webs donde luego te penalizarán )
  • Contenido duplicado (copia de otras páginas)
  • Comprar o vender enlaces
  • Poner enlaces en páginas que no tiene que ver con la tuya
  • Usar textos ocultos
  • Nuestra web no está preparada para móvil (Responsive)
  • Mostrar un contenido al buscador y otro al usuario
  • Recargar las páginas con palabras clave
Estas son algunas de las cosas que Google puede detectar y considerar black hat (técnicas para engañar al buscador) y que si has hecho muy probablemente estés penalizado.
Desde Edina Diseño Web Valencia estamos en contra de estas malas prácticas.

Tipos de penalización


Google tiene dos tipos de sanciones:
  • Penalizaciones manuales. Este es el peor de los casos. Y esto ocurre cuando alguien te marca como Spam, de aquí pasa a una persona que revisa y verifica si eres Spam y si lo cree así te aplica una acción manual. Después recibes una notificación a través de Search Control.
  • Penalización por algoritmo. Estas suelen ser las más comunes. Cuando este algoritmo detecta que estas incumpliento las normal nos aplica un factor de penalización (según el grado de infracción), como por ejemplo -30 en el ranking.
El primer caso es muy fácil de detectar ya que recibiremos una notificación de Search Control. Podeis comprobarlo en Tráfico de búsqueda-Acciones manuales.

¿Qué algoritmo de Google me penaliza?


  • Panda.  Este algoritmo afecta a las webs que tienen contenido pobre, de mala calidad o que tienen muchos anuncios. Se lanzo en 2011 y tiene más de 30 actualizaciones. Contenido de calidad es lo que quiere Google.
  • Penguin. Este algoritmo detecta los enlacen artificiales (comprados o colocados porque sí en cualquier sitio). La primera versión fue en 2012 y ya ha tenido 6 actualizaciones.
Lo complicado es saber si alguno de estos algoritmos te han afectado y además saber cual de todos. Lo mejor es compara tu tráfico con Analytics con las fechas de las actualizaciones de los algoritmos.

Aquí os dejo algunos verificadores de penalizaciones:
Estas herramientas te serán muy útiles para saber que algoritmos pueden haber influido en mi posicionamiento.