Está en la página 1de 10

2.

- IDE (Entorno de Desarrollo Integrado)

2.1.- Definición de IDE

Un entorno de desarrollo integrado (IDE) es un sistema de software para el diseño


de aplicaciones que combina herramientas comunes para desarrolladores en una
sola interfaz de usuario gráfica (GUI).

La mayoría de los IDE contienen depuradores que puede utilizar sin abrir nuevas
ventanas de terminal. No necesita recordar todos los comandos que necesita, por
ejemplo, para generar código automáticamente a partir de marcos, para construir
su aplicación o cualquier otra cosa, ya que probablemente haya un botón que lo
haga por usted en el IDE.

En este momento, existe un concepto erróneo entre los IDE y los editores de
código. Es seguro que un IDE incluye muchas más funciones que también tienen
una curva de aprendizaje, estas funciones terminan siendo más poderosas y útiles
si se utilizan a diario. Los editores de código, por otro lado, son esencialmente
editores simples que incluyen resaltado de sintaxis para el lenguaje en el que está
programando, como PHP, C, C #, Python, etc. Hacen que la programación sea
mucho más fácil que los editores de texto simple, pero no lo son al nivel de un
IDE.

Los IDEs pueden funcionar como aplicaciones por sí solas, o también ser parte de
aplicaciones existentes, en muchos casos se dedican a un solo lenguaje de
programación y otros múltiples lenguajes; estos permiten opciones como editar,
compilar, depurar y desarrollar interfaces gráfica de usuario. En los lenguajes de
programación clásicos por ejemplo C++, Object Pascal, Velneo, entre otros,
además dota de un marco de trabajo muy accesible.

Los IDEs permiten simplificar la configuración de múltiples componentes de


desarrollo, además suministra una misma estructura de servicios, los cuales
reduce los tiempos de ajustes, permitiendo aumentar la productividad de
desarrollo.

Generalmente, un IDE cuenta con las siguientes características:


Editor de código fuente: editor de texto que ayuda a escribir el código de
software con funciones como el resaltado de la sintaxis con indicaciones visuales,
el relleno automático específico para el lenguaje y la comprobación de errores a
medida que se escribe el código.

Automatización de compilaciones locales: herramientas que automatizan


tareas sencillas y repetitivas como parte de la creación de una compilación local
del software para su uso por parte del desarrollador, como la compilación del
código fuente de la computadora en un código binario, el empaquetado de ese
código y la ejecución de pruebas automatizadas.

Depurador: programa que sirve para probar otros programas y mostrar la


ubicación de un error en el código original de forma gráfica.

2.2.- IDE’s más comunes

NetBeans: Netbeans es el IDE oficial de JAVA y uno de los programas más


importantes. NetBeans permite crear todo tipo de aplicaciones.

Eclipse: Es un IDE muy popular de código abierto y ampliamente extendido. Fue


desarrollado originalmente por IBM aunque actualmente cuenta con una gran
comunidad que le da soporte con una gigantesca biblioteca de plugins.

Zend Studio: Zend Studio es un entorno de desarrollo basado en Eclipse y


enfocado al desarrollo de aplicaciones web basadas en PHP.

Microsoft Visual Studio: Programado en C++ Y C# es un entorno de desarrollo


integrado.

BlueJ: Es un entorno de desarrollo dirigido al aprendizaje de Java (entorno


académico) y sin uso a nivel profesional.

2.3.- Comparación entre dos IDE’s orientados al mismo lenguaje

Pycharm – Funciones principales:

Asistencia inteligente a la codificación: PyCharm proporciona una finalización del


código inteligente, inspecciones del código, indicación de errores sobre la marcha
y arreglos rápidos, así como refactorización de código automática y completas
funcionalidades de navegación.

Herramientas de desarrollo integradas: La enorme colección de herramientas


preconfiguradas de PyCharm incluye un depurador y un ejecutor de pruebas
integrados, perfilador Python, un terminal integrado, integración con los principales
VCS y herramientas de base de datos integradas y capacidades de desarrollo
remoto con intérpretes remotos.

Herramientas científicas: PyCharm se integra con IPython Notebook, cuenta con


una consola Python interactiva y es compatible con Anaconda, así como con
múltiples paquetes científicos como Matplotlib y NumPy

Pycharm – Características:

• Asistencia y análisis de codificación, con finalización de código , sintaxis y


resaltado de errores, integración delinter y arreglos rápidos

