Functional Programming

Honestly, I still don’t understand it well.
When should I choose it?
What are its advantages? To be honest, I don’t know.
Searching the web brings up things like “can write logic without side effects,” “code is easier to understand,” “testing is easier,” but I feel like I haven’t grasped the essence yet.
My image was that it’s a “language with a completely different way of thinking and usage from procedural languages,” and even if I memorized the meaning of arbitrary corresponding programming grammar, it wouldn’t mean I could actually use it.
That’s the strong impression I had – something in a realm I couldn’t touch.

F#

Despite using C# for a long time, embarrassingly, I only learned about its existence recently.
I first learned about it at the Center CLR .Net600 study group I attended last year.
At that time, I was impressed that “you can use a functional language with .Net” and prepared my VS environment to use it, but I haven’t touched it since then.

I think the main reason I didn’t touch it was probably because I thought I needed to understand the underlying philosophy to use a functional language.

Reference Book

Wanting to study F# properly, I was looking for books. Although it was published a little while ago, I found and purchased a book written by Mr. Arai, who also spoke at the aforementioned .Net600 event.
(I really wanted to buy it new, but couldn’t find it, so I reluctantly bought it used.)

I haven’t finished reading it all yet, but as the book title suggests, it’s written for beginners, so for now, it feels like the information is sinking in properly!

I wonder if it will get more difficult in the latter half, but I intend to read it through without giving up. Lately, most information can be found online, but personally, I prefer having a book because I can concentrate better and absorb the information.

Just Try It

Because the fixed idea that “functional languages are quite difficult” occupied my mind, I was hesitant to start. However, I realized that if I stay like this, I’ll never be able to use it, so I decided to just try touching it.
Fortunately, I’ve been using C# for a long time, so I think F#, which uses the same .Net, will be easier to approach. And I won’t know what it’s like unless I try.

If I hit a wall after trying, I’ll think about what to do then!