CIENCIA E INGENIERIA DE CARDANO - PARTE 2

in #busy6 years ago

3.-PECADO FUNCIONAL.
Moviendose dentro del territorio mas dogmatico, las herramientas, lenguajes y metodologias usados en el desarroollo de un software son mas artefactos de la providencia religiosa que objetos reales. El codigo fuente es como escribir prosa. Cada uno tiene una opinion de que es bueno- y lo que esta siendo comunicado es, con el tiempo, mas importante que como esta siendo comunicado.
debemos cometer el pecado de elegir un lado aceptando que podria ser el equivocado a los ojos de una persona. Sin embargo, hay al menos un cuerpo largo de justificaiones detras de nuestra eleccion.
Los protocolos que hacen posible Cardano estan siendo implementados en Haskell. El interface de usuario ha sido encapsulado en una bifurcacion de Electron que estamos llamando Daedalus.
Tenemos que elegir para el uso de la pagina web un modelo de arquitectura donde sea posible, y para nuestro base de datos, optamos por un almacén de valores-clave usando RocksDB.
desde un nivel de componente, este medio de abstraccion de mantenimiento es mucho mas simple, la mejor tecnologia puede ser reemplazado posteriormente con un pequeño esfuerzzo, y que nuestro grupo reunido esta concentrado en el exfuerzo de desarrollos en Github y Facebook.
Usando una WebGuI nos permitimos aprovechar la reccion y desarrollo de caracteristicas finales usando herramientas entendidas por cientos de miles de desarrolladores de JavaScript.
Usando una arquitecura web como medio este componente puede ser tratado como un servicio y ser sencible a este modelo de seguridad.
Eligiendo Haskell para el desarrollo del protocolo fue la eleccion mas dificil. Siempre en el mundo funcional, hay amplia aleccion. en el mas flexible e impuro lado, hay lenguajes como Clojure, Scala y F#, los cuales se benefician de las enormes librerias de Java y los ecosistemas .Net mientras preserva algunos de los aspectos basicos de la programacion funcional.
Hay muchos mas lenguajes orientados academicamente tal como Agda y Idris que tienen una coneccion cerrada para tecnicas que deberian permitir una fuerte verificacion de correcciones. Ellos aun carecen de una libreria razonable y tienen una deficiente experiencia de desarrollo.
Para Cardano, la eleccion bajo a ocaml y Haskell. Ocalm es un maravilloso lenguaje con una gran comunidad, buenas herramientas, una razonable experiencia de desarrollo y un gran legado en espacio de verificacion formal a traves de Coq. entonce porque elegimos Haskell?.

¿PORQUE HASKELL?
Los protocolos que componen Cardano son distribuidos, incluidos con criptografia y requiere un buen grado de tolerancia afallos. En los mejores dias, todavia habra actores Bizantinos, mensajes erroneos y clientes que causen inintencionadamente algunas formas de havok en la red.
Primero, buscamos un lenguaje que disfrute de un tipo fuerte desistema donde podamis facilmente usar herramientas tal como Quickcheck y mas tecnicas elaboradas tal como Refinement Types mientras tenga una razonable tolerancia de errores. Un modelo OTP estilo Erlang satisface esto ultimo mientras lenguajes como Haskell y Ocaml satisfacen los anteriores.

fuente

Sort:  

Congratulations @bdqst! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @bdqst! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 400 upvotes. Your next target is to reach 500 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @bdqst! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 500 upvotes. Your next target is to reach 600 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @bdqst! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 600 upvotes. Your next target is to reach 700 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

Saint Nicholas challenge for good boys and girls

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @bdqst! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 700 upvotes. Your next target is to reach 800 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

Saint Nicholas challenge for good boys and girls

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @bdqst! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 800 upvotes. Your next target is to reach 900 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!