(Desarrollo bajo Windows, Linux y OSX. Prefiero Linux ya que puedo ser mucho más productivo).
Linux es un sistema operativo desarrollado por desarrolladores para desarrolladores, en el sentido más amplio del término. A través del shell, las herramientas se integran entre sí para el desarrollo de una manera que simplemente no lo hacen en otros sistemas operativos. (Quizás Mac puede ser similar, pero el trabajo de shell en una Mac me parece “piratería informática”).
Los IDE en Windows (MSVS) generalmente están restringidos a “solo desarrollo de software”. Lo mismo con XCode en Mac. Tal vez obtenga algunas herramientas de repositorio o SCM, pero en su mayor parte se trata de construir un ejecutable, no construir un producto de software.
- ¿Cuál es la diferencia entre la actualización de software y la actualización del sistema?
- Como desarrollador de software, ¿cuál es el mayor desafío / disgusto / obstáculo que enfrenta cuando busca nuevas oportunidades?
- ¿Cuáles son las cosas básicas necesarias para saber antes de comenzar el curso de ingeniería informática?
- ¿Cuáles son algunos recursos / software útiles para desarrolladores que usan Linux?
- ¿Cómo programarías un algoritmo para analizar chistes y humor?
En Linux, todo el sistema operativo es la cadena de herramientas. Como parte de su proceso de compilación, verifica los cambios en los activos como audio o gráficos y actualiza en consecuencia, puede formatear los activos (es decir, hacerme una compilación con videos tutoriales MP4 con una nueva resolución), cargar y descargar desde servidores, enviar notificaciones etc.
En Linux también es probable que tenga código fuente para cada biblioteca con la que se vincule su aplicación. Es fácil rastrear errores que no están en su código.
También tendrá controladores de dispositivo de depuración con fuente y puede hacer cosas como los mensajes del bus de registro. Mucho más fácil si estás tratando de descubrir por qué tu software no funciona con un dispositivo en particular.
Hay muchas más opciones de biblioteca en Linux. ¿Necesitas una interfaz gráfica de usuario? Hay como 100 de ellos. Todo gratis y con fuente.
Los enlaces simbólicos también son mucho más fáciles de usar en Linux y potentes para el desarrollo. (Windows no los tuvo por MUCHO tiempo. Los cajeros automáticos siguen siendo limitados). Desea probar una nueva versión de un compilador, un conjunto diferente de encabezados, diferentes versiones de objetos compartidos (“.dll”), una versión radicalmente modificada versión de algún subdirectorio fuente mientras se mantiene el original? Una ‘ln -s’ para crear un enlace simbólico y una ‘rm’ para eliminarlo y revertirlo.