0% encontró este documento útil (0 votos)
14 vistas19 páginas

Informatica-Lenguaje de Programacion C++ - 10mo

El documento analiza el lenguaje de programación C++, su origen, características, ventajas y desventajas, así como su importancia en el desarrollo de software. C++ es un lenguaje orientado a objetos que permite la programación estructurada y es utilizado en diversas aplicaciones, desde sistemas operativos hasta videojuegos. Además, se comparan sus características con JavaScript, destacando sus diferencias en tipificación y uso.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas19 páginas

Informatica-Lenguaje de Programacion C++ - 10mo

El documento analiza el lenguaje de programación C++, su origen, características, ventajas y desventajas, así como su importancia en el desarrollo de software. C++ es un lenguaje orientado a objetos que permite la programación estructurada y es utilizado en diversas aplicaciones, desde sistemas operativos hasta videojuegos. Además, se comparan sus características con JavaScript, destacando sus diferencias en tipificación y uso.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Introducción

En este trabajo integrador estaremos debatiendo sobre el Lenguaje de Programación C++,


desde sus orígenes, usos, sus aportes, ventajas y desventajas, características e importancia.

C++ es un lenguaje de programación orientado a objetos muy


potente que evolucionó de la extensión de lenguaje informático
“C” y que hoy en día sigue usándose para realizar
programación estructurada de alto nivel y rendimiento, como
sistemas operativos, videojuegos y aplicaciones en la nube.
DESARROLLO
ORIGEN:
C++ es un lenguaje de programación diseñado en 1979 por
Bjarne Stroustrup. La intención de su creación fue extender al
lenguaje de programación C y añadir mecanismos que permiten
la manipulación de objetos. En ese sentido, desde el punto de
vista de los lenguajes orientados a objetos, C++ es un lenguaje
híbrido.
Posteriormente se añadieron facilidades de programación
genérica, que se sumaron a los paradigmas de programación
estructurada y programación orientada a objetos. Por esto se
suele decir que el C++ es un lenguaje de programación
multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se


han adherido la mayoría de los fabricantes de compiladores más
modernos. Existen también algunos intérpretes, tales como
ROOT.

El nombre "C++" fue propuesto por Rick Mascitti en el año


1983(año en el que apareció dicho lenguaje), cuando el lenguaje
fue utilizado por primera vez fuera de un laboratorio científico.
Antes se había usado el nombre "C con clases". En C++, la
expresión "C++" significa "incremento de C" y se refiere a que C+
+ es una extensión de C.
Características de C++ :
•Su sintaxis es heredada del lenguaje C.
•Programa orientado a objetos (POO) (La programación
orientada a objetos es un paradigma de programación que parte
del concepto de "objetos" como base, los cuales contienen
información en forma de campos y código en forma de
métodos).
•Permite la agrupación de instrucciones.
•Es portátil y tiene un gran número de compiladores en
diferentes plataformas y sistemas operativos.
•Permite la separación de un programa en módulos que admiten
compilación independiente.
•Es un lenguaje de alto nivel.

Tipos de datos:
C++ tiene los siguientes tipos fundamentales:
•Caracteres: char (también es un entero), wchar_t
•Enteros: short, int, long, long long
•Números en coma flotante: float, double, long double
•Booleanos: bool
•Vacío: void
Tamaños asociados
Según la máquina y el compilador que se utilice los tipos
primitivos pueden ocupar un determinado tamaño en memoria.
La siguiente lista ilustra el número de bits que ocupan los
distintos tipos primitivos en la arquitectura x86.
------------------------------------------------------------------------
|Tamaños de tipos primitivos bajo i386 (GCC) |
|Tipo Número de bits |
|char 8 |
|short 16 |
|int 32 |
|float 32 |
|double 64 |
____________________________________________
Otras arquitecturas pueden requerir distintos tamaños de tipos
de datos primitivos. C++ no dice nada acerca de cuál es el
número de bits en un byte, ni del tamaño de estos tipos; más
bien, ofrece solamente las siguientes "garantías de tipos":

De acuerdo al estándar C99, un tipo char debe ocupar


exactamente un byte compuesto de un mínimo de 8 bits
independientemente de la arquitectura de la máquina.
El tamaño reconocido de char es de 1. Es decir, sizeof(char)
siempre devuelve 1.
Un tipo short tiene al menos el mismo tamaño que un tipo char.
Un tipo long tiene al menos el doble tamaño en bytes que un
tipo short.
Un tipo int tiene un tamaño entre el de short y el de long, ambos
incluidos, preferentemente el tamaño de un apuntador de
memoria de la máquina. Su valor máximo es 2147483647,
usando 32 bits.
Un tipo unsigned tiene el mismo tamaño que su versión signed.
Wchar_t
Para la versión del estándar que se publicó en 1998, se decidió
añadir el tipo de dato wchar_t, que permite el uso de caracteres
UNICODE, a diferencia del tradicional char, que contempla
simplemente al código de caracteres ASCII extendido. A su vez,
se ha definido para la mayoría de las funciones y clases, tanto de
C como de C++, una versión para trabajar con wchar_t, donde
usualmente se prefija el carácter w al nombre de la función (en
ocasiones el carácter es un infijo). Por ejemplo:

