My friend said "Java is a girl's programming language and C++/C is for men" and I feel...

Quora Feeds

Active Member
Ron Tal

Your friend got it all wrong.

Java is not even for girls... it's for toddlers.

C++ is for teens at best.

A true MAN programs straight up in machine instruction sets (without the reference manual of course).

UPDATE: My answer, which I wrote quickly on my phone, received today a lot more attention than I expected.

I didn't consider this question as worthy of a serious consideration. Unfortunately it seems as though some readers took my answer somewhat seriously.

To the OP: Without wading into your friend's gender perception, I can say that although he may be an intelligent individual and an excellent coder, by letting his weird notions of masculinity cloud his judgment of software frameworks, is on course to be a lousy engineer.

You can view his statement as saying: "Buying a TV stand from Ikea is for little girls! a true MAN goes out to the forest, finds a suitable oak, knocks it down with his bare hands and carves it out with his teeth!"

Sounds ridiculous, right?

That's because it is.

Although I am not a big fan of Java syntax, it's undeniable that the JVM is an amazing piece of technology. The added abstractions and tools that makes Java "girly" in the eyes of your friend, actually makes Java a great choice for many platform independent, large scale applications for which opting to use C++ would make the engineers on the project a lot less productive.

Of course C++ gives you more access to the lower level, enabling you to fine tune performance. This is necessary in many cases. That's why C and C++ are important still. In game development, it's also often necessary to fine tune performance for a particular architecture by writing assembly.

So how to get over it? I doubt your friend is a very experienced engineer. You will find that most modern start ups and even established companies, especially ones that are geared towards the web, prefer using "girly" languages such as Java (and Scala, etc) and Python (I can list many more). Unless they are at a Google like scale, the added benefit of optimizing performance using C++ is not worth the added complexity and difficulty of maintenance. Even Google does it by enforcing strict coding styles on the use of C++. By it's nature, C++ is a language where two very experienced developers may write a solution to a problem that is completely disjoint from the other.

Remember that when using Java you are operating at a somewhat higher level of abstraction. You still need to be aware of what's happening below, but you don't need to worry about the implementation details. Chances are you will be more productive for your employer faster!

As for your friend? I hope he will develop a more objective understanding of the tools of the trade, for his sake, and healthier notion of masculinity, for the sake of your friendship.

See Questions On Quora

Continue reading...
 
Top