Software Development languages in SA, now and the future.

Arty & Cguy, I see both your arguments as valid, unless you work in the same office, you have faced vastly different challenges to get where you are today. Crap code, good code and whiskey code, you've seen it all, no doubt.

Arty, I completely agree, time matters, and fussing over which dev has held Yodas' di_k longer is not going to get anyone to a finished mvp. But what we do is no simple task, it requires years of practice (as you no doubt know) and there is a certain poetry to good code, a logic ebb and flow that feels right, looks right and "just works". That part of the craft is art, business logic by design, and that, I appreciate.

@cguy You speak like someone who has had to lead, a person who feels responsible not only for your own code, but the desire to course correct others, possibly where you might have failed previously. Please remember that not everyone learns or reasons the same way, and sometimes people have to taste vinegar to enjoy the nuanced sweetness of honey. You clearly have a darling language, and it has served you well. But for some, they are not there yet, and some might never get there. And that's okay.

If I had any such sway, and the opportunity presented itself, the two of you could move a mountain, working together. That would be amazing.

Gentlemen, (or ladies) enjoy your weekend, and know that while your family might not know what you do exactly, there are individuals that do, and the software you write, might inspire them.

Time for a drink :)
 
My 10 cents.
To imply that it's possible to throw all development challenges into a single bucket is disingenuous, and what some may deem to be "fancy tricks" or paradigm fanaticism, others would simply classify as the appropriate application of acquired knowledge and some deductive reasoning.

Just like everyone can't excel with mathematics, so too all programmers won't be suitable for every programming challenge; the fact that the industry can support a wide variety of proficiencies is something to celebrate, and not criticise.

and they a year later they hire someone who cannot figure out what BS they put in the code / they themselves forgot about it
Ps. If this was in reference to exploitation of abstractions and/or the mathematical complexity of a codebase, then this is a problem with the recruitment process, and not the code.
 
To the OP.
Indexes like TIOBE, and others are generally a good reflection of what the market requires by volume.
 
It seems that to some people (a few on this forum) that being so extremely fanatical about a certain paradigm is very important, even to the extent where it determines success regarding hiring. Somehow we have this whole spiel about having to do funky tricks with languages (and they a year later they hire someone who cannot figure out what BS they put in the code / they themselves forgot about it). Software development prowess, seems to be a lot like sexual prowess in South Africa... if you can whip that language into submission it seems you're just like Paul Mein man or like Vernon Koekemoer.

Here's the catch though. I don't got no time to fukk around with crap like trying to write random data into a pointer (for what purpose only fukkkk knows), I have a job to do, deadlines to meet, and if it works it works.

The fact that you don’t understand the motivation for the above isn’t a reason to bash it. I politely explained the reason for the random pointer question to you in the other thread - if you choose to ignore it, that’s on you.
 
The fact that you don’t understand the motivation for the above isn’t a reason to bash it. I politely explained the reason for the random pointer question to you in the other thread - if you choose to ignore it, that’s on you.

He turned down Amazon remember. :laugh:
 

I’d say this and c++ and one of java/c# (both puts you in a special demand).

C (device & integration.. gives experience with lower lvl stuff)
C++ OOP with above.. these two cover device dev tho that changing
Java and erlang/scale gives you oop with nicer(arguably frameworks from spring etc) and then functional programming.

C# Microsoft gateway drug.

Basically I find that people who start on Java don’t understand lower level stuff and don’t fully understand how things work for a compiler and system + memory management Pov. I suspect this is because java has a lazier way of doing it from the get go unlike c/c++ where u need to everything as default when learning the language.

Other languages u pick up on the fly.. tho I hate c# and opt for MFC & C than using cs
 
Basically I find that people who start on Java don’t understand lower level stuff and don’t fully understand how things work for a compiler and system + memory management Pov. I suspect this is because java has a lazier way of doing it from the get go unlike c/c++ where u need to everything as default when learning the language.

Your assumption is totally incorrect, java and C# are garbage collected languages, they are designed to be self-reliant when it comes to memory management. It has nothing to do with laziness, even GoLang has a GC. Java and the likes were not designed to be hardware/system level languages.

I'm curious why do you hate C#? Just because its mainstream? Just because it not as cool as C? If you hate the syntax then I'll call you out on your bullshit because C# is syntactically designed as a by product of C/C++ (Obviously not to the T). Like all languages C# fulls a gap in the market similar to Java. The fact you'd rather opt to use MFC is laughable at best. Why don't you got ATL while you're at it.
 
A bad C++ / C programmer is certainly not going to be any better equipped than a bad Java / C# programmer and the inverse IMO still applies. As for meddling with memory management; newer system level languages like Rust and Swift both are proof that for a similar scope; programmers don't always need to be encumbered by tasks which the compiler can either automate and/or proactively code assist.

As for Functional; Erlang and Scala certainly meet the typical classification of what constitutes a functional language, whereas Java like C# generally offer a far more restricted set of functional features by defauilt, for example:
  • with C# it's primarily Linq
  • with Java it's Streams.
