# data[].attributes.body
C es un lenguaje de programación (considerado como uno de lo más importantes en la actualidad) con el cual se desarrollan tanto aplicaciones como sistemas operativos a la vez que forma la base de otros lenguajes más actuales como Java, C++ o C#.

Características de C:

Estructura de C - Lenguaje estructurado.

Programación de nivel medio (beneficiándose de las ventajas de la programación de alto y bajo nivel).

No depende del hardware, por lo que se puede migrar a otros sistemas.

Objetivos generales. No es un lenguaje para una tarea específica, pudiendo programar tanto un sistema operativo, una hoja de cálculo o un juego.

Ofrece un control absoluto de todo lo que sucede en el ordenador.

Organización del trabajo con total libertad.

Los programas son producidos de forma rápida y son bastante potentes.

Rico en tipo de datos, operadores y variables en C.

# data[].attributes.body
Si se busca programar en alto nivel, con la opción de poder bajar incluso a ensamblador, C++ sigue siendo una gran opción, ya que estamos ante un lenguaje de programación muy potente y que se ha mantenido actualizado.

La programación de videojuegos sigue siendo una profesión en auge y en ella el conocimiento de Unity y C++ es muy valorado.

A C++ primero se le conoció como “C con clases”. Luego se cambió a C++ que significa “incremento de C”, dando a entender que se trata de una extensión del lenguaje de programación C.

Características del lenguaje C++

Compatibilidad con bibliotecas: A través de bibliotecas hay muchas funciones que están disponible y que ayudan a escribir código rápidamente.

Orientado a Objetos: El foco de la programación está en los objetos y la manipulación y configuración de sus distintos parámetros o propiedades.

Rapidez: La compilación y ejecución de un programa en C++ es mucho más rápida que en la mayoría de lenguajes de programación.

Compilación: En C++ es necesario compilar el código de bajo nivel antes de ejecutarse, algo que no ocurre en otros lenguajes.

Punteros: Los punteros del lenguaje C, también están disponibles en C++.

Didáctico: Aprendiendo programación en C++ luego es mucho más fácil aprender lenguajes como Java, C#, PHP, Javascript, etc.

Las principales ventajas de programar en C++ son:

Alto rendimiento: Es una de sus principales características, el alto rendimiento que ofrece. Esto es debido a que puede hacer llamadas directas al sistema operativo, es un lenguaje compilado para cada plataforma, posee gran variedad de parámetros de optimización y se integra de forma directa con el lenguaje ensamblador.

Lenguaje actualizado: A pesar de que ya tiene muchos años, el lenguaje se ha ido actualizando, permitiendo crear, relacionar y operar con datos complejos y ha implementado múltiples patrones de diseño.

Multiplataforma

Extendido: C y C++ están muy extendidos. Casi cualquier programa o sistema están escritos o tienen alguna parte escrita en estos lenguajes (desde un navegador web hasta el propio sistema operativo).

Las principales desventajas de C++ es que se trata de un lenguaje muy amplio (con muchos años y muchas líneas de código), tiene que tener una compilación por plataforma y su depuración se complica debido a los errores que surgen. Además el manejo de librerías es más complicado que otros lenguajes como Java o .Net y su curva de aprendizaje muy alta.

El lenguaje C++ se puede utilizar para bases de datos, sistemas operativos, videojuegos, compiladores y navegadores web.

# data[].attributes.body
Java es en la actualidad uno de los lenguajes más demandados en el mercado -- según Digitales Summit se calcula que entre 2017 y 2022 el sector será la responsable de la creación de 1.250.000 empleos en España -- pues no solo sirve de base para poder entender y trabajar en la mayoría de lenguajes modernos, también es la navaja suiza que nos permite abarcar un gran número de proyectos que de otro modo sería impensable no hace muchos años.
Java es un lenguaje de programación de propósito general orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible permitiendo a desarrolladores escribir un programa y ejecutarlo en cualquier tipo de dispositivo sin tener que compilarlo una y otra vez.

Como un lenguaje de programación orientado a objetos (POO) el programador puede generar fragmentos de código autónomo, que puedan interactuar con otros objetos para resolver un problema ofreciendo soporte para diferentes tecnologías. De hecho es común referirse también Java como un conjunto de tecnologías en referencia a los diferentes productos y versiones que componen su familia.

Sun principios básicos son:

Simple. Una de las ventajas de Java reside en su sencillez con una moderada curva de aprendizaje. Esto hace que sea el lenguaje más usado en escuelas y universidades para mostrar los fundamentos de la programación.

Multihilo. Considerando el entorno multithread (multihilo), cada thread (hilo, flujo de control del programa) representa un proceso individual ejecutándose en un sistema. Cada hilo controla un único aspecto dentro de un programa, como puede ser supervisar la entrada en un determinado periférico o controlar toda la entrada/salida del disco. Todos los hilos comparten los mismos recursos, al contrario que los procesos, en donde cada uno tiene su propia copia de código y datos (separados unos de otros).

Seguro. Java es un lenguaje de programación seguro y estable. Pensado para poder operar en multitud de entornos. Desde el sector más lúdico a aplicaciones empresariales.

Multiplataforma. Podemos desarrollar nuestro código una única vez y ejecutarlo en cualquier plataforma. Lo que facilita el poder portar nuestro proyecto a diferentes sistemas operativos.

