I have a big interest in Theoretical Computer Science. Despite that, I’m majoring in a different field (which, I’m sure, has 0 intersection with it if we ignore the main mathematics topics for every STEM field) with one of the reasons being that it pays more (I’m only human, after all). Another reason is related to how Computer Science is taught in my country, more so in the university I’m studying. It should be called Applied Computer Science (or just “Some stuff you may use as a programmer when you are working in a company” + “a little bit of Theoretical CS”). Some people call that “Software Engineering”, but that is an stupid term since it has nothing to do with Engineering, the people that end up working as a “software engineer” do not work under the same pressure as an engineer (what was the last time you heard a programmer lost his license because his software killed someone?) and one shouldn’t take seriously a field that decides to call an error in their software a “bug” since that takes the blame away from the programmer. Yes, it’s obvious that I dislike that kind of Computer Science.

I know that there are some countries where they teach Computer Science as a real Science, not a place to help you get employed in a company (only teaching the most used frameworks of the current year) but that is not the case in my country. Maybe things are different at the Masters or Ph.D. level but I have 0 interest in being an academic, and not everyone can just jump straight to those levels, not everyone is Barry Mazur, after all.

So back to my interest in TCS. There is a problem: I don’t like Programming Language Theory that much. Why is that a problem? Because, sadly, it seems that a LOT of people into TCS, including academic people, really loves it and that makes it extremely hard to find academics that are doing research in the other branches. One could argue that PLT is for TCS what Algebraic Geometry is for Mathematics. The only difference is that the latter is really fucking harder, but thankfully we have people making it easier for others to learn it. Sadly, we don’t have people making it easier for people to find interest in other branches of TCS instead of PLT.

When I created this blog, it was to document my starting into the field. I find {Automata, Computability, Computational Complexity} Theory amazing, though I have only read one or two books for those topics many years ago, back when I was deciding what field should I major (Mathematics was the winner, but it couldn’t pay well enough for me to live well and so I had to give up on it too, sadly). Up to this point, sadly, many things happened in my life, and in the world, which made me not start reading any book on this field. But now I’m finally starting with some old books but what can I do? I find old books more interesting.

So, this post is both a reminder for myself that I should not stop anymore and also a starting point. A date to record when I decide to study more TCS. I shall make more posts on what I learned/am learning instead of doing a review of books. The latter is not bad, but the first is more interesting since it works as a check for making sure I’m learning things.