Author Topic: A good way to learn programming?  (Read 5462 times)

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
A good way to learn programming?
« on: 2014-11-24 09:13:34 »
I have yet no idea if this will be a good tutor to learn programming or not, but it does look pretty cool even if it is more webdesign related:
http://www.codecademy.com/

My problem is that I would like to C++, but I guess python is fine too.  ::)

Vgr

  • Global moderator
  • *
  • Posts: 2163
  • If it quacks like a duck, it must be a duck
    • View Profile
Re: A good way to learn programming?
« Reply #1 on: 2014-11-24 11:25:19 »
I personally code in Python daily. I would recommend it, as it's really easy to learn and get used to. There are two versions of Python; Python 2 which is legacy and no longer updated, and Python 3 which is updated regularly. If you're going to be working in a company that has had Python for a long time, you should go with 2. If you intend to make your own programs, I recommend you choose 3.

I personally recommend the official Python 3 tutorial (as well as the Python 3 library index).

Regarding C++, if you can learn and become good with Python, learning C++ will be easier (as will any other language, really).

-Vgr

Shard

  • *
  • Posts: 330
    • View Profile
Re: A good way to learn programming?
« Reply #2 on: 2014-11-24 18:18:31 »
Most OO languages (like Java) and most scripting languages (like Python) are based on C's syntax. If you learn one of them, you generally learn them all. The biggest difference is the libraries you can use (knowing the names of functions/classes).

If you find a community college that has a GOOD programming course, take one or two semesters of that (they usually teach Java at the intro level these days). I emphasize "GOOD" because I have a friend who did that, but the teacher was a dunce, and I had to explain to him why his teacher was wrong (his teacher told the class to program Java programs using only one class, among many other nonsensical things).

If you're really ambitious, download the source code from a small open source project and just examine it and play with it.

quantumpencil

  • *
  • Posts: 72
    • View Profile
Re: A good way to learn programming?
« Reply #3 on: 2014-11-24 18:56:25 »
Do you have a specific goal in mind? Are you looking to score an industry job, to make games, to program personal projects, to make your own product?

There is really no shortcut to learning how to program besides just working on programming projects. I'd recommend you spend a little bit of time studying the basics and working on simple projects -- any university intro course should work well. I strongly recommend Harvard's CS50, I took it when I was a freshman and it pretty much turned me from "not a programmer" into "able to teach myself whatever I want." It's also free online through edX https://www.edx.org/. It's a great way to get your feet wet enough that you stop worrying about drowning and can start piecing together a nice stroke =p.

You'll learn basic theory and get hands on experience with fairly low level things like for an intro course, and you'll also get to do cool little projects with a lot of guidance to get you going. Don't worry about the choice of language. I've met great programmer's who are the natives of many different languages. Knowing x y or z language doesn't make you a better programmer than not knowing x y and z language. It's all about what you can do with a tool, about honing your design and problem solving skills. If you understand how to design software and have well-honed problem solving chops learning a new language isn't very difficult. That said, I am slightly biased towards C because I think it's good to be introduced to pointers and really understand the difference between values/references very early on.

After CS50, I recommend you use MIT's OCW to go through some upper level courses depending on your interests --- whatever you choose I suggest you at least take algorithms and data structures and learn them really well. Try to implement every data structure you learn about in C, and try to implement the algorithms you learn at least once both normally and recursively.

Concurrently, I recommend you find little projects you have fun working on and just code. Code something every day, whether it's an AI script in this game (which is basically assembly and therefore a really good way to cement your knowledge of control flow and machine logic), an open source project or just little utilities for your own use to help you with routine parts of your job/daily routine.
« Last Edit: 2014-11-25 18:00:06 by quantumpencil »

KnifeTheSky77

  • *
  • Posts: 548
  • Somnambulistic Paraphile
    • View Profile
Re: A good way to learn programming?
« Reply #4 on: 2014-11-25 00:24:13 »
Code academy starts you off at an intermediate level, team treehouse starts you at the very beginning. I'd start there first. These sites are actually pretty fairly good at keeping you interested as opposed to a book which often feels more like a reference than learning material. The majority of what you learn, that actually sticks, is what needs to be figured out while working on actual projects. That has been my experience anyway. Or if someones paying you to figure it out  ;)

iTunes U is also a pretty incredible resource for watching lectures on anything, from some of the smartest-articulate people that have ever lectured and allowed it to be filmed. 
« Last Edit: 2014-11-25 04:14:57 by KnifeTheSky77 »

Kaldarasha

  • *
  • Posts: 2449
  • Prince of Model Editing
    • View Profile
Re: A good way to learn programming?
« Reply #5 on: 2014-11-25 05:40:59 »
I still want to make a tool to properly rename the parts of the models I create. Then maybe with some deeper knowledge of the files of FF7 I would like to change the skeletons of the field models to one (only human characters), but for this I need to change the skeleton information in the animation files as well. That will be optional but it would make things easier for moding.
At the moment I thing the tutorial is great for starters. I have a rough concept of how the program shall work.

Vgr

  • Global moderator
  • *
  • Posts: 2163
  • If it quacks like a duck, it must be a duck
    • View Profile
Re: A good way to learn programming?
« Reply #6 on: 2014-11-25 11:04:49 »
If you're going to alter plain text files, rename and move them around, Python can do that pretty well (with the shutil module). That is what I use and it does things pretty well.

JeMaCheHi

  • *
  • Posts: 194
  • You can just call me J!
    • View Profile
    • My YouTube Channel :D
Re: A good way to learn programming?
« Reply #7 on: 2014-12-03 10:35:06 »
I have yet no idea if this will be a good tutor to learn programming or not, but it does look pretty cool even if it is more webdesign related:
http://www.codecademy.com/

My problem is that I would like to C++, but I guess python is fine too.  ::)

I you understand spanish I can provide you with my university stuff... I have some C++ notes there. If not, I know about a very good book by "Deitel & Deitel". That one: http://www.deitel.com/Books/C/CHowtoProgram9e/tabid/3644/Default.aspx