3 ms·
I've been doing this for over 20 years and it's the first I've heard of this "golden rule". I guess we've all been doing it wrong...writing our backends (pick
by GiorgioG 2y ago
I've been doing this for over 20 years and it's the first I've heard of this "golden rule". I guess we've all been doing it wrong...writing our backends (pick your poison), frontends (TS/JS) and queries (SQL) in a variety of languages forever.
- jeroenhd 2y agoI've mostly seen language mixing in frontend. Backends seem to end up either being completely ported to a new (compatible) language, or experimental new languages get ported back. Perhaps frontend developers are just more versatile because they have to, with frameworks and the base spec constantly shifting under their feet. Even many backend devs seem to shy away from things like SQL because they're not too comfortable with it. Which isn't bad per se, it's very easy to make a small mistake in a query that crushes the database, just a personal observation of mine.
- kasey_junk 2y agoIn 30 years as a backend engineer I’ve never worked in a single language codebase. The idea that there is some rule that you don’t mix languages seems like absolute nonsense. If someone suggested to me that it was _possible_ I’d be extremely curious what wild tradeoffs they were making to get there.
- jeroenhd 2y agoI think it makes sense to have a preference for a single language in code bases when all of your developers only have one language in common and are not interested in learning any more languages in the future. That doesn't necessarily make it a golden rule. However, in my work I've seen plenty of developers with all manner of interests and experiences align only on one or two languages, and if that's your company's talent pool, single language code bases seem like a good idea. Of course this skips over all the usage of scripting languages (makefile/bash/Python/XML) which in my experience are seen as quirks of build tooling rather than part of the product.
- QuadmasterXLII 2y agoThere’s also complementary vs competitive: C++/python (pytorch, itk, ROS) or Go/js (default web stack) aren’t going to quibble over what belongs in what language- react/swift or c/rust codebases have no such natural partition
- toyg 2y ago> Perhaps frontend developers are just more versatile Considering that they'll want to use Node even to make coffee, I'd argue that statement is wildly inaccurate.
- josefx 2y agoAnd if you look how that mess started out you had cross site scripting on the frontend because html allowed you to inject more javascript from everywhere and SQL injection on the backend because you had to translate your input from one language to another with tools that went out of their way to interpret data as commands. The modern web is a gigantic mess with security features hacked on top of everything to make it even remotely secure and the moment it hit the desktop thanks to electron we had cross site scripting attacks that allowed everyone to read local files from a plugin description page. If anything it is the ultimate proof how bad things can go.
- mamcx 2y agoAnd the people like me that work in ERP's/bussines apps have even more langs. I have used around 20+ in my little project (mostly solo) and I have now: * Rust * Kotlin * Swift * Html * Sql with variations for: Postgres, Sqlite, Sql Server, Firebird, DBISAM, MySql * Go * FreePascal And now is when I have less languages. People are flexible.
- pjmlp 2y agoDouble that, I think the only time I was single language developer was when Timex 2068 BASIC was the only programming language I knew.