Response to a comment on a Youtube video.
Comment: The "Do mathematicians always think numbers like this" question reminds me of computer science. When writing code, you don't need to know the exact assembly language instructions to know what a function does, or even the exact workings of the processor to do that instruction, the level of abstraction given by the name is enough and most people use that instead to go faster
Not sure if this might be too subtle/not useful for non-mathematicians, but I will post here regardless for anyone interested.
So, you raise a good analogy with the programming thing, and although practically speaking it's okay to think of numbers as abstractions, unpacking into nested sets, this mental model is actually a bit limiting and narrow-sighted. Numbers existed/were thought of/used by mathematicians for centuries before we decided to trick undergraduate math students into thinking that "everything is sets". It's kind of like saying that a car, and really everything in the world, is just Legos. I mean, sure, Legos are extremely versatile and you can think of everything as Legos but with extremely weird shapes and joints. This is... certainly a way of looking at things, but to insist that this is foundational, definitional is misleading. On top of that, there are competing theories which can lay claim to be "foundational" for mathematics, which other people have pointed out here.
Set theory is more of a tool that exists within, and alongside, other mathematical tools, rather than something that "underpins" numbers, and mathematics in general, as might be suggested here. It's just unique in the sense that it works to model a lot of mathematics, so it's a great tool to help mathematicians answer mathematical questions, about math itself.... if, of course, you decide to CAST numbers as SETS in this particular way. Indeed, there are times where casting everything into set theory is useful, esp. when you're asking mathematical questions about mathematics, e.g. "is mathematics consistent?" In fact these types of questions, fundamentally, are what motivated the whole mathematical community's foray into set theory and logic. But to turn around and claim that numbers, and for that matter all of math, is sets, is quite misleading, to the detriment of mathematics (which is a whole 'nother discussion).
This is far better expressed by mathematician Andrej Bauer:
When logicians speak of "foundations" of mathematics, they may give the impression that they are "building the cathedral" starting from its foundation. But it is much better to view what they are doing as a study of how the cathedral is built and how we can improve it. For instance, logicians have observed the fact that almost all of modern mathematics can be expressed in the language of set theory, but this does not mean that we need to "secure" set theory before the rest of mathematics can be done. History is my witness: geometry, algebra, and analysis existed before set theory and logic came along.
Notice the key phrase CAN be expressed, not MUST be expressed. It's important not to confuse "A can be modeled as/written as/depicted as B" for "A is B".
Put in computer terms, it's like the difference between "C++" itself and "C++ as implemented on a particular machine". C++ code itself isn't an abstraction of assembly language, if anything it's just a part of the C++ standards doc filed with the ISO. But if I compile and run it on my Dell, it gets compiled into assembly or CPU instructions or what have you. But that's a decision made by the computer, not C++. C++ is C++, and numbers are numbers.