4 ms·
There is a Raymond Chen post (I'll come back to add the link if I find it) that explains how the developers working on Windows 95 were only allowed to use machi
by jmmv 3y ago
There is a Raymond Chen post (I'll come back to add the link if I find it) that explains how the developers working on Windows 95 were only allowed to use machines with the minimum specs required by the OS. This was to ensure that the OS ran well on those specs.
And, IMHO, that's the way it should be: I think it's insane(?) to give developers top-of-the-line hardware, because such hardware is not representative of the user population... and that's part of why I stick to older hardware for longer than others would say is reasonable.
- Merad 3y ago> I think it's insane(?) to give developers top-of-the-line hardware, because such hardware is not representative of the user population But a developer's needs are radically different from the user's needs. In typical web dev, the developer's machine is playing the role of the client machine, web server, and database server, all in one. On top of that you'll probably be running multiple editors/IDEs and other dev tools, which are pretty much always processor and memory hungry. Even for desktop development the dev needs to be able to run compilers and debuggers that the user doesn't care a thing about. If you truly care about the low end user experience then you need to do acceptance testing against your minimum supported specs. It's pretty crazy to intentionally hamstring the productivity of some of your most expensive employees.
- jmmv 3y agoFair observation about web apps vs. desktop apps / systems. So maybe the browser should intentionally slow things down when using the device-specific previews to mimic real-world behavior, instead of just changing the window size? :) In any case... the fact that you need so powerful machines to develop the app is also an indicator of waste at all layers. It hadn't cross my mind to showcase how even CLI tools have gotten sluggish, for example, but they have... Running 'aws', or 'az', or things like that show visible pauses at startup too. Furthermore, the tendency to depend on tons of services "for scalability" is also questionable in the majority of web apps. It takes a lot of work to keep the development environment lean because it's easier than ever to pull in library and tool dependencies into them. It's doable, but usually also not a priority. Edit: By the way, I do develop a few web apps on the side where I can be careful about dependencies and the like, and the resource needs are minimal. Running a database and web server on the local machine take almost zero resources. The heaviest thing of all is the JavaScript toolchain, which is... quite telling. And I can run the hundreds of integration/unit tests for the apps in milliseconds. It has taken care to get to this point though, and I have never experienced this kind of "lightweightness" in a corporate project. Here is a post that provides some background on just one aspect (https://jmmv.dev/2023/06/iii-iv-task-queue.html https://jmmv.dev/2023/06/iii-iv-task-queue.html), and I'm working on another one to describe the testing process in detail.
- sidpatil 3y ago> So maybe the browser should intentionally slow things down when using the device-specific previews to mimic real-world behavior, instead of just changing the window size? :) I pulled up Chromium's DevTools and I do see settings for throttling in the device-specific previews. Whether they're actually used by developers is a different story.
- gavinhoward 3y agoMerad's sibling post is exactly why my machine is beefy instead of weak: I still need that power. Of course, I run Gentoo, so... And I run my Gentoo updates off of a ramdisk to save my SSD and for that much more does. But if I intentionally run my code in hamstrung VM's, it achieves the effect you are advocating, which is a good thing, by the way. I do agree with you.
- avgcorrection 3y agoOh what ritualistic nonsense. Those developer machines will also have to compile the code and run the application in debug mode, which will make the app slower than on a regular user’s machine if we assume the same hardware.