![]() |
Darth wants to learn coding!
Well the title about says it all, now I know this is a hard thing to do and the like and I am not going to school about it at the moment but I do plan on at some point. For now I just want to try and learn some coding and make some simple programs. A friend of mine has been suggesting a few things, what with him being a paid coder and all, but I would like some more suggestions and thoughts on the different languages.
I am thinking of doing something in the C area, I know I used one of them at school for making a couple of programs (a dice roller and some bouncy shape thing I think) but I can't remember which. Which is the one you would recommend? Or should I go for something more like Java or whatever Lua is? The more info I get now the better so throw it at me folks. |
C or C++ . They're not too difficult to start with, but not so convenient you can allow yourself to stop thinking about what you're doing.
|
I think it depends on the sort of things you want to end up coding.
|
If you need a program to be able to code with, you can look at MS Visual Studio Express.
It's free. :D Should also have some tutorials available. (either on site or in the program itself) |
Well, C would be ideal - I study Pascal (un)fortunately, which is a very easy, thus outdated language. Though you can write suprisingly good programs in it, even 3 dimensional. The only problem is, it's mostly compatible with Windows OSes under XP, or DOSBox. On linux or mac you could use FreePascal, but it doesn't really have graphical units (think of them of libraries of functions), so go with DOSBox + Borland/Turbo Pascal if you choose Pascal to code in.
You can easily grasp the basic concepts of variables, loops, different data structures, file management, and such. Then there's Object Pascal based Delphi, which is the Object-Oriented version of Pascal, lot of things can be written in it. But as I began, C would be the best - it's a widely used language with lot of information about it, libraries, functions, sourcecode of tons of software... just learn C! |
Yes my friend did suggest the Express programs as being good enough to start with and free so I will be going there to try them out for sure. C++ seems to be the one I will pick up for now I think. Who knows where this could lead...it could lead to me giving up in a few weeks after I work out how hard it is and my lazy bones kick in.
|
Well, it might be better to learn C, as C++ is only slightly different, but I'm not sure learning C after C++ is easier. But anyway, don't give up, think of all the 3D demos you'll write! :D
|
I would start with C, not C++. Object orienting is even another layer over the basics of programming, and I guess it would be confusing to learn it before mastering algorithms. Pure C is an excellent place to learn the idea of algorithm and implement them. Also, it gives a very good idea of memory management and pointer usage. You should start C++ or Java after you master C.
|
EDIT: sorry it posted the same thing twice for some reason, and I can't find how to delete it.
|
Quote:
|
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. |
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. |
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: |
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. |
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. |
Quote:
This is the text book we used, if that helps anybody?! : http://www.amazon.co.uk/How-Think-Li...4224631&sr=8-1 |
Quote:
Design of Computer ProgramsI'm going to be there, of course. |
Quote:
|
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 01:45 AM (GMT) |
Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.