I never did Rails but I used Ruby for many personal projects in the 2000s.
When showing stuff to my coworkers or friends, I often joked how I tried to make my code look like it was already gzipped.
I never did Rails but I used Ruby for many personal projects in the 2000s.
When showing stuff to my coworkers or friends, I often joked how I tried to make my code look like it was already gzipped.
Depends heavily on the market segment. I also work in Europe and in my 15 years as a software developer (the first 6-7 as C/C++ developer) I’ve never seen anyone use Visual Studio.
Where is this template from?
What would you do if you had a million dollars?
Odd to see the gap between C and Pascal this big. Is this a matter of lacking optimization effort for less popular languages?
They’ve been talking about removing the GIL since I was in primary school. My children are in primary school now. I’ll believe it when I see it.
This is Indian English, same as “I have a doubt”. It’s not something you commonly hear outside India.
While C is certainly better for some problems in my experience, it too is very hard to use in large projects with a mix of developers, and it is unsuitable for most higher level applications in most companies.
I think C has its place in the world still, which is mostly confined low level embedded, kernel space and malware. I do believe that the market segment that used to rely on C++ is today better served by either Go or Rust, depending on the project.
That said, while I LOVE working with Rust, it suffers from many of the same issues I mentioned for C++ in my comment above when working in a mixed skillset team.
Everything is fine within the scope of a college course or project.
Where C++ breaks down is large, complicated projects where you colaborate with other developers over multiple years.
I worked in C++ for almost a decade, and while there were a few good projects I encountered, most suffered from one or more of the following problems:
Back when I was still in school, I ran a few tests on real world LISP and Java (the then dominant language, this was in the late days of Sun Microsystems succes).
Turns out most LISP programs had fewer parentheses then Java had braces, parens and brackets.
Agreed, but for many services 2 or 3 nines is acceptable.
For the cloud storage system I worked on it wasn’t, and that had different setups for different customers, from a simple 3 node system (the smallest setup, mostly for customers trialing the solution) to a 3 geo setup which has at least 9 nodes in 3 different datacenters.
For the finanicial system, we run a live/live/live setup, where we’re running a cluster in 3 different cloud operators, and the client is expected to know all of them and do failover. That obviously requires little more complexity on the client side, but in many cases developers or organisations control both anyway.
Netflix is obviously at another scale, I can’t comment on what their needs are, or how their solution looks, but I think it’s fair to say they are an exceptional case.
Sorry, yes, that was durability. I got it mixed up in my head. Availability had lower targets.
But I stand by the gist of my argument - you can achieve a lot with a live/live system, or a 3 node system with a master election, or…
High availability doesn’t have to equate high cost or complexity, if you can take it into account when designing the system.
If you really need the scale of 2000 physical machines, you’re at a scale and complexity level where it’s going to be expensive no matter what.
And I think if you need that kind of resources, you’ll still be cheaper of DIY.
I used to work on an on premise object storage system before, where we required double digits of “nines” availability. High availability is not rocket science. Most scenarios are covered by having 2 or 3 machines.
I’d also wager that using the cloud properly is a different skillset than properly managing or upgrading a Linux system, not necessarily a cheaper or better one from a company point of view.
Got to agree with @Zushii@feddit.de here, although it depends on the scope of your service or project.
Cloud services are good at getting you up and running quickly, but they are very, very expensive to scale up.
I work for a financial services company, and we are paying 7 digit monthly AWS bills for an amount of work that could realistically be done with one really big dedicated server. And now we’re required to support multiple cloud providers by some of our customers, we’ve spent a TON of effort trying to untangle from SQS/SNS and other AWS specific technologies.
Clouds like to tell you:
The last item is true, but the first two are only true if you are running a small service. Scaling up on a cloud is not cost effective, and maintaining a complicated cloud architecture can be FAR more complicated than managing a similar centralized architecture.
Surely Elon would prefer the old Lucid fork, https://www.xemacs.org/
In a lot of modern work flows this is incompatible with the development pattern.
For example, at my job we have to roll a test release through CI that we then have to deploy to a test kubernetes cluster. You can’t even do that if the build is failing because of linting issues.