# data[].attributes.body
Estudiante: Nicole Inés Ibarra Del Rosario.
nivel: 11° B
Profesora: Guadalupe Espinosa

# data[].attributes.body
Un lenguaje de programación,  es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.

# data[].attributes.body
Los lenguajes de programación se dividen tomando en cuenta el procesamiento de sus comandos:

Lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques que permiten al programa retornar a un bloque de comandos si se cumple la condición.

Lenguaje de programación funcional: lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones.

# data[].attributes.body
Los lenguajes de programación pueden dividirse en dos categorías:
Lenguaje interpretado: requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario.
Lenguaje compilado: se traduce a través de un programa anexo llamado compilador
También existen algunos lenguajes que pertenecen a ambas categorías y se les denominan Lenguajes intermediarios.

# data[].attributes.body
Algunos ejemplos de lenguajes de programación son:

Ruby, Swift, R, Go, Visual Basic, MATLAB, Objective-C, Scratch, C++, C, ProLog, PL/SQL

# data[].attributes.body
El ensamblador fue el primer lenguaje de programación utilizado. Es muy similar al lenguaje máquina, pero solo los desarrolladores pueden comprenderlo. A pesar de su parecido con lenguaje máquina, depende estrictamente del tipo de procesador utilizado.

# data[].attributes.headline
Ejemplo de Codificación del lenguaje de programación C++

# data[].attributes.subject
Ejemplo de Codificación del lenguaje de programación C++

# data[].attributes.body
#include <stdio.h>
#include <stdlib.h>

int main() {
int edad;
edad=54;
printf ("La edad es %d años\n", edad);
printf ("Gracias por utilizar este programa del curso aprenderaprogramar.com");
return 0;
}

# data[].attributes.headline
Características del lenguaje de programación C++

# data[].attributes.subject
Características del lenguaje de programación C++

# data[].attributes.body
1.-Tiene un conjunto completo de instrucciones de control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable).

# data[].attributes.headline
Versiones del lenguaje de programación C++

# data[].attributes.subject
Versiones del lenguaje de programación C++

# data[].attributes.body
Bajo Microsoft Windows

Dev-C++

Visual C++

wxDev-C++

Bajo DOS

Turbo C, reemplazado por C++Builder

Bajo GNU/Linux

Geany

Zinjai

Kdevelop

# data[].attributes.headline
Ventajas y Desventajas del lenguaje de programación C++

# data[].attributes.subject
Ventajas y Desventajas del lenguaje de programación C++

# data[].attributes.body
Ventajas

Lenguaje de programación orientado a objetos.

Lenguaje muy didáctico.

Es muy potente en lo que se refiere a creación de sistemas complejos, un lenguaje muy robusto.

Desventajas

Es mucho más difícil de usar que otros lenguajes de programación.

Es difícil programar bases de datos.

Los punteros (es muy complicado su sistema).

# data[].attributes.body
Historia
La historia del lenguaje de programación C++ comienza a principios de los años 70, con un programador de nombre Dennis Ritchie. Creó el C que primeramente corría en computadoras PDP-7 y PDP-11 con el sistema operativo UNIX. Cuando fueron comerciales las computadoras personales, empezaron a diseñarse varias versiones de compiladores C, éste se convirtió en el lenguaje favorito para crear aplicaciones.

Bjarnes Stroutstrup diseñó y desarrolló C++.   en 1998 se pudo definir el estándar de C++.

# data[].attributes.body
Historia
El lenguaje de programación C fue creado por Dennis Ritchie entre 1969 y 1973 cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del sistema operativo UNIX.

Actualmente es imposible contar la cantidad de aplicaciones y herramientas desarrolladas en C.

# data[].attributes.headline
Ejemplos de codificación del lenguaje de programación C++

# data[].attributes.subject
Ejemplos de codificación del lenguaje de programación C++

# data[].attributes.body
Ejemplo 1: Aritmética
Mostrar los multiplos de 3 comprendidos entre los numeros 1 y 20

Código:

#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int main ()
{
clrscr();
for (int i=1;i<=20;i++)
{
cout<<i;
if (i%3==0) cout<<" Es multiplo de 3" <<endl;
else cout<<" No es multiplo de 3"<<endl;
}
getch();
return 0;
}

# data[].attributes.headline
Versiones del lenguaje de programación C

