Page 1 of 2

Re: No programming skills

Posted: Fri Jul 29, 2011 9:57 pm
by MDC
I have no programming skills, but would like to learn, hence why I am interested in this device. Could anyone give me a starting point to learn or lead me in the right direction or maybe offer some hints and tips.

Re: No programming skills

Posted: Fri Jul 29, 2011 9:59 pm
by Cephadai
It really depends on what your interested in.

To start off i would recommend either Basic or Python

Re: No programming skills

Posted: Sat Jul 30, 2011 10:25 am
by ShiftPlusOne
Python is a good suggestion (as a starting point). I'd start with python and move on to C++ once you've mastered basic programming concepts.

There are plenty of tutorials online, but I've found that having a proper book with you helps a lot. I'd suggest you look up some reviews on amazon and then get a book from the library.

It also helps to have a project in mind. If you just read the book for the sake of getting through it, it won't stick. However, if you read it and think about how you can use what you've learned in your own programs, you'll find it much more interesting.

A great starting point is card games. You learn about data structures, flow control, randomizing, sorting and so on. So maybe recreating solitaire in text-mode might be a good idea. Normally books give boring examples like payrolls, book keeping and so on and it's hard to really care about what you're reading. Something like a card game is a bit more interesting.

Re: No programming skills

Posted: Sat Jul 30, 2011 10:37 am
by L_J_S_23
I'm also really excited about the Raspberry Pi as an opportunity to learn to program. Since BBC BASIC way back at school over 20 years ago I've only really dabbled in C#. And that's been in the last few months over the last few months.

Will the Pi support C#? Or would i be better to start with Python as a general starting language anyway?

Re: No programming skills

Posted: Sat Jul 30, 2011 10:52 am
by ShiftPlusOne
LJS, which platform are you planning to develop for? Linux or Windows? C# is not a good idea for linux.

Re: No programming skills

