Despite having been a politician, Pelé rarely discussed preferences, as he was aware of repercussions to his image. In that regard, he can be compared with Michael "republicans also buy sneakers too" Jordan.
261 karma · joined April 3, 2016
Despite having been a politician, Pelé rarely discussed preferences, as he was aware of repercussions to his image. In that regard, he can be compared with Michael "republicans also buy sneakers too" Jordan.
Python has no static typing. It has type annotations, which a few 3rd party static analysers such as mypy use. Ruby has had the same since 3.0 with rbs. The ecosystem may be less mature, but it exists, and Python's isn't necessarily perfect.
Python async is terrible. You have to colorize functions, opt out from a significant part of the ecosystem which either does not support async, or is very unstable, and completely relearn how to do debugging / performance measurement. Ruby has smth better since ruby 3.0, via the fiber scheduler, which supports running network related code asynchronously with *no changes or special function annotations*.
Ruby packaging has been figured out since 2007, and has been influencial for other ecosystems, being the first mainstream language adopting lockfiles.
If you prefer using Python, you are entitled to your opinion and choice. But those arguments are all FUD.
Ruby has a JIT. Python doesn't. Until it does, its performance is fundamentally capped by it.
Ruby has two viable alternative runtimes, one that sees a lot of production usage (jruby) and another one which can run the same code as CRuby (truffleruby). Both do not have a GIL. Both have multi-tier JITs, and a huge upside. Most of the ecosystem is known to test compatibility with jruby, and the effort to do the same with truffleruby is well underway.
Compare that with python, where not running Cpython comes with a lot of asterisks, mostly because the ML ecosystem that brought it to massive popularity can only run in Cpython.
Ruby has overall more upside.
Ruby uses a lot of pure lazy memorization. That's an aspect I'd like to see more accepted. A system that enforces rather than recommends, is a less usable system.
I actually tried making the libs I maintain ractor compatible. I recorded the constraints and suggested removing some of fhe annoying ones. Some got accepted, but it's not enough.
Or at least we'll have to agree on the definition of standard here. For the equivalents of SQL, I'd say we have AMQP or MQTT, and kafka does not seem to support any (my goggling tells me it has its own protocol); deployment-wise, it doesn't seem easier to set up than, let's say, SQS; while used and supported in most common languages, most queue/job frameworks do not seem to support it OOTB (looked into ruby, python, php, javascript), so you'd have to write your own custom kafka handling code from scratch. So what would make it easier than just riding postgres?
You'll also need to code for two integrations (orm + whatever you're using redis with), which may be a solved problem or not, depending of your stack. And even then, still more complex than just postgres, and more error prone considering you'll either have to ignore enqueue reliability, or find a complex way around it.
I personally find this a much saner way to declare api versions (version in header). Specially if the platform supports Webhooks which have urls in the payload: if your API declares version in the path, which version do you use in the webhooks urls?
Websockets do have an advantage over SSE: they get binary streams instead of text.
Ruby has a generational GC which already supports compaction, but not in a production ready continuous way, which means most usages have it turned off, and memory pages tend to overcoming and stay fragmented for long running processes. Python has the same issue and node AFAIK.
Just noting that gitlab has supported per repo tokens for ages. Yes, it's really useful, as this incident can attest.
My theory is that yes, they don't lose business because of this so why fix it, but mostly because the most valuable country-markets in the world tend to be monolingual, and the US is the most profitable of them all. And everyone uses Google despite of this because well, what else?
Compare the example with withdrawing money: you can go to an ATM and withdraw money for no fee, depending of the country. Do it in the bank, there I an associated fee.
The legal system would still have to adopt it though. And it's an industry less prone to digital innovation. And there is no financial incentive, as there is no narrow profit margin you need to optimize. So yes, it may never happen.
I think the author exaggerates a bit the tone. Sure, 10 years is a lot of Internet time. But the steam engine took 50 years to become viable. Then the industrial revolution was a period of 80 years. Put that into perspective.
I guess, by speculative, you mean the cryptocurrency craze.and I can agree is a speculative bubble, an MLM scheme. But then you also have https://cyber.ee/resources/news/digital-identity-and-blockch... . You'll soon have CDBCs. And when it's here, you'll barely remember what this conversation.
Your bitcoin might be worthless by then.
This is all just my theoretical assessment, anyway. And I agree that other standards and toolchain is necessary to add value. Blockchains don't do KYC nor identity verification and a lot of other things.