Er du skarp til C# men en klovn til Powershell? Mød Scriptcs

Et nyt scripting-sprog baseret på C# er ved at udvikle sig. Med Scriptcs kan man løse opgaver, der normalt ville kræve Powershell, fortæller en af folkene bag open source-projektet.

Javascript bliver hyldet som det nye sort og har med Node.js også fået en base uden for web-frontend. Den scripting-tankegang finder nu også vej til Windows-platformen, hvor frivillige kræfter har udviklet Scriptcs, der er baseret på C#.

Det fortalte Filip Wojcieszyn, der er en af de tre koordinatorer bag projektet, på udviklerkonferencen Warm Crocodile, der finder sted i København i denne uge.

»Jeg er ikke så god til Powershell (et scripting-sprog til Windows-systemopgaver, red.), men med Scriptcs kan jeg bruge mine C#-skills til det samme. Den typiske måde at bruge det på vil være automatiserede opgaver, som prototyping, teste API’er eller tage backup,« forklarede han.

Scriptcs – tilføjelsen CS står for Compiler Services – har ét år på bagen nu og er fremme I version 0.8. Alt er open source, sagde schweiziske Filip Wojcienszyn, der normalt arbejder med C# i hans ’day job’.

»Med Scriptcs bliver du frigivet fra Visual Studios lænker. Det er letvægt, og det gør det meget nemt at gøre noget med C#, fordi du nu kan kode C# som et scripting sprog,« sagde han.

Skal man skrive C# i Visual Studio, kræver det nogle trin, der alle sammen tager lidt tid, inklusive kompilering af koden. Og resultatet sender man ikke bare lige rundt pr. e-mail, når bare et simpelt projekt fylder 28 megabyte, lød vurderingen.

Omvendt går man med Scriptcs bare i lag med en hvilken som helst editor, når man først har fået installeret en Nuget-pakke med Scriptcs. Og når kodelinjerne er forfattet, kører man dem, fortalte Filip Wojcienszyn og viste, hvordan han med et par linjer fik sin computer til at skifte skrivebordstapet og spille musik via Spotify.

»Det er en afslappet syntaks, så vi behøver ikke skrive C# på traditionel vis. Men du kan stadig bruge Visual Studio til debugging,« forklarede han.

Bruger Roslyn – men Mono-version er undervejs

Under motorhjelmen ligger Microsofts projekt Roslyn, der gør C#-kompileren tilgængelig som en service. Og lige nu er det kun Roslyn, man kan køre Scriptcs ordentligt på, så man er bundet til Windows-maskiner. Men det er der ved at blive lavet om på, forklarede Filip Wojcienszyn.

»Det kører rigtig godt på Roslyn, men det er kun til Windows, så vi er begyndt at arbejde på en Mono-motor også. Lige nu kører den ret langsomt, men det bliver forhåbentligt meget bedre, og så kan vi køre C#-scripts på alle platforme,« sagde han.

En anden plan er at finde en ny motor, som slet ikke har noget med C# at gøre.

»Der er ikke noget i Scriptcs, der kræver en C#-motor, så Scriptcs er ikke bare Roslyn, men kan være alt muligt andet. Det gør det ekstremt brugbart,« sagde Filip Wojcienszyn, som også demonstrerede et modul i Scriptcs, der kørte det fjollede sprog Brainfuck.

Man kunne i princippet gøre mange af de samme ting direkte i Roslyn, men det er bøvlet, mente han.

»Roslyn er meget mere low-level, hvor Scriptcs er langt mere behageligt at arbejde med,« sagde Filip Wojcienszyn.

At der bliver brugt Roslyn som motor betyder dog, at der for første gang er noget fornuftigt at bruge det til, mente en tilhører.

Bygget op som Node.js

Scriptcs ligger sig på flere måder i sporet af Javascript, og Node.js, der gør det muligt at bruge Javascript til backend-opgaver, har været til stor inspiration.

»Meget af det, vi har lavet, er modeleret kraftigt efter Node.js,« sagde Filip Wojcienszyn.

Han opfordrede alle interesserede i at hente koden og se, om de måske gerne ville være med i projektet.

»Al koden er på Github. Og du kan hente seneste version via Chocolatey, som er ligesom apt-get for Windows. Det er virkelig cool,« sagde han.

Udviklerkonferencen Warm Crocodile Conference kører den 15. og 16. januar i Empire Bio i København. Version2 er mediepartner for konferencen.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (0)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere