Forums

Forums (http://www.abandonia.com/vbullet/index.php)
-   Programming (http://www.abandonia.com/vbullet/forumdisplay.php?f=25)
-   -   Darth wants to learn coding! (http://www.abandonia.com/vbullet/showthread.php?t=28558)

yoni0505 10-04-2012 08:16 PM

I don't see the reason of learning C before C++.
C++ got everything C got, and can run C code.
Just learn the basics and later proceed to object oriented programming.

A good site to start learning C++ is www.cplusplus.com, this is where I started.
Later on when you will start having problems I would recommend getting help from Stack Overflow or DaniWeb forums. They both have great community of experienced programmers that can solve just about any problem.

I personally use Visual C++ Express as my IDE. It's free and provides all you need.

jonh_sabugs 10-04-2012 11:15 PM

I disagree. What you call basics are algorithms and computer mechanics. I remember teaching someone Java once, only to realize how much stress I was giving her by making she understand both algorithm and object-orientation at the same time. In essence, both concepts are very different, and were creating a huge confusion. It worked much smoother when I separated the lessons, having her learn C first.

Saying that C++ "runs everything C runs" is like saying a computer runs all the languages, so learn computers. I really think one should start in pure C (which is structurally reasonably different from "typical" C++ code). The translation of C code into machine language is quite intuitive, specially in PC-like architectures. This particular feature turns C learning into a good lesson about memory structuration and processor mechanics. It helps you understand how things are organized. Object orienting is much farther from the machine, and much closer to the real world, making it a completly different way of thinking.

peedee 11-04-2012 08:44 PM

Long time lurker, first time poster :hello:

MIT make videos of loads of their undergraduate lectures available online! :3: There plenty for the first semester of Computer Science. Check these out:

http://ocw.mit.edu/courses/electrica...ideo-lectures/

Your can learn all about data types / variables / selection / iteration / OOP. All the basic building blocks that computer programmes are written on.

Hope that helps and good luck! :idea:

Japo 11-04-2012 09:00 PM

One of the most discussed questions about programming is which language is best to start, and people have strong opinions on it. I myself am not sure there's an answer to that, even for a particular person or purpose. Actually I do think no language can be a wrong choice as the first one, and there will never be any harm in learning something. Prior knowledge enables you to learn further, I don't think it can limit what you can learn thereafter.

It doesn't matter if the language is object-oriented. Of course no matter the language, you will have start with the basics. Even in C you would start writing your first program in main() without any other functions, and later you can learn what functions are and how to use them. If you're using a language with objects, later you can learn how to define your own and what they're for, only later you'll learn about inheritance, later about polymorphism... But even if a language is object-oriented, meaning that it doesn't let you do anything that's not an object, I don't think it's a bad choice to start. I'm not saying the opposite either, any of the suggestions so far is good.

I could never understand objects until I had to use them. I have always found that every explanation about them is worthless, because they say that programming objects are like real objects and that's why they're useful, and in my opinion that makes no sense and isn't the case. I think any explanation of object-oriented programming should point, with examples, how they're a solution to problems that arise when you try to write the same program without using them.

My advice is that the time you spend deciding a language will be lost. Just start coding in whatever you find accessible. You can learn other languages later. Use whatever your friends use.

jonh_sabugs 11-04-2012 09:17 PM

One mistake we sometimes make, after we learn programming, is to forget how overwhelming a program can look to those who haven't learned it yet. I remember my first PASCAL classes in college, how people struggled to grasp the basics of algorithms.

I know I am repeating myself but I really think one should learn to think algorithmically before tackling other things. I believe there is a reason we didn't approach object orienting until the second year.

peedee 12-04-2012 10:01 AM

Quote:

I really think one should learn to think algorithmically before tackling other things
On the Computer Science course I am currently studying, we had to learn algorithim development before we were allowed anywhere near a programming language :bleh1:

This is the text book we used, if that helps anybody?! :
http://www.amazon.co.uk/How-Think-Li...4224631&sr=8-1

Japo 12-04-2012 11:23 PM

Quote:

Originally Posted by peedee (Post 441536)
On the Computer Science course I am currently studying, we had to learn algorithim development before we were allowed anywhere near a programming language :bleh1:

This is the text book we used, if that helps anybody?! :
http://www.amazon.co.uk/How-Think-Li...4224631&sr=8-1

This is a free course that starts on Monday, taught by the head of Google's R&D department, and formerly of NASA's, Prof. Peter Norvig:
Design of Computer Programs
I'm going to be there, of course.

peedee 13-04-2012 11:34 AM

Quote:

Originally Posted by Japo (Post 441554)
This is a free course that starts on Monday, taught by the head of Google's R&D department, and formerly of NASA's, Prof. Peter Norvig:
Design of Computer Programs
I'm going to be there, of course.

Schweet!! XD Will check it out!

Japo 14-04-2012 01:32 AM

That's a leading private online university (although their courses are somewhat easy for a higher education level), and they have another course that Darth and other beginners might be interested in: CS 101 introduction to programming, applied to "Building a Search Engine". Both courses use the Python language, so you can't possibly complain that they force any paradigm on you.


The current time is 04:45 PM (GMT)

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.