From: Aman <amanmatreja@gmail.com>
To: Git List <git@vger.kernel.org>
Subject: On understanding, exploring and abstractions.
Date: Sat, 22 Apr 2023 21:24:21 +0530 [thread overview]
Message-ID: <CACMKQb3XsPG=gnmoBdL7Eh6dV2h-LEbGHs+QpBr1g9yV+SSmRw@mail.gmail.com> (raw)
Hello everyone.
This is Aman, I am a high school student. And,
"I DON'T know how computers (and modern software) works AT ALL".
I have no idea, except about the abstractions I play on. I understand
the case for abstractions, they are what, (arguably or not) run the
world forward.
But it is really , And by really, I mean really frustrating. To the
point where I don't quite enjoy programming (despite the fact that I
have had exposure to "programming" for quite some time). I am
fascinated by these things around me, computers run the world, and I
REALLY want to understand them, just for the sake of it (I guess).
I believe what made computers fun, in the old days, was the ability to
really talk to it. (even Linus tells this in the "beauty of
Programming chapter" in his book, which was written 20 years ago!)
Even C feels like an abstraction, hey the "magic" of compilers, and
libraries.
Even people around me, and 99% of people I find on the internet, to
discuss issues like this, too, don't know how a computer, and modern
software (which runs the world) really works. And people seem to get
fine by it, which is not necessarily bad, but really frustrating to
me.
And my question is, How do I do it? Should I try to build my own
computer? Create a CPU in Verilog on an FPGA. Write an assembler,
bootloaders, operating system kernels, compilers, etc.? But what about
wanting to read how the modern systems work? But if I want to know how
LLVM or Linux works? Or how a modern compiler is created?
People have discouraged me to read source codes, and software
architectures, saying it may not be worthwhile, even IF you could do
it. So what could be done?
Maybe, the right question isn't what to do, but why do I want to, so
perhaps we can systematically deduce what to do about it. So why? I
guess, if you see life as a playground, and I have come into this
world, I'd be an interesting task to learn how it all works. This may
be a bad idea, and I am open to others. Since nobody I have met, yet,
has expressed something like this, I don't know if I am living in a
rock (probably I am anyway).
But learning how a computer (like your phone) works from scratch,
isn't that interesting, and not knowing, down right frustrating to
anyone reading this email? Or is it just me for some reason?
And it goes both ways right? , even if I create a simple compiler,
it'll still be a simple one. Won't it be more interesting to work on
things that I might use, and others might get value from too.
So this is the dilemma of an 18 year old, confused about what to do about it.
(btw, If you reading this, are a hardware person, making chips or
something, do you feel like a king/queen? since everyone builds on top
of what you do)
Regards,
Aman
next reply other threads:[~2023-04-22 15:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-22 15:54 Aman [this message]
2023-04-24 17:28 ` On understanding, exploring and abstractions Aman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CACMKQb3XsPG=gnmoBdL7Eh6dV2h-LEbGHs+QpBr1g9yV+SSmRw@mail.gmail.com' \
--to=amanmatreja@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).