I would assume C jobs are lumped into C++, that is a good observation though. But the idea remains. Many servers and smaller companies tend to use Java, because it tends to be cleaner and also gives you the ability to produce reliable code faster (which is the whole point of a higher level language).
I imagine Java is used for much of the front end code in a company. C++ for the powerful back end.
My point though wasn’t about the specifics of jobs. I was trying to point out that limiting yourself to one style of programming (Java) isn’t going to help you in the long run.
Hold on old man. Why even bother posting this. Java is higher level than C/C++ and that’s what we are discussing right now. Lots of old school hackers i talk to consider C++ a high level language and they have a point. At the same time there are many other people who consider Java a low level language and they also have a point. It is all relative, to each their own, but in the context of this discussion Java is considered high level and C/C++ low level, so lets keep it like so.
Btw, http://en.wikipedia.org/wiki/High-level_language lists Java as a high level language.
and so does oracle http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html
[quote]Btw, http://en.wikipedia.org/wiki/High-level_language lists Java as a high level language.
[/quote]
But keep in mind that theoretically everybody can write everything in there. Useless Statement, sorry.
But keep in mind that theoretically everybody can write everything in there. Useless Statement, sorry.
[/quote]
K, oracle does too: http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html . that useful enough for you?
Yup.
Erm… no
If you really want to go the C++ route, make sure you fully understand and see the implications of its object model. Especially regarding virtual functions, virtual destructors, when and why you need them and how pass by value works for objects.
Also keep in mind that C++ code might look correct, compiles and even runs, but could be still be very wrong…
Can you please explain why you said no then? I didn’t mean every company uses those specific languages, I was trying to get a point across that Java is high level and isn’t (from what I understand) used for the heavy liftinf because that’s not what its best at.
Not at all.
What an atrociously pointless discussion you are having in that case.
It’s not all relative, not in this case. A high level languages basically only means you don’t have to write assembly code.
The question of “mastering” C or C++ is hilarious. Knowing how a language is designed and learning its syntax isn’t difficult at all. What you seem to be bickering about is how well one knows the standard libraries that come with the languages - complete and utter nonsense. You use the tools and libraries you need to get the job done regardless if they’re “standard” or not. The same goes with Java or any language.
Considering todays abundance of smaller languages and the way you seem to be comparing Java to C++, Roquen is absolutely right.
And the statement that C/C++ is inherently just faster than Java is also false and completely meaningless without of context.
I’m going to pick a strange argument and say that C++ is on it’s way out and the only people who still use it are those maintaining legacy code and those too ignorant to go and learn something else.
The more I think about it, the more it makes sense.
Also, The Programming Steamroller
Edit: Not to say that Java is a valid replacement. In many cases, it is not.
So what is c++ actually used for? Is it even used for games as much as people claim?
It seems it’s either c# or Java from everywhere I read, besides AAA game companies that are using 5-10 year OKs game engines like source.
If some1 wanna stay in the middle of both C++ & Java, D language mixes up both styles: http://dlang.org
Like C++, it provides pointers & machine code compiling. Like Java, it offers GC, similar class definitions and transparent object variables!
No. Banking, insurance, automotive, logistics, etc., rely on Java based backends.
Doing such projects with C++ would be an utter nightmare…
A lot of C++ is used in places like the car industry where you want to programm robots or do complex offline physical simulations.
Which brings us back to the point of my initial post. If you already know a single dispatch static container language you’ll get more mileage (WRT how you think about programming) out of learning something very different. And if you learn a few and you’ll be able to grok the basics of pretty much any language by skimming the specification.
Yes it is.
I’d love for that dream to be true, but it’s just a dream.
Scratch the “C++” and replace it with any language you choose.
I was discussing languages in general. C is a low level language. I think most people would agree with that. Languages like Java and C++ are one step up from C. They basically (from a logical standpoint) automatically manage concatenation of a pair of structures for you and toss is a few extra bells-and-whistles. They certainly qualify as high level languages, but they are not very far into the high level realm…and thus the “very” part of my comment.
It is all relative, to each their own, but in the context of this discussion Java is considered high level and C/C++ low level, so lets keep it like so.
Of course it’s relative, but it would be easy to argue that C++ is a higher level language than Java and that people are just tricked by the fact that C++ allow lower-level functionality as well. Compare the current versions (C++11 vs. Java 7) and list high level features and you’ll see. For me high level implies higher level reasoning and the ability to form understandable code with less work.
C++ is still used quite a lot for applications or parts of applications that need to be carefully tuned or have specific requirements on interfacing with hardware. Typical examples are embedded software, specific performance-sensitive components or components that interface to some hardware parts. Java and C++ work reasonably well together using the Java Native Interface (JNI).
Choosing one or the other (or any other language) is not neccessary: you can use both together
I use Java because it’s easy and I’m not particularly clever or prone to bothering to learn new things. I learned lots of things, a long time ago, from Prolog and Pop/11 and various LISP derivatives through SQL and various 4GLs like Powerbuilder and Visual Basic and of course C and C++. It turns out Java, for most things, most of the time, is what gets the job done quicker and easier.
I just wish it had structs God, my life would be so much easier with structs. I mean, like you wouldn’t believe. I spend nearly 50% of my programming time now working around the problem of not having structs. I couldn’t care less about lambda right now. I barely use most of the Java class libraries even (though the bits I do use, I use a lot).
Cas
… like you wouldn’t believe. I spend nearly 50% of my programming time now working around the problem of not having structs.
I believe! I believe!
I’m in the same boat for the class libraries. And I don’t care too much about lambda’s for myself, but gosh it’s about time already…it was getting embarrassing.