ScriptCs

Właśnie obejrzałem ciekawą półgodzinną prezentację o ScriptCs (na dole strony).

C# z linii komend? Brzmi zachęcająco. Będzie można zdecydowanie prościej napisać proste kawałki kodu, bo wiadomo, że Visual Studio to kobyła.

REPL

Udostępniono REPL (ang. read-eval-print loop – pętla wczytaj-wykonaj-wypisz) znany w innych językach, stosowałem go m. in. podczas kursu Scali. Przyda się podczas stawiania pierwszych kroków. Próbowałem kiedyś nauczyć programowania w C# kolegę, który nie jest z IT. Cały narzut związany z VS był ciężki do przeskoczenia. Teraz uczyłbym Pythona.

Ten REPL to taka po prostu konsola jak poniżej:
scriptcs DirectoryInfo

Przykład gdy chciałem wyciągnąć nazwę ostatniego folderu a nie całą ścieżkę (potrzebowałem właściwości Name). Nie byłem pewien czy piszę dobry kod, a weryfikowanie każdej linijki kodu dopiero w Runtime jest zbyt czasochłonne gdy piszę w ASP.NET MVC.

C# w dowolnym edytorze

Lubię proste i szybkie alternatywy, dlatego takie szybkie rozwiązania w ScriptCS jak kilka pliczków (bez namespace’ów) w dowolnym edytorze (już powstały wtyczki dla Sublime Text) uważam za ciekawe. Wiadomo, że projektu w tym nie napiszemy, ale może być przydatne do sprawdzania prostych rzeczy i nie wiadomo do czego jeszcze, bo ciągle się rozwija.

Zaawansowanych technik (m. in. stawianie RavenDB w kilkunastu linijkach bez VS) nie zdążyłem jeszcze sprawdzić, ale warto wiedzieć, że takie istnieją.

Prosta instalcja, szczegóły w prezentacji.

Advertisements
Ten wpis został opublikowany w kategorii Uncategorized i oznaczony tagami , , , . Dodaj zakładkę do bezpośredniego odnośnika.

4 odpowiedzi na „ScriptCs

  1. Na razie znalazłem do tego jedno zastosowanie – ale ważne 🙂
    Hurtowa zmiana plików zapisanych w UTF-16 na UTF-8 z sygnaturą. W Powershellu to jest pisanie 5 linijek, iconv na windows jakoś sobie nie do końca radzi, a w tym ScriptCs to jedna linijka kodu 🙂

  2. No za wiele to tu nie ma 😉

    foreach( var fi in new System.IO.DirectoryInfo(„.”).GetFiles(„*.txt”, SearchOption.AllDirectories) ) {
    System.IO.File.WriteAllText( fi.Name, System.IO.File.ReadAllText( fi.Name ), Encoding.UTF8 );
    }

  3. Paweł pisze:

    To jest jedna linijka?

Możliwość komentowania jest wyłączona.