Skip to content

Add "Why Haskell?" benefits section to main page #338

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
48 changes: 48 additions & 0 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,54 @@ <h2>Try it!</h2>

<br>

<div class="features">
<div class=" container ">
<h2>Why Haskell?</h2>
<div class=" row ">
<div class=" span6 col-md-6">
<h3>Rapid prototyping</h3>
<p>Start small and explore new ideas to find your market fit. Haskell is a compact language with a large ecosystem of open-source libraries and tools
to get you started and help you growing.
The strong type system makes it easy to write programs that work, both large and small, even when you don't like writing types &mdash; the compiler will figure it out.
Copy link
Contributor

@noughtmare noughtmare May 12, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we could also mention that you can defer type checking to run time, letting you test programs that are not completely finished yet.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me this seems like a lower-level details that could fit into another PR for the "Features" section further below on the site, e.g. the "Statically typed" subsection.

</p>
</div>
<div class=" span6 col-md-6">
<h3>Scale with ease</h3>
<p>From 1 to 100k users, and more. Haskell offers one of the best support for async, concurrent and parallel programming like few other languages can.
It can take advantage of multi-core processors with ease thanks to garbage collection, green threads and immutability everywhere.
Additionally, you can use advanced streaming libraries for efficient data processing
&mdash; all while keeping complexity low as your user base and code base grow.
</p>
</div>
</div>
<div class=" row ">
<div class=" span6 col-md-6">
<h3>Maintain with confidence</h3>
<p>Add complex features or refactor large parts of your code base reliably. Haskell has one of the strongest type systems on the market to prevent mistakes
before they reach production, saving on total software lifetime costs.&mdash;“If it compiles, it works” and "Fearless refactoring" are common proverbs among Haskellers.
Comment on lines +102 to +103
Copy link
Contributor

@hasufell hasufell May 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ADTs should be mentioned:

Suggested change
<p>Add complex features or refactor large parts of your code base reliably. Haskell has one of the strongest type systems on the market to prevent mistakes
before they reach production, saving on total software lifetime costs.&mdash;“If it compiles, it works” and "Fearless refactoring" are common proverbs among Haskellers.
<p>Add complex features or refactor large parts of your code base reliably. With algebraic data types and one of the strongest type systems on the market, Haskell prevent mistakes
before they reach production, saving on total software lifetime costs.&mdash;“If it compiles, it works” and "Fearless refactoring" are common proverbs among Haskellers.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, i prefer to keep the more technical details in the "Features" section, because there are few that could (and probably) should be mentioned that support maintainability.

</p>
</div>
<div class=" span6 col-md-6">
<h3>Bleeding edge</h3>
<p>Get a view into the latest programming innovations. Haskell has its roots in programming language research, has already influenced many popular languages and continues to do so.
Experiment with new programming techniques like Effect Systems, Functional Reactive Programming (FRP), Linear Types
and more related to Dependent Types for even better reliability when you can tolerate some immaturity;
or stay with stable best practices&mdash;Haskell supports both.
</p>
</div>
</div>
<div class=" row ">
<div class=" span6 col-md-6">
<h3>Delightful</h3>
<p>Software that works, scales and is easy to maintain helps you to attract talent and keep your team motivated.
Haskell is a language that lets you express your ideas clearly and teaches you a new way of thinking about programming
&mdash; if you work on a challenging project, you might as well have a good time.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sounds slightly odd to my ear both in terms of tone and content, but I don't have a great alternative suggestion.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed it's a bit bold in contrast to the rest. I'm open to change it someone has a more fitting phrasing.

Comment on lines +117 to +120
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I rewrote this section and tried to highlight some actual properties. I think it's worth noting that Haskell is a new programming paradigm. We should say so. And we should also give some specific details whenever we make claims.

Suggested change
<h3>Delightful</h3>
<p>Software that works, scales and is easy to maintain helps you to attract talent and keep your team motivated.
Haskell is a language that lets you express your ideas clearly and teaches you a new way of thinking about programming
&mdash; if you work on a challenging project, you might as well have a good time.
<h3>A new paradigm</h3>
<p>Haskell is a language that lets you express your ideas clearly and teaches you a new way of thinking about programming. Based on lambda calculus it features referential transparency, immutability and lazy evaluation. Concepts that will blow your mind.
&mdash; relearn programming while having an absolute blast.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're moving more towards features again, which i would keep to the other section further below on the page, and keep this compact on the value propositions (the Scale subsection being at the border of mentioning too much features already). Here, i like the Fun aspect more as this was highlighted by a lot of Haskellers, because new is not automatically better.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I strongly disagree... this section is what connects the experience with the features. Otherwise it's just empty platitudes. This allows the reader to connect the dots.

</p>
</div>
</div>
</div>
</div>

<div id="community-wrapper">
<div class="videos">
<div class=" container ">
Expand Down
Loading