5 ms·
Is minified "code" still "source code"? I think I'd say the source is the original implementation pre-minification. I hate it too when working out how something
by hnick 3y ago
Is minified "code" still "source code"? I think I'd say the source is the original implementation pre-minification. I hate it too when working out how something is done on a site, but I'm wondering where we fall on that technicality. Is the output of a pre-processor still considered source code even if it's not machine code? These are not important questions but now I'm wondering.
- Dalewyn 3y agoThe minified HTML (and, god forbid, JavaShit) is the source from which the browser ultimately renders a page, so yes that is source code.
- naniwaduni 3y ago"The ISA bytecode is the source from which the processor ultimately executes a program, so yes that is source code."
- hunter2_ 3y agoI suppose the difference is that someone debugging at that level will be offered some sort of "dump" command or similar, whereas someone debugging in a browser is offered a "View Source" command. It's just a matter of convention and expectation. If we wanted browsers to be fed code that for performance reasons isn't human-readable, web servers ought to serve something that's processed way more than just gzipped minification. It could be more like bytecode.
- panzi 3y agoIf you need to use prettiefy to even have a chance to understand the code, is it still source code? About the byte code: You mean wasm? (Guess that's what you're alluding to.)
- flusensieb 3y agoIf you need syntax highlighting and an easy way to navigate between files to understand a large code base, is it still source code?
- phatskat 3y ago> It could be more like bytecode. Isn’t this essential what WebAssembly is doing? I’ll admit I haven’t looked into it much, as I’m crap with C/++, though I’d like to try Rust. Having “near native” performance in a browser sounds nice, curious to see how far it’s come.
- Dalewyn 3y ago>If we wanted browsers to be fed code that for performance reasons isn't human-readable, Worth keeping in mind that "performance" here refers to saving bandwidth costs as the host. Every single unnecessary whitespace or character is a byte that didn't need to be uploaded, hence minify and save on that bandwidth and thus $$$$. The performance difference on the browser end between original and minified source code is negligible.
- hunter2_ 3y agoI was thinking transfer speed, although even then, the difference is probably negligible if compressing regardless.
- Dalewyn 3y agoThe way I see it, if someone needs to minify their JavaShit (and HTML?! CSS?!) to improve user download times, that download time was horseshit to start with and they need to rebuild everything properly from the ground up.
- hnlmorg 3y agoLast time I ran the numbers (which admittedly was quite a number of years ago now), the difference between minified and unminified code was negligible once you factored in compression because unminified code compresses better. What really adds to the source code footprint is all of those trackers, adverts and, in a lot of cases, framework overhead.
- notpushkin 3y agoI find myself using View Source sometimes, too, but more often I just use devtools, which shows DOM as a readable tree even if source is minified. I'm actually all for binary HTML – not just it's smaller, it can also be easier to parse, and makes more sense overall nowadays.
- hnick 3y agoLet's be honest, a lot of non-minified JS code is barely legible either :) For me I guess what I was getting at is that I consider source the stuff I'm working on - the minified output I won't touch, it's output. But it is input for someone else, and available as a View Source so that does muddy the waters, just like decompilers produce "source" that no sane human would want to work on. I think semantically I would consider the original source code the "real" source if that makes sense. The source is wherever it all comes from. The rest is various types of output from further down the toolchain tree. I don't know if the official definition agrees with that though.
- regular_trash 3y agoTurrles all the way down
- gmerc 3y agoand does an LLM care … it feels like minification doesn’t stop one form explaining the code at all.
- throwaway290 3y agoSource code is what you write and read, but sometimes you write one thing and people can only read it after your pre processing. Why not enable pretty output? Plus I suspect minifying HTML or JS is often cargo cult (for small sites who are frying the wrong fish) or compensating for page bloat
- robertlagrant 3y agoIt does stuff like tree shaking as well; it's quite good. If your page is bloated, it makes it better. If your page is not bloated, it makes it better.
- throwaway290 3y agoTree-shaking is orthogonal to minification tho.
- robertlagrant 3y agoThat's true.
- dgb23 3y agoIt doesn't compensate bloat, but it reduces bytes sent over the wire, bytes cached in between and bytes parsed in your browser for _very_ little cost. You can always open dev tools in your browser and have an interactive, nicely formatted HTML tree there with a ton of inspection and manipulation features.
- throwaway290 3y agoIn my experience usually the bigger difference is made by not making it bloated in the first place... As well as progressive enhancement, nonblocking load, serving from a nearby geolocation etc. I see projects minify all the things by default while it should be literally the last measure with least impact on TTI