5 ms·
I think the better way to put it that "we" stopped caring about performance both on the client (think Electron) and on the server (ORMs & dynamic languages, as
by smarx007 8y ago
I think the better way to put it that "we" stopped caring about performance both on the client (think Electron) and on the server (ORMs & dynamic languages, as already mentioned) at some point of time in favour of faster time to market, cheaper. Just so that the output is "good enough".
But honestly, I agree with that approach to a certain (!) extent. I don't want to write all of my backend in C++. I use Java or Python instead. Thousand reasons: maven/pip, portability etc.
So, I would say we need to come to terms with ourselves and agree that the productivity is sometimes increased at the expense of the system quality. After that, I think it's okay to keep doing that if both us and our customers are OK with the tradeoff.
Just to illustrate: do I like the RAM consumption & the startup time of my Slack app? No. But I am a free user, so I can't complain. In the end, the Slack team probably made the right choice.
UPD: 500 error is gone. Gitlab also needs to manage costs and be friendly to the OSS contributors. Ruby was also probably a good choice for them. If you want top-notch software, be prepared to stomach NASA-grade costs, because the rumour is that 1 LOC in Shuttle ended up costing $1500 [1].
P.S. Thanks a lot for the [2] paper reference!
[1] https://www.johndcook.com/blog/2009/10/08/nasa-buggy-software/ https://www.johndcook.com/blog/2009/10/08/nasa-buggy-softwar...
- xigency 8y ago> I don't want to write all of my backend in C++. I use Java or Python instead. Thousand reasons: maven/pip, portability etc. Is this really a good excuse with containers being used so frequently?
- smarx007 8y agoMaven/pip is still a good excuse. I don't want to wait x months until a new release of some library lands in Debian repos. Portability – not so much, but then it saves you so much headache because switching from 16.04 to 18.04 should not break anything in your system.
- isostatic 8y ago> rumour is that 1 LOC in Shuttle ended up costing $1500 [1]. Should have used K&R braces
- throwawaymath 8y agoWhy? K&R braces start and terminate on their own lines, which would push up the LOC count.
- isostatic 8y agoThus reducing the cost per LOC :D
- throwawaymath 8y agoAhhh, I misinterpreted :)
- majidazimi 8y ago> I don't want to write all of my backend in C++. The difficulty of C++ is way too much over rated. Most mediocre projects can be written with basics of C++ (that everyone can learn in less than 3 months). We could have lived in a way performant world, if people would stop horrifying beginners about difficulties of C++/Rust/... Go talk to a beginner, the moment you say anything about C/C++, the first thing they mention is, what do you do for buffer overflows? They don't even know what it is, but they are worried about it.
- pknopf 8y ago> We could have lived in a way performant world, if people would stop horrifying beginners about difficulties of C++/Rust/... You can't get around the fact that languages like Python and JavaScript are better suited for beginners. From their perspective, it should be horrifying. At least until they properly learn it.
- majidazimi 8y agoI do agree. But the trend/courage should be toward informative programming (how OS works, how DB works, how file systems works, ...). What we see now is exactly the opposite. Programmers are becoming more ignorant day after day. Even worse, people get credit for running away from C/C++/OCaml/Rust/,...
- smarx007 8y agoThe first thing I would mention when talking about C is a hash table. But yes, you are right in general. However, my plan for this summer is to learn Clojure because I believe that learning macros will serve me better right now [1]. [1]: http://www.paulgraham.com/avg.html http://www.paulgraham.com/avg.html