• Navegación de proyectos y códigos: vistas de proyectos especializados, vistas


de estructura de archivos y saltos rápidos entre archivos, clases, métodos y usos

• PythonRefactoring : incluye renombrar, extraer método, introducir variable,


introducir constante y otros.

• Soporte para frameworks web: Django , web2py y Flask

• Depurador integrado de Python

• Pruebas unitarias integradas, con cobertura line-by-line(línea por línea)

• Desarrollo de Python de Google App Engine

• Integración de control de versiones: interfaz de usuario unificada para Mercurial ,


Git , Subversion , Perforce y CVS con listas de cambios y combinación

Spyder – Funciones y características

El editor que integra este IDE es multilenguaje. Posé un navegador de


función/clase, funciones de análisis de código (pyflakes y pylint son actualmente
compatibles), la opción de finalización de código, división horizontal y vertical y
definición goto.

• Consola interactiva. Las consolas Python o IPython son un espacio de


trabajo y soporte de depuración para evaluar al instante el código escrito en el
Editor. También viene con la integración de figuras Matplotlib.

• Posé un visor de documentación. El programa nos va a poder mostrar


documentación para cualquier llamada de clase o función realizada en el Editor o
en una consola.

• Vamos a poder explorar las variables creadas durante la ejecución de un


archivo. Va a ser posible editarlas con varios editores basados en GUI, como un
diccionario y los de matriz Numpy.

• Tendremos la posibilidad de buscar en archivos. También nos va a ofrecer


soporte de expresiones regulares.

• Podremos disponer de un explorador de archivos para una mayor


comodidad. Vamos a poder también tener acceso al registro del historial.

• Spyder también se puede utilizar como una biblioteca de extensión PyQt5 /


PyQt4 (spyder de módulo). El widget de shell interactivo de Python utilizado en
Spyder puede estar integrado en su propia aplicación PyQt5 / PyQt4

Diferencias entre Spyder y Pycharm:

- Spyder es multilenguaje, mientras que Pycharm no

- Pycharm tiene soporte para frameworks web como Django, web2py y flash.
Spyder no cuenta con dicho soporte.

- Spyder posee un visor de documentación, cosa que Pycharm no.

- Pycharm permite desarrollar a Python en Google App Engine


3.- Programación en diversos tipos de proyectos

3.1.- Programación en proyecto social

Un proyecto social que se puede realizar con la ayuda de la programación es un


censo, pues los distintos lenguajes de programación cuentan con herramientas
que facilitan la lectura y comprensión de los datos obtenidos mediante el censo.

Por ejemplo, se puede usar Python debido a que este cuenta con la capacidad de
generar distintos gráficos y representaciones visuales tales como:

 Líneas, barras, y marcadores.

 Imágenes, contornos y campos.

 Subgráficos, ejes y figuras.

 Estadísticas (diagramas de caja, gráficos de barra e histogramas).

 Gráficos circulares y polares.

Lo anterior gracias al uso de librerías especificas para este tipo de tareas o tareas
similares. Las librerías usadas para facilitar la elaboración de gráficos y
representaciones visuales en Python son:

Para el análisis de los datos contamos con NumPy. Es un paquete se describe


como "el paquete fundamental para computación científica con Python." De
acuerdo con el sitio web oficial de este paquete, "casi todos los científicos de datos
que trabajan con Python aprovechan el poder de NumPy"

Mientras que para visualización de los datos se usan otras como: Matplotlib,
Seaborn, ggplot2 y Bokeh. Por mencionar algunas, todas contando con la
capacidad de generar una forma de visualización de los datos obtenidos por medio
de declaraciones hechas en Python.
3.2.- Programación en pequeña subvención

Se propone un proyecto de subvención para mejorar la capacidad penitenciaria.


Se otorgarán de 1 a 5 subvenciones para proyectos que tengan una duración
mínima de 12 meses. Cada proyecto podrá recibir entre $50,000 USD y 5 millones
de dólares estadounidenses.

