studio programacion para edición desarrollo archivo aplicaciones anaya linux

linux - para - manual de programacion android pdf



¿Qué usas para desarrollar aplicaciones en Linux? (9)

Soy un experimentado desarrollador de .NET (c # / vb.net) (desde beta) y quería comenzar a buscar cómo desarrollar aplicaciones para Linux. He hecho algo de programación Java también. Tengo Ubuntu 8.10 Linux y me preguntaba qué estaban usando todos como herramienta para desarrollar aplicaciones (para cualquier versión de Linux): ¿es Java la mejor manera de hacerlo?

Soy nuevo en Ubuntu y no he trabajado en Linux desde los días en que Redhat usó la terminal, así que todavía soy bastante nuevo.

Aquí hay algunos comentarios basados ​​en las respuestas:

Me gustaría ser más eficiente en el uso de Linux (aunque solo sea para una O / S) y aprovechar mis habilidades de desarrollo aprendiendo un lenguaje diferente como Java (he creado aplicaciones Java muy simples en el pasado ... muy simple) - de todos modos quería pensar en algo que simplemente expandiría mis habilidades.

He creado muchas aplicaciones web y de Windows con .NET (algunas muy grandes) y estoy muy bien informado en los lenguajes c # y vb.net y en el framework .net. He desarrollado muchos proyectos usando:

.net remoto, servicios web, wcf (muchas aplicaciones recientes de wcf), aplicaciones de Windows, servicios de Windows, aplicaciones web: utilizo JavaScript al desarrollar asp.net y también conozco VBScript y vb6.

Sé que tomaría muchos años poder crear aplicaciones de manera eficiente en otro (s) idioma (s), pero creo que me haría un desarrollador más completo, y si Google compra Microsoft y hace que sea ilegal usar Windows, entonces todavía tengo un plan de respaldo :-)


El mundo de Linux está principalmente pirateado con Bash, Perl, Python y C. Para usar Linux de manera eficiente, recomiendo encarecidamente que domine esos idiomas. Lo realmente genial de Linux es cómo puedes combinar fácilmente aplicaciones pequeñas para resolver un problema muy rápido. Cuando digo Bash, también me refiero a todas las pequeñas utilidades ... como gawk, sed, wc, grep, etc.

Luego, depende de lo que quieras hacer ... si quieres que sea portátil en Windows. En este caso, en mi humilde opinión, Java es el camino a seguir. (Eclipse y netbeans también se pueden usar en Linux). Mono es genial ... hasta que no haga lo que se supone que debe hacer.

Personalmente, me parece genial que muchas cosas se construyan usando solo bash ... significa que realmente se puede aprender explorando esos archivos ... Recuerdo que cuando instalé Archlinux, estaba leyendo el archivo bash de configuración al mismo tiempo y seguí todos los pasos.

Si desea utilizar Linux de manera muy efectiva, sugiero encarecidamente: "Una guía práctica para Linux - Comandos, editores y programación de shell - por Mark G. Sobell"

Sin embargo, si realmente no te importa dominar Linux y "solo" quieres codificar algunas aplicaciones, entonces, como ya eres familiar con .net, usar Mono es posible, pero creo que aprender Java es una mejor opción.

Y, por cierto, aprender a usar vim si planeas usar Linux es como aprender a caminar si quieres correr.


Es posible que desee ver qué escritorios como Gnome y KDE le ofrecen. En KDE, debe desarrollar usando C ++ con el uso de la versátil biblioteca QT, que también se usa en dispositivos móviles / integrados.

Para los IDE, puede verificar KDevelop y Eclipse + CDT para el trabajo C / C ++. Aprender automake toolchain también debería ser una ventaja ya que una gran cantidad de software para Linux usa esto. Sin embargo, para proyectos personales, asumiría algo mejor / más nuevo como CMake (por ejemplo, KDE usa CMake).

Para trabajos rápidos, use Python o Ruby, lo que más le convenga.


Esto depende en gran medida del tipo de aplicaciones que le interese desarrollar. La multitud C se adhiere a los buenos viejos vi / emacs, make, gdb y muchos xterms. Los usuarios de Java a menudo usan herramientas multiplataforma como NetBeans y Eclipse. Las personas de Python, Perl y Ruby también usan con frecuencia herramientas de línea de comandos, pero sus IDE se están enriqueciendo todo el tiempo. Por supuesto, muchos incondicionales serán jinetes de línea de comando por el resto de su carrera.

