NEEDED, Beginners Guide to learning a language

After scrolling through this forum I've seen countless people asking "What language to learn?" or somthing similar. what im asking for is a guide, if someone awsome *ztrain im looking at you* to compile a small guide or even a couple of refences to books/websites. these could hopfully cover

  • what languages do what and what is best for the newest of the new.
  • Where to learn said language (website, book, tutorial
  • What is needed for writeing/executing/what ever your doing with code

the main thing i need is a reliable and good source from which to learn the language. I am currently in college (British so high school to americans maybe? one step below our university) studying computing and hope to go onto do more programming.

im sure this guide could also help other wandering wannabe coders :)

Thank you,

I'd start with one of a few thing:

  • C++ if you are serious about computing
  • Python if you want a useable and simple lang
  • or HTML5 and CSS3 for web development, which is a good way to start

I personally use C++11 with SDL and OpenGL, for game dev, but it isn't the "lightest" language.

well my DREAMS are to work in "gaming" market and ive heard that C++ is very powerful but im sorta running to a brick wall trying to start the learning proccess :) so yeah i think C++ is what im aiming for 

oh. I am sorry. I should've been reading your question more precisely. Maybe I'll post this as a seperate topic, or answer someone else with this text, so it will have some kind of use.

lol @giant. 

 

To add to the 1st post, brennanriddell, 'Python the hard way' is something I've been doing. The philosophy is once you've learned a not-so-comprehensive language, you can take that same process and apply it to another fuller language

C++ is a good choice for game developement, but you will also need a good understanding of physics and mathematics.

Btw, I found this site which has some free ebooks. Don't know anything about them, if they're good or not.

 

http://www.greenteapress.com/

I'll just leave this here.

http://programming-motherfucker.com/become.html

(WARNING. NSFW LANGUAGE ON SITE)

I think we could tell from the domain name.

well, (keeping it simple) it basically comes down to this... you have two types of languages... scripting languages and programming languages.

a programming language is something that you code, compile, and end up with a binary file (like an exe) that will run.

a scripting language is a language that you write, then can run in an interpreter (such as python). some scripting languages can also interface with a programming language (python can make c function calls, lua can be added to a c++ project, or call c functions).

 

both of these have their advantages. usually you would use a compiled language to build some large project that you will distribute to people, where as a scripting language is commonly very fast to code in, and much easier to implement advanced stuff (like network protocols).

 

i would recommend learning at least one scripting language and one programming language... as you often dont want to have to code some small personal project in c++, as you will end up with 1000 lines of code, where you would only code about 70-100 in python.

some good programming languages to look into:

  • java
  • c++

some scripting languages:

  • python
  • ruby
  • LUA   (good if you like to make things in garrys mod / want to add a scripting engine to a c++ project)

if you want to do web stuff you need to basically know all of these:

  • html
  • php
  • css
  • SQL
  • linux (if your going to set up the website or make it work with some backend task thats running)
  • be familiar with content management systems (wordpress, drupal)

if you want to get into micro controller programming:

  • c (needed)
  • asm (not rly needed, but good to know)

if you want to start learning how to reverse engineer applications (only an option after you learn atleast one programming language / research how applications work at a very low level (pe headers, hex / mashine instruction code, instruction pointers, so on)):

  • asm (needed)
  • know how to use programs such as ollydbg and IDA

 

now, unless you say exactly what you want to be doing with your programming language, your going to have to do a bit of research for yourself... but when it comes to learning the language... i have heard that http://programming-motherfucker.com/become.html is a good website. however i learned c++ by using a book + some online videos. another popular choice is "TheNewBoston" on youtube. i like the website 3dbuzz however i believe it costs money now.

oh, a quick follow up.

someone mentioned that c / c++ is a bad language to start with. c++ was my first language (other than some expression 2 in garrysmod). and at my university the intro class that you take teaches c.

personally, i would say that python is a good starting language, but then the jump to something like c++ is a bit shocking.

 

also, python has some web frameworks for writing web apps. just throwing that out there.

I'm going to sticky this post as to help newer members.

Probably rosetta stone.

I'll write a guide and sticky it myself. It would be easier to read for the newer ones.