My Wild Ride Through the World of Programming Languages: From C# Heartbreak to Java Love Affair
Introduction
Ah, the world of programming languages—it’s like a dating pool, except instead of swiping left or right, you’re smashing your head against the keyboard until something finally works. Over the past 14 years, I’ve had my fair share of heartbreaks, love affairs, and one-night stands with various languages. From C# to Python, Java to TypeScript, and even a torrid fling with Markdown, my journey has been anything but dull.
But wait, there’s more! My adventure isn’t just about the languages; it’s also about the environments I’ve coded in. Yes, I’m talking about the great OS switch—from the clutches of Windows 7 to the liberating embrace of Arch Linux. Grab your favorite caffeinated beverage and let’s dive in!
C# and Windows 7: A Rocky Start
Let’s kick things off with C#, my first real coding crush. It was like that first high school relationship—full of promise, potential, and way too much drama. I was coding on Windows 7, thinking I had it all figured out. But soon, the cracks began to show.
Windows 7 was like that overprotective parent, always getting in the way, slowing things down, and deciding to update at the worst possible moments. And C#? Well, it started to feel like that relationship where you’re constantly asking, “Is it me, or is this just not working?”
After a few years of wrestling with Visual Studio and countless blue screens of death (thanks, Windows), I realized it was time for a change. Something had to give, and it wasn’t going to be my sanity.
Python and the VIM Experiment
Enter Python, my rebound language. It was everything C# wasn’t—light, flexible, and (dare I say it) fun. Plus, I was using VIM to code, which felt like joining some secret society of hardcore developers. Sure, it was a bit cryptic at first, but once you get the hang of VIM, you start to feel like a wizard casting spells with your keyboard.
Python was a breath of fresh air, and it made me see that coding could actually be enjoyable. But as much as I loved Python, I started to realize that the real problem wasn’t the language—it was the environment. Windows 7 was dragging me down, and my poor mini laptop was barely keeping up.
The OS Dilemma: From Windows 7 to Arch Linux
I knew it was time for a serious change. I flirted with Ubuntu for a bit, thinking it would be an easy transition into the world of Linux. But my mini laptop had other ideas—it was like trying to run a marathon with a ball and chain strapped to your leg. Ubuntu was just too heavy, and my little machine was struggling.
That’s when I discovered Arch Linux. Now, Arch Linux is like the “DIY” of operating systems. It’s not for the faint of heart, but if you’re willing to put in the effort, the rewards are incredible. It’s lightweight, fast, and customizable—perfect for squeezing every ounce of performance out of my mini laptop.
Switching from Windows 7 to Arch Linux was like breaking free from a bad relationship. No more random updates, no more sluggish performance—it was just me, my code, and a blazing-fast operating system. Sure, I had to learn a few new tricks (like how to install things without a GUI), but it was worth it. Plus, Arch Linux gave me street cred in the Linux community. Suddenly, I was that guy who used Arch, and yes, I did mention it every chance I got.
Java: The True Love
After all the ups and downs, I finally found my true love—Java. It’s robust, powerful, and (most importantly) reliable. Java and I have been going strong for four years now, and I’m still in love. Whether I’m building backend systems or diving into complex algorithms, Java is always up for the challenge.
I write my Java code in IntelliJ IDEA, but here’s the twist—I use the VIM plugin! Yes, even in the sleek, sophisticated world of IntelliJ, I couldn’t give up my VIM. It’s like having the best of both worlds: the power of Java with the speed and efficiency of VIM. Trust me, there’s nothing quite like navigating through code with a few keystrokes, all while IntelliJ handles the heavy lifting.
TypeScript and the Frontend Fling
Of course, no programming journey would be complete without a fling with frontend development. Enter TypeScript—Java’s playful cousin. TypeScript has all the structure and reliability of Java, but with the added flair of being used for frontend development. It’s like discovering that the nerdy kid you’ve known all your life is actually a rockstar.
I use Visual Studio Code for my TypeScript adventures, and yes, I’ve got the VIM plugin installed here too. It’s like the best of both worlds—VS Code’s versatility combined with VIM’s efficiency. Whether I’m debugging a complex frontend issue or just tweaking some CSS, VS Code with VIM has got my back.
Markdown, HTML, and CSS: The Side Hustles
And then there are the side hustles—Markdown, HTML, and CSS. These are the languages I dabble in when I need to write a blog post or style a webpage. They’re simple, straightforward, and get the job done without any fuss. Plus, writing in Markdown is like having a conversation with your computer—it’s just so easy.
The Bottom Line: My Love for Java and Arch Linux
After all these years, I’ve come to realize that coding is like a journey—you never really know where you’re going to end up. I started with C# and Windows 7, thinking I had it all figured out. But it took a few detours, a couple of heartbreaks, and a whole lot of experimentation to find my true love—Java and Arch Linux.
If you’re thinking about making the switch to Linux, I highly recommend checking out my guide to getting started with Arch Linux. Trust me, it’s worth the effort.
And if you’re still on the fence about which programming language to dive into, my advice is simple: try them all. You never know which one will steal your heart.
Happy coding!
See also
- Lesson 2 – Loops and Conditionals: Making Decisions and Repeating Yourself (Without Going Crazy)
- Lesson 2: Variables and Data Types – The Building Blocks of Your Java Adventure
- Lesson 1: Hello, Java! (And No, It’s Not Just Coffee)
- Ready to Master Java? (And No, We're Not Talking About Coffee Beans!)
- Tabs vs. Spaces: The Great Divide in Programming