Advertisement

Java or C++ first?

Started by November 03, 2001 07:08 PM
41 comments, last by Maiku 22 years, 10 months ago
quote: Original post by Viscous-Flow

Generally, all(Italics added) those are your own personal thoughts, which I do respect and agree with in part, but I have my own way of writing syntax as do you.

Hmm...is garbage collection my own personal thought? Is built in threading my own personal thought? Is the fact that the standard libraries have GUI support a personal opinion of mine? No, all these are pretty indisputable facts.
As to the simpler syntax issue: Most C++ books use the entire book to cover all the syntactical issues, then if you''re lucky they throw in a few bits about iostreams and STL. Books on Java however, usually gets this bit done in half the book or even less, then use the rest to cover _interesting_ stuff, like GUI''s/graphics, datastructures/algorithms and OO. So, while it may be my ''own personal opinion'', it certainly is a common one, and a well supported one.

quote:
It is up to the programmer to decide which syntax they think is more simpler, cleaner, and efficient.

Ever looked at STL code? No sane person would ever claim that is simple and clean. Then go look at source for the Java collections and compare.

quote:
Personally, I think that all programmers (not necessarily an absolute beginner) should learn some sort low-level language such as assembly (it''s probably not necessary to learn machine code; does anyone code at that low of a level nowadays?) It is useful since they will understand what is going on behind the scenes (i.e. registers, stacks, bits) and have a more thorough understanding of code, and realize how some more advanced techniques work.

AFAIK, noone has programmed in machine code since the 50''s. This is a common discussion, however - lowlevel or highlevel first? The problem is that most of the lowlevel concepts dont map cleanly to a higher level paradigm. Lowlevel bittwiddling also feels very abstract, and is considerably less satisfactory compared to a language where you can actually make something useful. Low-level languages also promote a style of coding that is hackish at best, and downright terrible at worst.

quote:
You are right that people don''t have to be taught procedural programming before going into the OOP paradigm. It''s just a matter of preference and the person''s aptitude.

Actually I think they shouldn''t be taught procedural concepts first. A lot of the people coming from a procedural background over to OO never get it at all.

(Hmm...is Ghostface finding his quotes the same place I do?)


"I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." - - Stephen Roberts
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
People who have learned C++, and are stuck in the procedural mindset are just bad programmers.

Yes, the (MS) STL code is pretty disgusting, but that was Microsoft''s descision. It was supposed to be fast, and fast code usually doesnt look very nice =).

I really dont care what language someone starts with, but if they dont know whats going on on the inside, something is wrong. Assembly (at least a basic understanding of it), is most definately recommended, either before or after another language.

This is turning into a religious war =).

Z.
______________"Evil is Loud"
Advertisement
Boy I just love these threads!

Where else can you get entertainment like this. It''s almost as good as boxing.

Java vs. C++
Tonight at 9:00 PM
Pay Per View - Only $29.95
Call your cable company for details

Come on guys, both Java and C++ are great languages. And what makes them great, it''s the simple fact that they both give you the ability and the choice to write code the way you feel most comfortable. By this I mean, If you like Java - use it! If you like C++ - use it!, but stop the pissing contests!

I really think that the original poster had a real question relating to what they should learn. With the exception of a few bit''s of valid information, this thread has been language bashing like mad.

I''ve used both C++ and Java. Personally, I prefer Java. Why? Because that''s what I use at work and by using it for game development I have an advantage of building on stuff I already know. Would I say it''s better than C++? For me yes because I personally can do much more with Java than C++.

My advice to anyone trying to decide on a first language is to not decide flat out. Experiment with a few see what fits. In the real world you will find that you need a broad knowledge of many tools. In my current job I use Java, Perl, Visual Basic, SQL and a few others.

Don''t let anyone tell you which language is best. The only best is the language that best suits the task at hand. Figure out what you need to do and what your key requirements are. From that figure out what the best language is. Some of your requirements may be performance, ease and speed of development, platform independence, whatever. Once you see what is most important it''s pretty easy to see what language to use.

borngamer
quote: Original post by Anonymous Poster
Boy I just love these threads!

Where else can you get entertainment like this. It''s almost as good as boxing.

Java vs. C++
Tonight at 9:00 PM
Pay Per View - Only $29.95
Call your cable company for details


Indeed. I agree with you there, nothing more entertaining that these threads...

If at first you don't succeed, redefine success.
Except for my Dijkstra quote, I feel I have been addressing the original issue here. And I''m not a C++ hating Java fanatic either, if anyone has gotten that impression. I do a lot of C++, hell, I like C++. I try to be as agnostic about programming languages as I am about certain other things(although I feel little love towards the BASIC derivatives), but I feel that Java is a better language for beginners than the legacy ridden tangle that is C++.

"I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." - - Stephen Roberts
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
Check out my website. Sometime this week I should have a PowerPoint Presentation especially made for people new to programming.

Newbie to game programming?
visit

KaBooMgames
Great for Newbs, Masters welcome as well
Advertisement
Check out my website. Sometime this week I should have a PowerPoint Presentation especially made for people new to programming.

Newbie to game programming?
visit

KaBooMgames
Great for Newbs, Masters welcome as well
quote: Original post by Zaei
People who have learned C++, and are stuck in the procedural mindset are just bad programmers.

While I agree that someone who is stuck in a mindset is bad, don''t get the impression that procedural design is a bad design model (it is pretty nice when done properly, few people do procedural properly). I do object oriented code in C++fairly often, by learning C first I wasn''t scarred or anything. I also enjoy writing modular code in C. I don''t think I''m good enough at writing procedural code the way it was meant to be, so I rarely do.

[Resist Windows XP''s Invasive Production Activation Technology!]
Well, that was the point of my post. You shouldnt be using C++ to write procedural programs, unless you arent at the point yet (ie, you dont know what classes are...). For me, personally, trying to write just about anything really complicated with pure procedural code would be a tangled nightmare =).

Z.
______________"Evil is Loud"
quote: Original post by Zaei
Yes, the (MS) STL code is pretty disgusting, but that was Microsoft''s descision. It was supposed to be fast, and fast code usually doesnt look very nice =).

Nope, it wasnt Microsofts decision. They didnt write the STL that ships with VC++. It was licensed from a company called Dinkumware. And FYI: All the method names/variable names in lowercase in the STL are actually dictated by the standard. So if you want to blame someone for the gptr() sptr() sbmp() and what have you, its the C++ standards committee.
And if you cannot write fast code without it looking like someone threw up on the screen, well: Shame on you.



"I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." - - Stephen Roberts
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]

This topic is closed to new replies.

Advertisement