Mark Hudson
Posts: 16
Joined: Thu Jul 28, 2011 6:30 am
Contact: Website

Re: How does an end user program this device?

Thu Jul 28, 2011 6:45 am

When I started out with my Spectrum programming was with the built in Basic and now it's all very complicated with Visual C ++ etc, or because a key interest of mine is music/sound I also use graphical programs like Synthmaker. So what does the R-Pi come with as a language for programming? Is there an easy option in the same way that Basic was just ready to use as soon as my Spectrum started up (and still does today if I get it out of the box :o !)

Mark

eben
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 85
Joined: Sun Jul 17, 2011 11:54 am

Re: How does an end user program this device?

Thu Jul 28, 2011 10:37 am

We'll be supporting Python and C as our primary languages, but expect to have some sort of BASIC on there too. Perhaps even BBC BASIC or SuperBASIC depending on copyright issues.

Palin
Posts: 2
Joined: Thu Jul 28, 2011 10:18 am

Re: How does an end user program this device?

Thu Jul 28, 2011 10:43 am

I would love BBC BASIC to be on there . . . I still have the books !

leanother
Posts: 1
Joined: Thu Jul 28, 2011 11:09 am

Re: How does an end user program this device?

Thu Jul 28, 2011 11:14 am

I think Gambas http://gambas.sourceforge.net/ is a good choice for gui programming, is very easy like the old visual basic.
Python is not too easy for novice programmers doing thins like gui and so.

thesynapseuk
Posts: 55
Joined: Thu Jul 28, 2011 11:21 am

Re: How does an end user program this device?

Thu Jul 28, 2011 11:32 am

I may be missing something, but can I ask why C and not C++? Considering that the latter is a standard in just about all areas of computing, but especially in games dev, and this device's creation is rooted in the need for more skilled games developers, would it be that difficult to stick it in the Ubuntu distro on there? Also, is it going to be a custom distro or a standard one?

Richard
Posts: 5
Joined: Thu Jul 28, 2011 6:42 am

Re: How does an end user program this device?

Thu Jul 28, 2011 11:47 am

Personally I prefer C to C++. There are C game dev libraries. Going back a few years Quakes main engine was written in C, so C should not be discounted as a fine gaming tool. The use of C can teach people the bear principles and I am sure as time goes by C++ compiler will be available.

Mark Hudson
Posts: 16
Joined: Thu Jul 28, 2011 6:30 am
Contact: Website

Re: How does an end user program this device?

Thu Jul 28, 2011 3:00 pm

Thanks for the replies folks. For learning/education something easy to use is needed. BASIC on my old Spectrum was great and so much fun because it was easy to do thing straight away. - type code... hit run... done! I'm not really a programmer although I did learn to code in Pascal and Z80 assembler in the distant past and have recently started to teach myself some Visual C++ but unless the initial experience is fairly easy for most students - with quick and fun results then the main market isn't going to be students/educational programming, but already experienced users. Nearly all posts on this new website are from people who want to do very interesting things but are clearly already experts in a range of software technologies and/or can see an application for a very small PC as an embedded control device. I'm not saying this is a bad thing, but the initial aim seems to have been about reviving the early years experience of programming (aka BBC Spectrum etc) and all the interest from users for this new projects isn't - I think?

Mark

jimlevalley
Posts: 1
Joined: Thu Jul 28, 2011 4:31 pm

Re: How does an end user program this device?

Thu Jul 28, 2011 4:48 pm

From a teaching perspective Java, Python and C++ are good choices. You also want to offer tools that correspond to available textbooks and current teaching standards. The hardware is cool, but it would help to give teachers the opportunity to teach cool concepts using the hardware and real world programming languages combined. Textbooks that already cover fundamental languages would be a start. Then you want applied examples with your product for developing classroom practical applications. For example, you could teach a lesson on solving the problem of remote sensing using this hardware. First you show how to set it up and use it to collect data from sensors. Then you teach how to relay data to a collection server. Then you teach how to relay data peer to peer across a series of these devices from remote locations. This sort of advanced practical application would be a great starter kit to real world applications.

Sensor based games, random games, etc. would also be great applications for students. The point being that making it fun is important, while preserving the need for the small computer. This is not really a great choice to replace classroom computers for teaching programming. It is a better approach to applied computing and ubiquitous computing though.

marked
Posts: 218
Joined: Fri Jul 29, 2011 4:25 pm

Re: How does an end user program this device?

Fri Jul 29, 2011 5:20 pm

There are two different methods:
1) to have on the raspberry development as discussed,
2) off-board development similar in process to appinventor.googlelabs.com with android, where an app is developed on a system that is then downloaded to the raspberry.

Val67
Posts: 10
Joined: Thu Jul 28, 2011 8:07 am

Re: How does an end user program this device?

Fri Jul 29, 2011 6:54 pm

