HNHacker News
TopNewBestAskShowJobs

fgimian

35 karma · joined June 11, 2018

submissionscomments
fgimian··on Why Crystal Is My Next Language
Precisely, at work we use Python and C++, but I wanted to learn a new language in my own time for fun :)

I also tried to highlight its weaknesses in the Caveats section. The language is young and often has breaking changes which would not be suitable for production at this time, particularly in larger organisations.

However, I think the language shows great promise and will appeal to a lot of people as it matures. I'm certainly enjoying it so far! :)

fgimian··on Why Crystal Is My Next Language
Totally fair point. Minimalism can be extremely liberating and in fact, it's something I apply to many other areas of my life.

But when it came to Go, I personally found myself battling the language as a result, rather than being more productive with it.

Ultimately if it makes you more productive, then that's awesome and that's all that matters.

fgimian··on Why Crystal Is My Next Language
Thanks a lot for the encouragement, it means a lot :)

It is tough to read criticism but it's always a good opportunity to learn. The comment about mypy for example was correct and I'm pretty sure I'll be trying it out on my next Python project. I've updated the blog post with minor amendments and corrections based on the feedback here.

Indeed this was my first time on HN (which took me by surprise) :)

fgimian··on Why Crystal Is My Next Language
For what it's worth, I have zero association with Crystal, but just happen feel that it appeals to me the most. You can see this on my GitHub too, all projects up until a week ago were Python.

And I chose Fibonacci as a fun little test which I even stated in the post. It should be obvious that this is not an overall indicator of performance for all use cases.

For many of us, Windows isn't our target platform so the Windows compatibility isn't a deal breaker. I understand that this is a big problem for many though and there is evidence that the Crystal team are on it; see https://github.com/crystal-lang/crystal/issues/5430.

Please don't take the post too seriously, it's not intended to be and clearly everyone will have different preferences and tastes as is the case with anything in life.

fgimian··on Why Crystal Is My Next Language
Yep, many of my colleagues at work use Elixir in fact and they say the same. Ultimately, I started with C++ ... a long time ago (2001) ... and from day one I learned coding using an object-oriented approach.

A lot of this comes down to the fact that one has to really commit to a functional mindset and go all-in like my friends at work have. This wasn't a commitment that I was personally ready to make, especially since all the programming I do at work is in Python and OO-based, and I have limited time to code outside work :) I think that if I was coding a project full-time at work in a functional language, I'd be more inclined to use this paradigm in my own projects.

Without a doubt Elixir is a great GREAT choice and has such a mature ecosystem and tried and tested underpinning that I can understand why anyone would choose it for a project that will run in production. The guys at work have been very happy with it so far, and the language is beautiful and easy to read.

fgimian··on Why Crystal Is My Next Language
You're right, this was a mistake on my part. I'll correct this in the post. I have used mypy further since the post was written and it is indeed quite helpful, particularly in --strict mode.
fgimian··on Why Crystal Is My Next Language
You make a fair point and I totally respect your opinion.

I was ultimately looking for a versatile language that I could use for my personal projects outside of work and thus I was indeed trying to find a single language that could do everything I wanted. Up until this point, that language has been Python.

Go is clearly sufficient for many very successful and amazing projects (many of which I use daily, like Hugo, Terraform, Docker .etc), so developers can still produce excellent tools with its limitations. But in saying that, the language is not for me, and that's okay; if it works for someone else, then that's okay too. Go does lack various features that many developers want, including me.

Fun fact, the blog post was generated by Hugo ... which is written in Go :)

With regards to Nim, yes, my experience with Nim is limited and I am still hoping to learn it further and do a more thorough evaluation. Hopefully I'll spend a good amount of time with Nim in the future to give it more of a fair go.

fgimian··on Why Crystal Is My Next Language
True, I REALLY hate camelCase though ... hahaha But seriously, I do need to spend more time on Nim and give it a fair chance on a project :)

Ultimately, I had to choose something to commit to for a while as there are just not enough hours for me to learn multiple new languages outside of work and with my various other hobbies.

But rest assured that Nim was absolutely a front-runner and I'm happy to update the post to reflect this.

fgimian··on Why Crystal Is My Next Language
You're right about this point. I really should have spent more time on Nim, and I still intend to. In fact, Nim was my main choice prior to learning about Crystal.

So no offence intended at all to any Nim fans, and I hope to dive into it more thoroughly in the near future.

fgimian··on Why Crystal Is My Next Language
Yep, this is true. I'm hopeful that this will come soon :)
fgimian··on Why Crystal Is My Next Language
Thanks so much for your comment. I had actually tried -O3 during my tests and didn't notice a huge difference in this particular example.

fots ~ $ gcc -O -o fib fib.c

fots ~ $ time ./fib

433494437

real 0m0.749s

user 0m0.743s

sys 0m0.003s

fots ~ $ gcc -O3 -o fib fib.c

fots ~ $ time ./fib

433494437

real 0m0.747s

user 0m0.742s

sys 0m0.003s

fots ~ $ gcc -O2 -o fib fib.c

fots ~ $ time ./fib

433494437

real 0m0.741s

user 0m0.737s

sys 0m0.003s

Clearly this is just a little mathematical algorithm and more real-world problems would likely produce a more dramatic difference.

What sort of differences did you see on your end?

fgimian··on Why Crystal Is My Next Language
Hey guys, thanks for reading my blog post and posting it on Hacker News. :)

It was just an informal brain dump for me and nothing too serious, so please don't take anything to heart. And indeed, I have only spent a limited amount of time with the other languages on my list. I still intend to keep a close eye on them all as time goes on.

I'll try to respond to various comments :)

Update: Hacker News is rate limiting me, sorry folks. I'll try again to post some replies in a little while.