LB Labs: The Best & Worst Programming Languages For Dev Workflow
devinterrupted.substack.com
The argument about which programming language reigns supreme is about to get a lot more clear with the release of research on the best and worst languages for dev workflow. In this episode of LinearB Labs, CTO Yishai Beeri reveals what the company’s data scientists have discovered about programming-language productivity following analysis of thousands of dev teams and hundreds of thousands of pull requests.
I’ve been programming for 15+ years and I’m not particularly surprised about Java and C# being at the top of this list. I can’t say this for sure without more data but anecdotally from my experience I’d note some observations: 1) Java and C# developers typically follow generally accepted standards and best practices - they know how to build maintainable enterprise software in ways that make it easy to change (this may also be what leads to larger PRs as simplicity sometimes requires a bit more ceremony) 2) there is a very rich and mature set of tooling 3) the libraries available to these languages tend to be written in such a way that their concerns don’t bleed into your codebase unnecessarily (I’m a fan of Python, but if you’ve ever used something like flask-sqlalchemy you probably understand this well - you shouldn’t be able to start a db transaction from anywhere in your code)
I’ve been programming for 15+ years and I’m not particularly surprised about Java and C# being at the top of this list. I can’t say this for sure without more data but anecdotally from my experience I’d note some observations: 1) Java and C# developers typically follow generally accepted standards and best practices - they know how to build maintainable enterprise software in ways that make it easy to change (this may also be what leads to larger PRs as simplicity sometimes requires a bit more ceremony) 2) there is a very rich and mature set of tooling 3) the libraries available to these languages tend to be written in such a way that their concerns don’t bleed into your codebase unnecessarily (I’m a fan of Python, but if you’ve ever used something like flask-sqlalchemy you probably understand this well - you shouldn’t be able to start a db transaction from anywhere in your code)
I’ve been programming for 15+ years and I’m not particularly surprised about Java and C# being at the top of this list. I can’t say this for sure without more data but anecdotally from my experience I’d note some observations: 1) Java and C# developers typically follow generally accepted standards and best practices - they know how to build maintainable enterprise software in ways that make it easy to change (this may also be what leads to larger PRs as simplicity sometimes requires a bit more ceremony) 2) there is a very rich and mature set of tooling 3) the libraries available to these languages tend to be written in such a way that their concerns don’t bleed into your codebase unnecessarily (I’m a fan of Python, but if you’ve ever used something like flask-sqlalchemy you probably understand this well - you shouldn’t be able to start a db transaction from anywhere in your code)
I’ve been programming for 15+ years and I’m not particularly surprised about Java and C# being at the top of this list. I can’t say this for sure without more data but anecdotally from my experience I’d note some observations: 1) Java and C# developers typically follow generally accepted standards and best practices - they know how to build maintainable enterprise software in ways that make it easy to change (this may also be what leads to larger PRs as simplicity sometimes requires a bit more ceremony) 2) there is a very rich and mature set of tooling 3) the libraries available to these languages tend to be written in such a way that their concerns don’t bleed into your codebase unnecessarily (I’m a fan of Python, but if you’ve ever used something like flask-sqlalchemy you probably understand this well - you shouldn’t be able to start a db transaction from anywhere in your code)