Dime:
¿Es la incapacidad de hacer cosas básicas como la asignación de memoria y la aritmética de punteros una debilidad de Java?
¿Es la incapacidad de mutar las cosas una debilidad de Haskell?
- Actualmente estoy en USACO Gold, pero apenas puedo resolver nada. ¿Qué debo hacer para ser más competente? ¿Dominar el oro es solo una cuestión de aprender toneladas de algoritmos, o necesita más que eso?
- ¿Cuáles son algunos algoritmos informáticos inspirados en la naturaleza?
- ¿Cuáles son los buenos canales en YouTube para aprender algoritmos y estructuras de datos para la preparación de Google Code Jam o Facebook Hacker Cup?
- ¿Por qué el problema de detención se considera no solucionable mientras manipulamos / negamos la respuesta nosotros mismos con la máquina N al final de la máquina X?
- ¿Qué árbol captura más CO2, un árbol completamente maduro o un árbol joven de rápido crecimiento?
Haskell no tiene matrices eficientes. Tampoco Java cuando los tipos se vuelven complejos.
Y Rust no tiene estructuras eficientes y limpias. Esa es la forma como es.
El óxido es, más o menos, estático. No le gustan las asignaciones, y especialmente las asignaciones no frecuentes. Una vez que intentas crear un árbol o incluso una lista enlazada individualmente, te encuentras con toneladas de Cajas y Rc, que hinchan la base de código. Pero, sinceramente, no es Rust ser un pinchazo molesto.
Es Rust advirtiéndote.
Asignaciones Son. Costoso.
Java tiene asignación de losas, por lo que crear un nuevo objeto es casi gratis. Haskell tiene una VM optimizada para crear y destruir objetos a voluntad. Rust no tiene todo esto. ¡Ni siquiera tiene una VM! En su lugar, puede asignar miles de objetos en una sola llamada.
¿No hay listas doblemente vinculadas? Los vectores son más rápidos.
No TreeMap? Hashmap es más rápido.
¿No hay gráficos? Los vectores indexados son más rápidos, más fáciles de transformar e iterables.
No hay punteros hacia atrás? Simplemente use un modelo jerárquico en su lugar. Como beneficio adicional, su diseño ahora es reutilizable.
Entonces diría que la incapacidad de crear listas doblemente vinculadas en Rust no es una debilidad. Es una característica ¿Qué otro idioma te impide joder?