So this starts with trying to instal the Dart VM on RHEL 6 only to discover that the gcc installed might be too old for it to work correctly. I might try anyways later, but the experience sparked this train of thought. I originally wanted to write a little game solver in Dart to get for it outside of the web-app environment, which is decidedly not what it is designed to do, thinking it would be like Node. The little hiccup I ran into got me thinking about the maturity of languages and futures.
i started following Go after having a few unsatisfying experiences with Python and a growing interest in languages focused on concurrency. I wrote a few dirty programs for system maintenance and found it appeased the C/C++ side of me that was often left unfulfilled by Python and PHP. It wasn’t until I got involved with an open-source project that I became familiar and comfortable with the language. I continued having great experiences with language and ecosystem when I made the connection between trending languages and problems.
I’ve experienced multiple languages filling different roles, but I’d just realized why I had such different experiences with 2 new languages. Go was solving a very well defined set of problems, ones that had been addressed multiple times by a variety of other older languages. It came out at the time when many people were looking to move to something more scalable than a dynamic language and concurrency support is really helpful when working on big data sets.
I’ll probably finish writing that server script in dart just for completeness, but I probably won’t come back to it anytime soon after that. I have too many other projects where I don’t think Dart would be appropriate.