# data[].attributes.subject
Versiones del lenguaje de programación C

# data[].attributes.body
En el lenguaje de programación C existen las siguentes versiones:

El C de Kernighan y Ritchie

ANSI C e ISO C

C99

C11

# data[].attributes.headline
Ventajas y desventajas del lenguaje de programación C

# data[].attributes.subject
Ventajas y desventajas del lenguaje de programación C

# data[].attributes.body
Ventajas

* Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
* Un sistema de tipos que impide operaciones sin sentido.
* Usa un lenguaje de preprocesado.
Desventajas

* Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.
* Encapsulación.
* Polimorfismo en tiempo de código en forma de sobrecarga.

# data[].attributes.headline
Características del lenguaje de programación C

# data[].attributes.subject
Características del lenguaje de programación C

# data[].attributes.body
Las principales características del Lenguaje C son:
1.-Tiene un conjunto completo de instrucciones de control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable).

# data[].attributes.headline
Ejemplo de codificación del lenguaje de programación Visual Basic

# data[].attributes.subject
Ejemplo de codificación del lenguaje de programación Visual Basic

# data[].attributes.body
EJEMPLO (VERSIONES RECIENTES) CÓDIGO:
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
REM Declaración de variables
Dim Turismos, Todoterrenos As Integer
Dim Capturismos, Captodot As Single
Dim Necesidadescom As Single

REM Contenido del formulario
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "Cálculo de necesidades combustible"
Label1.Text = "Por favor introduzca estos datos"
Label2.Text = "Número de turismos"
Label3.Text = "Número de todoterrenos"
Label4.Text = "Capacidad de turismos (litros)"
Label5.Text = "Capacidad de todoterrenos (litros)"
Button1.Text = "Aceptar"
End Sub

REM Cálculo y muestra resultados
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label6.ForeColor = Color.Black
Label6.Font = New Font("Arial", 10, FontStyle.Bold)
Turismos = Val(TextBox1.Text)
Todoterrenos = Val(TextBox2.Text)
Capturismos = Val(TextBox3.Text)
Captodot = Val(TextBox4.Text)
Necesidadescom = Turismos * Capturismos + Todoterrenos * Captodot
Label6.Text = "Las necesidades totales de combustible son de " & Necesidadescom & " litros"
End Sub
End Class

# data[].attributes.headline
Versiones del lenguaje de programación Visual Basic 

# data[].attributes.subject
Versiones del lenguaje de programación Visual Basic 

# data[].attributes.body
A lo largo de la historia ha tenido distintas versiones:

Visual Basic 1.0, 2.0 y 3.0: podemos denominar a estar versiones como antecedentes del Visual Basic que conocemos hoy en día.

Visual Basic 4.0 y 5.0: fueron versiones que incrementaron la popularidad de Visual Basic y se integraron en los sistemas operativos de última generación de Microsoft.

Visual Basic 6.0: fue la consagración de Visual Basic y supuso su expansión a gran escala.

Visual Basic 2005: introdujo cambios importantes en relación a la filosofía de programación en que se basaba Visual Basic (aunque el lenguaje continúa siendo esencialmente el mismo)

Visual Basic 2008, 2010, 2012, 2020… : Visual Basic es un lenguaje vivo que se mantiene integrado dentro de la plataforma Visual Studio y del que continúan apareciendo versiones que van introduciendo progresivas mejoras.

# data[].attributes.headline
Ventajas y desventajas del lenguaje Visual Basic 

# data[].attributes.subject
Ventajas y desventajas del lenguaje Visual Basic 

# data[].attributes.body
Ventajas

-Es un lenguaje RAD.
-Posee una curva de aprendizaje muy rápida.
-Integra el diseño e implementación de formularios de Windows.

Desventajas

-Sin soporte de Microsoft desde el 4 de Abril de 2008 (Pero el MSDN es muy completo).
-No es multiplataforma (Sin embargo se pueden usar emuladores e interpretes para correrlos en otras plataformas).
-Por defecto permite la programación sin declaración de variables.

# data[].attributes.body
Historia
Visual Basic (VB) es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo que facilitó en cierta medida la programación misma.
“VISUAL” esto es un lenguaje con un entorno visual, con un entorno gráfico, es decir, un lenguaje que incluye una interfaz de desarrollo gráfico.  La otra parte es BASIC,
B.A.S.I.C. significa: Beginner’s All-purpose Symbolic Instruction Code, traduciendo esto sería: Código de instrucciones de uso universal para principiantes.

