This only allows you to strangle yourself in a more CPU-efficient manner.
Locks et al. are low level interface, too low level for a language that pretends to be a high level one (like Java does).
> The other important point is that as soon as you get into working in a clustered environment, you start having to think about distributed locks and concurrency when there is not even a shared clock to rationalize things.
Once you go into clusters, you loose your precious notion of shared memory anyway (unless the distributed shared memory is still a thing; I haven't checked lately, but I thought it was an abandoned paradigm).
> So, for product oriented engineers, great go use nodejs and you can write JS on the front end and the back end and it will be absolutely tremendous
I don't know why are you implying that I either work on frontend, with web applications, or Node.js. I do none of these.
I thought you meant losing cycles due to blocking or spinlocks when you said strangling.
>Locks et al. are low level interface
Actually no, this is the world of multiple cores. Threads are the most trivially accessible way to parallelize activities, so they are just a modern primitive.
>Once you go into clusters, you loose your precious notion of shared memory anyway
Zookeeper. Distributed clocks and sequences and all that often require a few bits.
I was just making fun in the last sentence, if you didn't catch the linguistic joke about populism in my word choice. I'd guess you work in erlang.