5 ms·
It makes me feel nostalgic to read about the times when people still tried to understand the hardware and make things work amazingly well despite harsh resource
by fxtentacle 7y ago
It makes me feel nostalgic to read about the times when people still tried to understand the hardware and make things work amazingly well despite harsh resource limits.
Nowadays, even simplistic programs take ages on a device 1000 times more powerful. I had time to read this article because restarting our ruby development server is so excruciatingly slow.
It seems the craftsmanship aspect of computer programming is getting lost, and all that remains is the large leverage that one can use to drive profits with software.
- TheRealDunkirk 7y ago> restarting our ruby development server is so excruciatingly slow Is it running on Windows? (Honest question.)
- Razengan 7y ago> It seems the craftsmanship aspect of computer programming is getting lost, and all that remains is the large leverage that one can use to drive profits with software. Too many lazy/greedy developers fighting against users and operating systems (coughelectroncough)
- inform880 7y agoI understand that Electron apps tend to be a resource hog, but what other options for software create as many cross platform opportunities with as much work? I think for every single greedy developer/company there's another small software project only able to get off the ground because of the maximized opportunities. This is coming from a relatively new full time developer who's trying to get a small side project off the ground.
- Razengan 7y agoThis is also partially the fault of the operating system companies for not making native development as easy and portable as it should be. Things like SwiftUI and the upcoming "clips" (or whatever the iOS/Android "partial/temporary apps" tech is going to be called) are a step in a good direction.
- swagonomixxx 7y agoWhy should Apple care about portability of their Desktop apps to OS's like Windows? Native API's are almost by definition non-portable. That's why you need something like Qt to bridge the gap for you and provide a OS-agnostic API.
- paulryanrogers 7y agoSo much this. I began a configuration program for a desktop app recently, and it's taking months of spare time to get even a rudimentary UI with Qt. Electron or Qtwebview would probably only take a few hours for a web dev like myself. All that said desktop development is an interesting challenge, if sometimes maddening.
- AnIdiotOnTheNet 7y ago> I understand that Electron apps tend to be a resource hog, but what other options for software create as many cross platform opportunities with as much work? Is laziness a good excuse for poor software? For wasting the time and resources of every one who uses the application? For disregarding the conventions of the host platform including any user preferences and accessibility features?
- arvinsim 7y agoThe flaw in your arguments is that good and fast software is usually not the main goal nor the priority of people who drive software aka businesses
- inform880 7y ago> For wasting the time and resources of every one who uses the application? I don't believe this argument for a second, with the ubiquitousness of successful Electron apps.
- AnIdiotOnTheNet 7y agoAn application that takes longer to load, is slower, and consumes more CPU and RAM is by definition wasting the user's time and resources. The slow and bloated nature of Electron applications is griped about quite often. That people are required to use Slack for work doesn't change that.
- MaxBarraclough 7y agoJavaFX?
- robotnikman 7y agoJava is pretty good when it comes to being cross platform
- gridlockd 7y agoNo it isn't! Sure, you can run some sort of Java VM on a lot of platforms. That's no big distinction, you can say the same about Javascript, Python, Lua and so on. Once you enter the realm of graphical applications, it's a clusterfuck, just like any other "cross-platform" thing.
- mrguyorama 7y agoDoes Swing not run pretty much the same on Mac, Linux, and Windows?
- gridlockd 7y agoYes, it sucks on all these platforms equally badly.
- gridlockd 7y agoAll cross-platform solutions suck. At least consider writing one native client for every supported platform. Only support the platforms that your customer base truly needs. Focus on the most important platform first.
- bitwize 7y agoElectron is the future. Why? Developers would rather spend more of your computer's time (and other resources) than their own time. And most end users -- e.g., people who work in a Slack-based business and so NEED the Slack app -- consider the tradeoff worth it.
- diegoperini 7y agoOr maybe software is just more widespread than before and it's no longer an exercise practiced by a few selected (by hard-work, luck, you name it) "experts". It is completely understandable if these new wave of developers care their time budget more than efficient hardware utilization. This is the tendency for any craft that gains popularity over time. We can only advocate best practices by making them accessible, approachable and applicable. We can then hope the crowd listens and if they don't, that's ok, it's their loss (or not if their audience doesn't care). A good analogy is, you don't have to build an earthquake resistant building if you are gonna use it to store some metal junk (carpenter tools, gardening tools etc). It's not a house and there is no danger even if you live on top of an active fault line.
- kdmccormick 7y agoA Ruby dev server doesn't need to be slow. Put some "craftsmanship" resources into making your dev tools tighter and your app less bloated with dependencies and startup steps.
- commandlinefan 7y ago> Put some "craftsmanship" resources Hard to find time for when you have 30 JIRA tickets every two-week "sprint", none of which have anything to do with improving performance.
- arvinsim 7y agoI don't think it's about developers caring less. I think it's because businesses have figured out that it is most cost-efficient to throw powerful hardware on problems rather than spending money on bespoke solutions or specialists in most cases.
- AnIdiotOnTheNet 7y agoIf it is all about business decisions, then why is a lot of open source software having the same kinds of problems?
- sosborn 7y agoOpen source software still has costs associated with, if not in cash, then in time.
- hvs 7y agoI was a programmer back then, and it's not the "golden age of programming" that some make it out to be. For one thing, WE were complaining about how big and bloated software was becoming compared to the "old days" when programmers only had 64KB to work with. On top of that, it took SO LONG to develop basic functionality that you could probably build in a one hour language tutorial now. Things that were excruciating to build are trivial now. Yes, there is a cost. Abstraction adds bloat, but it also allows developers to be much more productive. I have a friend I play go with that is an old Univac programmer (he's 30 years older than me) and he often pulls the "call me when you have to use punch cards". Developers always look back on the past a bit wistfully, but I assure you that some things never change.
- camgunz 7y agoThank you for this wisdom and perspective.
- as1mov 7y agoI've found this sentiment common in posts like these, but most of them seem to conveniently ignore how complex software (especially video games) and hardware has become. Compare the screenshots of a game released in the PS1 era, to even a low budget indie title released today (eg. Hellblade), that's just the graphics, you have other aspects like multiplayer and AI. Games aren't written from scratch on bare metal machines now because it's not feasible to do so. This applies to general software too, things that weren't big deal/non-existent in 90's are important now, security, networking, OS native UI frameworks. The OS itself doesn't give you FFA access to the machine anyway. Also if you really wanted, instead of using Ruby you could bang out a backend/REST API using assembly[1]/C[2] even today, just that nobody wants to do that because it's a fucking pain in the ass. [1] https://asm32.info/index.cgi?page=content/0_MiniMagAsm/index.txt https://asm32.info/index.cgi?page=content/0_MiniMagAsm/index... [2] https://kore.io/ https://kore.io/