Lua is also a good idea because it's very easy and has a small footprint (<200 kb executable). It was already ported to ARM I think

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: How does an end user program this device?

Fri Jul 29, 2011 7:07 pm

Quote from Mark Hudson on July 28, 2011, 16:00
Thanks for the replies folks. For learning/education something easy to use is needed. BASIC on my old Spectrum was great and so much fun because it was easy to do thing straight away. - type code... hit run... done! I'm not really a programmer although I did learn to code in Pascal and Z80 assembler in the distant past and have recently started to teach myself some Visual C++ but unless the initial experience is fairly easy for most students - with quick and fun results then the main market isn't going to be students/educational programming, but already experienced users. Nearly all posts on this new website are from people who want to do very interesting things but are clearly already experts in a range of software technologies and/or can see an application for a very small PC as an embedded control device. I'm not saying this is a bad thing, but the initial aim seems to have been about reviving the early years experience of programming (aka BBC Spectrum etc) and all the interest from users for this new projects isn't - I think?

Mark

Heh... I can see and appreciate your thinking there. You shouldn't worry TOO much on that score, though. What will run in 128 MB of RAM on an X86 Linux machine will probably run on the RasberryPi board. It may not be quite as fast as hooking up a Pandaboard, Atom ION board, etc. to the display, but that's not it's goal- and the minimum cost on either of those solutions is ~$120-180US, not $25-ish. With that having been said, Gambas, Lazarus, Python, Lua, and a few others stand out as being in the role you're talking to on this platform- and all of them WILL work decently in that regard.

Mr_Navigator
Posts: 39
Joined: Sat Jul 30, 2011 6:58 am
Contact: Website

Re: How does an end user program this device?

Sat Jul 30, 2011 7:24 am

If it's just another computer system (albeit cheaper) that you can program 'C' or its modern derivatives then I think you must be missing the point, it makes RP no different to any other system. The reason you have the programming languages and operating systems today is that many of the pioneers sharpened their teeth on 'retro' 8 bit and 16 bit systems like the UK's BBC, Sinclair's range and others. Look up Linus Torvalds (Linux) in Wikipedia for example VIC 20 to start off then the Sinclair QL to do some real programming.

But what of the future, everything that is developed now is constricted by a PC either Microsoft (WIndows) or Apple (OS X) running C++ or similar and limiting the creativeness of basic computer programming. Linux offers some method of this but RP I believe want to get back to to when you didn't have drop down menus to do your code for you, you made it yourself.

Mark Hudson is correct in saying about the early years of computer programming and that experience, it was that that inspired people to see what they could do with a fixed system and not the bloatware we all have to deal with today.

Whether it is BBC BASIC, SuperBASIC or some other programming language that is easy to pick up, write code for and get excited about then I am all for it.

marcleon
Posts: 1
Joined: Sat Jul 30, 2011 2:11 pm
Contact: Website

Re: How does an end user program this device?

Sat Jul 30, 2011 2:24 pm

If basic or other easy language is available then this would be nice for easy development of apps which would deal with helping disabled people. If "raspi" only uses 1W and has usb then some extension ( I think direction of sensors and drivers like used in arduino and the like) with the necessary "hardware" ( plastic parts) would make a perfect combination. Not all handy people are necessarily "object" or c++ literates. KISS somebody?

RichardBroadhurst
Posts: 1
Joined: Mon Aug 29, 2011 6:43 pm

Re: How does an end user program this device?

Tue Aug 30, 2011 5:53 pm

There are already some school initiatives using BBC BASIC (on BBCs).

I started programming (games) in '79 and have tried many languages and many environments in several industries over the years - the last 13 on AAA PC and console titles using C++. Most libraries are written in C to reduce the number of library versions shipped - this also allows either C or C++ to be used for the game.

There is a push around the games industry to move to LUA and JavaScript for game code - "to make things easier" - whilst I don't agree that they do this, I do think that having the shortest delay between writing code and seeing it running is very good for beginners.

Lakes
Posts: 267
Joined: Wed Aug 24, 2011 2:17 pm

Re: How does an end user program this device?

Tue Aug 30, 2011 6:22 pm

