El tiempo de ejecución de simultaneidad y coordinación de Microsoft ahorró literalmente un proyecto que estaba teniendo problemas importantes con el bloqueo. Desde entonces, me parece que lo uso cada vez con más frecuencia para casi cualquier cosa que requiera codificación asíncrona, produciendo resultados que sean más ligeros y rápidos que antes. Honestamente puedo decir que ha transformado la forma en que pienso sobre dev multithread/multicore. A pesar de mi amor personal por CCR, parece que hay muy pocos rumores que lo rodean en la web y me preguntaba si alguien puede ofrecer alguna razón para esto. ¿Hay mejores alternativas, o es una falta de promoción de la EM, o las personas simplemente están contentas con las herramientas existentes?¿Está Microsoft CCR ganando tracción?
Respuesta
La concesión de licencias a su alrededor es un poco dolorosa, por lo que recuerdo.
Creo que la mayoría de la gente está esperando Extensiones Paralelas en .NET 4.0. Sé que no es exactamente lo mismo, pero todavía es mucho mejor que lo que está en el marco en este momento, y aunque las continuaciones no funcionan de la misma manera, al menos están ahí :)
Sospecho que Parallel Extensions ha tenido bastante más trabajo que CCR, aunque estoy seguro de que el trabajo de CCR también inspiró parte del diseño de PFX.
Yo también tengo un amor personal por el CCR ... Ciertamente no he visto nada equivalente en .NET ni en ningún otro lado. Creo que es una lástima que creo que Jon tiene razón y que probablemente sea relegado a un nicho de fanáticos entusiastas como nosotros, mientras que la mayoría de los principales .NET multithreading probablemente se hará con las extensiones paralelas.
Estoy particularmente decepcionado con este pronóstico porque creo que se podría hacer más para promocionarlo, digamos encajarlo en un marco de tipo bus de mensajes asíncrono fiable empresarial, que creo que no tiene una historia coherente en .NET. Además, al mirar el Microsoft CCR/DSS Site probablemente nunca pensé en probarlo ... No entiendo por qué fue empaquetado de esta manera, aparte del hecho de que varias compañías lo sacaron del kit de herramientas de Robotics y simplemente lo ejecutaron antes de que MS pensara que tenía un propósito más allá de la robótica.
De todos modos, no estás solo ... y hay muchos otros "entusiastas" CCR también. Here's a neat 'flow' based CodePlex project que envuelve al CCR en un paradigma de flujo interesante.
He estado disfrutando de usar el CCR en dos grandes proyectos hasta ahora. El primero es terrible (realmente no obtuvo la idea de patrón Causalidad) y el segundo está apareciendo brillantemente (rastreador web)
Ambos proyectos utilizan el paradigma basado en mensajes para evitar la espera de operaciones IO de ejecución lenta. El CCR es bastante bueno para trabajar una vez que resuelve la falta de un asignador ORM compatible. (Estoy considerando liberar parte del código de plomería que he escrito para salvar a otras personas el dolor de corazón)
Habiendo dicho eso, RX parece bastante interesante. Tengo curiosidad de cómo se compara en términos de manejo de errores, velocidad y confiabilidad.
Microsoft Robotics Studio 2008 R3 ya está disponible y ahora puede ser utilizado por todos.
Excelentes noticias. – spender
Sugeriría que TPL Dataflow, que se lanzará como parte de .Net 4.5, reemplazará eventualmente al CCR. La mayoría de los conceptos en el CCR tienen un análogo en Dataflow, aunque no es necesariamente un ejercicio de portabilidad directo.
Dicho esto, el Robotics Studio Developer 4 Beta 2, released November 2011, incluye una versión del CCR para Silverlight 4.
Sí, he estado usando DataFlow con async/await en .net4.5, y estoy de acuerdo en que parece estar alineado como sucesor. Muy agradable. – spender
- 1. ¿Cómo usar CCR, DSS, VPL (también conocido como Microsoft Robotics Development Studio) fuera de la robótica?
- 2. ¿Microsoft está protegiendo Managed DirectX?
- 3. Microsoft Message Queue. ¿Está desaprobado?
- 4. B-trees, bases de datos, inserciones secuenciales frente a aleatorios y velocidad. Aleatorio está ganando
- 5. CCR: mejor práctica para manejar errores usando causalidades
- 6. ¿Cómo abrir múltiples peticiones de tracción en GitHub
- 7. ¿Microsoft StreamInsight está listo para el horario estelar?
- 8. ¿Por qué Windows.Forms está en System y no en Microsoft?
- 9. Microsoft JScript error de ejecución: 'SYS' no está definido
- 10. Microsoft está lanzando nulo a un tipo, ¿o sí?
- 11. Microsoft Project
- 12. Microsoft Semblio
- 13. ¿Qué es Microsoft Unity?
- 14. Microsoft y SAP
- 15. Microsoft C++ Language Reference
- 16. ¿Qué factores podrían determinar si Clojure, Scala o Haskell ganarán tracción?
- 17. gravedad con tiempo en el aire, la aceleración y la velocidad ganando
- 18. Nhibernate con Microsoft System.Data.OracleClient
- 19. Microsoft Roslyn vs CodeDom
- 20. Programación con Microsoft Kinect
- 21. Microsoft Entity Framework
- 22. Scope_Identity() en Microsoft Access
- 23. Microsoft/Ford Sync SDK
- 24. Microsoft Detours - DetourUpdateThread?
- 25. Microsoft AntiXSS Alternativa
- 26. Marco burlón de Microsoft?
- 27. Microsoft C++ Macros predefinidas
- 28. Microsoft Kinect (para Windows)
- 29. Microsoft PEX con NUnit
- 30. Microsoft Speech Recognition Platform
Sí, estoy de acuerdo, la licencia es un asco, pero después de usarlo cuando se trata del tiempo de liberación, definitivamente pagaremos. – spender