Nothing makes me happier than seeing you guys having come so far since then and having stayed so determined!
254 karma · joined January 14, 2020
Nothing makes me happier than seeing you guys having come so far since then and having stayed so determined!
I don't think it's a worthwhile risk to take for Finnish open source developers to accept donations and think it won't be considered illegal by the authorities.
Cars in Finland have not only a value-added tax (VAT) of 24% but also a separate car tax slapped on them. At the extreme cases this can result in over 100% additional tax to be paid on top of the retail price of a car.
I also know of a few developers making 10k€ / month but I have to say they're very rare to come across in this country.
However, actually a junior would make something like ~3k€ before taxes in Helsinki, not after taxes. The taxes are (very) progressive, at that income level it's something like 27% in Finland.
Granted, this is another Finnish city, not Helsinki.
Records were my number one gripe in the language that otherwise does so many advanced things so uniquely well.
Moreover, some countries like Finland require you to pay taxes on worldwide income for a number of years after you're no longer a resident of the country and only then granting you tax freedom from income sourced outside of the country. And there's no amount of income you can exclude like the USA's $108k or whatever the figure is currently.
Both feel highly verbose to me, but maybe that's just cos I'm used to something with quite minimal syntactic overhead.
Ultimately, they're very similar as languages so it wouldn't take long for a Typescript developer to picn up Dart or vice versa.
Curious to see what interacting with the OTP with its callbacks actually looks like.
High level languages produce a lot less code than than less optimized implementations. Difficulties with reasoning about execution/performance is the penalty you potentially have to pay.
In my experience it indeed may be hard to understand performance with Haskell. That said, it comes with excellent tooling to overcome it in most of the cases.
I've been using ghcide on Vscode, and it keeps crashing and sometimes just simply freezing. What's more, I can't get multi-component support to work, meaning I have no IDE support for any test files, need to write them blind. No REPL that I know of either.
I tried hie before, it crashed even far more often and the type inference sometimes took a very long time to come up with hints.
Slow compilations are very annoying for tests though.
However, when you explore more specific things like shipping emails via a 3rd party service, various authentication protocols, monitoring via external services, spinning up persistent job queues etc. you start running into odd problems that you need to debug and even possibly fix at library level. That may considerably slow down development.
IDE has been my largest point of pain so far. I'm just used to a more interactive development experience, and sadly the tooling is just not there yet with Haskell. That said, there's great effort right now in that area so hopefully it'll improve.
On top of the broken record system, another annoying part is that the runtime monitoring and introspection story isn't so great compared to the likes of Erlang.
Monads come with their own share of problems that's true. Composability isn't really one of them in my opinion though, we got transformers for that purpose.