- Adherirse a la reproducibilidad es una práctica recomendada, que primero viene a la mente. Los beneficios de este enfoque son bien conocidos y se pueden encontrar fácilmente en Internet, por lo que no voy a entrar en detalles sobre esto.
- Adherirse a la flexibilidad sería la segunda mejor práctica. Mi justificación para esto es que las aplicaciones científicas con frecuencia tienen muchos factores externos e internos, que afectan los resultados y su calidad. Por lo tanto, la capacidad del software para configurarse y modificarse según los requisitos cambiantes y los diferentes escenarios parece una característica importante.
- Adherirse al modelo de desarrollo de software de código abierto , que es popular incluso para el software general, es bastante importante para las aplicaciones científicas debido a la naturaleza altamente colaborativa en la academia y la investigación / ciencia (como sabemos, la academia y los círculos de investigación / ciencia es el entorno, lo que dio nacimiento al fenómeno del desarrollo de software de código abierto).
- Las consideraciones de escalabilidad y rendimiento son más importantes para muchas aplicaciones científicas que para la mayoría de las aplicaciones de propósito general, teniendo en cuenta el aspecto del volumen de datos del modelo 3V / 4V de Big Data.
- Con respecto a las prácticas de desarrollo de software ágiles , creo que, si bien son valiosas y podrían ser importantes para desarrollar algunas aplicaciones científicas (especialmente aquellas con un presupuesto más limitado), estas prácticas son menos importantes en este dominio debido a requisitos algo más relajados en términos de los cronogramas de entregables y la falta de estrés, generalmente asociados con la producción comercial de software comercial.
¿Cuáles son algunas de las mejores prácticas para escribir paquetes de software específicamente para aplicaciones científicas y aprendizaje automático? ¿Serían relevantes las mismas prácticas utilizadas en el desarrollo de software ágil?
Related Content
¿Qué cosas puedo hacer con una computadora poderosa?
¿Cómo ayudará el aprendizaje de la computación en la nube en el futuro?
¿Qué tiene de emocionante el Machine Learning?
¿Qué importancia tienen las ecuaciones diferenciales parciales para la robótica?
More Interesting
¿Es fácil hacer que el centro de Bhopal sea bueno para GATE (informática)?
¿Qué es un sistema operativo, cuáles son los tipos de sistemas operativos?
¿Es el personaje la unidad básica de la jerarquía de almacenamiento de datos?
¿Por qué los proveedores vps no proporcionan estimaciones de CPU en sus comparaciones?
¿Qué campo de la informática cree que se verá más afectado si se demuestra P = NP?
¿Cómo debo comenzar con el aprendizaje automático (cualquier curso)?
¿Qué hace exactamente MATLAB y por qué se volvió tan importante y una habilidad muy solicitada?
¿En qué orden de dificultad consideraría publicar en CVPR, ICCV, ECCV, BMVC y NIPS?
¿Qué es el spooling en la computadora?
Cómo escribir el equivalente de 16 bits de un número de complemento a dos de 8 bits en hexadecimal
¿Cuál es la diferencia entre global y $ GLOBAL en PHP?
¿Hay recursos o tutoriales para comprender rápidamente la lógica y los algoritmos aplicados?