I am still in a CFML community (for historical reasons), and one guy there was talking about their 40 server cluster the other day and I was thinking “sheesh, what kind of scale do you have to be to have 40 app servers?” — but I strongly suspect if he was using a more efficient language, he’d have a smaller cluster.
Yeah, exactly. I worked in a place where we switch a whole python service to golang and it made an astonish difference in allocated resources. Maybe if this was well understood we could use as a selling point to languages more efficient.
I would expect that even if you fixed the language variable, how you actually code in that language is going to introduce variability into scaling.
But your “selling point” might be a black mark against Clojure 🙂
I once used this setup. I used the faster computer as my primary coding machine, and the slower as browser, document viewer, and slack. To change between then I used a software keyboard/mouse multiplexer (I believe it was synergy)
Sometimes I had to SSH between machines, but it was quite rare...
Possibly, but at least you could make more informed decisions. I might be in a bubble that thinks python is the way to go. 1) easy to learn and to build. So it is difficult to discuss against it with business people too but the compromise of choosing it is not well understood at all
And the language of money has more attention. Often the cost of "rewrite" after the prototype is done is taken into account. But these rewrites are very difficult to actually happen
Yeah, I’ve been very lucky to have worked at companies where “rewrite” is fine but most folks are not.
About the selling point against clojure.. let's take the grpc benchmark as a proxy. Do I prefer a very expressive and easy to learn language like python that will cost 20x more over time or a very expressive but not so easy to learn language like clojure with 2x more cost over time when compared to pure java or rust. (Or even higher discrepancy)
I think the business have no idea of how huge these costs can add up
Studies like this would be very valuable to discussions like this with management sector
A study trying to identify what languages you are more prone to poor implementations. For example, I had an experience with PHP and it is incredible how much content is out there in the web... And how much bad advices are out there too. Looking at my teams working with python and clojure I would say that you are more prone to silly errors in python because of the amount of bad advices around the web when you search for basic stuff
Correct
Yes, good point. I guess the definition of a “classic” unit test is a test that indeed only tests one function/method.
@iagwanderson “hard” and “easy” are very relative. I’ve had a much easier time learning Clojure (coming from PHP) than Python. And I had “tried” learning Python before Clojure, but I had zero motivation because I never saw any benefit. It’s 95% the same language as PHP, just slower. So I never “learned” it. I have a basic understanding of it, 3/10. But I can’t write a correct line in it without Google. The syntax makes zero sense (to me). If you’re saying “easy” as in “a bigger pool of people to hire from”, there’s no contest there, I agree.
For anyone using a Mac, this QuickLook extension recently added Clojure support: https://github.com/sbarex/SourceCodeSyntaxHighlight I found it really useful for quickly browsing source files in unfamiliar projects :)