I love computer science and programming languages, and I usually go over to different websites that describe their computer language – whether it’s Python, Ruby, JavaScript, PHP, etc. Today I visited Haskell’s website, and it blew my mind on how well they designed the landing page.
When you land on homepages of some of the popular computer science languages (like C/C++/PERL/PHP, etc.), you get bombarded with useless things like latest edits/update to the syntax or code, some unknown/complex syntax that you might use once in a blue moon, conferences, and some news that’s highly irrelevant for a beginner coder.
Most of these websites do not address the subject of “Hey new person, how can we help you get started in this language immediately?”
My assumption, based on the behavior on StackOverflow, the largest traffic drivers to those programming sites are for documentation purposes. And most of the time, those who want documentation are not familiar with the language, like me, and visit either the parent site, or roam around StackOverflow, in order to find an answer to a coding problem.
After solving some of the coding problems, I sometimes wishes there were good basic tutorials to help programmers get started immediately without the hassle of going through StackOverflow or copy-pasting code.
While browsing Reddit, I stumbled upon this graph at r/dataisbeautiful that showed the behavior of users on StackOverflow throughout the day. As you can see, during the evening, many Haskell programmers lurk on StackOverflow, which piqued my curiosity about Haskell. So I decided to investigate what Haskell is, and learn what’s going on.
I stumbled upon Haskell’s website, and really really loved their landing page which is a straight up introduction and tutorial on how to use Haskell! For beginners, it helps them to pick up coding quickly using Haskell, for more advanced developers, they can see all the components and details as they go through the tutorial.
Another cool feature of Haskell’s landing page is the URL updates as you go through the tutorial – making it easy to pick up where you left off.
If Education in the field of Computer Science should be represented in some form of way, this is it 🙂 Engage the user immediately through an interactive learning environment.