Mi opinión es esta:
Ambos están destinados a ser lenguajes de sistemas de próxima generación, para brindar un nuevo nivel de expresividad y seguridad a los sistemas y la programación de aplicaciones.
Filosofía
- ¿Cuál es la mejor manera para que una compañía de software SaaS aloje su software en China?
- ¿Cuál es la naturaleza del trabajo de los ingenieros de software de sistemas integrados?
- ¿Cuál es el papel de esas bases de datos multimodelo relativamente nuevas como ArangoDB y OrientDB en todo este escenario de persistencia políglota, especialmente para el último crecimiento de las arquitecturas de microservicios?
- Cómo comenzar a desarrollar aplicaciones y programar software
- Como recién graduado, ¿dónde aprendería más y dónde puedo tener una progresión profesional más rápida, Facebook o Google? El papel en Google es un ingeniero de confiabilidad del sitio frente a un ingeniero de software en Facebook.
- Rust está destinado a ser un C ++ más seguro. El óxido está destinado a ser seguro por encima de todo.
- Swift está destinado a ser un Python / Ruby de alto rendimiento. Swift está destinado a ser una experiencia de codificación familiar y centrada en el programador.
Concurrencia
- Rust utiliza una API de hilo bastante convencional
- Swift utiliza colas de ejecución de código “Grand Central Dispatch”, bloques de código y grupos de subprocesos para optimizar el rendimiento y realizar la sincronización.
Gestión de la memoria
- La propiedad y los préstamos son el concepto fundamental para la memoria compartida y la concurrencia en Rust.
- Swift utiliza ARC en tiempo de compilación, que es como un compilador estático colocado en la gestión de memoria manual.
- Ambos idiomas tienen medios de memoria no administrada y punteros de uso directo (pero inseguro)
Compatibilidad con código C
- Swift es compatible con ABI con C. Por lo tanto, el código se puede mezclar con la base de código C u objC existente. Esto es exclusivo de Swift.
REPL, codificación en vivo y JIT
- Swift tiene un campo de codificación en vivo, REPL y puede JIT en desarrollo antes de ser compilado nativo.