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

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

Hybrid View

  1. #1
    Join Date
    Oct 2006
    Location
    Austin, Texas
    Beans
    2,715

    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 ~~~
    Ada
    Assembly
    bash
    C
    C++
    C#
    Common Lisp
    D
    FreeBASIC
    Go (Golang)
    Java
    Objective-C
    OCaml
    Pascal
    Perl
    PHP
    Python
    Ruby
    Scheme
    Squeak
    Tcl
    Vala
    Google


    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
    Location
    Austin, Texas
    Beans
    2,715

    Re: Master Programming Tutorial Thread

    C++

    Tutorials/references:

    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
    Location
    Baltimore, MD
    Beans
    841
    Distro
    Ubuntu

    Re: Master Programming Tutorial Thread

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

  4. #4
    Join Date
    Sep 2008
    Beans
    6

    Re: Master Programming Tutorial Thread

    Thanks.. Your thread helped me a lot in learning.
    especially the link for cheatsheet by "finer recliner" was awesome.

    Thanks.

  5. #5
    Join Date
    Jun 2006
    Location
    Buenos Aires, Argentina
    Beans
    686
    Distro
    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++

  6. #6
    Join Date
    Jun 2006
    Location
    CT, USA
    Beans
    5,267
    Distro
    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 http://python.org/

    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
    http://showmedo.com/videos/python
    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.

  7. #7
    Join Date
    Dec 2009
    Location
    Buenos Aires, Argentina
    Beans
    132
    Distro
    Ubuntu Budgie 18.04 Bionic Beaver

    Question Re: Master Programming Tutorial Thread

    Quote Originally Posted by pmasiar View Post
    You can try Python from LiveCD, If you cannot, check Try Python website - please be considerate and don't abuse it!
    Hello. First of all thank you for giving us such valuable informatio. Second, I don`t know if I should reply to this thread without posting any new info about any programming. It is just to reply that this link http://www.mired.org/home/mwm/try_python/ is broken. It jumps to a non found page.

    Thank you.
    Follow me on Twitter or LinkedIn.

  8. #8
    Join Date
    Mar 2011
    Beans
    3
    Distro
    Ubuntu 10.10 Maverick Meerkat

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

    Turing
    what is it?
    turing is a very basic programming language, intended to be used to teach the beginnings of programming.

    wikipedia article: http://en.wikipedia.org/wiki/Turing_...ng_language%29
    main page: http://www.holtsoft.com/
    you will find a free book and IDE there, but it is a .exe file. it runs fine under WINE though.

  9. #9
    Join Date
    Nov 2006
    Location
    NRW, Germany
    Beans
    21
    Distro
    Xubuntu 7.04 Feisty Fawn

    Re: Master Programming Tutorial Thread

    Tcl

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

    References:



    Interesting Packages:

    • mysqltcl - MySQL server access commands for Tcl


    Distribution:

    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

  10. #10
    Join Date
    Oct 2006
    Location
    Austin, Texas
    Beans
    2,715

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

    OpenGL

    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
    GameDev.net: (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.

Page 1 of 9 123 ... LastLast

Bookmarks

Posting Permissions

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