Posted: Sat Jul 30, 2011 1:40 pm
by eggn1n3
As it is a Linux platform, you can use almost any programming language or scripting interpreters.
It depends what you want to achieve, but I would say start with something like basic and then try C as it is well documented and used for many projects. Maybe from there on you can try C++ although I find C++ more suitable for desktop applications and sometimes a bit overkill for some applications (but that's personal).

Re: No programming skills

Posted: Sat Jul 30, 2011 3:50 pm
by L_J_S_23
Quote from ShiftPlusOne on July 30, 2011, 11:52
LJS, which platform are you planning to develop for? Linux or Windows?

Well I'd like to get experience of both. Although my knowledge of Linux is absolutely zilch currently!

maybe I should go for c# in windows and get some practical knowledge of Linux / Ubuntu / Python ahead of the Raspi coming out.

Re: No programming skills

Posted: Sat Jul 30, 2011 4:40 pm
by ShiftPlusOne
Quote from L_J_S_23 on July 30, 2011, 16:50
Quote from ShiftPlusOne on July 30, 2011, 11:52
LJS, which platform are you planning to develop for? Linux or Windows?

Well I'd like to get experience of both. Although my knowledge of Linux is absolutely zilch currently!

maybe I should go for c# in windows and get some practical knowledge of Linux / Ubuntu / Python ahead of the Raspi coming out.

Whatever works for you. Chances are that you'll start with one language then get curious about others and come to learn their strengths and weaknesses and finally settle on what works for you. I don't actually know how C# is as a starting point, I've never had an interest in it, so I don't want to discourage you from it based on my own biases. Having said that, I'd probably go with Python. It's cross-platform and well structured. Also, Pascal was actually designed for the purpose of teaching programming. You could check out Lazarus which is an excellent development environment for FreePascal. In many ways Pascal is much better than the C's. I'd be trying to decide between Pascal and Python and C#.

These might help you decide:
http://onstartups.com/tabid/33.....eoffs.aspx
http://csharp.wikia.com/wiki/C.....hi/Lazarus

Re: No programming skills

Posted: Sat Jul 30, 2011 5:26 pm
by L_J_S_23
Thanks loads for the advice / insight ShiftPlusOne. That's really useful and interesting stuff.

Re: No programming skills

Posted: Sat Jul 30, 2011 6:00 pm
by ShiftPlusOne
You're welcome, just take whatever I say with a grain of salt, I am no expert.

Re: No programming skills

Posted: Sun Jul 31, 2011 3:01 pm
by bruceD
Would a list of Hello World's be useful to give us a flavour of each language?
And maybe a simple sample of Eliza?

Re: No programming skills

Posted: Mon Aug 01, 2011 6:05 am
by Novo
What do you want?
If you want to learn programming, so and buy a book od c# or Java, whatever.

Re: No programming skills

Posted: Mon Aug 01, 2011 7:28 am
by MDC
Anyone can learn from a book. I just wanted to hear some peoples opinions of people who have an interest / work in that field, just to get started, whatever.

Re: No programming skills

Posted: Mon Aug 01, 2011 12:13 pm
by jonokrause
I remember starting out learning using MS Dos and Qbasic programming language, then a bit of Turbo Pascal and then VB Basic in college, but sadly like anything if you not use it for awhile you loose it, but for me i always liked VB Basic because it was easy to pick up on, though im hoping in college i not have to learn Java, i have fear of having to learn it :D

Re: No programming skills

Posted: Mon Aug 01, 2011 12:42 pm
by abishur
Ah, the trusted and good hello world program. How exciting it was to watch that simple little thing compile then run! I think that such a resource would be very useful and insightful to those who were just looking into the world of programming. More than just the program, some basic instructions on how to compile and run the program (and if any version has licensing issues) would also be good. After all, writing the program is only half the battle. IF such a resource were put together I'd also suggest showcasing a couple programs to highlight some benefits and pitfalls of the various languages. It would definitely make for an interesting read.

Re: No programming skills

Posted: Mon Aug 01, 2011 1:18 pm
by ShiftPlusOne
Quote from abishur on August 1, 2011, 13:42
...showcasing a couple programs to highlight some benefits and pitfalls of the various languages...
... and the c vs c++ battle would be ensue. :o

Re: No programming skills

Posted: Mon Aug 01, 2011 1:41 pm
by ukscone
Quote from ShiftPlusOne on August 1, 2011, 14:18
Quote from abishur on August 1, 2011, 13:42
...showcasing a couple programs to highlight some benefits and pitfalls of the various languages...
... and the c vs c++ battle would be ensue. :o

oh that battle isn't too bad. lets start a vi vs emacs battle :)

/me dons flame proof armour and redirects all emails to /dev/null

Re: No programming skills

Posted: Mon Aug 01, 2011 2:26 pm
by abishur
Quote from ShiftPlusOne on August 1, 2011, 14:18
Quote from abishur on August 1, 2011, 13:42
...showcasing a couple programs to highlight some benefits and pitfalls of the various languages...
... and the c vs c++ battle would be ensue. :o

:D :D :D I'd like to think that an objective look at the pitfalls of any programming language should be possible. I mean I'm not saying we try and say "And because of this pitfall this language is inferior to this language". I was thinking more along the lines of "One pitfall of C is blah blah blah" then let people decide on their own which one they wanted to use based on the pros and cons of the language and the process to debug, compile, and run programs.

But yeah, back in reality there's no way such a subject could be mentioned on a forum and not have some people stroking the flames a little.

Re: No programming skills

Posted: Mon Aug 01, 2011 6:17 pm
by Svartalf
Think of C# as Microsoft's mutated attempt to embrace, extend, and extinguish Sun's Java. It brings a few useful modifications to the Java language (If you code in Java or C#, you'll largely be right at home with the other...) coupled with a slightly improved concept on the Virtual Machine side of things. It's a Patent minefield for anyone trying to implement a third party implementation (at least until you abolish such notions as Software Patents...) so it's a bit of a sore subject...and a bad idea...in the Linux space.

Re: No programming skills

Posted: Mon Aug 01, 2011 6:19 pm
by Svartalf
Quote from ukscone on August 1, 2011, 14:41
oh that battle isn't too bad. lets start a vi vs emacs battle :)

/me dons flame proof armour and redirects all emails to /dev/null

Heh... Better be flame-proof against solar level heat...those vi/emacs flame-fests burn pretty fiercely... ;)

