Originally posted by: jliechty
Originally posted by: lordex
When I was writing down "some language that enforces more displines", I did have exactly Java in my mind.

Here again is the issue that the best language to start learning programming isn't necessarily the best one in reality, but such one does do a better jon in helping a beginner gain the necessary concepts, displines, and patterns.
I could see that... Perhaps I shall try Java after I finish learning C++.
BTW, I picked up "Core JAVA 1.1" (Volumes I and II) for US$0.50 at a used book sale at a local library. I'm sure the volumes are slightly dated, but I'd like to know if I could learn anything (even just the basics) with them. Or, will I need to spend more $$$ on a new, up-to-date book when I'm ready to begin that project?
C isn't a good start point, because it's got a lot of pitfalls for beginners - one well-known example, can you quickly tell me what "i=1,(++i)+(i++)" evaluates to? Visual Basic isn't, either, because you don't see the "whole thing".
I'm learning C++ - not C - but I'm not sure if that makes much difference in relation to what you are saying here.
Oh, and I'm still a n00b to C++, so I haven't studied the
, yet, but wouldn't "(++i)+(i++)", given i = 1, produce 4, with i being 3 after the expression evaluates? How the comma relates to that, and what i finally ends up being, I'm not sure. Heck, I'm not even sure of what I just said.
On a side note, Java *is* "a language that is used in the real world to solve real world problems that might face the 'average person'". As you have realized, it's being widely used on the server side, and on desktop it's also starting to gain popularity because of its portability and much more improved performance.
I still wouldn't write the next open-source Photoshop killer in it, but I guess it would be fine for less demanding situations. In my experience, application startup time still seems to be a very big issue, but I suppose if I was just wanting to write a small to medium sized application that needed to be very cross-platform compatible and didn't need any low-level access to anything, Java would be fine. Hey, I guess you've got me convinced. I'm still going to finish what I've started, but barring an unforseen change of plans, Java shall come next after C++.