¿Es factible estudiar el SICP usando Clojure en lugar de Scheme?

Factible, sí. ¿Vale la pena? No. Me pareció tedioso trabajar con Little Schemer en Clojure (ya lo había completado con Scheme) y no contemplaría una pérdida de tiempo con SICP. No veo ningún beneficio.

SICP es un estudio difícil, que desafía al estudiante a buscar problemas complejos en profundidad. Utiliza uno de los lenguajes más simples jamás diseñados, lo que significa que el lenguaje en sí mismo es una distracción mínima del tema.

  • Si fue lo suficientemente inteligente como para aprender Clojure, no tendrá problemas con Scheme
  • Si no eres lo suficientemente inteligente como para aprender Scheme, no terminarás el primer capítulo de SICP
  • Si eres lo suficientemente inteligente como para aprender Scheme, todo lo que aprendas de SICP será fácil de traducir a Clojure después de haberlo aprendido.
  • Clojure es un lenguaje significativamente más complejo (con soporte limitado para la recursividad) y será una distracción. Es muy probable que te encuentres fallando y sin saber si eso es porque no entiendes el desafío o porque el problema es la sintaxis diferente de Clojure.

Solo estudíalo tal como está. Si también aprendió Clojure (o continúa aprendiéndolo), puede que le resulte interesante rehacer algunos de los ejercicios en Clojure.

Es posible, y creo que incluso puedes estudiar SICP con scala. Aunque para mí no es realmente productivo si no tienes experiencia con el esquema o la configuración.
SICP es un libro realmente complejo y tiene como objetivo enseñarle programación funcional con ideas realmente fuertes detrás de él. Incluso en el libro dice que eligieron el esquema porque es sencillo y sencillo para enfocarse en las ideas para no perder el tiempo con problemas y sintaxis específicos del lenguaje.

Puede usar clojure mientras está estudiando SICP, pero tenga en cuenta que SICP no es un libro simple para practicar cualquier lenguaje nuevo, si es nuevo en programación funcional y clojure, no pierda su tiempo en un nuevo idioma, solo concéntrese en ideas Scheme no es un lenguaje difícil, puede obtener la idea y practicar con el esquema primero, luego puede practicar los nuevos conceptos con clojure.

Además, después del cuarto capítulo del SICP, debe ampliar sus conocimientos con un hermoso libro de Shriram Krishnamurthi que utiliza la sintaxis de esquema para su libro. (Página en brown.edu)

He hojeado SICP y he podido jugar con Clojure, y diría que hay fuentes mucho mejores y más actualizadas para aprender Clojure. La filosofía detrás de Clojure resuelve muchos más problemas informáticos actuales de los que incluso se abordan en SICP (y con razón, cuando lo pones en una perspectiva histórica). SICP es un libro muy interesante e esclarecedor para alguien que acaba de entrar en el mundo de la informática, y no perderías nada siguiendo este camino, excepto mucho tiempo. Diría que invierta su tiempo en uno o dos libros específicos de Clojure, así como en excelentes charlas de Clojure de Rich Hickey y otros disponibles en línea. Encuentre problemas reales en los que trabajar y estará listo.

Ciertamente es posible.

Bienvenido a SICP destilada

More Interesting

¿En qué partes de CLRS no debería centrarse un programador competitivo? Realmente no entiendo la importancia de saber cómo calcular la complejidad de un algoritmo o demostrar la exactitud de un algoritmo. ¿Debería omitir esta parte?

Estoy realmente interesado en la computación paralela y quiero trabajar con ella en el futuro. Para la universidad, ¿debo especializarme en ingeniería informática o informática?

¿Qué es la criptografía y por qué es importante?

¿Cómo percibirá la IA el tiempo?

¿Cómo ayudan los tipos en la verificación formal de los programas?

¿Qué se puede hacer en una computadora sin conexión a Internet?

¿Cómo utiliza Google Latitude el dispositivo GPS?

Dada una cuadrícula de cubos en 3D, ¿cuál es una manera eficiente de calcular un mapa de oclusión desde una perspectiva dada?

¿Debo estudiar matemáticas primero, antes de aprender el aprendizaje automático? (Ni siquiera puedo resolver los problemas de la escuela secundaria).

¿Por qué SQLite compila consultas en bytecode para ejecutarlas en una máquina virtual en lugar de usar operadores componibles como escaneo, unión, agregado, etc., que probablemente sea más común en las implementaciones de otras bases de datos?

¿Debería un curso de introducción a la universidad CS enseñar con o sin IDE?

¿Por qué se trata de "informáticos" y no de "nerds informáticos"? ¿De dónde viene la palabra 'científicos'?

¿Cuál es la necesidad de memoria virtual en las computadoras?

Cómo bloquear mis fotos en Android

Cómo encontrar la suma de la suma mínima de las tarifas de entrada en esta pregunta