strcpy - wstrcpy
std::string - std::wstring
std::cout - std::wcout
Cabe resaltar que en C se define wchar_t como:

typedef unsigned short wchar_t;


Mientras que en C++ es en sí mismo un tipo de dato.

La palabra reservada "void"


La palabra reservada void define en C++ el concepto de no
existencia o no atribución de un tipo en una variable o
declaración. Es decir, una función declarada como void no
devolverá ningún valor. Esta palabra reservada también puede
usarse para indicar que una función no recibe parámetros, como
en la siguiente declaración:

int funcion (void);


Aunque la tendencia actual es la de no colocar la palabra "void".

Además se utiliza para determinar que una función no retorna un


valor, como en:

void funcion (int parametro);


Cabe destacar que void no es un tipo. Una función como la
declarada anteriormente no puede retornar un valor por medio
de return: la palabra clave va sola. No es posible una declaración
del tipo:

void t; //Está mal


En este sentido, void se comporta de forma ligeramente
diferente a como lo hace en C, especialmente en cuanto a su
significado en declaraciones y prototipos de funciones.

Sin embargo, la forma especial void * indica que el tipo de datos


es un puntero. Por ejemplo:

void *memoria;
Indica que memoria es un puntero a alguna parte, donde se
guarda información de algún tipo. El programador es
responsable de definir estos "algún", eliminando toda
ambigüedad. Una ventaja de la declaración "void *" es que
puede representar a la vez varios tipos de datos, dependiendo de
la operación de cast escogida. La memoria que hemos apuntado
en alguna parte, en el ejemplo anterior, bien podría almacenar
un entero, un flotante, una cadena de texto o un programa, o
combinaciones de estos. Es responsabilidad del programador
recordar qué tipo de datos hay y garantizar el acceso adecuado.

La palabra "NULL"
Además de los valores que pueden tomar los tipos
anteriormente mencionados, existe un valor llamado NULL, sea
el caso numérico para los enteros, carácter para el tipo char,
cadena de texto para el tipo string, etc. El valor NULL, expresa,
por lo regular, la representación de una Macro, asignada al valor
"0".

Tenemos entonces que:

void* puntero = NULL;


int entero = NULL;
bool boleana = NULL;
char caracter = NULL;
El valor de las variables anteriores nos daría 0. A diferencia de la
variable "caracter", que nos daría el equivalente a NULL, '\0',
para caracteres.
Para evitar ambigüedad en funciones sobrecargadas, puede
emplearse la palabra clave nullptr. Esta palabra clave siempre
representa un puntero. Por ejemplo:

void f(int a);


void f(foo *a);

int main(int argc, char** argv) {


f(NULL); // Se ejecuta f(int a)
f(nullptr); // Se ejecuta f(foo *a)
return 0;
}

---Diferencias de tipos respecto a C


En C++, cualquier tipo de datos que sea declarado completo
(fully qualified, en inglés) se convierte en un tipo de datos único.
Las condiciones para que un tipo de datos T sea declarado
completo son a grandes rasgos las siguientes:

Es posible al momento de compilación conocer el espacio


asociado al tipo de datos (es decir, el compilador debe conocer el
resultado de sizeof(T)).
T Tiene al menos un constructor, y un destructor, bien
declarados.
Si T es un tipo compuesto, o es una clase derivada, o es la
especificación de una plantilla, o cualquier combinación de las
anteriores, entonces las dos condiciones establecidas
previamente deben aplicar para cada tipo de dato constituyente.
En general, esto significa que cualquier tipo de datos definido
haciendo uso de las cabeceras completas, es un tipo de datos
completo.

En particular, y, a diferencia de lo que ocurría en C, los tipos


definidos por medio de struct o enum son tipos completos.
Como tales, ahora son sujetos a sobrecarga, conversiones
implícitas, etcétera.

Los tipos enumerados, entonces, ya no son simplemente alias


para tipos enteros, sino que son tipos de datos únicos en C++. El
tipo de datos bool, igualmente, pasa a ser un tipo de datos único,
mientras que en C funcionaba en algunos casos como un alias
para alguna clase de dato de tipo entero.
Compiladores
Uno de los compiladores libres de C++ es el de GNU, el
compilador G++ (parte del proyecto GCC, que engloba varios
compiladores para distintos lenguajes). Otros compiladores
comunes son Intel C++ Compiler, el compilador de Xcode, el
compilador de Borland C++, el compilador de CodeWarrior C++,
el compilador g++ de Cygwin, el compilador g++ de MinGW, el
compilador de Visual C++, Carbide.c++, entre otros.

