Week 8 – Languages talk

Hey folks,

So here are the slides and some details regarding the languages talk
from week 9.

Slides can be found at http://cslu.leefindlow.com/wp-content/uploads/2011/01/languages.pdf

Here is a little run down and some resources of where to play with the
languages that were explained.

In the next bits of these posts I’ve put down some resources, now they
are by no means in anyway the definitive lists of resources.
Actually they most probably tend towards the other end of that axis of
quality, but as I say in the labs RTFM, and the manual for life is
google, so if you are stuck google it (or bing it, if you are that way
inclined).

C

Now, C is a fantastic language to learn and will be handy for part 1
students to get to grips with it early. A bit of history can be found
at http://en.wikipedia.org/wiki/C_%28Programming_Language%29. Now no
“intro to C” spiel would be complete without a reference to the
whitebook, which you can either ask around the society to see if
anyone has a copy, or grab it from
http://www.amazon.co.uk/C-Programming-Language-2nd/dp/0131103628 or
http://books.shop.ebay.co.uk/Non-Fiction-/171243/i.html?rt=nc&_nkw=the%20C%20programming%20language&_catref=1&_dmpt=Non_Fiction&_trksid=p3286.c0.m282

For those who have empty pockets, but dying livers, there exist some
great online resources such as
http://en.wikibooks.org/wiki/C_Programming

EDIT: I’ve been informed by fbstjoe that the book is online here http://publications.gbdirect.co.uk/c_book/

If you run a *nix system, great! You will probably already have a c
compiler installed. If not, look for gcc in your favourite package
manager (sudo apt-get install gcc, sudo pacman -Sy gcc).
If you run a windows system, there are the Microsoft studio express
programs, which can be found at
http://www.microsoft.com/express/Windows/ or for those wanting a bit
more of a clean compiler there is dev-c++, which happily handles C
code, which can be found http://www.bloodshed.net/devcpp.html

Happy C coding there, it is a powerful tool.

Php

Php, everyones first dynamic serverside web language, you know, unless
it’s not. History can be found here http://en.wikipedia.org/wiki/PHP.

Now, as php is a bit less prolific than C, I’ll just give you one link
to a nice tutorial/book, and google/bing(hereafter named goong) will
help you seek out the rest.
Intalling php is rather easy on light webservers such as lighttpd
(www.lighttpd.net/) and many documents can be found upon their site.
For the less enlightened users who are shackled with the output of
Redmond, have a look at some LAMP distributions such as
http://www.wampserver.com/en/

Perl

Perl, a really nice language for using regex. Lots. And lots.
http://en.wikipedia.org/wiki/Perl
This will be a linux only language I’m afraid (Probably can be put on
windows, but with a lot of FAFF).
A nice tutorial can be found here at
http://en.wikibooks.org/wiki/Perl_Programming

Java

Java, everyones favourite language for a love/hate relationship. If
you are an UG here, you will understand.
http://en.wikipedia.org/wiki/Java_%28programming_language%29

Now owned by Oracle, sad times.
Not exactly a prototyping language but very powerful as a learning
tool for object orientation. Have a look at
http://en.wikibooks.org/wiki/Java_Programming for some tips.
To download, have a google and browse upon the Java’s intertube site.

If you want to play around with some java I’ll be releasing some of
the projects which Mr Secretary and myself created last year, namely
Maize which has everyones favourite maze solving bot, Dave! Stay tuned
here on the blog as it shall be going up on GitHub soon enough!

Ruby

Ahh Ruby, my personal favourite. This language has everything, it will
even make all beer you touch automatically free. True story. A bit of
history can be found here at
http://en.wikipedia.org/wiki/Ruby_%28programming_language%29

Now, Ruby can be installed by reading and following many of the
installation guides found kicking about. A good one is
http://www.ruby-lang.org/en/downloads/

There are some fantastic guides for Ruby programming online, and Ruby
is one of the few languages I’ve seen that have interactive
programming pages, such as http://tryruby.org/

If web development is your tipple and you have yet to try out Ruby on
Rails, there is a fantastically written tutorials aimed for new ruby
users at http://railsforzombies.org/ it even has a catchy theme tune!

Python

It’s alright. http://en.wikipedia.org/wiki/Python_%28programming_language%29
http://en.wikibooks.org/wiki/Python_Programming

(In my juvenile search for “why is ruby better than python” I came
across a rather nice debate on the two over at the c2 wiki, which if
you haven’t browsed, do so immediately
http://c2.com/cgi/wiki?PythonVsRuby)

Scheme

It’s a dialect of lisp which favours simplicity and a reduced number
of built in functions.
http://en.wikipedia.org/wiki/Scheme_%28programming_language%29

Rather hard to get to grips with coming from an procedural or object
orientated background, but the rewards are in the effort to learn. A
guide can be found here
http://en.wikibooks.org/wiki/Scheme_Programming

Haskell

Right, this one is kind of awesome, but may possibly melt your brain.
Hailed as a ‘proper’ functional language. History can be found here at
http://en.wikipedia.org/wiki/Haskell_%28programming_language%29

Wikibook can be found here at http://en.wikibooks.org/wiki/Haskell
(and it looks pretty comprehensive)

Now, if anyone want to get a discussion of Haskell going, I’d advise
you to attend a meeting and ask our Secretary who has been spending
the last few months attempting to master the language. The other
option is to head to the IRC channel we all frequent irc.freenode.net
#lucs and asking around here.

Finally

Happy coding, there are many many many more languages out there where
were not covered, such as the Microsoft suite. Goong’in them will
bring forth fruits of knowledge.

Carl

This entry was posted in article, cslu and tagged , , , , , , , , , . Bookmark the permalink.

One Response to Week 8 – Languages talk

  1. Pingback: Programming languages course at Carl's Blog