26-01-2020, 11:42 PM
Pour moi c'est le changement total de paradigme par rapport à ce dont j'avais l'habitude. Je ne raisonne plus en requête/réponse façon Web ni même avec des background jobs.
A la place, j'ai un système qui vit (des "process" qui tournent en parallèle) et avec lequel j’interagis. Je ne pense même plus à la base de données parce que je n'en utilise plus directement. Chaque process a ses propres données en interne.
Avec Seelies (que je développe suivant le pattern CQRS/ES), je ne raisonne plus qu'en actions et en événements qui changent l'état de mon système. Si on regarde le code, on peut voir d'un œil toutes les actions qui peuvent être envoyées à une partie. Ces actions sont reçues, analysée et permettent d'émettre des événements qui sont persistés et me permettent de "revenir dans le temps", de rejouer le fil de la vie de mon jeu, de l'analyser a posteriori...
Dans mes tests automatisés (je développe en TDD), je simule des parties pour définir mes cas d'erreurs ou tester mon comportement et les tests sont très expressifs et facile à suivre.
En soit, ce n'est pas tellement le langage qui est génial (bien qu'il le soit :p), mais plutôt l'approche qu'il propose pour concevoir et implémenter un système complexe.
A la place, j'ai un système qui vit (des "process" qui tournent en parallèle) et avec lequel j’interagis. Je ne pense même plus à la base de données parce que je n'en utilise plus directement. Chaque process a ses propres données en interne.
Avec Seelies (que je développe suivant le pattern CQRS/ES), je ne raisonne plus qu'en actions et en événements qui changent l'état de mon système. Si on regarde le code, on peut voir d'un œil toutes les actions qui peuvent être envoyées à une partie. Ces actions sont reçues, analysée et permettent d'émettre des événements qui sont persistés et me permettent de "revenir dans le temps", de rejouer le fil de la vie de mon jeu, de l'analyser a posteriori...
Dans mes tests automatisés (je développe en TDD), je simule des parties pour définir mes cas d'erreurs ou tester mon comportement et les tests sont très expressifs et facile à suivre.
En soit, ce n'est pas tellement le langage qui est génial (bien qu'il le soit :p), mais plutôt l'approche qu'il propose pour concevoir et implémenter un système complexe.