My first contact with computers was through my older cousin, Mauro. I remember watching him type DOS commands and play 5¼-inch floppy disk games on a 286, then 386, then 486 machines, year after year. I have to thank him for my involvement in computers.
When computers became less expensive, my parents bought me a PC. It was a Pentium 75Mhz with MS-DOS 6.22, Windows 3.1 and 800MB HD, a.k.a. Winchester (that’s how we called all hard-drives back in Brazil).
The choice of a Windows PC 💾
I would only ever see a Macintosh later in my life when I moved to Canada. Why? Apple computers were extremly expensive in Brazil back in those days. Plus, an IBM-compatible PC would provide you with more flexible ways to customize your computer.
I did however, play a lot with different flavours of Linux when I a kid: Debian, Slackware, Red Hat, Mandrake, Suse, Fedora, you name it. But I felt that Linux wasn’t very mature at the time, things would often break or not be compatible. As a normal user and a gamer, Microsoft PC was a clear winner.
I started playing around with Basic and Pascal, but ended-up developing my first application, a freeware game for Windows 95 (32-bit) with Visual Basic 6. You may read more about that in my About page.
The choice of C♯
Going forward a few years, now in my University lab, I was learning formal concepts of programming and OOP with languages like C and Java on Unix (Solaris) machines. At the same time, a new language from Microsoft was coming out of the oven with a shiny sound name, C#. Being a Windows developer since the times of Windows 95, I decided to take a look at it.
I was instantly in love with C#. It was more elegant, succinct and easier to read than Java and of course easier to work with than C++ and faster to get software released.
Although I had to learn other languages to graduate (such as C, Java, LISP, Lua, Assembly), I never really worked with those languages in a professional setting.
C sharp was where the future relies
The year of 2003 was when I started working with C# (.NET 1.1) on Windows desktop applications. After 5 years, I moved to Canada and transitioned to Web development.
C sharp is not the future
Apple launched the iPhone in Canada in 2008 and of course, I bought one.
But I wasn’t ready to transition to mobile development yet. I was in the process of becoming a Canadian permanent resident which meant that I had to stay on my current job on Windows and, like I said, I was happy where I was.
After a while however, that awful feeling software engineers feel when technologies are leaving us behind was gaining more and more space in me. So I decided to learn Objective-C and develop my first mobile app.
After my immigration process was done, I decided to invest more and more into mobile development. So I engaged in learning the iOS SDK and landed my first contract, Chartright, which was perfect for me because it was a small app to be released only for iOS and it was launched in 2013 in iOS 7 with an update for iOS 9.
Google could have used C# on Android instead of Java.
If Microsoft embraced two things since the very first release of .NET:
- Open source: They did, but 10 years later in 2014 😕
- Multi platform support: They did, but only in 2016 😩
I played with Mono back in the days, but C# was not open source and Linux was never really supported. Otherwise, maybe Google could have used C# on Android instead of Java.
What the future relies?
The future relies on dart? Read more in my next article.