Arguably to truly be regarded as a functional language requires types to be construct in a functional sense using parametric polymorphism (generics) and higher-kinded types (generics of a higher kind); but not many languages support this because it could typically be seen as the alternative approach to class based polymorphism and it's considered fairly complicated to get a compiler to support both, here's a few popular ones that support HKTs:
  • Haskell (no class polymorphism support; provides parametric polymorphism together with HKTs
  • PureScript (typically aligns with Haskell)
  • Scala (support for both class base polymorphism and parametric polymorphism with HKTs)
 
Last edited:
Your assumption is totally incorrect, java and C# are garbage collected languages, they are designed to be self-reliant when it comes to memory management. It has nothing to do with laziness, even GoLang has a GC. Java and the likes were not designed to be hardware/system level languages.

I'm curious why do you hate C#? Just because its mainstream? Just because it not as cool as C? If you hate the syntax then I'll call you out on your bullshit because C# is syntactically designed as a by product of C/C++ (Obviously not to the T). Like all languages C# fulls a gap in the market similar to Java. The fact you'd rather opt to use MFC is laughable at best. Why don't you got ATL while you're at it.

Isnt the point of MFC to hide the "lower level stuff" of much of C/C++ :)

And as soon as they use non-core library or third party they are avoiding "lower level stuff" and "reusing", instead of reinventing everytime. A bit of a wierd position to take, especially if want to compete and deliver on time in a very competitive industry.
 
I’d say this and c++ and one of java/c# (both puts you in a special demand).

C (device & integration.. gives experience with lower lvl stuff)
C++ OOP with above.. these two cover device dev tho that changing
Java and erlang/scale gives you oop with nicer(arguably frameworks from spring etc) and then functional programming.

C# Microsoft gateway drug.

Basically I find that people who start on Java don’t understand lower level stuff and don’t fully understand how things work for a compiler and system + memory management Pov. I suspect this is because java has a lazier way of doing it from the get go unlike c/c++ where u need to everything as default when learning the language.

Other languages u pick up on the fly.. tho I hate c# and opt for MFC & C than using cs

You say you don't have to do memory management like it is a bad thing. OOP is the future
 
You say you don't have to do memory management like it is a bad thing. OOP is the future

If performance and memory footprint don’t have to be optimized, C/C++ can be a headache (although even then in C++ you have pointer wrappers that can cleanup), otherwise it’s pretty important to have manual control.

I don’t think anything was said about OOP being bad.
 
Whatever puts food on the table. That's the language to learn.
 
I don't get why people get all hot n bothered about specific languages and frameworks. Yeah it's the latest sexy this year, and next year it's something else.

Im so glad somebody said it. I think we have more language growth and options than we have ever had in regards to programming. Sure i know Pythons been around but now its trending.... I love how nobody talks php in this thread. The future of the majority of the web will belong to wordpress and unless they change the way they do things php ( the low lever language ) is going to be sticking around too.

If you ask me we have too many languages popping up. Everybody is forgetting the stuff that got us here. JavaScript, C, PHP and forth those guys will stay put it in a new framework call it what you want but for certian tasks they are first in line.

This industry is growing way too fast and is getting volatile because of it.
 
If you know these you're pretty set for the next decade:

Python
JavaScript
Java
 
If you know these you're pretty set for the next decade:

Python
JavaScript
Java

Those were the top languages of the last decade, not so sure about the coming decade.

JavaScript: Currently there is a massive pool of JavaScript developers and the pay is quite poor. Added to this Web 4.0 based on WebAssembly is looking to reduce the need for JavaScript in web applications.

Java: There has been a cloud hanging over Java since Oracle took over. Lately, there are more indications that they are trying to monetise Java and look at squeezing their customers over license breaches. With .NET Core going cross-platform, I am seeing a number of software vendors making the shift from Java to C#.
 
Those were the top languages of the last decade, not so sure about the coming decade.

JavaScript: Currently there is a massive pool of JavaScript developers and the pay is quite poor. Added to this Web 4.0 based on WebAssembly is looking to reduce the need for JavaScript in web applications.

Java: There has been a cloud hanging over Java since Oracle took over. Lately, there are more indications that they are trying to monetise Java and look at squeezing their customers over license breaches. With .NET Core going cross-platform, I am seeing a number of software vendors making the shift from Java to C#.

Java will (in a sense already is) lose its shine, but it is everywhere and you won't get rid of it soon. So unless you are going greenfields only, you are not getting away from it.

Same for JavaScript. Even if WebAssembly becomes a mainstream thing tomorrow it will take years for you to replace it. All the NodeJS systems, cross platform mobile apps, Electron apps etc. will need to be replaced.

I reckon you are good for a decade.
 
Last edited:
I currently code in C# mostly plus some C/C++ still.

From what I've seen in the South African market you can't go wrong with Java, C#, C/C++ and definitely javascript.
 
Top
Sign up to the MyBroadband newsletter
X