Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 [2] 3
  ignore  |  Print  
  C++ standard library is really lacking - good or bad?  (Read 3302 times)
0 Members and 1 Guest are viewing this topic.
Offline Gibbo3771
« Reply #30 - Posted 2014-03-02 12:14:26 »

I would love to learn a low level language like C or C++ but I dunno, I feel as if I don't have it in me. With Java a lot of the work is done, being able to whack a quick prototype up in a day is a good feeling, I find it a bit tedious to sit and write an engine. I have tried to make a platformer engine but lacked the knowledge.

I would like to learn C# though but that is a lot higher level than C or C++ to my understanding, almost like Java with some key differences (memory management).

However for me this is the start of my new found love, Java is probably just first of many.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline opiop65

JGO Kernel


Medals: 153
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #31 - Posted 2014-03-02 12:53:28 »

Java is a great first language, but someday you'll have to learn to use more! I'm not saying you don't already know other languages (I have no idea if you do or not!) but limiting yourself to only one language when programming is not a good idea. Java can't be used for everything! Hilariously enough I might actually switch to C++ for game development after I write a small OpenGL utility library for it because it is just that much powerful. The only downside I've seen to game dev with C++ is that you have to do a lot of the low level stuff yourself (loading images and sounds etc...), but once you get past all of that, OpenGL is easier (in my opinion) to work with with C++.

I love Java because I develop my Android apps in it though! Wink And it really is nice to come back to a high level language after a long day of trudging through low level C!

Offline Roquen
« Reply #32 - Posted 2014-03-02 14:40:38 »

You don't really have to.  C/C++ has more libraries useful for games then you could ever review.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline opiop65

JGO Kernel


Medals: 153
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #33 - Posted 2014-03-02 18:05:15 »

Which is a good thing and a bad thing. Good because you have so much choice. Bad because many of the libraries come with cryptic documentation that is 10 years old and no longer relevant. I've found libraries that deal with Java specifically are far better documented, even though there are less for games.

Offline tom_mai78101
« Reply #34 - Posted 2014-03-02 18:14:12 »

I'm asking myself: Should I concentrate on writing OpenGL ES for Android using Java, or write OpenGL in Visual Studios?

Once you go high, you probably just stay high. Java's high-level abstraction is what puts me off on C++. Especially the GC part.
Offline opiop65

JGO Kernel


Medals: 153
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #35 - Posted 2014-03-02 21:20:57 »

I don't know why you think you can't do both? I love Java, but I also am starting to like C++. Limiting yourself to one type of language (high level for instance) is a very very bad idea, and definitely will not turn you into a good programmer. Different languages have different uses, Java is good for some stuff, C++ is good for other stuff. Never try to do everything with one language!

And no offense, but if you don't like C++ because its not high level then I don't think you'll have very many opportunities in the future in terms of programming... Many popular languages aren't high level like Java. I believe many companies still use old languages from before year 2000 because those are the old powerful reliable languages.

Offline The Lion King
« Reply #36 - Posted 2014-03-02 21:33:26 »

And no offense, but if you don't like C++ because its not high level then I don't think you'll have very many opportunities in the future in terms of programming... Many popular languages aren't high level like Java. I believe many companies still use old languages from before year 2000 because those are the old powerful reliable languages.

This is a very ignorant thing to say. First stop using the term no offense when you're gonna say something that is condescending and directed at someone else. Second



I don't see many low level languages on there, do you? Just because someone prefers a high level language doesn't mean that they wont get a job in CS or SE if that's what they want to do.

"You have to want it more than you want to breath, then you will be successful"
Offline 65K
« Reply #37 - Posted 2014-03-02 21:46:56 »

There is lot more to programming software development than knowing many programming languages. It is about algorithms, data structures, system and class design, performance, databases, testing, reliability, maintainable (!) software, taking objective decisions, team work, enduarance, etc. etc.
Those things are important for getting a job.
 
For the average business developer job you can easily get by without C++ or any low level language. Java, JavaScript, C#, SQL, PHP.

However, if you are masochistic enough and spent those long years that it takes to master C++, you surely have a valuable skill.

Offline pitbuller
« Reply #38 - Posted 2014-03-02 22:22:04 »

Not a single C job out there? I smell bit biased statistic.
Offline Danny02
« Reply #39 - Posted 2014-03-02 22:22:16 »

... a valuable skill.

Valuable, as in getting paid a lot of money to maintain some 20 year old rubbish code base. So if you are a masochist go for it.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Roquen
« Reply #40 - Posted 2014-03-02 22:33:41 »

Hold on kids.  Java isn't a very high level language.
Offline opiop65

JGO Kernel


Medals: 153
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #41 - Posted 2014-03-02 22:38:37 »

