Notes on C#

C#, judged by those with no musical knowledge to mean C++++, is Microsoft’s version of Java- which should say much about it. On a initial glance, it has all boredom of Java- albeit with very superior IDE- but a closer inspection shows how much of the hipster, exotic oriental fruit Kool-Aid of functional programming it has drunk. The result is what you’d expect: a holy mess. See for yourself how intuitive and clean the usual C# program is:

continue reading
Notes on Haskell

Haskell is a statically typed language- famous for cussing Ocaml’s lack of purity- whose entire presence on Tiobe index consists of people asking “Why should I learn Haskell?” on stackoverflow. Well, not that Tiobe amounts to anything. Haskell defining feature is monads its type system (however, make no mistake: there are more advanced ones, but Haskell got more web scale frameworks than all of those combined). The nice thing about good type systems is that they force you to see everything in term of types. This statement might seem tautological, but once you get rid of weak Java-like static typing and can spot even the type of types- ahem, kinds- things start to make sense in a sort of organized, Category Theory way, so that you can ditch superfluous things like documentation, as you have all types nicely displayed above the definition of stuff. But what does such type system have that makes it so good and advanced?, may ask you. As always, let’s build leg strength starting up from easy steps:

continue reading
Notes on Racket

The Racket language belongs to the LISP family. The main difference between LISP and other languages is that you can name like-this, as opposed to likeThis (or, even worse, like_this), and all operators all prefix. That and homoiconicity. Homoiconicity is a fancy name for “code as data”, i.e., LISP code can be manipulated as any other data structure. Such manipulation is achieved by the use of macros- functions that receive code and output code, which in some cases might as well be black magic.

continue reading
Notes on JavaScript

JavaScript, maybe with the exception of PHP, is the worst widely used language. It is so hyperbolic awful that, akin to when one feels down and listens to sad songs to continue down, one feels the need to use it everywhere for everything. Its meme like terribleness spread to the server, spread to otherwise unthinkable uses of once a blinking pop up maker language; its corrosive effect has a permanent mark in the brain, up to when you find yourself accepting horrible malpractices as commom sense, no matter what they are.

continue reading