Back to C++
Recently I’m just starting to relearning c++ so I can do dig in some legacy code at the company I work for. And for that I decided to start with the basics step by step and take on some notes about all the process of relearning it.
I’m a native C++ programmer. What that means is that C++ is my first programming language that I learned for good, and was by coding c++ that I’ve learned to love to programing and is the thing that I do everyday, doesn’t matter if it is for my day job work, I’m always writing some piece of code for whatever reasons. Unfortunately, C++ was not so good to supply my old necessities anymore like it used to. I wanted to get the job done fast and to complete my goals as fast as I can with an elegant code. That was when I learned Java, a.k.a The biggest mistake of my life. Java has a error proof way that is nice for some people that are already into C++, but it was not I was really looking for. It seems that It took a lot of the verbose of C++, simplified a little with not a worth gain. It was when I met ruby, javascript, node, python and programming friendly languages like that.
Those kind of scripting languages were a game changer for me. I could do what I wanted as fast as I could and with such expressiveness that I could not find either in C++ or in Java. So I left C++ behind for sometimes. I really wish I could left Java behind too, but I always had to code something or another in Java because the IT world, specially in Brazil, basically breaths Java.
During the time I was looking for expressiveness and fast development, I ended up going away from some system development and away from some root concepts that I was missing somehow. So In the last years I ended up reading some articles about programming in C++ again and I was looking for what was new in other languages, like Scala, Go, Rust. I had to say. I really liked what Rust and Go are promising. But I just can’t introduce any of those languages to the table of the companies that are not wiling to try new things just yet. So I have to dig in deeper on what they are using and propose some changes based on what they are actually doing. So I’m relearning to fly on C++ code.
I bet that the hardest thing is going to be how to make a 100% portable code. I never was a biggest windows fan. All my development stack are based on *nix systems. But one thing that I learned is that C++ is widely used on Windows development. Here where I live mostly of the people that are programming on C++ are using Windows for development. That scares me a little, but that’s just how it is. I did not decided yet how I’m going to do that. But I’m starting by reading some basic C++ concepts and hopeful I’m gonna keep updating my status on that.
And of course I’m planning on write some more on c++ development.