Jestem autorem IronScheme. Nie jestem pewien, jak odpowiedzieć na twoje pytanie, ale spróbuję :)
IronScheme najpierw próbuje wdrożyć Schemat (szczególnie R6RS), a drugorzędnym celem jest interoperacyjność CLR.
W porównaniu z Clojure (skupiając się na ich złych punktach), IronScheme nie będzie:
- daje wyjątki czasu wykonywania CLR; IronScheme używa obsługi wyjątków Scheme
- dają ci „nieskończone” stosy śladów; IronScheme jest prawidłowo rekurencyjny
- być trudnym do skonfigurowania; po prostu wypakuj do katalogu i idź
- długo się uruchamia; IronScheme (gdy ngen'd) zajmuje tylko 0,1 sekundy, aby rozpocząć REPL
- być niejednoznacznym; IronScheme implementuje znormalizowaną specyfikację
Niestety zwycięża Clojure:
- Dokumentacja
- Frameworki i biblioteki
- Społeczność użytkowników
Jest to niepokojące dla IronScheme, ponieważ ostatnie 3 wymienione są bardzo scenariuszem z jajkiem kurzym. Osobiście staram się tworzyć biblioteki tylko wtedy, gdy ich potrzebuję, a przy bardzo małej społeczności użytkowników nie ma większego wkładu użytkowników poza raportami błędów. Chciałbym większą społeczność użytkowników.
Jeśli chodzi o wsparcie, zwykle pomagam użytkownikom tak szybko, jak mogę. Dowody te można zobaczyć na podstawie moich czasów reakcji na forach dyskusyjnych IronScheme. Ponadto błędy są zwykle usuwane, gdy tylko zostaną zidentyfikowane.
Jeśli chodzi o stabilność, podstawa kodu jest dość dojrzała, a obecnie tylko poprawki błędów i optymalizacje są jedynymi dodatkami do kodu.
Jeśli chodzi o użyteczność, jeśli znasz już platformę .NET, możesz robić praktycznie wszystko z IronScheme, tak jak z każdym innym językiem .NET; może to być trudniejsze lub łatwiejsze, w zależności od tego, ile jesteś gotów przekształcić w idiomy podobne do schematu. W IronScheme jest bardzo łatwo napisać; na przykład cały mój framework MVC to zaledwie 400 linii kodu schematu, dzięki podsłuchowi w ASP.NET (z pewnością nie lubię od nowa wymyślać koła).
Jeśli odpowiedź jest niewystarczająca, poproś o wyjaśnienia. Demian ma również dobre strony pod względem łatwości konserwacji.
pozdrowienia
leppie
Uwaga: Nie mam doświadczenia z IronScheme, więc weź moje myśli z odrobiną soli (chociaż jest to ukierunkowane bardziej na stosowanie najnowocześniejszej technologii).
Podczas gdy będę bawił się nowymi technologiami z trywialnymi problemami (narzędzia osobiste, Project Euler itp.), Jestem bardzo ostrożny w stosowaniu tej technologii w pełnych projektach. Dlaczego?
Tak więc, chociaż uczenie się nowych technologii jest zawsze dobrą rzeczą (najgorsze, co może się zdarzyć, to nauczenie się, jak ktoś inny może coś zaimplementować - co jest dobre), naprawdę może cię ugryźć w dupę, jeśli zastosujesz to wcześnie do pełnych projektów .
źródło