Espera muchas más respuestas subjetivas. Lo etiquetaría como tal si tuviera el representante ...


Has hecho una buena elección con Ubuntu, incluso con su versión comercial, conserva sus raíces de Debian como un gran SO de desarrollo. Encontrará que la mayoría de las bibliotecas / módulos / idiomas son fáciles de instalar y que los empaquetadores no ''destruyen'' las características dentro de ellos. Por ejemplo, Red Hat tenía un gran problema con Perl porque los empaquetadores sacaban código de prelanzamiento.

Dependiendo del tipo de aplicación que quiera escribir ... Yo recomendaría Python y C. Python hace que las interfaces de usuario de GTK sean bastante simples, C es el mejor lenguaje para escribir algún daemon o servicio de sistema. Ambos facilitan la portabilidad entre varias distribuciones de Linux. Sería bueno familiarizarse con las secuencias de comandos portátiles de shell. Si tiene algo de tiempo, eche un vistazo a Perl también.

Java está tan abstraído que realmente no profundizaría en la simplicidad del desarrollo de aplicaciones Linux al usarlo. Java es Java, donde sea que lo use.

Python es la abstracción suficiente para evitar que Linux te intimide mientras aprendes, C te expondrá a todas las cosas geniales y horribles que un kernel compatible con POSIX y la biblioteca C tienen para ofrecer.

Si puede actualizar la pregunta con una idea de lo que desea escribir, estoy seguro de que verá respuestas más adecuadas.


Java para aplicaciones de escritorio reales (en Eclipse) y Python para cosas rápidas y sucias. Y eso es en Ubuntu Heron. Prefiero usar los tiempos de ejecución de Sun Java (Eclipse viene con su propio compilador).



Si desea aprovechar sus habilidades de .NET, Mono es una opción. Para un IDE, se promueve MonoDevelop.

Si haces esto como un ejercicio de aprendizaje, me mantendría alejado de Java. A diferencia de Mono, que lo alienta a usar funciones específicas de Linux, Java está muy abstraído del sistema operativo. Además de utilizar la barra diagonal en los nombres de archivo, no se puede decir que esté programando en Linux.

Si está haciendo esto como una carrera profesional, C y Java son mejores opciones. Mono tiene potencial, pero actualmente sigue siendo un jugador de nicho.


Si tu objetivo es aprender la forma Unix, te recomiendo

  1. Escriba algunos guiones de shell usando bash o ksh . Juega con sed , awk y otras cosas que encontrarás en Kernighan y The Unix Programming Environment de Pike.

  2. Aprende un poco de C y haz un poco de programación en C. El manual de Kernighan y Ritchie es un clásico.

  3. Haga algunas secuencias de comandos. Python es un favorito popular, pero Ruby y Lua también son buenas opciones. Python es probablemente el más rico; Ruby es puro OO casado con el sistema operativo; Lua es el más rápido y es tan simple que puedes dominarlo por completo.


He escrito aplicaciones profesionales (es decir, pagas para comprar) en Linux. Fueron escritos C y / o C ++. Utilizan las bibliotecas X11 (que han existido para Linux desde 1993 y Unix desde 1984) y siguieron y cumplieron todos los argumentos estándar de X11 (que la mayoría de las aplicaciones de KDE y Gnome) no respetan el largo historial de opciones estándar.

Para aplicaciones basadas en web PHP / mySQL / Apache o Java / Tomcat / Apache cuando sea necesario. Comencé el desarrollo web en 1993 cuando el navegador era Mosaic (que era el padre de Netscape e IE) escrito por los iniciadores de Netscape cuando estaban en la universidad. Sí, Microsoft licenció el código Mosaic. El navegador inicial de Netscape se llamaba Netscape Mosaic (antes de que se cambiara a Netscape Navigator). El "motor" se llamaba "Mozilla" incluso en el código Mosaico y el Netscape de los primeros decía "Se puede deletrear Netscape pero se pronuncia Mozzila".

Sé que la generación más nueva de programadores no quiere tomarse el tiempo para aprender a codificar realmente en C o C ++ nunca más, y creo que es una gran pena. El código producido por un programa realmente bueno y el compilador realiza el "código administrado" cualquier día (pero requiere más habilidad en el desarrollador).