En este caso, al ser un proyecto que tiene aspectos tanto financieros, como
sociales. Se utilizan también librerías de Python que se usan en proyectos
sociales, que nos permitan generar estadísticas para conocer las áreas criticas
que hay que mejorar en este proyecto y presentarlas a las autoridades encargadas
de brindarnos el presupuesto de manera grafica gracias a estas, así como también
otros complementos como lo es Microsoft Azure Machine Learning (el cual es
desarrollado en C#) que nos permitan administrar de mejor forma el dinero del
proyecto.

Las librerías de Python a usar para la parte de obtención y visualización de datos


son:

 Matplotlib: La siempre vigente librería para realizar gráficos en Python.

 statsmodels: Si de estadística se trata, no hay como esta librería para


realizar cualquier tipo de analisis estadístico.

 PuLP: La cual nos permite crear modelos de programación lineal en forma


muy sencilla.

Mientras que en el caso de la administración del presupuesto del proyecto, se


gestionará con Azure Machine Learning que nos brinda herramientas para crear
un presupuesto tentativo, nos ayuda a registrar el gasto mensual y el gasto total
efectuado hasta ese momento, también nos muestra unas graficas con los
porcentajes de gastos.

3.3.- Programación en proyecto de investigación

En este proyecto se va a desarrollar un juego para escritorio que permita jugar o


ejercitar la mente de un niño de 5 años a 7 años ya que están en el proceso de
formación de esta capacidad. De esta forma se pretende saber si la
implementación de métodos didácticos estimula la capacidad del infante para
procesar información, distinguir formas, etc.

La idea de dicha aplicación surge por el deseo de crear una aplicación de


entretenimiento para escritorio que resultase de fácil manejo para el usuario,
cumpliendo algunos aspectos que se considerarán necesarios para una correcta
implementación.

Se usará Pygame que es una librería de Python que a su vez está conformada por
un conjunto de librerías cuya finalidad es facilitar la tarea del programador a la
hora de realizar un videojuego, pudiendo ser usado también para la realización de
aplicaciones con interfaces gráficas. Cuenta con las siguientes características:

 La generación de ventanas gráficas o de pantalla completa con varios


tamaños, modos y densidades.
 Tratar la aplicación Pygame como una apliación de ventanas, donde en un
ciclo central se manipula los eventos generados y se actualiza la interfaz
gráfica.

 Manipulación y generación de eventos de dispositivos y recursos de la


máquina: tarjeta gráfica, teclado, mouse, temporizador, etc.

 La importación, tratamiento y exportación de imágenes desde y hacia


ficheros de imagen de formatos conocidos como JPEG, PNG, GIF, TGA,
BMP, entre otros, contando el con un tipo propio englobado en la
clase Surface. Esto implica algunos efectos de postprocesado (brillo,
recoloración, transparencia, máscaras, ect), la deformación (rotación,
ampliación y estrechamiento, volteo, entre otras), la obtención de partes de
la superficie.

 Generación de formas, lineas y puntos básicos.

 La emisión de sonidos de efecto en ficheros OGG y WAV.

 La reproducción de música de fondo con archivos OGG, MP3 y MIDI.

 Reproducir videos MPEG1.

 Sprites y control de colisiones.

3.4.- Programación en inversión privada.

Se propone invertir en la construcción de 3 hoteles en resort, un parque acuático,


un parque temático y un parque natural recibirán 26 mil millones de pesos en
2020.

3.5.- Programacion en Infraestructura.

Una red es un sistema de elementos interconectados entre sí con una lógica y


topología interna, como bordes (líneas) y cruces de conexión (puntos), que
representan las posibles rutas desde una ubicación origen a una ubicación de
destino. En este proyecto se quiere obtener redes de viarias de OpenStreetMap
usando la librería Python OSMnx y realizar ciertos análisis con NetworkX.
OSMnx

La librería OSMnx desarrollada por Geoff Boeing nos va a dar la posibilidad de


descargar la información de redes transporte de la gran base de datos geográfica
abierta del proyecto OpenStreetMap (OSM).

El modelo de datos OSM para calles y carreteras es muy completo. Los datos
recopilados incluyen distintas tipologías de viarios (autovías, carreteras principales
y secundarias, senderos, caminos peatonales…) y atributos vinculados con la
circulación como son la velocidad, giro, sentido o restricciones.

Gracias a OSMnx podremos descargar de forma automática conjuntos de datos


para un municipio, un barrio, una calle o una distancia y todo con una estructura
topológica basada en arcos y nodos que nos permitirá su estudio y análisis.

NetworkX

NetworkX es una biblioteca de Python para el estudio de grafos y análisis de


redes. Combinado la potencia de análisis con los datos descargados con OSMnx
podremos realizar análisis de caminos más cortos, orientaciones, estadísticas
sobre la red.

También podría gustarte