Zasadniczo projekt, który chciałbym podjąć, to edytor SVG. Wolałbym używać WPF, ponieważ wtedy mogę wykorzystać XAML dla mojego układu aplikacji (ten projektant jest taki sprytny). Niestety, używam frameworku .NET tylko od kilku miesięcy i nadal nie znam większości nazw klas.
Celem było użycie F #, ponieważ jest to funkcjonalny język programowania, a rekursja F # i wspaniałe operacje na listach w połączeniu z krotkami będą działać dobrze dla tego, co próbuję osiągnąć. Celem jest wykorzystanie .NET ze względu na ogromną bibliotekę dostępnych i udokumentowanych klas z przykładami.
Już spojrzałem na to pytanie. /software/3129/is-there-a-canonical-book-on-f Ale odpowiedzi są tylko dla F # i zakładają, że znasz już C #, co nie jest szczególnie przydatne dla mnie .
Najlepsza książka jako odpowiedź na powyższe pytanie brzmiała: programowanie funkcjonalne w świecie rzeczywistym: z przykładami w języku F # i C #. Jednak trzygwiazdkowa recenzja Amazon na temat tej książki, choć dość ostra i być może przesadzona, poprawnie ilustruje mój problem.
Jeśli interesujesz się programowaniem funkcjonalnym, ale nie jesteś C #, który chce nauczyć się F #, możesz bezpiecznie pominąć tę książkę.
Szukałem w Internecie przykładów WPF F #, tu i tam są różne fragmenty kodu, ale nic znaczącego ani demonstrującego, że jest używany poza pojedynczym skryptem pliku .fsx, i nic tak naprawdę na poziomie przedsiębiorstwa, a nawet przynajmniej profesjonalnej.
Więc nawet Microsoft nie ma zbyt wielu przykładów, jak robić rzeczy .NET w F #. Przykłady, które znalazłem, są zwykle tylko cechami unikalnymi dla F #. Rzuć okiem na podstawowe i zaawansowane sekcje F #, a przekonasz się, że są winni jedynie nauczania składni. Na przykład MSDN na WPF dla klasy Line nie ma żadnych przykładów kodu w F #.
Kiedy przewijasz w dół kartę przykładowego kodu dla F #, to po prostu mówi
No code example is currently available or this language may not be supported.
Przy tak niewielu dostępnych przykładach kodu trudno mi podjąć się tego projektu.
Moje pytanie
byłbym wdzięczny za pomoc w zrozumieniu, jak powinienem podejść do tego projektu przy użyciu F #, gdy nie znam C # aż tak dobrze.