Entornos de desarrollo
Véase también: Entorno de desarrollo integrado
Bajo Microsoft Windows
Visual Studio Code
Visual Studio
C++ Builder
Code::Blocks
Dev-C++
Visual C++
wxDev-C++
Zinjai
Open Watcom (IDE y Dialog Editor)
CodeLite
Bajo MacOS
Xcode
Visual Studio Code
Zinjai
CodeLite
Geany
Bajo DOS
Turbo C++, evolución o salto a la POO del Turbo C
Bajo GNU/Linux
Clion (software)
Visual Studio Code
Code::Blocks
NetBeans
Eclipse
Geany
Emacs
Zinjai
Kdevelop
Open Watcom (IDE y Dialog Editor)
CodeLite
Software Creados y Programados con C++
Microsoft Edge
Google Chrome
μTorrent
BitTorrent (programa)
Haiku (sistema operativo)
Windows Phone 8.1
Open Broadcaster Software
Opera (navegador)
CATIA

VENTAJAS y DESVENTAJAS:
ntre las ventajas del lenguaje C++ podemos mencionar:

· Una de sus principales ventajas es el rendimiento, ya que es


un lenguaje compilado, debe ser traducido a código máquina
antes de poder ser ejecutado, haciéndolo más eficiente.

· Te da control total sobre la gestión de la memoria, lo que


resulta muy útil en aplicaciones que requieren un alto
rendimiento.

· El lenguaje C++ es multiplataforma, trayendo como ventaja


su portabilidad, puede utilizarse para crear aplicaciones que se
ejecuten en una variedad de sistemas operativos.

· Proporciona una gran variedad de funciones y clases,


facilitando el desarrollo de software, por su amplia biblioteca
estándar.

· El lenguaje está orientado a objetos, por lo que es el más


idóneo para desarrollar aplicaciones complejas y modulares.

· Se caracteriza por su flexibilidad, se puede utilizar para crear


una variedad de aplicaciones, además es un lenguaje muy
extensible, que permite añadir nuevas características y
funcionalidades fácilmente.

· El lenguaje C++ cuenta con una amplia comunidad de


desarrolladores, por lo tanto, hay muchos recursos disponibles
para aprender y utilizar el lenguaje.

Algunas desventajas del lenguaje C++ son:

· El lenguaje C++ es complejo, por ende, su curva de


aprendizaje pronunciada, dificultando su aprendizaje.

· No tiene características de seguridad integrada, a causa de


esto los programadores al escribir código deben tener mucho
cuidado para evitar vulnerabilidades.

· La gestión manual de la memoria tiene tendencia a dar


errores, en especial para los programadores principiantes.

· La falta de soporte para la recolección de basura exige a los


programadores liberar manualmente la memoria que ya no se
utiliza.
Programas populares desarrollados en C++
Debemos tener en consideración que nos encontramos ante un
lenguaje de programación que inicialmente fue creado en el año
1979. Hay que decir que en un principio este proyecto se llevó a
cabo para extender el popular C. Aquí nos referimos a un
lenguaje orientado a objetos que ha ido mejorando con el
tiempo y aún hoy día se sigue utilizando de forma habitual. Por
tanto y como os podéis imaginar su importancia en el sector del
desarrollo sigue siendo alta.

interfaz Photoshop

Algunas aplicaciones más que conocidas y utilizadas en todo el


mundo y que siguen vigentes en la actualidad, se basan en este
lenguaje de programación en concreto. Es posible que algunos
de los títulos expuestos aquí os sorprendan teniendo en cuenta
el año de lanzamiento de este entorno de desarrollo. Estas son
algunas gracias aplicaciones más conocidas desarrolladas en C++:

•Adobe Flash.
•BitTorrent.
•Adobe Dreamweaver.
•Opera.
•Mp3Tag.
•Adobe Photoshop.
•Free Download Manager.
•Google Chrome.
•Microsoft Edge.
•BitComet.
•uTorrent.
•Haiku.
•Adobe Illustrator.
Como veréis, en este listado encontramos algún sistema
operativo como es el caso de Haiku, o navegadores tan
extendidos y usados como Edge y Google Chrome. También
llama la atención algunos de los clientes para la descarga de
archivos Torrent más populares en estos instantes. Además del
mismo modo encontramos algunas de las aplicaciones más
importantes y conocidas del gigante del software, Adobe, como
por ejemplo sucede con Photoshop, el desaparecido Flash, o
Dreamweaver.
S. C++ JAVASCRIPT
NO.

