This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I started off with C and found it quite easy to grasp the fundamentals.
But whatever language you choose, do yourself a favor and do not go for the drag and drop style IDEs, or IDEs which auto generate code for you. Thats a big no no at the beginner stage. A simple text editor/compiler combination helps best.
I think everyone is different... with the right mindset, any language can be a good first language.
My first language was BASIC (on the Commodore PET). I quite enjoyed it. It was a very easy language to learn. I got bored of it after a few months though.
My second language was 6502 assembly language. Those were the days.... ... one 8 bit register (for math), two 8 bit index registers. Only memory based operations were load and store (no in-memory math).
just about any language will have some overhead you need to slog through. the trick is to figure out what you can safely ignore for now, and what the lesson is really trying to teach. For example, don't worry about why you need
and what all the little pieces mean at first. Just know that you need it for now. then, as you learn more and more, you might start seeing the word 'void' used with other methods. Then come back and see why it makes sense here. Same for the other parts.
an early example might talk about if/else if/ else statements. focus on that part and get good understanding of that syntax, what it can (and can't) do, etc. The rest will come with time.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
in my experience - as a beginner of C++ and Java - I find Java easier, once I got over the "public static void main(String args)" anyway.. There is the Java API which you can lean on, also you don't have to bother with pointers various other things the creators of Java didn't find neccessary to bring to the language.
I don't think either are easy to learn however.. Or very fast to learn (I wish). In fact I find it hard to motivate myself in learning Java until I took a course recently, I have applied to another one, and it is a real motivation boost, having a clear goal ;) I personally haven't bothered with any other languages because I keep hearing about limitations when languages such as Visual Basic, etc etc are brought up
I think now you are in dilemma .
All the Ranchers' suggestions are worthful.
In my opinion, you can start learning programming with any language. (Myself started with Pascal, and then COBOL, FORTRAN, C, C++, Java, etc.,).
If you want to learn Java from a training center, tell the trainer as you don't know any other Programming language, because,
What I have observed is most of the Java Teachers are teaching Java to the students by assuming the students already know some non-OOP language (for e.g. C-language).
All the best!
Joined: Oct 13, 2005
I previously wrote:There probably isn't a "best" first language.
A lot of people I respect say that Python is a great choice. I'd say Java is a pretty good choice, but when you learn Java, try to find instruction that really focuses on the object oriented perspective.
Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
Joined: Oct 13, 2005
Good point, Bert. You can find some books, eg Head First, Barnes and Kölling, Deitel "early objects edition" which introduce object-orientation (OO) early in the process. There are others, eg Barry Burd, SAMS "Teach Yourself" where it is intoduced later and much of the code is written in a procedural style. Agree with Bert that learning OO is a large part of the process.