Long ago I started coding in gedit. Since then the language got only faster, I need less code because more major libs do more of my work.
Also my computer is like 8 years old, my laptop until recently was over 10 years old and my current one about 3 or 4 (T420 and T480s)
Ruby is not native, but we'll portable. My point is this 'boring' work style is here, people just choose to not use it.
That's interesting, because there have been articles that indicate that Atom has not only comparatively worse startup times (which may or may not matter to people), but also really bad typing latency: https://pavelfatin.com/typing-with-pleasure/
In particular, this image gets the point across well: https://pavelfatin.com/images/typing/editor-latency-windows-...
> Ruby is not native, but we'll portable. My point is this 'boring' work style is here, people just choose to not use it.
This is a good point, though! As far as I know, plenty of people still use Ruby (typically on Rails), or also other "batteries included" solutions like Python and Django pretty successfully.
That said, most of these languages have pretty severe limitations in regards to their performance and resource usage: https://jaxenter.com/energy-efficient-programming-languages-...
Some lovely benchmarks seem to confirm that, in relatively real world conditions: https://www.techempower.com/benchmarks/
Admittedly, that doesn't matter for all projects, but why couldn't we have the ease of use of Python with the performance of Rust and the developer experience of Rails/Django?
well, they aren't doing the demanding, if you're the one who wants those shiny features!
That's just the thing: they use all of these browser based UI technologies, these slower scripting languages and other ways to ship software in a reasonable time and so i could have the actual fancy features that pertain to the logic...
...except that I'd be far happier if they hadn't cut those corners and I'd have a fully native app using the OS UI frameworks and so on. Of course, that isn't possible, if I want the software in the next few years, not a decade from now, or much more expensive (at least that's the prevailing argumentation).
In my eyes, it is the coupling between the desirable bits (what the software actually does) and the undesirable bits (mostly how it does it). But it's all about tradeoffs, similarly to how we often choose to ship code that isn't thoroughly tested just to meet some deadline.
The modern GUI designers in IDEs are notably better, but many shops don’t take advantage of them due to issues with slow performance (eg storyboads in xcode) and issues with multiple developers modifying the resource files simultaneously.
Refactoring and static analysis tools are improved as well, but none of these improvements afford orders of magnitude in efficiency.
The biggest gains in efficiency come from the extended libraries, open source code, ORMs, and the fact that most of what is coded has already been built by someone into a framework or library.
Software development does not now require the expertise of knowing the intimate details of the code and how it works. Many modern apps are plugging together libraries that developers do not understand and are unable to fix any issues in those libraries. The default now is to Copy / paste from Stackoverflow or submit an issue to the library maintainer on github and pray that it gets fixed; or find another library and swap that in. Software development (especially web development) has become a more decentralized effort usually resulting into in a mishmash of layers and dependencies whose inefficiencies are allowed by the amazing hardware. Unfortunately, performance and user experience are sacrificed to the interests of “efficiency” and using the latest language/platform fad of the year.
Oh, also, for a while I ran GitLab which is written in Ruby and still run OpenProject, which also is. Both of those underperformed and wanted both unreasonable amounts of memory whilst also running slowly when under load.
I'm yet to see a Rails codebase that can actually compete with the likes of Java/.NET/Go, since projects like Gitea are snappy and use about 1/10th of the RAM. Then again, nobody really picks languages/tech stacks for their performance outside of a few industries/domains where that is indeed necessary (HFT?).
Most of the time people just choose whatever is the easiest to work with, has the best integrations/frameworks/libraries and will let them ship features in a timely manner. Now, upgrading old Rails projects, though, is something that I cannot recommend doing. Very much not a fun experience.
Also known as Wirth's law: https://en.wikipedia.org/wiki/Wirth%27s_law
Sometimes it worries me. If we had a boring set of usable and safe tools to use for development, that would also be pretty fast, i wouldn't have to update my hardware every 5 years or so. But JetBrains IDE's (just one example) basically demand that I do, if I want their other shiny features.
Perhaps something like Java instead of Python. Perhaps something like Go instead of Java. Perhaps something like Rust instead of Go.
Just boring (predictable), stable and dependable programming languages, supported on every platform with a set of native libraries. Perhaps a bit like what LCL did in regards to GUI in particular: https://en.wikipedia.org/wiki/Lazarus_Component_Library