# data[].attributes.headline
Características generales del lenguaje Visual Basic 

# data[].attributes.subject
Características generales del lenguaje Visual Basic 

# data[].attributes.body
Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las características típicas de los lenguajes estructurados modernos. Se ha agregado una implementación limitada de la programación orientada a objetos (los propios formularios y controles son objetos), aunque sí admite elpolimorfismo mediante el uso de los Interfaces, no admite la herencia. No requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de caracteres.

# data[].attributes.headline
Ejemplo de codificación del lenguaje de programación Rub

# data[].attributes.subject
Ejemplo de codificación del lenguaje de programación Rub

# data[].attributes.body
Ejemplo 1

puts "Hello World"
print 'Enter your name: '
name= gets
puts "Hello #{name}"
5.times { puts "Hola"  }

Ejemplo 2

class Mamifero
 def respira
   puts "inhala y exhala"
 end
end
class Gato<Mamifero
 def habla
   puts "Meow"
 end
end
misifus = Gato.new
misifus.respira
misifus.habla

class Ave
 def acicala
   puts "Estoy limpiando mis plumas."
 end
 def vuela
   puts "Estoy volando."
 end
end
class Pinguino<Ave
 def vuela
   puts "Lo siento, prefiero nadar."
 end
end
class Aguila<Ave
end
puts "Pinguino"
p = Pinguino.new
p.acicala
p.vuela
puts "Aguila"
a = Aguila.new
a.acicala
a.vuela

begin
 File.open('p014estructuras.rb', 'r') do |f1|
   while linea = f1.gets
     puts linea
   end
 end

 # Crer un archivo y escribir en el
 File.open('prueba.txt', 'w') do |f2|
   f2.puts "Creado desde un programa Ruby!"
 end
rescue Exception => msg
 # mostar el mensaje de error generado por el sistema
 puts msg
end

p014estructuras.rb
var = 5
if var > 4
 puts "La variable es mayor que 4"
 puts "Puedo tener muchas declaraciones aqui"
 if var == 5
   puts "Es posible tener if y else anidados"
 else
   puts "Too cool"
 end
else
 puts "La variable no es mayor que 4"
 puts "Puedo tener muchas declaraciones aqui"
end
# Loops
var = 0
while var < 10
 puts var.to_s
 var += 1
end

# data[].attributes.body
Historia
El lenguaje fue creado por Yukihiro "Matz" Matsumoto, quien empezó a trabajar en Ruby el 24 de febrero de 1993, y lo presentó al público en el año 1995. En el círculo de amigos de Matsumoto se le puso el nombre de "Ruby" (en español rubí) como broma aludiendo al lenguaje de programación "Perl" (perla).

# data[].attributes.headline
Ventajas y desventajas del lenguaje de programación Ruby

# data[].attributes.subject
Ventajas y desventajas del lenguaje de programación Ruby

# data[].attributes.body
Ventajas del Ruby:

Es un lenguaje sencillo y fácil de leer.

Soportado por la mayoría de las plataformas web.

Se trata de un software libre u opensource.

Integra comandos de manejo de bases de datos.

Desventajas del Ruby:

Su uso no está muy extendido.

Procesamiento lento

# data[].attributes.headline
Versiones del lenguaje de programación Ruby

# data[].attributes.subject
Versiones del lenguaje de programación Ruby

# data[].attributes.body
La última versión estable es la 1.8.6, publicada en diciembre de 2007. El 26 de ese mismo mes salió Ruby 1.9.0, una versión en desarrollo que incorpora mejoras sustanciales en el rendimiento del lenguaje, que se espera queden reflejadas en la próxima versión estable de producción del lenguaje, Ruby 1.9.0.1 Diferencias en rendimiento entre la actual implementación de Ruby (1.8.6) y otros lenguajes de programación más arraigados han llevado al desarrollo de varias máquinas virtuales para Ruby. Entre ésas se encuentra JRuby, un intento de llevar Ruby a la plataforma Java, y Rubinius, un intérprete modelado basado en las máquinas virtuales de Smalltalk. Los principales desarrolladores han apoyado la máquina virtual proporcionada por el proyecto YARV, que se fusionó en el árbol de código fuente de Ruby el 31 de diciembre de 2006, y se dará a conocer como Ruby 1.9.0.1.

