News for hackers. Stuff that matters.
Re:Thoughts on Rust bloat by mapgrep on Wednesday August 21, 2019 @06:57PM (#20762817)
>the release binary is now 5.9M

A typical smartphone ships with around 10,000 times this much storage capacity and enough RAM to hold it 100 times over.

This is bloat?

I mean, I get it, the binary used to be only 2MB, 1/3rd the size. But are numbers this low really worth worrying about? I think a GUI app in 6MB is hugely impressive.

I genuinely thought he was going to say it was 100MB or something higher.

Re:Thoughts on Rust bloat by userbinator on Wednesday August 21, 2019 @08:20PM (#20763404)
I think a GUI app in 6MB is hugely impressive.

Windows 3.11 required 4MB of RAM and the whole install took <20MB of disk space, and that's the entire OS with all of its utilities and libraries.

A typical smartphone ships with around 10,000 times this much storage capacity and enough RAM to hold it 100 times over.

The fact that it can hold that much does not make it right to waste resources. To contrast, video or audio is a good use of the space it takes up in general, because there has been and continues to be research in compressing that data, and it's pretty close to being as small as it can practically be. Apps are not a good use of space because we know roughly what the lower limit is --- and the current average is a few orders of magnitude more than that.

Re:Thoughts on Rust bloat by orf on Wednesday August 21, 2019 @08:35PM (#20763490)
> Windows 3.11 required 4MB of RAM and the whole install took <20MB of disk space, and that's the entire OS with all of its utilities and libraries.

Sure, and the moon landing used computers with less processing power than your kids calculator. That doesn't mean we should use those to put people on the moon over faster hardware.

Does the fact that older, slower and smaller hardware and software once existed mean we should spend time, resources and potentially sacrifice features to... what? Hark back to the old days where we had 128kb of memory and hard disks the size of vinyl records?

A 6mb GUI app _is_ impressive for right now. At some point in time it would have been absolutely massive, and the way it's going, at some point in the future it may well be absolutely minuscule. And that's not a bad thing.

Re:Thoughts on Rust bloat by doboyy on Wednesday August 21, 2019 @11:46PM (#20764468)
I'm constantly torn between these two perspectives. Practically speaking, 6mb is fine. Ideologically, not as much.

In general, complexity is indicative of a poorer design, and the fact that an entire operating system + utilities can be delivered in a comparable size to a gui app is hard to look away from.

The author says, "Once you accept bloat, it’s very hard to claw it back". The fear is that bloat increases at higher rate in proportion to its capability and computing power.

I'm cognizant that I'm very much in the minimalist camp with regard to computers, so I do make sure to peek outside and remind myself that stressing about an executable size is a bit unwarranted. But that being said, we must remain vigilant!

Re:Thoughts on Rust bloat by adrianN on Thursday August 22, 2019 @03:25AM (#20765506)
If today's computers did things a million times better, or did a million more things than 25 years ago, I'd agree with you, but from a user perspective a modern computer is not really all that different from a Windows 3.11 machine. The screens are bigger and we have Internet now, but the experience of, e.g., writing a letter in Word is basically the same.
Re:Thoughts on Rust bloat by floatboth on Thursday August 22, 2019 @09:22AM (#20767729)
The screens alone are responsible for a lot of size increases (framebuffers in RAM, high res media) but also, unlike in Windows 3.11, modern Word allows you to mix English, Japanese and Arabic in a document, allows use of a screen reader, and has a thousand features that you personally don't need but everyone has some set of features that they use, and taking away any of them would offend someone.
Re:Thoughts on Rust bloat by pjmlp on Friday August 23, 2019 @01:27PM (#20780054)
And me thinking I already was able to do that with Word on NT 4.0 and Dragon NaturallySpeaking.
Re:Thoughts on Rust bloat by mwcampbell on Wednesday August 21, 2019 @09:32PM (#20763813)
But what if GUI applications that were considered lean and mean in the 90s were common on today's hardware? Wouldn't those applications be really fast and light on resources?
Re:Thoughts on Rust bloat by littlestymaar on Thursday August 22, 2019 @01:58AM (#20765076)
Fast and light on resources isn't the same thing: a GPU-accelerated GUI toolkit is going to be bigger than a full software one, but also much faster on modern hardware.
Re:Thoughts on Rust bloat by leshow on Wednesday August 21, 2019 @11:29PM (#20764383)
It's an apples to oranges comparison, you can't really say that one is "wasting" resources or not.

If you want to use windows as an example. Why not take the current version? It uses what like 16GB for a basic install (I wouldn't know, I don't use it)? Compare the 6Mb GUI framework to that.

Re:Thoughts on Rust bloat by pjmlp on Thursday August 22, 2019 @02:31AM (#20765242)
Yes it is bloat.

Just go at any iOS or Android conference discussing user monetization.

APK/IPA sizes are the number one reason why consumers uninstall software and the reason behind the ongoing module format efforts from Apple and Google.

I have written GUI apps that could fit in a floppy.

Re:Thoughts on Rust bloat by floatboth on Thursday August 22, 2019 @09:27AM (#20767758)
No way. Most people don't know the sizes of their apks.

> discussing user monetization

Monetization must be a much bigger reason. A lot more users would angrily uninstall an app that showed them a giant full screen ad.

Re:Thoughts on Rust bloat by pjmlp on Thursday August 22, 2019 @11:16AM (#20769014)
There are plenty of WWDC, IO and Android Summit talks about this subject, just in case you want to improve your knowledge.
Re:Thoughts on Rust bloat by xyzzyz on Wednesday August 21, 2019 @07:20PM (#20762977)
I think a GUI app in 6MB is hugely impressive.

You think that because nobody cares about bloat anymore, so everything else is large.

Re:Thoughts on Rust bloat by mapgrep on Wednesday August 21, 2019 @07:55PM (#20763232)
I think of myself as someone who cares about bloat — I define it by practical impact.

For example, I keep Facebook off my phone, and when I need to download it (for example to rsvp for an event) the app is ~100MB, which means 1> I can’t even do it unless I’m on wifi and 2> it’s slow even there.

I’m having trouble understanding the practical impact of 6MB. Many web pages are larger than that. Even on the Mac I bought in 1994, that would have been a reasonable size for an application (and it only shipped with 120MB hard drive).

But maybe I’m missing something. Some folks have mentioned CPU caches which is interesting — is that the problem?

Re:Thoughts on Rust bloat by Scuds on Wednesday August 21, 2019 @07:33PM (#20763080)
If you want to code a large app in C with X Athena Widgets or Win32 you're welcome to do so.
Re:Thoughts on Rust bloat by snaky on Wednesday August 21, 2019 @11:52PM (#20764493)
A large app in C++ with ATL (Active Template Library) or WTL (Windows Template Library) would have about the same size and speed as in C with plain Win32 API, leveraging the whole new level of abstractions, code reuse and developer productivity. The point is such things are possible, bloat is not inevitable.
Re:Thoughts on Rust bloat by pjmlp on Thursday August 22, 2019 @02:34AM (#20765268)
Why endure such pain?

We already could use Turbo Pascal (OWL), Delphi (VCL) and C++ (VCL, MFC, OWL) on Windows 3.1 and deliver applications that could fit on a floppy.

Re:Thoughts on Rust bloat by BubRoss on Wednesday August 21, 2019 @08:04PM (#20763293)
Fltk can give you a static binary on every platform where simple GUIs are under 100KB.

Win32 isn't actually all that bad and getting simple GUI programs with icons under 10KB is completely doable.

Thinking that GUIs need to be 6 MB or painful is a complete false dichotomy.

Re:Thoughts on Rust bloat by orf on Wednesday August 21, 2019 @08:41PM (#20763522)
Arguing about 10KB or 100KB applications on a comment page that's 40kb in size is somewhat silly.

It's _worth_ it to trade 1mb, 10mb or 100mb of app size in some cases. That's why you don't hand-craft your "simple 100kb guis" in assembly and have them only be 1kb. Exactly the same principle applies here.

Plus, realistically, users don't care. Not one bit. That's why Slack is out here capturing the market, while some other lightweight and exquisitely coded 10kb tool written in C isn't. Because they are shipping features the users want and iterating fast on their memory hungry and bloated platform, while the other one segfaults when there is an unencountered error.

Re:Thoughts on Rust bloat by jcelerier on Thursday August 22, 2019 @03:13AM (#20765434)
> Plus, realistically, users don't care. Not one bit.

I disagree. I develop an audio workstation - https://ossia.io ; the total size is between 50 and 100 megabytes depending on the platforms. It uses Qt and LLVM and is itself around 500kloc so I'm already around the lower limits of what I can do.

My users, & much people on the internet keep comparing it in size to Reaper, another DAW where the binary is around 10 megabytes (https://www.reaper.fm/download.php) - but they wrote their own gui toolkit and language interpreter.

Re:Thoughts on Rust bloat by nickpsecurity on Thursday August 22, 2019 @01:41PM (#20770571)
Re:Thoughts on Rust bloat by jcelerier on Friday August 23, 2019 @05:15AM (#20775738)
well, I still think that Qt is the better solution, and so by an order of magnitude :-) it allowed me to write the software, which is being used in production in mac / linux / windows, while doing a ph.d. at the same time ; not sure I could have done the same with any of the other options in there (an older version was using JUCE but it was full of problems ; in particular JUCE's software renderer is much less efficient than QPainter). And for all of REAPER's goodness, it took decades before getting a linux version.
Re:Thoughts on Rust bloat by nickpsecurity on Friday August 23, 2019 @09:36AM (#20777422)
Oh yeah, I agree. It's a good one. Several folks in the comments called out the author for not bringing it up. Personally, I think the author had a bias where any solution had to be close to the size of the native, standalone app.

One thing I wondered about Qt is if there's a way to trim out anything an app doesn't use. Have you seen anything like that?

Re:Thoughts on Rust bloat by jcelerier on Friday August 23, 2019 @12:54PM (#20779579)
There's https://qtlite.com

Along with the following shell command :

    grep  --only-matching --no-filename -R 'include <Q.*>'  | cut -f2 -d' ' | sort | uniq
you can quickly see what must stay and what can go
Re:Thoughts on Rust bloat by BubRoss on Wednesday August 21, 2019 @10:35PM (#20764119)
The reason that it isn't silly is that people keep saying these larger sizes are necessary when anyone with some perspective and history in computers knows that it's ridiculous.

You can say users don't care about bloat and speed, but when they have an alternative that is clearly not the case. uTorrent destroyed the market share of other torrent clients by being lightning fast and tiny. Chrome captured market share off of being fast. IE originally killed Netscape because it 'loaded' much faster. Winamp won because it was fast and tiny. Google won because it loaded fast and the searches were fast. Google maps won because it was full screen and still faster than MapQuest. People hate the Reddit redesign because it is slow and bloated. People like hacker news' interface because it is fast. People upgrade their phones to see dramatic speed differences. A major advantage of apple is their faster CPUs.

When users have no choice, they put up with whatever bloated nonsense they have to. When they have a choice, they do actually go with interactivity and less latency.

You can be patronizing and pretend that it's archaic to care about well made software that doesn't take up 100x the resources it should need, but when someone wants software that gets out of their way, scales well, or runs on a low power platform, that 300 MB chat client isn't going to cut it.

Re:Thoughts on Rust bloat by orf on Thursday August 22, 2019 @04:35AM (#20765905)
I never said users don’t care about speed, and bloated binaries do not mean something is slower.

Also, iteration speed is something else users care about.

Re:Thoughts on Rust bloat by dmix on Wednesday August 21, 2019 @07:14PM (#20762940)
Even Raspberry Pis have many GBs of both disk and RAM and super fast USB, MicroSD, and network transfer speeds.

I don't really see the difference between 5mb and 20mb bins. And I'm a fan of minimalist OS systems like Archlinux with a slim set of running services. Disk space isn't really the main concern besides as a symbolic measure of cruft. No system is ever going to fill up space by having too many OS/terminal programs installed.

But I also don't come from the nostalgic Unixy C programming world. Just a Unix user. So I may be biased.

Re:Thoughts on Rust bloat by heavenlyblue on Thursday August 22, 2019 @06:15AM (#20766437)
>> Even Raspberry Pis have many GBs of both disk and RAM and super fast USB, MicroSD, and network transfer speeds.

You are speaking about _latest_ Pis.

Re:Thoughts on Rust bloat by dmix on Thursday August 22, 2019 @01:38PM (#20770532)
No I'm not. Pi 2 meets all of those requirements and has MicroSDHC which offer tons of high speed space even at entry level.

Besides that was an example, I have plenty of other IoT and embedded style hardware and they are all fitting this criteria.

Simply put the size of binaries has never been a real concern for some time now and the few rare cases where it might matter probably aren't worth all the effort made obsessing over sub 50mb bin size.

99%+ of it will be people who "feel" like it should be small, without any good reason.

Re:Thoughts on Rust bloat by jgibson on Wednesday August 21, 2019 @07:22PM (#20762997)
It's not just ram that we care about, its all the other CPU caches that are significantly smaller that a larger binary will take up more space in
Re:Thoughts on Rust bloat by nwah1 on Wednesday August 21, 2019 @10:38PM (#20764141)
If you want to compile to wasm and send it over the wire, 6mb would seem like a lot.
Re:Thoughts on Rust bloat by xenocratus on Thursday August 22, 2019 @09:26AM (#20767753)
Rust is used a lot for embedded development, and the memory available on an IoT device is nowhere near that of a smartphone. You probably won't want a GUI running on an IoT sensor, but you might need a network stack, maybe some data processing...
Re:Thoughts on Rust bloat by Keyframe on Thursday August 22, 2019 @04:47AM (#20765970)
QNX fit OS, utilities and a web browser on a 1,44MB floppy disk.
Re:Thoughts on Rust bloat by mrmonkeyman on Thursday August 22, 2019 @12:15AM (#20764575)
It is the mindset. Slacking off leads to increasingly suboptimal apps. As long as the sales dept picks up the slack, it will work out, but it will bite you one of these days.

India, China, Africa. Huge, huge markets. Slow, old, crap hardware and networks. Do the math.