{"thread":{"id":"59635","subject":"On understanding, exploring and abstractions.","startedAt":"2023-04-22T15:54:37Z","lastAt":"2023-04-24T17:28:55Z","messageCount":2,"participants":["Aman"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"475846","messageId":"CACMKQb3XsPG=gnmoBdL7Eh6dV2h-LEbGHs+QpBr1g9yV+SSmRw@mail.gmail.com","threadId":"59635","inReplyTo":null,"subject":"On understanding, exploring and abstractions.","fromName":"Aman","fromEmail":"amanmatreja@gmail.com","sentAt":"2023-04-22T15:54:21Z","receivedAt":"2023-04-22T15:54:37Z","isPatch":false,"sender":{"key":"amanmatreja@gmail.com","avatar":null},"body":"Hello everyone.\n\nThis is Aman, I am a high school student. And,\n\n\"I DON'T know how computers (and modern software) works AT ALL\".\n\nI have no idea, except about the abstractions I play on. I understand\nthe case for abstractions, they are what, (arguably or not) run the\nworld forward.\n\nBut it is really , And by really, I mean really frustrating. To the\npoint where I don't quite enjoy programming (despite the fact that I\nhave had exposure to \"programming\" for quite some time). I am\nfascinated by these things around me, computers run the world, and I\nREALLY want to understand them, just for the sake of it (I guess).\n\nI believe what made computers fun, in the old days, was the ability to\nreally talk to it. (even Linus tells this in the \"beauty of\nProgramming chapter\" in his book, which was written 20 years ago!)\nEven C feels like an abstraction, hey the \"magic\" of compilers, and\nlibraries.\n\nEven people around me, and 99% of people I find on the internet, to\ndiscuss issues like this, too, don't know how a computer, and modern\nsoftware (which runs the world) really works. And people seem to get\nfine by it, which is not necessarily bad, but really frustrating to\nme.\n\nAnd my question is, How do I do it? Should I try to build my own\ncomputer? Create a CPU in Verilog on an FPGA. Write an assembler,\nbootloaders, operating system kernels, compilers, etc.? But what about\nwanting to read how the modern systems work? But if I want to know how\nLLVM or Linux works? Or how a modern compiler is created?\n\nPeople have discouraged me to read source codes, and software\narchitectures, saying it may not be worthwhile, even IF you could do\nit. So what could be done?\n\nMaybe, the right question isn't what to do, but why do I want to, so\nperhaps we can systematically deduce what to do about it. So why? I\nguess, if you see life as a playground, and I have come into this\nworld, I'd be an interesting task to learn how it all works. This may\nbe a bad idea, and I am open to others. Since nobody I have met, yet,\nhas expressed something like this, I don't know if I am living in a\nrock (probably I am anyway).\n\nBut learning how a computer (like your phone) works from scratch,\nisn't that interesting, and not knowing, down right frustrating to\nanyone reading this email? Or is it just me for some reason?\n\nAnd it goes both ways right? , even if I create a simple compiler,\nit'll still be a simple one. Won't it be more interesting to work on\nthings that I might use, and others might get value from too.\n\nSo this is the dilemma of an 18 year old, confused about what to do about it.\n\n(btw, If you reading this, are a hardware person, making chips or\nsomething, do you feel like a king/queen? since everyone builds on top\nof what you do)\n\nRegards,\nAman\n"},{"id":"475951","messageId":"CACMKQb34Mk_37KhVyaj4cb1JnrZPXXmcAhE_QeV=EcF7CRVKPA@mail.gmail.com","threadId":"59635","inReplyTo":"CACMKQb3XsPG=gnmoBdL7Eh6dV2h-LEbGHs+QpBr1g9yV+SSmRw@mail.gmail.com","subject":"Re: On understanding, exploring and abstractions.","fromName":"Aman","fromEmail":"amanmatreja@gmail.com","sentAt":"2023-04-24T17:28:23Z","receivedAt":"2023-04-24T17:28:55Z","isPatch":false,"sender":{"key":"amanmatreja@gmail.com","avatar":null},"body":"a follow up for everyone.\n\nOn Sat, Apr 22, 2023 at 9:24 PM Aman <amanmatreja@gmail.com> wrote:\n>\n> Hello everyone.\n>\n> This is Aman, I am a high school student. And,\n>\n> \"I DON'T know how computers (and modern software) works AT ALL\".\n>\n> I have no idea, except about the abstractions I play on. I understand\n> the case for abstractions, they are what, (arguably or not) run the\n> world forward.\n>\n> But it is really , And by really, I mean really frustrating. To the\n> point where I don't quite enjoy programming (despite the fact that I\n> have had exposure to \"programming\" for quite some time). I am\n> fascinated by these things around me, computers run the world, and I\n> REALLY want to understand them, just for the sake of it (I guess).\n>\n> I believe what made computers fun, in the old days, was the ability to\n> really talk to it. (even Linus tells this in the \"beauty of\n> Programming chapter\" in his book, which was written 20 years ago!)\n> Even C feels like an abstraction, hey the \"magic\" of compilers, and\n> libraries.\n>\n> Even people around me, and 99% of people I find on the internet, to\n> discuss issues like this, too, don't know how a computer, and modern\n> software (which runs the world) really works. And people seem to get\n> fine by it, which is not necessarily bad, but really frustrating to\n> me.\n>\n> And my question is, How do I do it? Should I try to build my own\n> computer? Create a CPU in Verilog on an FPGA. Write an assembler,\n> bootloaders, operating system kernels, compilers, etc.? But what about\n> wanting to read how the modern systems work? But if I want to know how\n> LLVM or Linux works? Or how a modern compiler is created?\n>\n> People have discouraged me to read source codes, and software\n> architectures, saying it may not be worthwhile, even IF you could do\n> it. So what could be done?\n>\n> Maybe, the right question isn't what to do, but why do I want to, so\n> perhaps we can systematically deduce what to do about it. So why? I\n> guess, if you see life as a playground, and I have come into this\n> world, I'd be an interesting task to learn how it all works. This may\n> be a bad idea, and I am open to others. Since nobody I have met, yet,\n> has expressed something like this, I don't know if I am living in a\n> rock (probably I am anyway).\n>\n> But learning how a computer (like your phone) works from scratch,\n> isn't that interesting, and not knowing, down right frustrating to\n> anyone reading this email? Or is it just me for some reason?\n>\n> And it goes both ways right? , even if I create a simple compiler,\n> it'll still be a simple one. Won't it be more interesting to work on\n> things that I might use, and others might get value from too.\n>\n> So this is the dilemma of an 18 year old, confused about what to do about it.\n>\n> (btw, If you reading this, are a hardware person, making chips or\n> something, do you feel like a king/queen? since everyone builds on top\n> of what you do)\n>\n> Regards,\n> Aman\n"}]}