Ostatnio ponowiłem wysiłki do opanowania nowych języków z rodziny MS w tym także implementacji znanych języków na platformie .NET. Jest to częściowo powiązane z moimi osobistymi zainteresowaniami jak i tym iż w nowym VS będzie można już ich używać (zgodnie z zapowiedziami).

Podczas szaleńczego re-instalowania systemu w pracy z super przestarzałego, powolnego i osobiście przeze mnie znienawidzonego XP na Windows 7, stwierdziłem iż skonfiguruje sobie tak środowisko jak chciałbym je mieć zrobione w domu (nie przepadam za re-instalkami gdyż po nich mam 2-3 dni instalowania i konfiguracji softu).

Jedną z rzeczy na liście programów Must-Have był F# (MSDN Dev Centre). I tu nagle miłą niespodzianka. Trafiłem na blog Through the Interface prowadzony przez Kean Walmsley z frimy AutoDesk. 8 Stycznia 2009 stworzył on konkurs na napisanie funkcjonalności w F#, która była by przydatna w aplikacjach firmy AutoDesk (AutoCAD, 3D Max itp. itd.). Informacje na temat konkursu można znaleźć tutaj.

Wszystkich chętnych i maniaków F# zapraszam do udziału, jest to pewien rodzaj rozrywki jaką możemy sobie w tych czasach zafundować :)

Jedyny problem jest taki by wpaść na pomysł co można napisać dla tych aplikacji. Ja osobiście znam kilku architektów więc mam mniejszy problem niż osoby nie znające żadnego. Na szczęście Kean proponuje kilka tematów do poruszenia:

Data-centric problems

Functional programming is very good at managing (parsing, analysing, even creating) large sets of data. One previous, simple example was to gather and sort all the words found in an AutoCAD drawing. Here’s the original post showing this, but an update was provided in my F# AU handouts.

Control flow-centric problems

If you have tasks that can easily be parallelized – in that they can safely be run asynchronously and/or concurrently – then functional programming provides a clean way to capture and execute the logic behind them. An example being a simple application that went away and queried RSS feeds asynchronously, using the results to generate AutoCAD entities. Here are the original posts showing this, but an update was provided in my F# AU handouts.

Domain Specific Languages (DSLs)

Implementing new, custom-purpose programming languages can be an efficient way to control the subset of language features used by a non-programmers to implement code. An example of this was the 3D LOGO implementation inside AutoCAD.

Units of measure

One F# language feature that I also see as being very relevant to our domain is the units of measure implementation. I haven’t yet worked with this, myself, but I have certainly been meaning to.

Zachęcam do udziału w konkursie choć już czasu mało – oddanie projektów do 28 lutego.

6 KOMENTARZE

  1. Taki konkurs to faktycznie dobra motywacja do pouczenia sie wreszcie nowosci z listy TODO :)
    BTW – swoje zainteresowania jezykowe obracales w kierunku ironruby?

  2. @mgrzeg

    IronRuby narazie teoretycznie, bez jakiejs praktyki. Jakos nie moge sie przymusic do instalowania N rzeczy by cos mi zadzialalo. Gdyby zrobili prosta instalke plus do tego notepadowy edytor to pewnie bym byl bardziej zainteresowany.

    Ale imho staram sie o Ruby nie zapominac i czytam to co mi wpadnie w lapska :)

    Gutek

  3. A jeszcze co do F# – http://podwysocki.codebetter.com. Poza wpisami o F# Matthew opisuje ‘functional c#’ i od czasu do czasu dorzuca przyklady do swojego projektu
    http://code.msdn.microsoft.com/FunctionalCSharp/
    Tak OT, kiedys myslalem, ze ma polskie korzenie i chcialem Go zaprosic na jakas impreze w .pl, ale szybko sie zorientowalem, ze to nie do konca tak :)
    Przymierzasz sie do udzialu w konkursie? Moze przy okazji wystrugalbys jakas prezentacje dla leniwych kolegow i puscil jako screencast, albo jeszcze lepiej zapodal na spotkaniu wg.net :)))

  4. @mgrzeg

    Tak, znajomi patrzą czego im brakuje mają czas do piątku i zobaczymy, jak wpadnąna na pomysł to pewnie się zabiorę – kwestia jeszcze API produktów AutoDesk.

    Zaś co do prezentacji – nie pochwalam screencastow. Nie ogladam ich i nie chce ich robic. Zas co do WG.NET to mozemy sie nad tym zastanowic :)

    Gutek

Comments are closed.