# data[].attributes.headline
Características del lenguaje de programación Ruby

# data[].attributes.subject
Características del lenguaje de programación Ruby

# data[].attributes.body
Orientada a objetos

Cuatro niveles de ámbito de variable: global, clase, instancia y local

Manejo de excepciones

Altamente por table

Amplia librería estándar

Soporta alteración de objetos en tiempo de ejecución.

# data[].attributes.body
Historia
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991.

El lenguaje se denominó inicialmente Oak , luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java.

# data[].attributes.headline
Ejemplo de codificación  del lenguaje de programación Java

# data[].attributes.subject
Ejemplo de codificación  del lenguaje de programación Java

# data[].attributes.body
/* Ejemplo - aprenderaprogramar.com */

/* Esta clase representa un  depósito cilíndrico donde se almacena aceite  */

public class Deposito {

//Campos de la clase
private float diametro;
private float altura;
private String idDeposito;

//Constructor sin parámetros auxiliar
public Deposito () { //Lo que hace es llamar al constructor con parámetros pasándole valores vacíos
this(0,0,"");            } //Cierre del constructor

//Constructor de la clase que pide los parámetros necesarios
public Deposito (float valor_diametro, float valor_altura, String valor_idDeposito) {
if (valor_diametro > 0 && valor_altura > 0) {
diametro = valor_diametro;
altura = valor_altura;
idDeposito = valor_idDeposito;
} else {
diametro = 10;
altura = 5;
idDeposito = "000";
System.out.println ("Creado depósito con valores por defecto diametro 10 metros altura 5 metros id 000" );
}   } //Cierre del constructor

public void setValoresDeposito (String valor_idDeposito, float valor_diametro, float valor_altura) {
idDeposito = valor_idDeposito;
diametro = valor_diametro;
altura = valor_altura;
if (idDeposito !="" && valor_diametro > 0 && valor_altura > 0) {
} else {
System.out.println ("Valores no admisibles. No se han establecido valores para el depósito");
//Deposito (0.0f, 0.0f, ""); Esto no es posible. Un constructor no es un método y por tanto no podemos llamarlo
idDeposito = "";
diametro = 0;
altura = 0;
}     } //Cierre del método

public float getDiametro () { return diametro; } //Método de acceso
public float getAltura () { return altura; } //Método de acceso
public String getIdDeposito () { return idDeposito; } //Método de acceso
public float valorCapacidad () { //Método tipo función
float capacidad;
float pi = 3.1416f; //Si no incluimos la f el compilador considera que 3.1416 es double
capacidad = pi * (diametro/2) * (diametro/2) * altura;
return capacidad;
}

} //Cierre de la clase

# data[].attributes.body
· JDK 1.0 (1996): primer lanzamiento del lenguaje Java.
· JDK 1.1 (1997): mejora de la versión anterior.
· J2SE 1.2 (1998).
· J2SE 1.3 (2000): mejora de la versión anterior.
· J2SE 1.4 (2002): mejora de la versión anterior.
· J2SE 5.0 (2004): originalmente numerada 1.5, esta notación aún es usada en ocasiones.
· Java SE 6 (2006): en esta versión, Sun cambió el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión. Mejora de la versión anterior.
· Java SE 7 (2011): nueva versión que mejora la anterior.
· Java SE 8 (2014): nueva versión que mejora la anterior. Incluye la posibilidad de embeber JavaScript con Java y mejoras en la gestión de fechas y tiempo.
· Java SE 9: nueva versión que mejora la anterior (en difusión).
· Java SE 10: nueva versión que mejora la anterior (todavía sin uso comercial).

# data[].attributes.headline
Ventajas y desventajas del lenguaje Java

# data[].attributes.subject
Ventajas y desventajas del lenguaje Java

# data[].attributes.body
Ventajas

*Lenguaje Multi-plataforma:  El código que es escrito en java es leído por un interprete, por lo que su programa andará en cualquier plataforma.

*Manejo automático de la memoria: (para los que vienen de C/C++) el manejo de la memoria se hace automáticamente y utilizando el garbage collector.

*¡ Es  Gratis!

Desventajas

