The 'stack' in full-stack refers to a solution stack. You can read about them here: https://en.wikipedia.org/wiki/Solution_stack
The terminology full-stack is meaningful to discern between an expert at one part of the stack and someone who knows how to set up and manage all parts of the stack. For example, consider the LAMP stack:
Linux Apache MySql PHP
A Full-Stack developer is someone who knows enough Linux to set up an Apache server and MySql database, enough MySql to create a database, enough PHP to render a decent web page.
On the other hand, a frontend developer knows the gritty details about how to render a beautiful and performant webpage that works on IE6, iPhones on 2G and your 4k monitor.
This is easy if there are multiple possible interpretations. Just pick the one that makes the least sense.
That way, instead of having to address their statement you can just pick on their communication skills.
Oh well. Sorry.
However, such a quick, "fuck that guy, amirite?" type insult is so common that it's become boring, especially amongst programmers, who have gotten a lot of practice insulting each other over the internet in the past however-many decades: our culture has adjusted accordingly, and the bar has been raised on effective insults. You can tell what is an ineffective insult, because the recipient will immediately turn around and mock you. You know, like I'm doing now.
Overall, I rank this insult a pitiful 3/10.
This is simply a direct counter to your argument that "every non-idiot thinks full stack means everything since the stone age"
I appreciate your apology above.
Also, "all the software stuff" still means down to assembler. So that'll be fun.
Yes, I know that's not what you meant, but why stop the fun now, just because I couldn't keep my terminology straight?
The understanding does not mean that they want to take the time investment of recreating all that work from scratch.
For instance,
I understand branch prediction, cache lines and inter-processor synchronization. But I'm no kernel developer.
I know what the assembler does, and its goals. But I haven't made one, and any I made would be sub-optimal
.. This proceeds through compilers, operating systems and up to the web stack.
I mean, writing a renderer that fully implements "HTML 5" along with ALL relevant standards - that's a massive software effort. I barely understand it, but I understand enough to get the job done.
But
No matter how much you know, there's always going to be a part of the stack that you can't develop for: you can't know everything.
that was my point.
Funnily enough, so am I. So I can't really help you with that.
They should also have to manufacture the processor themselves and 'electrical components' themselves.
Don't forget all the material that goes in to the keyboard and screen.
And how are they going to generate an electricity to power it once they have it set up?
Edit: I guess you said no external libraries, not no manuals/specs. That makes it less fun.
However, you don't have to implement an FS or a display module (but you'll probably want to implement a serial monitor).
But yeah, if I had the time, I might consider doing this (after I finish my Z80 SBC and actually learn more electronics (the Z80 SBC is a popular enough project that I don't have to do all the circuits myself. And I can do the bare minimum)). This probably doesn't reflect well on me.
I hadn't seen NAND2Tetris before, thanks for that.
Or you could just use a newer chip, and avoid this sort of problem altogether.
I mean, if you really want to make it a challenge then don't give them a processor, give them some large sheets of acetate and some coloured tape.
(I was going to include a picture of the 6502 rubylith for that last para, but found this amazing anecdote instead: https://hardware.slashdot.org/comments.pl?sid=1939704&cid=34... )
By the way, the same applies to software: If any developer can say they're "full-stack" without further specification (i.e, they're full-stack everything) with a straight face, than they should be punished by being given $200 or less of electronic components and a processor of their choice, and asked to make a webapp. No external libraries, that's cheating. Maybe give them an assembler if you start feeling sorry for them.