I have to disagree. Java is one of the highest level languages I've used so far. I'm of course not including languages such as VB because hah... yeah. Java is pretty damn high level.

Offline The Lion King
« Reply #42 - Posted 2014-03-02 22:57:00 »

Not a single C job out there? I smell bit biased statistic.

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).

"You have to want it more than you want to breath, then you will be successful"
Offline opiop65

JGO Kernel


Medals: 153
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #43 - Posted 2014-03-02 22:59:41 »

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.

Offline The Lion King
« Reply #44 - Posted 2014-03-02 23:04:12 »

Hold on kids.  Java isn't a very high level language.

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

"You have to want it more than you want to breath, then you will be successful"
Offline Drenius
« Reply #45 - Posted 2014-03-02 23:08:13 »

Quote
Btw, http://en.wikipedia.org/wiki/High-level_language lists Java as a high level language.
But keep in mind that theoretically everybody can write everything in there. Useless Statement, sorry.
Offline The Lion King
« Reply #46 - Posted 2014-03-02 23:11:31 »

Quote
Btw, http://en.wikipedia.org/wiki/High-level_language lists Java as a high level language.
But keep in mind that theoretically everybody can write everything in there. Useless Statement, sorry.

K, oracle does too: http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html . that useful enough for you?

"You have to want it more than you want to breath, then you will be successful"
Offline Drenius
« Reply #47 - Posted 2014-03-02 23:12:57 »

Yup.
Offline The Lion King
« Reply #48 - Posted 2014-03-02 23:13:40 »

Yup.

Smiley

"You have to want it more than you want to breath, then you will be successful"
Offline cylab

JGO Ninja


Medals: 38



« Reply #49 - Posted 2014-03-02 23:33:14 »

I imagine Java is used for much of the front end code in a company. C++ for the powerful back end.
Erm... no Smiley

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...

Mathias - I Know What [you] Did Last Summer!
Offline opiop65

JGO Kernel


Medals: 153
Projects: 7
Exp: 3 years


JumpButton Studios


« Reply #50 - Posted 2014-03-02 23:36:00 »

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.

Offline jonjava
« Reply #51 - Posted 2014-03-02 23:37:35 »

I imagine Java is used for much of the front end code in a company. C++ for the powerful back end.

Not at all.

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.

What an atrociously pointless discussion you are having in that case.

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. It is all relative, to each their own.

Btw, http://en.wikipedia.org/wiki/High-level_language lists Java as a high level language.

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.

Offline HeroesGraveDev

JGO Kernel


Medals: 239
Projects: 11
Exp: 2 years


┬─┬ノ(ಠ_ಠノ)(╯°□°)╯︵ ┻━┻


« Reply #52 - Posted 2014-03-03 05:12:59 »

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.

Offline Gibbo3771
« Reply #53 - Posted 2014-03-03 05:53:56 »

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

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.

"This code works flawlessly first time and exactly how I wanted it"
Said no programmer ever
Offline GoToLoop

Junior Member


Medals: 1
Exp: 1 year



« Reply #54 - Posted 2014-03-03 06:17:59 »

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!
Offline 65K
« Reply #55 - Posted 2014-03-03 07:34:58 »

I imagine Java is used for much of the front end code in a company. C++ for the powerful back end.
No. Banking, insurance, automotive, logistics, etc., rely on Java based backends.
Doing such projects with C++ would be an utter nightmare...

Offline Danny02
« Reply #56 - Posted 2014-03-03 08:51:52 »

A lot of C++ is used in places like the car industry where you want to programm robots or do complex offline physical simulations.
Offline Roquen
« Reply #57 - Posted 2014-03-03 09:52:02 »

Quote
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.
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.

Quote
Is it even used for games as much as people claim?
Yes it is.

Quote
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.
I'd love for that dream to be true, but it's just a dream.

Quote
Also keep in mind that C++ code might look correct,  compiles and even runs,  but could be still be very wrong...
Scratch the "C++" and replace it with any language you choose.

Quote
Quote
Hold on kids.  Java isn't a very high level language.
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.
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.

Quote
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.
Offline Grunnt

JGO Wizard


Medals: 66
Projects: 8
Exp: 5 years


Complex != complicated


« Reply #58 - Posted 2014-03-03 10:07:02 »

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 Wink

Offline princec

JGO Kernel


Medals: 343
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #59 - Posted 2014-03-03 10:46:42 »

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 Cheesy 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 Smiley

Pages: 1 [2] 3
  ignore  |  Print  
 
 

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

CogWheelz (13 views)
2014-07-30 21:08:39

Riven (21 views)
2014-07-29 18:09:19

Riven (14 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (32 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (42 views)
2014-07-23 21:16:32

Riven (29 views)
2014-07-23 21:07:15

Riven (30 views)
2014-07-23 20:56:16
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!