*Requiere un interprete.
*Algunas implementaciones y librerías pueden tener código rebuscado.
*Una mala implementación de un programa en java, puede resultar en algo muy lento.
*Algunas herramientas tienen un costo adicional

# data[].attributes.headline
Características del Lenguaje de programación Java

# data[].attributes.subject
Características del Lenguaje de programación Java

# data[].attributes.body
Lenguaje simple. Java posee una curva de aprendizaje muy rápida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarán que Java es más sencillo, ya que se han eliminado ciertas características.
Robusto. Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución.
Seguro. Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia.

# data[].attributes.headline
Ejemplo de Codificación del lenguaje ProLog

# data[].attributes.subject
Ejemplo de Codificación del lenguaje ProLog

# data[].attributes.body
Ejemplo simple:

%%
%% declaraciones
%%
padrede('juan', 'maria'). % juan es padre de maria
padrede('pablo', 'juan'). %pablo es padre de juan
padrede('pablo', 'marcela'). % pablo es padre de marcela
padrede('carlos', 'debora'). % carlos es padre de debora

% A es hijo de B si B es padre de A
hijode(A,B) :- padrede(B,A).
% A es abuelo de B si A es padre de C y C es padre B
abuelode(A,B) :-
   padrede(A,C),
   padrede(C,B).
% A y B son hermanos si el padre de A es también el padre de B y si A y B no son lo mismo
hermanode(A,B) :-
   padrede(C,A) ,
   padrede(C,B),
   A \== B.

% A y B son familiares si A es padre de B o A es hijo de B o A es hermano de B
familiarde(A,B) :-
   padrede(A,B).
familiarde(A,B) :-
   hijode(A,B).
familiarde(A,B) :-
   hermanode(A,B).
%%
%% consultas
%%
% juan es hermano de marcela?
?- hermanode('juan', 'marcela').
yes

% carlos es hermano de juan?
?- hermanode('carlos', 'juan').
no

% pablo es abuelo de maria?
?- abuelode('pablo', 'maria').
yes

% maria es abuela de pablo?
?- abuelode('maria', 'pablo').
no

# data[].attributes.body
ADA PD Prolog es un intérprete antiguo (1986) y lento para MS-DOS de Automata Design Associates.

SWI-Prolog es un compilador dirigido principalmente a la investigación y la educación.

Visual Prolog es un entorno de programación en Prolog para Windows sucesor de Turbo Prolog y PDC Prolog.

W-Prolog es un intérprete de un lenguaje tipo Prolog implementado en Java.

XSB es una extensión de Prolog para incluir una implementación eficiente de memorización y una implementación inicial de HiLog. Windows.

YAP es un compilador de Prolog de alto rendimiento desarrollado en la Universidad de Oporto.

# data[].attributes.body
1) Basado en lógica y programación declarativa.
2) No se especifica cómo debe hacerse, sino qué debe lograrse.
3) Una característica importante en ProLog y que lo diferencia de otros lenguajes de programación, es que una variable sólo puede tener un valor mientras se cumple el objetivo.
4) El programador se concentra más en el conocimiento que en los algoritmos.
En ProLog, se llega a una solución infiriéndola desde algo ya conocido.

# data[].attributes.headline
Ventajas y desventajas de la Programación Lógica (ProLog)

# data[].attributes.subject
Ventajas y desventajas de la Programación Lógica (ProLog)

# data[].attributes.body
Ventajas

1. La habilidad de PROLOG para calcular de forma procedural es relamente buena, dando resultados casi inmediatos.

2. Una ventaja, desde el punto de vista del usuario,es la facilidad para programar ya que se pueden escribir programas rápidamente, con pocos errores originando programas claramente legibles.

3. No hay que pensar demasiado en la solución del problema, ya que Prolog infiere sus respuestas basándose en las reglas declaradas dentro del programa.

Desventajas

1. La resolución automática no siempre es eficiente, por lo que eventualmente se podría dar una respuesta incorrecta a una consulta.

2. Prolog algunas veces es incapaz de reconocer que un problema es  inaplicable o insuficiente.

3. Los motores de inferencia poseen algunos límites.

# data[].attributes.body
Historia

Prolog es un lenguaje de programación desarrollado en la Universidad de Aix-Marseille (Marsella, Francia) por Alain Colmerauer y Philippe Roussel, como una herramienta práctica para programación lógica. Esta primera versión de Prolog fue programada en ALGOL W.