Scratch?
http://scratch.mit.edu/
I can`t think of anything easier than drag n drop.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 27415
Joined: Sat Jul 30, 2011 7:41 pm

Re: How does an end user program this device?

Tue Aug 30, 2011 7:30 pm

Remember that this is a Linux PC - any language you can get on Linux will more than likely work on the Raspberry PI - so, you will have available (definitely) , C, C++, Python (tried that today on the prototype), Perl, Java, Ada, Objective-C, Objective-C++, Fortran and possibly over 100 others.

You are going to be spoilt for choice!!!

There may be some limitations with those languages that require a sophisticated IDE - they might run a bit slow on the Raspi, depending on the complexity of the IDE. But basic compiled stuff should be fine.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

normnet
Posts: 7
Joined: Sat Feb 09, 2013 10:22 pm

Re: How does an end user program this device?

Sat Feb 09, 2013 10:29 pm

eben wrote:We'll be supporting Python and C as our primary languages, but expect to have some sort of BASIC on there too. Perhaps even BBC BASIC or SuperBASIC depending on copyright issues.
Potential new user question.
Is there a time line as to when a BASIC language version of Raspberry Pi will be supported?

Norm

ghans
Posts: 7883
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: How does an end user program this device?

Sat Feb 09, 2013 10:52 pm

Note that the community already provides and maintains
several Pi-specific BASIC dialects , and that BASIC variants
for Linux are already in the Raspbian repos (like FreeBASIC).
Still an interesting question.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

User avatar
LemmeFatale
Posts: 253
Joined: Fri Feb 01, 2013 8:47 pm
Location: UK

Re: How does an end user program this device?

Sat Feb 09, 2013 11:09 pm

There's also BBC BASIC in RISC OS, too.
Classic - Raspberry Pi Model B (512MB) with Motorola Atrix Lapdock
Lemcon-One - Raspberry Pi Model B (256MB) PiMAME TV-Box

mc349
Posts: 43
Joined: Fri Jan 06, 2012 5:05 pm

Re: How does an end user program this device?

Sun Feb 10, 2013 12:05 am

I expect you could install the Mono framework (Open Source version of the Microsoft.NET framework) and then program in C# or VisualBasic.NET.

I would do it myself but my memory card isn't big enough.

normnet
Posts: 7
Joined: Sat Feb 09, 2013 10:22 pm

Re: How does an end user program this device?

Sun Feb 10, 2013 12:06 am

ghans wrote:Note that the community already provides and maintains
several Pi-specific BASIC dialects , and that BASIC variants
for Linux are already in the Raspbian repos (like FreeBASIC).
Still an interesting question.

ghans
Do you have links to the "Pi-specific BASIC dialects" less the Linux version?

Norm

ghans
Posts: 7883
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: How does an end user program this device?

Sun Feb 10, 2013 9:38 am

https://projects.drogon.net/return-to-basic/

Looking at it again , they're not completely focused on the Pi :

http://www.staff.city.ac.uk/afl/tinybasic/index.html
https://sites.google.com/site/pauldunn/home

A forum search should give many more hits for other dialects ..


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

normnet
Posts: 7
Joined: Sat Feb 09, 2013 10:22 pm

Re: How does an end user program this device?

Tue Feb 12, 2013 12:55 am

I have gathered Raspberry Pi runs on a Linux OS placed on an SD card.
What I'm not sure of is the OS in which the IDE is run i.e. Windows or Linux or either depending on the choice of language (Python, basic etc)?

Is their a basic dialect IDE which runs in Windows?

I understand Python is the preferred dialect however the best tools are the tools one has in their tool box and at present that is basic or pascal.

Norm

klricks
Posts: 7288
Joined: Sat Jan 12, 2013 3:01 am
Location: Grants Pass, OR, USA
Contact: Website

Re: How does an end user program this device?

Tue Feb 12, 2013 1:42 am

normnet wrote:I have gathered Raspberry Pi runs on a Linux OS placed on an SD card.
What I'm not sure of is the OS in which the IDE is run i.e. Windows or Linux or either depending on the choice of language (Python, basic etc)?

Is their a basic dialect IDE which runs in Windows?

I understand Python is the preferred dialect however the best tools are the tools one has in their tool box and at present that is basic or pascal.

Norm
There are versions of Free BASIC for Linux and Windows:
http://sourceforge.net/projects/fbc/

Just Basic is another free Windows BASIC:
http://justbasic.com/index.html

Or is Liberty BASIC which is a paid upgrade to Just BASIC.
(Plans for Linux in future releases):
http://www.libertybasic.com/index.html
Unless specified otherwise my response is based on the latest and fully updated RPiOS Buster w/ Desktop OS.

normnet
Posts: 7
Joined: Sat Feb 09, 2013 10:22 pm

Re: How does an end user program this device?

Tue Feb 12, 2013 2:20 am

klricks wrote:
normnet wrote:I have gathered Raspberry Pi runs on a Linux OS placed on an SD card.
What I'm not sure of is the OS in which the IDE is run i.e. Windows or Linux or either depending on the choice of language (Python, basic etc)?

Is their a basic dialect IDE which runs in Windows?

I understand Python is the preferred dialect however the best tools are the tools one has in their tool box and at present that is basic or pascal.

Norm
There are versions of Free BASIC for Linux and Windows:
http://sourceforge.net/projects/fbc/

Just Basic is another free Windows BASIC:
http://justbasic.com/index.html

Or is Liberty BASIC which is a paid upgrade to Just BASIC.
(Plans for Linux in future releases):
http://www.libertybasic.com/index.html
Sorry I meant a basic dialect for Raspberry Pi.

Norm

Return to “General discussion”