
{"id":22,"date":"2008-06-11T13:34:34","date_gmt":"2008-06-11T18:34:34","guid":{"rendered":"http:\/\/ikriv.com:8765\/blog\/?p=22"},"modified":"2008-06-11T13:34:34","modified_gmt":"2008-06-11T18:34:34","slug":"starting-with-f","status":"publish","type":"post","link":"https:\/\/ikriv.com\/blog\/?p=22","title":{"rendered":"Starting with F#"},"content":{"rendered":"<p>I was on a very intense project which was abruptly canceled. So, now I can a) write to the blog again and b) do some interesting stuff. This post is about my first (very first) impressions on the F#.<\/p>\n<p><!--more--><\/p>\n<p>I read about functional programming before, and I find it very interesting, but since I am just starting, I am going to talk more about technicalities of the development environment and tools. I am sure that as the system matures, many of the annoyances will go away.<\/p>\n<p>Here&#8217;s what I found so far:<\/p>\n<p>* Installing F# was very easy. Just download the MSI and double-click on it.<\/p>\n<p>* I stumbled a little on how one adds a new F# project to Visual Studio. For some reason, F# project is not under &#8220;other languages&#8221;, but under &#8220;Other project types&#8221;, along with databases and extensibility tools, which was a little unexpected. I tried to google for it, but no one seems to talk about it, like it is something very obvious.<\/p>\n<p>* Whenever you add a new F# source file to your project, it creates a huge sample with a couple of hundred lines of code you don&#8217;t need. In my view this is a sign of an immature environment. Samples belong in the samples folder. I don&#8217;t need to see a sample every time I create a new source file. This just gets in the way.<\/p>\n<p>* My first F# program contained precisely one line of code and compiled perfectly. My second F# program, however, was slightly longer, and I received half a dozen error messages simply stating &#8220;Syntax error&#8221;. This is so 1970. And it is especially weird for a language that boasts &#8220;language oriented programming&#8221;. May be they should provide an example of good language-oriented programming by brining up their own compiler to at least 1990s standards \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was on a very intense project which was abruptly canceled. So, now I can a) write to the blog again and b) do some interesting stuff. This post is <a href=\"https:\/\/ikriv.com\/blog\/?p=22\" class=\"more-link\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[10],"tags":[9],"class_list":["entry","author-ikriv","has-more-link","post-22","post","type-post","status-publish","format-standard","category-fsharp","tag-fsharp"],"_links":{"self":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22"}],"version-history":[{"count":0,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions"}],"wp:attachment":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}