01. Es un lenguaje tipificado Es un lenguaje tipado dinámicamente.


estáticamente.

02 Se considera agrupado con Es un lenguaje de programación de alto nivel.


lenguaje de programación de bajo
nivel.

03. Fue creado por Bjarne Stroustrup En 1995, Brendan Eich de Netscape i introdujo
en los laboratorios Bell de AT&T JavaScript.
en 1980.

04. Es poco difícil de aprender para los Es poco fácil de aprender para los
principiantes. principiantes.

05. C++ es más rápido en JavaScript es un poco más lento en


comparación con JavaScript. comparación con el lenguaje de programación
C++.

06 En realidad, fue construido para Ha sido construido para páginas web.


todo lo que no sea web.

07 Es un lenguaje de programación. Es un lenguaje de scripting.

08 Es compilado y ejecutado. Es lenguaje compilado.

09 Es un lenguaje de programación Es un lenguaje de programación


orientado a objetos. multiparadigma que admite funciones basadas
en eventos.

10 Las empresas que utilizan C++ son Las empresas que utilizan JavaScript son
Google, Lyft, Twitch, Coderus, etc. Microsoft, Paypal, Netflix, Groupon, Uber,
Facebook, Google, etc.
1. C++ :
C++ o CPP es un lenguaje de programación orientado a objetos de tipo estático
de propósito general. En 1980, Bjarne Stroustrup desarrolló C++ en los
laboratorios Bell de AT&T (American Telephone & Telegraph) como una
extensión del lenguaje C. Esta semilla se ha expandido desde entonces y se ha
convertido en uno de los idiomas más conocidos y utilizados en todo el mundo.

Ventajas :

 C++ también tiene características como polimorfismo, encapsulación de datos,


etc.
 También podemos ejecutar programas C en C++.
 Portátil
 Lenguaje de bajo nivel a la vez que es más fácil de aprender.
 Tiene sindicatos y estructuras.
 Le da al usuario control sobre la memoria.
 Una de las comunidades más grandes
 Escalabilidad

Desventajas:

 El control sobre la memoria hace que el código sea propenso a errores.


 Fuga de memoria
 Sin recolector de memoria basura
 No hay soporte para la función de subproceso integrada
 En Web, es difícil de depurar

2. JavaScript :
JavaScript o JS es un lenguaje de programación de tipo dinámico de alto nivel.
JavaScript se creó para la web y se creó inicialmente para «dar vida a las
páginas web». Apareció en 1995 a través de Netscape. Es un lenguaje de
secuencias de comandos interpretado de alto nivel. el análisis del año pasado
el 95% de los sitios web utilizan JavaScript

Ventajas :

 Muy rápido ya que se ejecuta en el navegador web.


 La compilación JIT (justo a tiempo) permite ejecutar código directamente
 Fácil de aprender
 Gran base comunitaria
 interoperable
 Versátil
 muchas bibliotecas

Desventajas:

 Problemas con la seguridad del lado del cliente


 El código es visible para todos.
 Un pequeño error puede derribar todo el sitio web
 La depuración no es fácil
 Las conversiones continuas de números a enteros aumentan el tiempo
necesario para ejecutar el script y reducen su velocidad.

Cambios entre la primera versión de C++ y la versión actual:

La primera versión de C++ fue lanzada en 1985, mientras que la versión actual
más reciente es C++20, que se publicó en 2020. A lo largo de los años, C++ ha
experimentado una serie de cambios y mejoras significativas. Algunos de los
cambios más destacados entre la primera versión y la actual icluyen:

1: Sintaxis y características: Con el tiempo, se han introducido nuevas


características en C++ que han ampliado su funcionalidad y flexibilidad. Por
ejemplo, se han añadido conceptos de programación orientada a objetos más
avanzados, como plantillas excepciones, clases y funciones genéricas.

2: Estándares de codificación: Se han establecido estándares de codificación


más estrictos para promover buenas prácticas de programación y mejorar la
legibilidad del código. Ejemplo se han introducido reglas para el uso de
espacios en blanco

3: Compatibilidad con otros lenguajes

4: Mejoras de optimización y rendimiento

5: Una mejor seguridad y robustez


CONCLUSION
En con clusion A pesar de su adopción generalizada, muchos
programadores han criticado el lenguaje C++, incluyendo Linus
Torvalds, Richard Stallman, y Ken Thompson. Los problemas
incluyen una falta de reflexión o recolector de basura, tiempos
de compilación lentos, perceived feature creep, y mensajes de
error detallados, particularmente de la metaprogramación de
plantilla. Para evitar los problemas que existen en C++, y para
aumentar la productividad, algunas personas sugieren lenguajes
alternativos más recientes que C++, como D, Go, Rust y Vala.

También podría gustarte