Re: No programming skills

Posted: Mon Aug 01, 2011 6:24 pm
by Svartalf
Quote from MDC on August 1, 2011, 08:28
Anyone can learn from a book. I just wanted to hear some peoples opinions of people who have an interest / work in that field, just to get started, whatever.

Well...

Gambas is a VB-like tool for Linux that should work on the thing pretty well.
Lazarus is pretty much Delphi resurrected. It should also work adequately in 128Mb.

There's...heh...tons of tools that will NICELY work within the constraints of the system- even Ada or Forth is available if you were masochistically inclined... :D

Re: No programming skills

Posted: Mon Aug 01, 2011 9:22 pm
by bircoe
I can't believe no one has suggested this already... Arduino.

Arduino is an opensource embedded platform that is programmed with a language very similar to C++, it will teach you the basics of a C based language and about programming for embedded hardware, ie IO's, Digital to Analog conversion, Analog to Digital conversion, using clocks, PWM and timers, interfacing with hardware like LCD displays (Small text based display's), there's all sorts of libraries already written to support like digital thermometers, Wii controllers etc, it's a very fun platform.

Very flexible, robust and hard to kill and above all very fun, you can create interactive projects that can be web aware. They're very easy to program for, supports Linux, Mac and Windows for the programming IDE.

Great starting point, very well documented with a huge community and tons of examples on the website.

http://www.arduino.cc/
http://www.sparkfun.com/products/9219 <= my favorite Arduino boards, cheap and full featured.

Re: No programming skills

Posted: Thu Aug 04, 2011 6:08 am
by Emanuele
Quote from MDC on August 1, 2011, 08:28
Anyone can learn from a book. I just wanted to hear some peoples opinions of people who have an interest / work in that field, just to get started, whatever.

I think one of the reasons why it's so difficult to give general advice is that there are so many choices today. There are dozens of legitimate starting points, and what is best for you depends on your interests/inclinations.

The best overall is probably Python. It's a nice, clean language and high quality documentation is available.

The only (minor) problem I have with Python is that it's quite a rich language and so it takes a while to master. A lot of people like myself who started in the 80s with BASIC remember the sense of accomplishment that comes from mastering a simple language. I would say that the modern equivalent of BASIC is LUA (http://www.lua.org/)
.
Here are two niche alternatives.

A) If you like maths and abstract reasoning, Scheme is good; not so much for the language itself (nice and clean, but quite inconvenient), but because you can learn from this book:

http://mitpress.mit.edu/sicp/f...../book.html

and these video lectures:

http://groups.csail.mit.edu/ma.....-lectures/

B) The other one is very cheeky of me, since it's my own pet project, but I guess it's also a way to introduce myself. If you spend a lot of time commuting, don't carry a laptop around and have a cheap Java phone with tradition keypad, you can try this:

http://jbit.sourceforge.net

The documentation is not very good, but if you fall in the category above, it might be a convenient way to make some practice.

Re: No programming skills

Posted: Thu Aug 04, 2011 11:53 am
by abishur
From a system's administrator standpoint, if you want to learn how to just make the computer do stuff (especially remotely) learning some scripting is a pretty good idea. Windows uses WSH. It's not quite full on programming, but it gets your foot in the door while at the same time giving you immediate gratification from being able to do some REALLY powerful stuff! It's really only useful (or at least most useful) if you're an administrator, and if you are then you can study it at work and tell everyone you're just learning more skills for your job! ;)

Re: No programming skills

Posted: Fri Aug 05, 2011 5:57 pm
by MrUmunhum
Everyone has "programming skills", just a question of "how good are you?".
Working in the computer field for over 30 years, I have seen a vast array of skills.
The bottom line question is "What do you want to do?". Do you really want to learn programming or "I want to do this and I need to learn programming to do it".

I would recommend looking at PHP. The PHP.net site is well documented.

My language of chose is Rexx but I would not recommend it because it is very rarely use anymore.