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
    Location
    Austin, Texas
    Beans
    2,712
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    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,712
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    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
    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++

  5. #5
    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.

  6. #6
    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

  7. #7
    Join Date
    Mar 2006
    Location
    Sheffield, UK
    Beans
    322

    Re: Master Programming Tutorial Thread

    RUBY

    A brief description of the Ruby programming language by Yukihiro Matsumoto creator of ruby
    http://www.informit.com/articles/art...5&redir=1&rl=1

    * * * * * * *Online books * * * *
    http://www.ruby-lang.org
    http://www.humblelittlerubybook.com/book/
    http://poignantguide.net/ruby/
    http://pine.fm/LearnToProgram/?Chapter=00 thanks to 'Brazen ' for this link...

    * * * * * * *web resources * * * *
    Try Ruby from any web browser, NO installation required http://tryruby.hobix.com/
    Documentation and help for Ruby http://www.ruby-doc.org/
    The Pragmatic Programmer's Guide http://www.rubycentral.com/book/
    Ruby Central http://www.rubycentral.com/
    Ruby on rails http://www.rubyonrails.org/
    Ruby user guide and tutorial http://www.rubyist.net/~slagell/ruby/index.html
    Ruby Projects at RubyForge http://rubyforge.org/
    Ruby bindings for Gnome http://en.wikipedia.org/wiki/Ruby_programming_language
    Ruby GArden http://wiki.rubygarden.org/Ruby
    Ruby Tutorial by Daniel Carrera http://www.math.umd.edu/~dcarrera/ruby/0.3/index.html
    Ruby developer centre at Yahoo! http://developer.yahoo.com/ruby/

    Ruby GUI toolkits http://www.trug.ca/Ruby_GUI_Toolkits
    Ruby HowTo create a GUI for your application http://www.arachnoid.com/ruby/RubyGUIProject/index.html
    The Ruby-Gnome project. GUI programming http://ruby-gnome2.sourceforge.jp/

    Ruby IDE for Eclipse platform http://rubyeclipse.sourceforge.net/index.rdt.html

    Ruby entry at Wikipedia http://en.wikipedia.org/wiki/Ruby_programming_language
    Interview with Yukihiro Matsumoto (Matz) creator of Ruby http://www.linuxdevcenter.com/pub/a/...1/29/ruby.html
    Links and more links... http://rubycentral.com/links/index.html

    This Link from Slashdot is about RUby and Lisp however it also includes a lively discussion of lots of languages:
    http://it.slashdot.org/it/07/01/14/0336213.shtml
    Last edited by derjames; June 25th, 2007 at 02:49 PM.

  8. #8
    Join Date
    Oct 2006
    Location
    Austin, Texas
    Beans
    2,712
    Distro
    Ubuntu 7.10 Gutsy Gibbon

    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.

  9. #9
    Join Date
    Dec 2006
    Beans
    37

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

    OCaml

    General Resources:

    http://caml.inria.fr/: OCaml's homepage
    http://caml.inria.fr//cgi-bin/hump.en.cgi: The Ocaml Hump, something like Perl's CPAN
    http://wiki.cocan.org: The OCaml Alliance, a group of OCaml industry users
    http://caml.inria.fr/resources/index.en.html: Resources for OCaml users


    Books, Tutorials:

    http://caml.inria.fr/pub/docs/oreill...tml/index.html: Developing Applications with Objective Caml
    http://caml.inria.fr/pub/docs/u3-ocaml/index.html: Using, Understanding and Unraveling the OCaml Language
    http://www.ocaml-tutorial.org/: Objective Caml Tutorial
    http://files.metaprl.org/doc/ocaml-book.pdf: Very good and up to date tutorial/book.

  10. #10
    Join Date
    Dec 2006
    Location
    Australia
    Beans
    1,097
    Distro
    Ubuntu 12.04 Precise Pangolin

    Java

    Java

    What is Java?

    Official technology website: http://java.sun.com/

    Official Java consumer website: http://www.java.com/en/

    Wikipedia entry: http://en.wikipedia.org/wiki/Java_%2...ng_language%29

    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: http://www.ea.com/language.jsp
    General Motors: http://www.gm.com/
    Sun Microsystems: http://www.sun.com/
    Walmart: http://www.walmart.com/

    Some interesting applications developed purely in Java:

    Art of Illusion 3D graphics suite (note: gallery is very outdated): http://www.artofillusion.org/
    Azereus bittorrent client: http://azureus.sourceforge.net/
    Eclipse IDE and rich client platform: http://www.eclipse.org
    Netbeans IDE: http://www.netbeans.org
    Tribal Trouble 3D real time strategy game: http://tribaltrouble.com/
    Various high-quality Java games: http://www.puppygames.net/
    Apache Tomcat web application server: http://tomcat.apache.org/
    Jake2 (Java port of Quake2 engine): http://bytonic.de/html/jake2.html
    Sillysoft (Risk clones using Java): http://sillysoft.net/
    Limewire P2P program: http://www.limewire.com/english/content/home.shtml

    So how to develop using Java?

    The best basic Java tutorials anywhere on the web:
    http://java.sun.com/docs/books/tutorial/index.html

    Official documentations:
    http://java.sun.com/reference/docs/index.html

    API specifications only:
    http://java.sun.com/reference/api/

    Other tutorials and free e-books:
    http://www.javacoffeebreak.com/books...ts/javanotesv3

    Some good Java IDEs:
    Eclipse - http://www.eclipse.org/
    Netbeans - http://www.netbeans.org/
    JEdit - http://www.jedit.org/

    Installing Sun's Java in Ubuntu:
    https://jdk-distros.dev.java.net/ubuntu-dev.html
    Last edited by samjh; April 11th, 2007 at 01: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
  •