I'm trying to love #Rust. I swear, I'm trying so hard.

So far, it's being a miserable experience.

All the good parts seems to be borrowed from #Haskell. But mixed with a syntax that I find terrible, and a pervasive C-like style.

I swear, I'm doing my best to love it, but so far it's taking the love for programming away from me.

@arialdo I don't know Haskell but I had the same impression when I gave it a try. I just couldn't "click" with the syntax (I found it too difficult to understand and remember).

@andreagrandi Amazing. I was ready to follow my message with: "I can only suggest people who are suffering with #Rust to give #Haskell a try, to get a breath of fresh air".

Haskell is to me so enjoyable: beautiful, concise and noise-free syntax, best language constructs for building abstractions, sane and sound best practices, amazingly new. #fsharp, which shares the same good traits, follows as my preferred language.

But it's of course a matter of tastes.

@andreagrandi

Haskell has this extraordinary influence on other languages.
You give it a try, and even if never use it at work, no matter what is your current language, your style with it will never be the same.

@arialdo > no matter what is your current language, your style with it will never be the same

This statement, doesn't sound correct to me. One of the reasons I see people failing with Python is because they try to use it in the same way as other languages. Bue each language has its own idioms.

Writing idiomatic Python is not the same as writing Python, for example.

I think this applies to other languages too.

Instead, if you tell me that Haskell influenced the creation of another language..

Follow

@andreagrandi @arialdo I agree with you, but I've also had this experience with Haskell.

Haskell changes the way you decompose problems. It almost forces you to abstract what you want to do from how you will do it. That's something which is viewed as good practice in a lot of languages, but often not done.

Global state isn't a thing, so you "perfect" working in the local scope. Again good practice in lots of languages, but even without going global, a lot of OO code abuses retained-state.

In Haskell have to become extremely comfortable with higher order functions. Python, for example, is very capable in this area, but if all you've ever done is python you probably won't naturally fall into using those features of the language.

I find Haskell has made it easy for me to work on a class of problems that I found very difficult before. It increased my set of tools and whilst many languages have those tools, Haskell forced me to understand why I want them.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.