Story Transcript
Introducci´ on a C/C++(IDE)
UG
Lenguaje de Programaci´on Introducci´ on a C/C++(IDE)
Jos´e Luis Alonzo Vel´azquez Universidad de Guanajuato
Sesi´ on 18
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
IDE
¿Qu´e es un IDE? Un entorno de desarrollo integrado o IDE (acr´ onimo en ingl´es de integrated development environment), es un programa inform´atico compuesto por un conjunto de herramientas de programaci´on. Puede dedicarse en exclusiva a un s´olo lenguaje de programaci´on o bien, poder utilizarse para varios.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
IDE
¿Qu´e es un IDE? Un entorno de desarrollo integrado o IDE (acr´ onimo en ingl´es de integrated development environment), es un programa inform´atico compuesto por un conjunto de herramientas de programaci´on. Puede dedicarse en exclusiva a un s´olo lenguaje de programaci´on o bien, poder utilizarse para varios. Un IDE es un entorno de programaci´ on que ha sido empaquetado como un programa de aplicaci´ on, es decir, consiste en un editor de c´odigo, un compilador, un depurador y un constructor de interfaz gr´afica (GUI).
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto. Un compilador.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto. Un compilador. Un int´erprete.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto. Un compilador. Un int´erprete. Herramientas de automatizaci´ on.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto. Un compilador. Un int´erprete. Herramientas de automatizaci´ on. Un depurador.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto. Un compilador. Un int´erprete. Herramientas de automatizaci´ on. Un depurador. Posibilidad de ofrecer un sistema de control de versiones.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Componentes Cl´asicas Un editor de texto. Un compilador. Un int´erprete. Herramientas de automatizaci´ on. Un depurador. Posibilidad de ofrecer un sistema de control de versiones. Factibilidad para ayudar en la construcci´ on de interfaces gr´aficas de usuario.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Un editor de texto Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos u ´nicamente por texto sin formato, conocidos com´ unmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes le´ıdos seg´ un el c´odigo de caracteres que usa el editor. Hoy en d´ıa es com´ unmente de 7o´ 8-bits en ASCII o UTF-8, rara vez EBCDIC.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Un editor de texto Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos u ´nicamente por texto sin formato, conocidos com´ unmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes le´ıdos seg´ un el c´odigo de caracteres que usa el editor. Hoy en d´ıa es com´ unmente de 7o´ 8-bits en ASCII o UTF-8, rara vez EBCDIC. Ejemplo: Emacs es un editor de texto con una gran cantidad de funciones, muy popular entre programadores y usuarios t´ecnicos.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Emacs
Figura: Captura de pantalla de una ventana Emacs.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Un compilador Un compilador es un programa inform´atico que traduce un programa escrito en un lenguaje de programaci´ on a otro lenguaje de programaci´on, generando un programa equivalente que la m´aquina ser´a capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de m´aquina, pero tambi´en puede ser simplemente texto. Este proceso de traducci´ on se conoce como compilaci´on. Un compilador es un programa que permite traducir el c´odigo fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (t´ıpicamente lenguaje de m´aquina). De esta manera un programador puede dise˜ nar un programa en un lenguaje mucho m´as cercano a como piensa un ser humano, para luego compilarlo a un programa m´as manejable por una computadora.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Int´erprete Un Int´ erprete o interpretador es un programa inform´atico capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los int´erpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripci´on en un lenguaje de programaci´ on al c´ odigo de m´aquina del sistema, los primeros (los int´erpretes) s´ olo realizan la traducci´ on a medida que sea necesaria, t´ıpicamente, instrucci´ on por instrucci´on, y normalmente no guardan el resultado de dicha traducci´on.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Depurador Un depurador (en ingl´es, debugger), es un programa que permite depurar o limpiar los errores de otro programa inform´atico.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Depurador Un depurador (en ingl´es, debugger), es un programa que permite depurar o limpiar los errores de otro programa inform´atico. Uso Al iniciarse la depuraci´ on, el depurador lanza el programa a ´ depurar. Este se ejecuta normalmente hasta que el depurador detiene su ejecuci´on, permitiendo al usuario examinar la situaci´on. El depurador permite detener el programa en: Un punto determinado mediante un punto de ruptura.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Depurador Un depurador (en ingl´es, debugger), es un programa que permite depurar o limpiar los errores de otro programa inform´atico. Uso Al iniciarse la depuraci´ on, el depurador lanza el programa a ´ depurar. Este se ejecuta normalmente hasta que el depurador detiene su ejecuci´on, permitiendo al usuario examinar la situaci´on. El depurador permite detener el programa en: Un punto determinado mediante un punto de ruptura. Un punto determinado bajo ciertas condiciones mediante un punto de ruptura condicional.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Depurador Un depurador (en ingl´es, debugger), es un programa que permite depurar o limpiar los errores de otro programa inform´atico. Uso Al iniciarse la depuraci´ on, el depurador lanza el programa a ´ depurar. Este se ejecuta normalmente hasta que el depurador detiene su ejecuci´on, permitiendo al usuario examinar la situaci´on. El depurador permite detener el programa en: Un punto determinado mediante un punto de ruptura. Un punto determinado bajo ciertas condiciones mediante un punto de ruptura condicional. Un momento determinado cuando se cumplan ciertas condiciones.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Depurador Un depurador (en ingl´es, debugger), es un programa que permite depurar o limpiar los errores de otro programa inform´atico. Uso Al iniciarse la depuraci´ on, el depurador lanza el programa a ´ depurar. Este se ejecuta normalmente hasta que el depurador detiene su ejecuci´on, permitiendo al usuario examinar la situaci´on. El depurador permite detener el programa en: Un punto determinado mediante un punto de ruptura. Un punto determinado bajo ciertas condiciones mediante un punto de ruptura condicional. Un momento determinado cuando se cumplan ciertas condiciones. Un momento determinado a petici´ on del usuario. Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Control de versiones Se llama control de versiones a la gesti´ on de los diversos cambios que se realizan sobre los elementos de alg´ un producto o una configuraci´on del mismo.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Control de versiones Se llama control de versiones a la gesti´ on de los diversos cambios que se realizan sobre los elementos de alg´ un producto o una configuraci´on del mismo. GUI La interfaz gr´ afica de usuario, conocida tambi´en como GUI (del ingl´es graphical user interface) es un programa inform´atico que act´ ua de interfaz de usuario, utilizando un conjunto de im´agenes y objetos gr´aficos para representar la informaci´ on y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicaci´on con el sistema operativo de una m´aquina o computador.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Algunos IDE’s soportan m´ ultiples lenguajes, tales como Eclipse o NetBeans, ambas basadas en Java o MonoDevelop, basado en C#. El soporte para lenguajes alternativos es a menudo proporcionada por plugins, que les permite ser instalado en el mismo IDE al mismo tiempo. Por ejemplo, Eclipse y NetBeans tiene plugins para C/C++ , Ada, Perl, Python, Ruby y PHP , entre otros lenguajes.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Code Blocks
¿Que es Code::Blocks? Code::Blocks es un entorno de desarrollo integrado libre y multiplataforma para el desarrollo de programas en lenguaje C++. Est´a basado en la plataforma de interfaces gr´aficas WxWidgets, lo cual quiere decir que puede usarse libremente en diversos sistemas operativos, y est´a licenciado bajo la Licencia p´ ublica general de GNU.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
¿Por que este IDE? Debido a que Dev-C++ es un IDE para programar en C y C++ y est´a creado en Delphi, surgi´ o la idea y necesidad de crear un IDE hecho en los lenguajes adecuados: C y C++. Con esta motivaci´on se cre´o el IDE Code::Blocks.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
¿Por que este IDE? Debido a que Dev-C++ es un IDE para programar en C y C++ y est´a creado en Delphi, surgi´ o la idea y necesidad de crear un IDE hecho en los lenguajes adecuados: C y C++. Con esta motivaci´on se cre´o el IDE Code::Blocks. Caracter´ısticas Code::Blocks es un IDE construido como un n´ ucleo altamente expansible mediante complementos (plugins). Actualmente la mayor parte de la funcionalidad viene provista por los complementos incluidos predeterminadamente. No es un IDE aut´onomo que acepta complementos, sino que es un n´ ucleo abstracto donde los complementos se convierten en una parte vital del sistema. Esto lo convierte en una plataforma muy din´amica y potente, no solo por la facilidad con que puede incluirse nueva funcionalidad, sino por la capacidad de poder usarla para construir otras herramientas de desarrollo tan solo a˜ nadiendo complementos. Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Caracter´ısticas del entorno Entre otras, Code::Blocks soporta varias de las caracter´ısticas ya consideradas “cl´asicas” y que sirven de apoyo a la programaci´on: Espacios de trabajo (workspaces) para combinar m´ ultiples proyectos.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Caracter´ısticas del entorno Entre otras, Code::Blocks soporta varias de las caracter´ısticas ya consideradas “cl´asicas” y que sirven de apoyo a la programaci´on: Espacios de trabajo (workspaces) para combinar m´ ultiples proyectos. Espacio de trabajo adaptable (cambia seg´ un la tarea que se est´e realizando o como se configure).
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Caracter´ısticas del entorno Entre otras, Code::Blocks soporta varias de las caracter´ısticas ya consideradas “cl´asicas” y que sirven de apoyo a la programaci´on: Espacios de trabajo (workspaces) para combinar m´ ultiples proyectos. Espacio de trabajo adaptable (cambia seg´ un la tarea que se est´e realizando o como se configure). Navegador de proyectos; vista de archivos, s´ımbolos (heredados, etc.), clases, recursos.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Caracter´ısticas del entorno Entre otras, Code::Blocks soporta varias de las caracter´ısticas ya consideradas “cl´asicas” y que sirven de apoyo a la programaci´on: Espacios de trabajo (workspaces) para combinar m´ ultiples proyectos. Espacio de trabajo adaptable (cambia seg´ un la tarea que se est´e realizando o como se configure). Navegador de proyectos; vista de archivos, s´ımbolos (heredados, etc.), clases, recursos. Editor tabulado, m´ ultiples archivos.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Caracter´ısticas del entorno Entre otras, Code::Blocks soporta varias de las caracter´ısticas ya consideradas “cl´asicas” y que sirven de apoyo a la programaci´on: Espacios de trabajo (workspaces) para combinar m´ ultiples proyectos. Espacio de trabajo adaptable (cambia seg´ un la tarea que se est´e realizando o como se configure). Navegador de proyectos; vista de archivos, s´ımbolos (heredados, etc.), clases, recursos. Editor tabulado, m´ ultiples archivos. Intercambio r´apido .h/.cpp.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Caracter´ısticas del entorno Entre otras, Code::Blocks soporta varias de las caracter´ısticas ya consideradas “cl´asicas” y que sirven de apoyo a la programaci´on: Espacios de trabajo (workspaces) para combinar m´ ultiples proyectos. Espacio de trabajo adaptable (cambia seg´ un la tarea que se est´e realizando o como se configure). Navegador de proyectos; vista de archivos, s´ımbolos (heredados, etc.), clases, recursos. Editor tabulado, m´ ultiples archivos. Intercambio r´apido .h/.cpp. Lista de tareas.
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on
Introducci´ on a C/C++(IDE)
IDE Code::Blocks
Como Programar en C/C++, Deitel (Prentice Hall), 2da Edici´on. Programming Principles and Practice Using C++, Bjarne Stroustrup. http://www.codeblocks.org http://www.wxwidgets.org
Jos´ e Luis Alonzo Vel´ azquez
Lenguaje de Programaci´ on