Raspberry Pi - Useful for a beginner to programming?

Grimezy

Prolific Poster
For some reason I've only just discovered about Raspberry Pi and am now very intrigued by them. I've been wanting to build a small rig to plug into my tv and tinker with and perhaps run on Linux to keep costs down but then I found out about the Pi and it seemed to be perfect (apart from the apparently slow browsing and lack of modern streaming features, etc). But as a small pc that you can have some fun with it seemed perfect and very cheap!

The thing is, I'm a complete beginner when it comes to code + linux. I've briefly tried things like Codecademy but found I didn't have the energy after work and found I was just following the instructions rather than working things out for myself mostly. I've been planning to give it another go as I'm no longer going to be going back to College in September and wanted to try and self-teach myself some computer science as much as possible but at the same time I don't want it to feel like a chore.

My questions are:

Does anybody own a Raspberry Pi? Are they good learning tools or are they really just made for 10 year olds?

Would learning Python before other languages screw me up a bit? I've heard good things about it but also heard that harder languages can be a shock to the system after getting used to Python. What sort of things could I do on the Pi? I appreciate that question is as good as 'How long is a piece of string' but I just mean general things to kill time. Is it all fairly self explanatory i.e. learning tools built into the OS? Or am I going to spend most my time reading books and websites trying to get my head round things I can do on it? I'm not too bothered about the installation process as most Pi's come with the NOOBS software now with 6'ish pre-installed distro's on there but it's the bit after that that I'm hesitant about!
 

nathanjrb

Prolific Poster
I've just got an Arduino which is very similar. My best mate who studied computer security and now works for the government in a place I can't mention told me Python was the best one to start learning. Not sure how accurate that is, I guess it's up to the individual to some extent, but if I had to take advice off someone, I would take it off him. :)

Edit: Oh and I know what you mean about the 'just following instructions' - I found working in small chunks at a time is best :)
 
Last edited:

DeadEyeDuk

Superhero Level Poster
Sort of OT with regards to CodeAcademy. I do think it is really good, but i'll be buggered if I can remember any of it now. Definitely a good baseline, but really need to do your own things outside of it to "learn" stuff (which I didn't do, so am now no better off than before :D )
 

Wozza63

Biblical Poster
Well I love my Pi, although I never have enough time to use it.

But I did start with Python myself and its very easy to use for basic things like maths and getting stuff to display on the terminal. But I didn't go much further than that as it requires a fair bit of work to create an actual window.

You may have a more enjoyable experience with something like Visual Basic which you can use on Visual studio (which is a great program). Just as easy to start with and sets up the window etc itself, all you have to do is create names for the buttons and stuff so you can program telling them what to do.

And at the moment I am learning C# and creating 2 games in XNA which is off the back of C#. Its the first language I've gotten into personally, but that was with a lot of help from my teacher at college.

What programming language you want to start with all depends on what you want to do. If you want to create a game you will want C# or C++ if you want to create webpages then you need HTML and Java. Java is also used on Android. Languages like Python are often used for back end work but its still a great starting language

EDIT: Oh and the Raspberry Pi is awesome, but can be frustrating when it lags, you can install all the stuff required for python on windows as well and you can program on your main PC
 
Last edited:

Grimezy

Prolific Poster
Thanks for the input guys, I'll definitely still consider the Pi but might focus on something like HTML/Java or C++/C# on my rig to start with.

I'd heard the Pi can easily be turned into an XBMC so it may prove useful for that rather than splashing £300 on a Linux machine that may not even be that much better! The Pi might not exactly be a plug 'n' play product but I'm sure it'll be an experience! And like you guys said, I'm sure it can't do any harm to delve into the world of Python :)
 

Wozza63

Biblical Poster
Thanks for the input guys, I'll definitely still consider the Pi but might focus on something like HTML/Java or C++/C# on my rig to start with.

I'd heard the Pi can easily be turned into an XBMC so it may prove useful for that rather than splashing £300 on a Linux machine that may not even be that much better! The Pi might not exactly be a plug 'n' play product but I'm sure it'll be an experience! And like you guys said, I'm sure it can't do any harm to delve into the world of Python :)

Don't start with C++, way too complex for a beginner, you don't really want to be dealing with memory leaks and stuff like that. Its the language generally used for 3D games and is used because it can be much better optimized for systems than C# etc
 

Grimezy

Prolific Poster
Don't start with C++, way too complex for a beginner, you don't really want to be dealing with memory leaks and stuff like that. Its the language generally used for 3D games and is used because it can be much better optimized for systems than C# etc

C# it is then! Thanks for the heads-up, that could have ended badly :)

Out of interest Wozza, what sort of games are you working on? :) I appreciate they'll be very basic but it'd be good to get an idea of what I could aim towards!
 

Wozza63

Biblical Poster
C# it is then! Thanks for the heads-up, that could have ended badly :)

Out of interest Wozza, what sort of games are you working on? :) I appreciate they'll be very basic but it'd be good to get an idea of what I could aim towards!

One is a racing game and the other is a top down zombie shooter, im still at the menus but here is a little snapshot of my work so far.

For C# I definitely recommend Visual Studio, I'm pretty sure there is a free version of it, and for games on C# XNA is pretty good, its what is used for many indie games on Xbox Arcade and such

charmenu.pnglul.jpg

Here is the multiplayer (split screen) character select menu and the main menu. I'm currently working on the code that allows each player to select a character but returns an error if both players choose the same character. It sounds simple but its a lot of work.
 

Grimezy

Prolific Poster
Nice work Woz! Loving the racial and gender equality on the character selects! Keep us posted on how it goes :)
 

Wozza63

Biblical Poster
Haha well I was going to make a 4th character but didnt get time to design them and adding a 4th character would almost double the work I need to do for the multiplayer select.

And of course, I'll keep you posted :)

Now I just gotta figure out how to get the characters moving, keeps crashing every time I move my character ahh :S. Once that is done I'll concentrate more on my other game, which I haven't done much of yet :/

The problem with developing these games is the tonne of paperwork I have to do with it as they are both coursework for college and require much more than just the main game, I've had to do a tonne of research etc and only last month I got to start building the game (I started both projects in September though)
 

mishra

Rising Star
I'm also into rPi. Not so much as a coder but more of a geek. I use mine as internet radio controlled by my phone (using USB sound card), also have it connected over network to my main NAS library with mp3. It will soon be also a little TOR proxy relay.
I'm running model B with some poncy cooling as I had little constructor set for kids available and old fan from my HP microserver PSU. Few hours and built myself a detachable case... can still "unclick" it from the base and put an usual transparent case if want to go mobile. Check it out...

IMG_0083.JPGIMG_0085.JPG

Ignore, that temperature meter it's there to tell me ambient temp not temp of the Pi itself. Thought, if you are interested, my temps are now: 22C idle / 25C stress (originally were: 42C idle / 47 stress). I'm running it as 900MHz arm and 450 MHz sdram. Tried more but for internet radio clocked it down a bit as it's more than enough.
 
Last edited:
Top