# data[].attributes.headline
Diferencias y similitudes entre Python y Java

# data[].attributes.subject
Diferencias y similitudes entre Python y Java

# data[].attributes.body
Diferencias:

La diferencia más notable es que Java emplea un lenguaje estático, mientras que Python emplea uno dinámico.

Python al utilizar un lenguaje dinámico permite realizar comprobaciones al mismo tiempo que se ejecutan. Esto permite que se pueda compilar incluso si hay errores que impidan que el script se ejecute correctamente. Por otro lado, Java, con su escritura estática, realiza la comprobación en tiempo de compilación.

Así, en Java es necesario que se declaren los tipos de datos de las variables antes de usarlas, mientras que en Python no.

En cuanto al rendimiento Java es más eficiente gracias a su optimización. En Python puedes añadir implementaciones, pero estas pueden afectar negativamente a la portabilidad dentro del código.

Python ahorra tiempo y espacio al ejecutar scripts. Permite realizar cambios graduales en lugar de renovar completamente el sistema como en Java. Por lo que Python es más versátil.

Java tiene un patrocinador corporativo, mientras que Python está más distribuido.

Python es un lenguaje que gana terreno en el mundo de los iniciados debido a su facilidad frente a Java. Por su parte, este último lenguaje se utiliza mucho en el mundo empresarial al ser más detallado.

Python permite la experimentación y evolución de los sistemas heredados. Java posee una mayor velocidad de rendimiento, lo que supone mayor agilidad.

En cuanto a la velocidad, Python es más lento debido a la flexibilidad en la codificación.

Java consigue solucionar problemas de rendimiento de forma más efectiva y rápida.

Similitudes:
Ambos son lenguajes eficientes, integran la automatización y, en general, son muy versátiles. Además, la plataforma de soporte en ambas es muy intuitiva y usan cadenas inmutables y bibliotecas estándar profundas. Ambos son de código abierto.

# data[].attributes.body
Ambos son portables, se declaran entre llaves y permiten realizar operaciones matemáticas.

# data[].attributes.body
Similitudes:

Ambos lenguajes tienen una sintaxis similar.

La estructura del código de ambos idiomas es la misma.

La compilación de ambos idiomas es similar.

Comparten la misma sintaxis básica. Casi todos los operadores y palabras clave de C también están presentes en C++ y hacen lo mismo.

C++ tiene una gramática ligeramente extendida que C, pero la gramática básica es la misma.

El modelo de memoria básico de ambos está muy cerca del hardware.

Las mismas nociones de pila, montón, alcance de archivo y variables estáticas están presentes en ambos lenguajes.

Diferencias:

Los archivos de C se guardan con extensión –c- mientras que los archivos de C++ se guardan con extensión –cpp- (c plus plus).

Los conocidos operadores lógicos AND, OR y NOT pueden ser utilizados como palabras en el lenguaje C++ o como operadores mientras que en C deben utilizarse únicamente los operadores &&, || y !.

En C se utilizan las funciones printf y scanf para los flujos IO de entrada y salida mientras que en C++ se utiliza cout y cin como flujos de entrada y salida.

En el paradigma de programación orientada a objetos, se hace uso de Clases, donde el lenguaje C no tiene soporte para ello mientras que C++ si lo tiene.

Las bibliotecas en C terminan con h mientras que para C++ se elimina la terminación ‘.h’ y se agrega ‘c’ al principio, como por ejemplo cmath.

# data[].attributes.body
Es un lenguaje de programación versátil multiplataforma y multiparadigma que se destaca por su código legible y limpio. Una de las razones de su éxito es que cuenta con una licencia de código abierto que permite su utilización en cualquier escenario. Esto hace que sea uno de los lenguajes de iniciación de muchos programadores siendo impartido en escuelas y universidades de todo el mundo. Python permite, entre otras de sus características la automatización de procesos y ejecución de tareas en tanto en entorno cliente como servidor.
Python es ideal para trabajar con grandes volúmenes de datos ya que, el ser multiplataforma, favorece su extracción y procesamiento, por eso lo eligen las empresas de Big Data. A nivel científico, tiene una gran biblioteca de recursos con especial énfasis en las matemáticas para aspirantes a programadores en áreas especializadas. Y si esto fuera poco, es posible crear videojuegos aunque no es tan eficiente como Java o C#.

Características de Python

Es un lenguaje sencillo, legible y elegante que atiende a un conjunto de reglas que hacen muy corta su curva de aprendizaje. Si ya tienes unas nociones de programación o vienes de programar en otros lenguajes como Java no te será difícil comenzar a leer y entender el código desarrollado en Python. Además, es un lenguaje práctico que permite ahorrar mucho tiempo.

Ventajas de programar en Python

Simplificado y rápido: Este lenguaje simplifica mucho la programación, es un gran lenguaje para scripting.

Elegante y flexible: El lenguaje ofrece muchas facilidades al programador al ser fácilmente legible e interpretable.

Programación sana y productiva: Es sencillo de aprender, con una curva de aprendizaje moderada. Es muy fácil comenzar a programar y fomenta la productividad.

Ordenado y limpio: es muy legible y sus módulos están bien organizados.

Portable: Es un lenguaje muy portable. Podemos usarlo en prácticamente cualquier sistema de la actualidad.

Comunidad: Cuenta con un gran número de usuarios. Su comunidad participa activamente en el desarrollo del lenguaje.