PDF de programación - Recursos de programación en GNU/Linux

Imágen de pdf Recursos de programación en GNU/Linux

Recursos de programación en GNU/Linuxgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 11 de Diciembre del 2017)
360 visualizaciones desde el 11 de Diciembre del 2017
1,0 MB
49 paginas
Creado hace 9a (27/10/2010)
GNU/Linux, software libre para la comunidad universitaria

Recursos de programación en

GNU/Linux

Ramón Rey Vicente

Universidad de Salamanca, 27 de octubre de 2010





Recursos de programación en

GNU/Linux

● Lenguajes
● Frameworks
● Entornos de desarrollo
● Otros recursos
● Colaborando





Lenguajes

● C
● C++
● Java / C#
● Python / Perl / Ruby
● Otros: Objective­C, Fortran, Eiffel, Haskell





C

● La base de GNU/Linux y UNIX
● Gran cantidad de bibliotecas
● glibc, GCC





C++

● Permite usar muchos de los recursos

disponibles en C

● Problemas de estandarización de compiladores
● Ventajas en el diseño e implementación de

aplicaciones

● GCC





Java

● Ya es libre !!!
● Existen implementaciones ajenas al control de

SUN

● Independiente de plataforma, en teoría
● El mejor camino para migrar de entornos de

desarrollo privativos a entornos libres

● JDK, GCJ





C#

● Java de Microsoft
● MONO
● Buen framework de desarrollo, moderno
● Intenta seguir a Microsoft con su .NET
● Incompleto, siempre por detrás
● Complicado migrar de MONO a .NET y

viceversa





Python

● Multiplataforma
● Dinámico
● Orientado a objetos
● Sencillo
● Web y escritorio





Perl

● Multiplataforma
● Hereda features de C, sh, Awk
● Potente manejo de XML
● Fácilmente trabaja con C/C++
● DBI, simplifica acceso a BBDD





Ruby

● Multiplataforma
● Dinámico
● Javascript + Python + Java
● Fácil extender en C





Otros

● Haskell
● Eiffel
● Fortran
● R
● ML
● Objective­C





Frameworks

● Java
● Mono / .NET
● QT / KDE
● Gtk+ / GNOME





Java (I)

● Bytecode
● Recolector de basura
● JDBC, acceso a bases de datos
● Aplicaciones web, servlets
● Introspección, plantillas
● Manejo de xml, cifrado y seguridad
● Programación distribuida





Java (II)

● Swing/AWT para aplicaciones gráficas
● Soporte de Ruby además de Java
● ...hasta tiempo real





Mono / .Net

● Clon de Java
● Integra XML, multihilo, seguridad y cifrado
● Interfaz gráfica con gtk#/gnome#
● Soporta Python, Perl, Javacript, VB.net, Java,

etc. además de C#

● No es recomendable para multiplataforma





QT / KDE

● Creación de aplicaciones gráficas QT/KDE
● Manejo de multihilo
● XML
● Red
● Tipos básicos portables
● KDE: multimedia, manejo de archivos,

componentes con dcop





gtk+ / GNOME

● Creación de aplicaciones gtk/GNOME
● Tipos básicos portables (glib)
● Manejo de gráficos, animaciones
● GNOME: manejo de archivos, multimedia

(gstreamer)





Entornos de desarrollo

● Eclipse
● Netbeans
● Anjuta
● Kdevelop
● Vim / Emacs





Eclipse (I)

● Multiplataforma
● Toolkit propio SWT, nativo para cada plataforma
● Soporta Java, C++, PHP, a través de plugins
● Soporta múltiples SCM
● Editores visuales (incompletos)





Eclipse (II)





Netbeans (I)

● Java, C++ y Ruby
● Editor visual de aplicaciones Java
● Muy extensible: plugins
● Multiplataforma
● Requiere bastantes recursos





Netbeans (II)





Anjuta (I)

● Orientado a gtk+/GNOME
● Integración con autotools (automake, autoconf,

etc)

● Integración con gdb
● Soporte para Pascal, Perl, Java, por archivo
● Ligero, ideal para máquinas modestas





Anjuta (II)





GLADE





Kdevelop (I)

● Orientado a QT/KDE
● Gran soporte de C++
● Soporta C, Java, Pascal, PHP, Ruby, etc
● Integración con autotools, qmake y ant
● Ligero





Kdevelop (II)





Vim (I)

● Editor con muchas posibilidades
● Soporta virtualmente cualquier lenguaje
● Únicamente para editar código
● Obliga a conocer autotools, etc.
● Ideal para máquinas muy modestas





Vim (II)





Emacs (I)

● Editor altamente extensible
● Soporta cualquier lenguaje
● Integración con sistemas de control de

versiones, compiladores, debuggers, etc.

● Es un IDE sin ser IDE





Emacs (II)





Otros recursos

● SCM: control de versiones
● Buscando software
● Alojamiento
● Licencias





SCM

● Gestión del código fuente
● Control de versiones
● SVN, el bueno
● git, arch, bazaar, los feos
● CVS, el malo





Subversion (SVN)

● Desarrollo centralizado
● Sencillo
● Compatible con comandos del CVS
● Soporta directorios
● El nuevo estándar para los habituados al CVS





CVS

● Desarrollo centralizado
● Sencillo
● Muy estable
● Un estándar
● Obsoleto





SCM´s distribuidos

● git
● arch
● bazaar





git

● Sencillo
● Complejo
● Potente
● Flexible
● Escalable





Buscando software

● Freshmeat
● Sourceforge
● Directorio del proyecto GNU
● Savannah
● Proyecto Debian
● GNOME, KDE...





Alojamiento

● Savannah
● Sourceforge





Licencias

● GPL todos somos iguales ante el código
● LGPL somos iguales excepto los desiguales
● BSD / MIT X11 somos iguales los que

queremos serlo





Colaborando

● Elegir un proyecto
● Elegir un módulo o componente
● Elegir un tarea o bug
● Desarrollar la solución
● Exponerla a los miembros del proyecto
● Reimplementar





Elegir un proyecto

● Según lenguaje de programación
● Según la licencia
● Según el tamaño
● Según la ayuda y la comunidad creada





Elegir un módulo

● Según el nivel de cada uno
● Sencillez para empezar
● Pensar funcionalidades no presentes





Elegir una tarea

● Bugzilla
● TODO
● Roadmap
● Bounties (¬)





Implementar solución

● Seguir las convenciones y guías de estilo
● Realizar los cambios mínimos necesarios en el

código de los demás

● El software libre no es solo Linux
● Considerar la licencia del proyecto





Mostrar el trabajo

● Mostrar el trabajo a la comunidad
● Buscar la aceptación del mantenedor del

proyecto

● Modificar y reimplementar todo en función de la

respuesta

● Trabajo colaborativo





Reimplementar

● Aceptar las críticas
● Argumentar las decisiones
● Buscar la excelencia técnica
● Y finalmente, conseguir que acepten el parche





Fin





Esta obra está bajo una licencia Reconocimiento­No comercial­Compartir bajo
la misma licencia 2.5 España de Creative Commons. Para ver una copia de
esta licencia, visite http://creativecommons.org/licenses/by­nc­sa/2.5/es/
o envíe una carta a Creative Commons, 171 Second Street, Suite 300, San
Francisco, California 94105, USA.
  • Links de descarga
http://lwp-l.com/pdf7841

Comentarios de: Recursos de programación en GNU/Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad