Subscribe now and choose from over 30 free gifts worth up to £49 - Plus get £25 to spend in our shop
.. for mucking about on the PC?
I used to enjoy programming as a child (starting with Sinclair Basic on the ZX-81). I was never any good but enjoyed the challenge of writing something.
I have some understanding of programming principles from all those years ago (BASIC, a little assembly language,COBOL and a system on the Amiga called E) but am well out of touch with object orientated programming and visual development systems in use today.
Microsoft offer what seem to be fairly powerful 'Express' versions of their Visual Studio Suite and I was wondering what language people would recommend to get back into programming as a hobbyist (so not a career move) and perhaps knock up a few programs. The options seem to be C++, C# or Basic.
what sort of programs are you looking to write ?
Python is easy to learn and very versatile. You can write everything from web server stuff to scientific analysis to games in it.
C#
C++ is too complicated and archaic.
Basic is too basic.
If you want something that is immediately useful for doing little handy things, maybe consider Python.
Alternatively, pick up a clone Arduino board from eBay and get started on that. At the very least you'll be able to make all sorts of little gadgets and the like that do useful things. It's vaguely C-like, so if you've done that in the past, you should be sorted. One step on from that would be going for a Raspberry Pi.
If you want more hard-core, hit up X-Code and get Objective C under your belt. Slightly less than useful if you have no Mac or iPhone...
Well I don't think that I'd be writing a web server, game or application program. The main drive would just be to have some fun and perhaps get to the level of being able to write some simple utility programs. I don't have the brain to be good at this sort of thing but have always enjoyed computing as a hobby and programming used to be a big part of this.
I heard about The Year of Code on the news, it looks well worth exploring.
I'd go for c# and visual studio express and add ms-sql express if you need a db.
object based programming is probably the biggest 'leap' for someone used to traditional coding patterns rather than the syntax etc of a new language.
For just tinkering... +1 for Python (unless you need real computational performance)
Id go c# and a smattering of SQL for DB
'C# for sharp kids' is actually a great learning resource and how i learned (when aged 22!)
Another vote for python. Google dive into python for a good intro.
C++ required, but if you program in a modern C++ style there is not a lot of difference between it and C#, many of the ideas in C# came from people in the C++ community.
The original K&R is still a great book - C but then this is the basis of a lot of modern languages, still in widespread use, and would make a good basis to go on and learn Objective C from.
doing the examples would be a good start.
C#
Python is nice but making a Windows OS do things is generally way easier with C#
That Year of Code site just hung up my whole machine 😕
ABAP 😈
ABAP's great 🙂
FORTRAN77
Wooooooooooooooo.
Another vote for C# here. And if you're competent at that, you can do Java, which means you can do Android app development too.
If I was about to do it, I'd get hold of Android dev tools and play with some custom apps, set about making simple stuff that works the way I want.
And what is wrong with Fortran IV, COBOL and Algol!
As with most things you need to pick the right tool for the job. Therefore pick what you want to do and then pick a suitable language.
(Hint: Writing graphic device drivers in Fortran IV is wrong!)
If you want something completely different try Labview for National Instruments. I think you can download it for free. (But I'm sure the 'real' software people will laugh.)
As used by Lego in the latest robot kits.
How about JavaScript? Then you can much around with HTML5 as well and CSS.
Nothing to get, can literally run it off a browser and Notepad (or notepad++).
Then you can start charging mates money for doing websites for them!
Apart from mucking for about with HTML5 and CSS, unless you have a website to connect to, what has JavaScript ever done for us?
See, got a Python reference in there too
Ada FTW
😉
I enjoy tinkering with programming too but came to the realisation that I didn't have the time or the skill to do anything that hadn't already been done better by someone else! So I got the Lego NXT 2.0 kit which is awesome! Combines programming (you can install C over the standard Lego drag-n-drop programming language) with mechanical engineering so is in my opinion much more interesting than either discipline would be separately yet simple enough to build something cool in a weekend.
Pascal was the cleanest most elegant language. But no one uses it now... 🙁
Pascal was the cleanest most elegant language. But no one uses it now...
Yes they do, they just call it Delphi.
Real men write perl.
$_=join("|",unpack("a9 A15 Z9 a13",pack("a9 A15 Z9 a13","DJduZsztX","xADndoZtzhXexrD","dPZezrXlx","DHdaZczkXexrD")));$_=~s/d|z|x//gi;$_=~s/\|/ /gi;print;
Yes they do, they just call it Delphi.
Used to be a delphi programmer about ten years ago (or more). Thought boreland went tits up and delphi was pretty much obsolete.
Python, Python, Python...
...unless you want to do something cool with gadgets (which people seem to be suggesting). In which case I would recommend you learn VHDL, Verilog and Tcl. Or if you want to do something complicated quickly (that will run slowly) then Matlab (which is not really a language).
HTH
Thought boreland went tits up and delphi was pretty much obsolete.
the main Delphi man has been at MS for a while now and is responsible for C# and the environment.
C# is the best choice. Becuse C# is Object oriented and not much complicated like C++ for beginners. C# has lot of easy to study free materials available like http://csharp.net-informations.com . C# syntax very similar to C++ and Java. More over there is a greate IDE for developing programs , especially for beginners.
Bikitha.
Python is nice, you don't need to understand a few things that you do with languages like c# and java. Which can be both a good and bad thing really, it's very nice for just hacking about too. JavaScript is also good in my eyes, you can play about and make some very cool stuff using it with css3 and html5. Since installing node I've also been using it for hacky scripts. Personally I think that visual studio also has an awful editor, it's a very powerful piece of software and is good but the editor itself I find to be rather lacking!
Edit: oh and real men don't code in perl they code in whitespace!
Real men write perl.
Really strange men. With beards. I bet you own a rigid singlespeed 29er
LotusScript anyone?
I *might* need a shave.
But how very dare you accuse me of riding a singlespeed ?
Orange 5 FTW.
$_=join("|",unpack("a9 A15 Z9 a13",pack("a9 A15 Z9 a13","DJduZsztX","xADndoZtzhXexrD","dPZezrXlx","DHdaZczkXexrD")));$_=~s/d|z|x//gi;$_=~s/\|/ /gi;print;
did you type that whilst falling down the stairs?
+1 for c# it's a really nice language.
C# and python are the obvious choices. Personally I'd go python, but the difference between the two is really not significant in terms of what you intend to do. Generally if people prefer one or other it has more to do with their experience or background.
Depends what you want out of it, but going down the web route would be the easiest option, I'd say.
HTML is very easy to learn. You probably know some already. If not, give yourself a few days and you'll be reeling off web pages easily.
CSS is only marginally more difficult. But mastering it is something else, and quite satisfying. Very easy to play with.
But you might want to get straight to the number crunching. PHP programmer myself (so peraps a little biased 🙂 ). It's open source, has a massive library of documentation online, and endless tutorials. And fully object oriented.
Combine it with MySQL for your databases and you're good to go. Might seem like a lot at first. But once you're all set up it'll make sense.
That setup makes up a large portion of the internet.
psssst... HTML and CSS aren't programming languages
And fully object oriented.
Also... CAN be object oriented but is a bit wishy-washy in places. And is weakly typed. But ironically both of those make it easier to pick up (although sadly easier to make shitty code with)
Avoiding a statically typed language would be a good move for a beginner, so maybe avoid C# initially.
Ruby or Python would be a good choice. Javascript for dabbling in, but things get nasty quite quickly when you start to introduce object orientation.
silly question, but what would you want to program? and why, for a hobby when there are more interesting things to do, like hedgehog racing or ferret wrestling?
FWIW I'm a senior analyst/programmer working in quite possibly the niche-est of niche markets out there, so niche that I bet even the rigid singlespeed beardwearing 29er riders would be jealous. Made a bugger of a career path choice many years ago...
and programming "for fun" would not be my idea of fun; I like to switch off when I'm not in the office
Real programmers use LISP.. 
But only if they are masochists.
Another +1 for C# as you can use it stand alone or as back end to asp.net
It is a good decision to stick on .Net as a hobbiest becuse of easiness to study .Net Languages. I thinkk C# http://csharp.net-informations.com is the best choice of study becuse of its syntax similarities to Java and C++. Also you can change it later to Java or C++.
Anton.
Oh this one came alive again.
Still Python for "just tinkering". No faff setting up the build process and compiling. Just write some code and run, and it works on anything.
As others have said: c# using Visual Studio Express (and SQL Express if you want to learn TSQL and databases too).
Loads of online resources to help you learn and you can head down any path you like: windows forms, services, web, whatever...
I program in it for a living. If you like it and learn it there's plenty of careers in it too even in these dark days.
I'm a programmer at my day job. If I ever need anything coding up at home, I use Python or VB6. The overhead / complexity of Java and .NET just seem to drain all the enjoyment out of it.
i always liked plain ol' C, probably because the Kernighan & Ritchie book was so good to learn from. Much better than the dismal tomb by Stroustrup.
