Page 1 of 9 123 ... LastLast
Results 1 to 10 of 89

Thread: How to start programming - guides and links for many languages

  1. #1
    Join Date
    Oct 2006
    Austin, Texas

    How to start programming - guides and links for many languages

    Since there have been a ton of people asking for information and advice on various languages, including the popular "which is best" question, this thread has been started to alleviate those types of post's be providing a comprehensive list of resources on various languages.

    Each reply will be a different language, if someone has something they would like to contribute to a language which already exists, please try to PM the original poster of that language instead of adding another reply with your contribution (to keep things readable and simple).

    Please do not pollute this thread with questions and side comments, the point of this thread is to be a collection of links and we are trying to keep it as clean as possible. If a language isn't on here, and you know some good links for it, add it to the list. If you'd like to add something to a language that exists, please PM it to the original poster of that language so this thread doesn't become polluted or turn into a flame war or anything... Thanks!

    This thread is NOT a chat thread, if you don't have relevant links to post, please don't!!!

    ~~~ Index ~~~
    Common Lisp
    Go (Golang)

    Credit to po0f for the idea to start this post, celsofaf for the idea to create this index, and aks44 for helping me clean it up!

    EDIT my slavik: No idea why this wasn't stickied before. Please keep discussion relevant to this thread (Links and info only). For help, start a new thread.
    Last edited by jpeddicord; March 27th, 2010 at 08:10 PM.

  2. #2
    Join Date
    Oct 2006
    Austin, Texas

    Re: Master Programming Tutorial Thread



    GCC compiler documents: (all) Very useful documentation on Gcc
    Thinking in C++ (beginner): a very good introduction to standard C++; book available for free download; also available in print
    Teach Yourself C++: (beginner-intermediate) A very thorough C++ tutorial (basically a free book)
    Programmer Heaven C++ Page: (beginner-advanced) Tons of useful links
    C++ FAQ LITE (intermediate-advanced): covers a wide variety of C++ topics (a C++ introduction is suggested before reading)
    cPlusPlus: (intermediate) Great C++ reference (Covers many subjects)
    Cpp Reference: (advanced) Covers standard C library, and STL
    MakeFile Tutorial: (beginner-intermediate) Makefile introduction tutorial
    Ubuntu GameDev Wiki: (intermediate) Helpful game development HOWTO's

    Useful library tutorials/homepages:

    Linux Journal Article: (advanced) Article on embedding python into C++ programs
    wxWidgets: Cross platform GUI library
    GTK: Cross platform GUI library
    Lode's Computer Graphics Tutorials: (advanced) Very interesting graphical tutorials with C++ source code
    SDL: Great cross platform library (Graphics (2d/3d), sound, input/output, more...)
    LightHouse3d GLUT page: (intermediate) Great info on GLUT (Cross platform OpenGL toolkit)
    NeHe: (intermediate) Amazing OpenGL examples (most of which include linux compatible downloads (including makefiles))

    I'll add more to this later, and anyone who wants me to add something, PM me a link and a description.

    If you're having trouble compiling... Install the build-essential package!!!
    Last edited by Wybiral; April 15th, 2007 at 05:48 PM.

  3. #3
    Join Date
    Jan 2007
    Baltimore, MD

    Re: Master Programming Tutorial Thread

    Last edited by finer recliner; January 10th, 2007 at 08:09 AM.

  4. #4
    Join Date
    Jun 2006
    Buenos Aires, Argentina
    Kubuntu 8.04 Hardy Heron

    Re: Master Programming Tutorial Thread

    C Con Clase (all): Lots of info about C++ in Spanish
    CProgramming (basic - intermidiate): Info about C++

  5. #5
    Join Date
    Jun 2006
    CT, USA
    Ubuntu 6.10 Edgy

    Re: Master Programming Tutorial Thread

    Why Python?

    Python is a flexible language easier to learn than most other languages, but still powerful enough to be useful for solving real-life problems, used from MIT for learning programming to NASA and Google. Main project homepage is

    You don't need to spend much money on Python: Python is open-source and free, including many online books, free GUI IDEs and many, many libraries.

    One of reasons why python is so simple to learn is the python shell - interactive environment, where you can enter python statements one by one and evaluate them, try them, try function or methods and see results immediately. So you spend less time reading documentation and more time trying how it works. You can try Python from LiveCD, If you cannot, check Try Python website - please be considerate and don't abuse it!

    Python books.

    Python video
    Python IDEs

    One of the controversial features of Python is - whitespace is significant. As a result, you need to properly indent your code or you have syntax error. Beginners are often baffled by it, but experienced programmers will confirm that properly aligned code is major contribution to readability. Many big projects and big companies using languages with flexible whitespace (C/C++/Java/perl etc) have internal standards of intedation and programs, formatting code to enforce it. So Python standard way of handling whitespace is part of industry best practices, ignored by most languages.

    As a result, in Python is very unwise to mix spaces and tabs using plain text editor like notepad. Using decent programming editor, or even better some IDE, is strongly advised. Python comes with standard IDE, called IDLE (it is inside joke from Monty Python - yes, Python programmers are serious about having fun). Other good IDEs are SPE and Eric, both installable via apt or Synaptic.

    What is Python good for?

    Python is universal language, good for anything except kernel hacking. It allows you to use OOP - Object oriented programming, but does not forces you to do it. Even if for your application the raw speed is critical, you can use Python for it: (1) design a prototype in Python. 92)find the bottlenecks (5% of the code taking 80% of the time) and (3) rewrite those in C, which links easily with Python. Or you can compile source to standard executable by PsyCo or ShedSkin.

    Python code is compiled at first run into bytecode (optimized for later interpretation), and much attention is given to increase speed of basic functions of the language. Compilers to executables are avilable.

    Python comes with many libraries included, and many more external libraries are available, like numpy for numerical processing, RPy for access to R (professional free statistical package), wxPython to build platform-independent GUI apps, many web app frameworks like Django and TurboGears

    Python Philosophy
    Python has couple of "mantras":

    • readability is important - Python is optimized to be readable for humans first, even if it makes computer to work extra hard. Not too hard though: syntax is kept very simple by design.
    • There should be one obvious way to do it right - so most obvious way and shortest (less lines of code ) to do something is often the fastest and most preferred.
    • batteries included - many usefull libraries are included, and in every new release new libraries are added (after being stable for some time)
    • speed is not a problem until it is a problem - don't do premature optimization based on your guess what is bottleneck: do it right first, and optimize what you can measure.

    Who uses Python

    Python is very popular with smart geeks and smart companies: Google, NASA and others. Python is preferred language for Ubuntu development.
    Last edited by pmasiar; April 5th, 2007 at 05:10 PM.

  6. #6
    Join Date
    Nov 2006
    NRW, Germany
    Xubuntu 7.04 Feisty Fawn

    Re: Master Programming Tutorial Thread


    The Tool Command Language is an easy to learn scripting language, but still very powerful.
    Its designed to have self explaining, human readable sourcecode.


    Interesting Packages:

    • mysqltcl - MySQL server access commands for Tcl


    ActiveTcl, is a Tcl/Tk distribution from ActiveState available for Windows, Mac OS X, Linux, Solaris, AIX and HP-UX.

    Although you can buy the development kits, the free distribution contains a complete and ready-to-use Tcl/Tk environment with lots of packages and widgets available. Documentation is available as Compiled HTML for Windows or as HTML converted from manual pages, for viewing locally.
    Lots of demos for each package are also included.

    Any online tutorial should teach the basics of the language, and once you are comfortable with it, all information needed can be found in the HTML documentation.

    *note: I will add links for Tk also if you hand me some, as Tcl and Tk are close coupled. I just dont have personal experience with Tk yet.
    *the distribution informations were kindly donated by the user Vox754, thanks
    Last edited by eteran; July 13th, 2007 at 12:17 PM. Reason: adding ActiveTcl informations

  7. #7
    Join Date
    Mar 2006
    Sheffield, UK

    Re: Master Programming Tutorial Thread


    A brief description of the Ruby programming language by Yukihiro Matsumoto creator of ruby

    * * * * * * *Online books * * * * thanks to 'Brazen ' for this link...

    * * * * * * *web resources * * * *
    Try Ruby from any web browser, NO installation required
    Documentation and help for Ruby
    The Pragmatic Programmer's Guide
    Ruby Central
    Ruby on rails
    Ruby user guide and tutorial
    Ruby Projects at RubyForge
    Ruby bindings for Gnome
    Ruby GArden
    Ruby Tutorial by Daniel Carrera
    Ruby developer centre at Yahoo!

    Ruby GUI toolkits
    Ruby HowTo create a GUI for your application
    The Ruby-Gnome project. GUI programming

    Ruby IDE for Eclipse platform

    Ruby entry at Wikipedia
    Interview with Yukihiro Matsumoto (Matz) creator of Ruby
    Links and more links...

    This Link from Slashdot is about RUby and Lisp however it also includes a lively discussion of lots of languages:
    Last edited by derjames; June 25th, 2007 at 02:49 PM.

  8. #8
    Join Date
    Oct 2006
    Austin, Texas

    Re: How to start programming - guides and links for many languages


    It's not a programming language, but a really awesome+free 3d rendering API for multiple languages.

    NeHe OpenGL tutorials: (beginner-advanced) Very nice tutorials/examples
    LightHouse 3d: (intermediate-advanced) More nice tutorials
    OpenGL Redbook: (advanced) Very thorough OpenGL book
    OpenGL Bluebook: (advanced) Very thorough OpenGL reference (intermediate-advanced) More tutorials from gamedev
    Code Sampler: (intermediate) Great tutorials and examples
    Cone3d OpenGL Tutorials: (intermediate) Good tutorials/examples
    gpWiki OpenGL: (intermediate) Game Programming Wiki's OpenGL page
    Wikipedia's OpenGL page: (beginner) Links and info from wikipedia
    Mesa3d: The standard opengl implimentation for linux users
    freeGLUT: The standard implimention of GLUT for linux
    SDL: A very nice library to enhance your OpenGL experience
    Basic4SDL: An ubuntu friendly BASIC language specially designed for OpenGL+SDL
    Last edited by Wybiral; January 11th, 2007 at 07:20 AM.

  9. #9
    Join Date
    Dec 2006

    Re: How to start programming - guides and links for many languages


    General Resources: OCaml's homepage The Ocaml Hump, something like Perl's CPAN The OCaml Alliance, a group of OCaml industry users Resources for OCaml users

    Books, Tutorials: Developing Applications with Objective Caml Using, Understanding and Unraveling the OCaml Language Objective Caml Tutorial Very good and up to date tutorial/book.

  10. #10
    Join Date
    Dec 2006
    Ubuntu 12.04 Precise Pangolin



    What is Java?

    Official technology website:

    Official Java consumer website:

    Wikipedia entry:

    Who uses Java?

    NASA makes extensive use of Java. Java was its main programming language for the Mars Pathfinder mission, used extensively for data processing. The Hubble Space Telescope's control system interface is written in Java as well. NASA also uses Java for various day-to-day back-end processes in addition to its front-line space exploration programmes.

    The number of Java users are too many to list. But a very small subset of larger organisations that use Java for products or research and development include: LG, Nokia, Sony-Ericsson, Apple, IBM, Google, Xerox, Siemens, Motorola and Sun itself.

    Various websites use Java and JSPs (Java Server Pages) to drive it:

    Electronic Arts:
    General Motors:
    Sun Microsystems:

    Some interesting applications developed purely in Java:

    Art of Illusion 3D graphics suite (note: gallery is very outdated):
    Azereus bittorrent client:
    Eclipse IDE and rich client platform:
    Netbeans IDE:
    Tribal Trouble 3D real time strategy game:
    Various high-quality Java games:
    Apache Tomcat web application server:
    Jake2 (Java port of Quake2 engine):
    Sillysoft (Risk clones using Java):
    Limewire P2P program:

    So how to develop using Java?

    The best basic Java tutorials anywhere on the web:

    Official documentations:

    API specifications only:

    Other tutorials and free e-books:

    Some good Java IDEs:
    Eclipse -
    Netbeans -
    JEdit -

    Installing Sun's Java in Ubuntu:
    Last edited by samjh; April 11th, 2007 at 01:20 AM.

Page 1 of 9 123 ... LastLast


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts