Shocked about the headline? Iā€™m sure you are. But let me explain whyā€¦ In our industry (especially in software development) we forced to learn new technologies and paradigm all the time. This is true also for programming languages. And thatā€™s good, it gives us workā€¦ Maybe you followed the discussions when Swift came up (like C# many years ago) and people start to switch from Objective-C over to Swift. It ends almost in a very religious movementā€¦

C++

Iā€™ve also ā€œswitchedā€ in 98% of the projects to Swift. As a software engineer you follow the market, right? But itā€™s also a fact, that you can not be on the same expert level on all the different programming languages, frameworks, SDKā€™s and technologies. So you must decideā€¦

With the glory start of the iPhone in 2007, many start with Objective-C, previously coming from C#, Java, whatever. And it was a big step back in case of memory management, language constructs etc. I was in the lucky situation, that iā€™ve learned Objective-C almost 20 years before when i worked on NeXT Computer, but almost forgotā€¦

Learning is good but donā€™t lose existing skills is more essential!

The switch to iOS also meant; not use anymore for Java and C# in my business for almost 3 years. After Android became more popular in software projects the need for Java knowledge came back again. But in the meantime, i almost forgotā€¦ Also it was always a hassle to switch between the iOS and Android projects, even more bad, write all the code twice (if you want stay native), but it was the way to go, itā€™s the market ā€¦ For many years it was therefore solid to have good skills in Objective-C and Java to be a good mobile developer. Then came Swift and (mostly) all begins from scratch. Yes sure, there is also a smooth way to bring projects from Objective-C to Swift use bridging and we done a lot in all the existing legacy code. But in fact, it was and is not a replacement, just an additional language, not difficult to learn, so ok. It also opens new markets and work again, which is the nice side effect of suchā€¦

Since 1.5 years i was mostly involved in new projects now and that means Swift, so i almost forgot Objective-C ;) (Well not really but i see me many times typed wrong syntax in the Editor)

So far so good: With the knowledge of Swift, Java and Objective-C I can survive, ifā€¦ and thatā€™s a big if, i stay in the market Iā€™m currently in. There are always client projects must be done in mobile area, but the market itself getā€™s also saturated. Everyone has an App, everyone makes in any way some mobile things. And even there is to less experienced people in the market to fill all the positions, itā€™s much more difficult to make good money directly in the AppStore then it was in the begin.

So i started last year to look out for some new areas and startups which are still possible to be an ā€œearly adopterā€, but not too early, lol, there must be a market to work in. So i focused on Augmented Reality and Mixed Reality (I call this AR+). But i will write a separate article end of month about this. So letā€™s go back for now to the programming languagesā€¦

The ā€œhottestā€ device at the moment is the HoloLens (after Google stopped the Glass). But itā€™s a Microsoft device, so that means at first use C# again. Also with Unity, which is the base of most of the current projects, itā€™s C# (or JavaScript). But you got itā€¦ i almost forgot the language ;) Also I wanted to build something more portable, more flexible and also to build some skills up again which are not widespread. So I was soon on DirectX (yes also almost forgot it too) and even if there are bridging frameworks, the most best is to use C++ (but I also almost forgotā€¦). Sure the learning curve is not very big to come in again, but it also brings me to a cognition. When i look back, many many languages are coming and going in my life but every time i started in a new market i used the same language: C/C++. Which is normally, because those are the languages that are the most easy to port to a new device and are also used to create the first libraries, frameworks etc.

So my advice is: Learn C/C++! šŸ˜Ž

Or even more better learn one language you use in your daily work (might be Swift, C# or Java). I call this the ā€œMarket languageā€ and learn one language which is portable and widely used as a solid foundation. I call that this the ā€œLifetime languageā€ (as said: I recommend C/C++)

To underline this, i have take my different jobs and projects over time and have checked what programming language Iā€™ve used then. From first time coding on a ZX Spectrum until the HoloLens now. 3 points clearly come out of that chart:

  • Languages changes all the time
  • Most of them have a rise and fall
  • Just very few (in my case C/C++) remain in the long term

So why not start your next project with C/C++? šŸ˜€


<
Previous Post
šŸ§‘šŸ»ā€šŸ’» Remove your Apps from the Store!
>
Next Post
šŸ•¹ļø Nano - A RTS Shooter