¿Qué lenguaje de programación se recomienda para crear un software de edición de video en línea / fuera de línea? ¿Cuánto tiempo llevaría programar una aplicación de este tipo?
Respuestas
11/16/2024
Paulita
Necesitaría más de un idioma para un proyecto como este, ya que necesitaría combinar las mejores fortalezas de varios idiomas diferentes.
En primer lugar, la edición y manipulación de archivos de vídeo, que requiere rutinas muy rápidas. También necesita poder manejar muy bien la memoria. El lenguaje C ++ funcionaría muy bien aquí, aunque podría preferir ir aún más bajo y usar el estándar C en su lugar. Usaría Standard C para hacer una biblioteca compartida con docenas de funciones de edición. Esta biblioteca se puede llamar desde varios lenguajes de programación diferentes.
Para la solución de servidor web, necesitaría envolver la biblioteca C en una mejor solución. Python y PHP pueden hacer uso directo de las bibliotecas C, por lo que estos dos lenguajes serían prácticos. Sin embargo, C # con ASP.NET también es una solución excelente y proporciona una solución "más limpia" que PHP y tiene más funcionalidad que Python o PHP. Esto se debe a que puede escribir módulos adicionales en C # que también se pueden llamar desde una aplicación de escritorio o una aplicación móvil que están escritas en C #. Por tanto, tendría el menor número de idiomas.
Si usa PHP o Python, aún necesita crear aplicaciones de escritorio y aplicaciones móviles. Como Apple depende de Swift o Objective-C y Android en Java, ya tienes varios idiomas que necesitarías aprender. El escritorio también se vuelve problemático, aunque Python también podría usarse para hacer aplicaciones de escritorio. Sin embargo, prefiero usar C ++ que Python.
Java también sería una buena alternativa, pero Java no es compatible con dispositivos móviles de Apple y apenas es compatible con Mac OS X, ya que requiere una descarga e instalación por separado. Java también es un poco desagradable en los sistemas de escritorio y debería convertirse para usarse en sistemas Android, aunque eso es parte del desarrollo de aplicaciones de Android. Pero como Java podría usarse para desarrollar el backend del servidor web, aún podría ser una buena alternativa.
¡Pero también existe la opción de seguir usando C ++ para el servidor web, para la aplicación de escritorio y para las aplicaciones móviles! Mucha gente no se da cuenta de esto, pero puede usar C / C ++ para desarrollar aplicaciones tanto para Android como para Apple, si sabe lo que está haciendo. En cuanto al escritorio, puede usar C ++ para Linux, Windows y Mac OS X y, si realmente desea que su aplicación sea lo más portátil posible, escríbala en Standard C, ya que entonces podría manejar casi todos los sistema operativo existente.
¿No me cree cuando digo que Standard C es muy portátil? Entonces mira el Página de inicio de NetHack, que es solo un juego de computadora que tiene décadas de antigüedad y aún funciona en numerosas plataformas diferentes. De todos modos, es completamente de código abierto ...
Pero programar en Standard C significa que su código será extremadamente detallado. Es posible que desee que su código sea más compacto, por lo que C ++ es una mejor opción para las aplicaciones. C # es mejor si la versión web es más importante que la versión de escritorio. trate de evitar la necesidad de aprender media docena de idiomas diferentes ...
La edición de video profesional puede variar de Hollywood, TV, YouTube, Netflix, etc. Así que supongo que estás hablando de Hollywood. En Hollywood suelen utilizar Avid Media Composer, ya que durante los años 90, cuando el vídeo digital empezaba a crecer, Avid era la verdadera solución profesional. Premiere no se dirigió al mercado profesional hasta una reescritura completa en 2003. Incluso Final ...
Respuestas
Necesitaría más de un idioma para un proyecto como este, ya que necesitaría combinar las mejores fortalezas de varios idiomas diferentes.
En primer lugar, la edición y manipulación de archivos de vídeo, que requiere rutinas muy rápidas. También necesita poder manejar muy bien la memoria. El lenguaje C ++ funcionaría muy bien aquí, aunque podría preferir ir aún más bajo y usar el estándar C en su lugar. Usaría Standard C para hacer una biblioteca compartida con docenas de funciones de edición. Esta biblioteca se puede llamar desde varios lenguajes de programación diferentes.
Para la solución de servidor web, necesitaría envolver la biblioteca C en una mejor solución. Python y PHP pueden hacer uso directo de las bibliotecas C, por lo que estos dos lenguajes serían prácticos. Sin embargo, C # con ASP.NET también es una solución excelente y proporciona una solución "más limpia" que PHP y tiene más funcionalidad que Python o PHP. Esto se debe a que puede escribir módulos adicionales en C # que también se pueden llamar desde una aplicación de escritorio o una aplicación móvil que están escritas en C #. Por tanto, tendría el menor número de idiomas.
Si usa PHP o Python, aún necesita crear aplicaciones de escritorio y aplicaciones móviles. Como Apple depende de Swift o Objective-C y Android en Java, ya tienes varios idiomas que necesitarías aprender. El escritorio también se vuelve problemático, aunque Python también podría usarse para hacer aplicaciones de escritorio. Sin embargo, prefiero usar C ++ que Python.
Java también sería una buena alternativa, pero Java no es compatible con dispositivos móviles de Apple y apenas es compatible con Mac OS X, ya que requiere una descarga e instalación por separado. Java también es un poco desagradable en los sistemas de escritorio y debería convertirse para usarse en sistemas Android, aunque eso es parte del desarrollo de aplicaciones de Android. Pero como Java podría usarse para desarrollar el backend del servidor web, aún podría ser una buena alternativa.
¡Pero también existe la opción de seguir usando C ++ para el servidor web, para la aplicación de escritorio y para las aplicaciones móviles! Mucha gente no se da cuenta de esto, pero puede usar C / C ++ para desarrollar aplicaciones tanto para Android como para Apple, si sabe lo que está haciendo. En cuanto al escritorio, puede usar C ++ para Linux, Windows y Mac OS X y, si realmente desea que su aplicación sea lo más portátil posible, escríbala en Standard C, ya que entonces podría manejar casi todos los sistema operativo existente.
¿No me cree cuando digo que Standard C es muy portátil? Entonces mira el Página de inicio de NetHack, que es solo un juego de computadora que tiene décadas de antigüedad y aún funciona en numerosas plataformas diferentes. De todos modos, es completamente de código abierto ...
Pero programar en Standard C significa que su código será extremadamente detallado. Es posible que desee que su código sea más compacto, por lo que C ++ es una mejor opción para las aplicaciones. C # es mejor si la versión web es más importante que la versión de escritorio. trate de evitar la necesidad de aprender media docena de idiomas diferentes ...