User avatar
jojopi
Posts: 3110
Joined: Tue Oct 11, 2011 8:38 pm

Re: "Beginners" put off...

Sat Jan 05, 2013 12:47 pm

williamhbell wrote:for file in $(ls *.eps); do convert $file ${file/.eps/.png}; done
Much as I like the POSIX shell, you have demonstrated here why it is not an ideal language for beginners. To use it safely requires great attention to detail and a very defensive programming style.

In your example, "ls *.eps" fails if any of the names start with a hyphen; reparsing of the ls output produces the wrong results if any of the names contain spaces; the unquoted parameter expansions also do not handle whitespace correctly; and the substitution changes the first occurrence of .eps instead of the last one.

The correct form is:

Code: Select all

for file in *.eps; do convert "$file" "${file%.eps}".png; done

pygmy_giant
Posts: 1562
Joined: Sun Mar 04, 2012 12:49 am

Re: "Beginners" put off...

Sat Jan 05, 2013 1:17 pm

Use an underscore?

I guess you cant make an omlette with out breaking eggs.

Im not sure the TIOBE index is an accurate measure of the fitness or popularity of a programming language as their website says "The ratings are calculated by counting hits of the most popular search engines. " which perhaps means that they could relate to just the most infuriating languages, or those without a coherent dedicated website. Therefore on reflection it could be argued that the languages at the top of the TIOBE index are just as likely to be the least suitable for beginners.

Sleep Mode zZ
Posts: 319
Joined: Sun Aug 19, 2012 5:56 am
Location: Finland

Re: "Beginners" put off...

Sat Jan 05, 2013 2:52 pm

pygmy_giant wrote: Im not sure the TIOBE index is an accurate measure of the fitness or popularity of a programming language as their website says "The ratings are calculated by counting hits of the most popular search engines. " which perhaps means that they could relate to just the most infuriating languages, or those without a coherent dedicated website. Therefore on reflection it could be argued that the languages at the top of the TIOBE index are just as likely to be the least suitable for beginners.
I would guess that they are most suitable for those beginners that want to start with a programming language that is "relevant in the real world" - a language with prospective job opportunities.

There is also the The Transparent Language Popularity Index and PYPL PopularitY of Programming Language index for alternative search engine based rankings.

pygmy_giant
Posts: 1562
Joined: Sun Mar 04, 2012 12:49 am

Re: "Beginners" put off...

Sat Jan 05, 2013 2:59 pm

I think it is a stretch to directly equate search engine activity with relevance to job opportunities for many reasons.

I think it would be more accurate to look at job vacancy advertisements. Is there an index on that?

Sleep Mode zZ
Posts: 319
Joined: Sun Aug 19, 2012 5:56 am
Location: Finland

Re: "Beginners" put off...

Sat Jan 05, 2013 3:40 pm

pygmy_giant wrote:I think it is a stretch to directly equate search engine activity with relevance to job opportunities for many reasons.
They are not equal, of course, but isn't some correlation likely?
pygmy_giant wrote:I think it would be more accurate to look at job vacancy advertisements. Is there an index on that?
Jobs Tractor language trends January 2013 is based on developer jobs advertised on twitter.

pygmy_giant
Posts: 1562
Joined: Sun Mar 04, 2012 12:49 am

Re: "Beginners" put off...

Sat Jan 05, 2013 3:45 pm

Interesting - thanks.
They are not equal, of course, but isn't some correlation likely?
Not if you compare those indicies against Jobs Tractor!

Language Jobs
PHP 883
Java 854
Objective C 678
Java (Android) 386
SQL 326
JavaScript 319
Ruby 283
C# 241
Python 147
C++ 129
Action Script 73
C 65
ASP.net 44

Vanilla C is down the bottom rather than at the top and PHP is riding high.

Python doesn't feature highly in either measure and Java is consistantly a close second by both measure.

The question mark over jobs tractor would be to do with how representative the 'twittersphere' is of the 'real' world.

poing
Posts: 1131
Joined: Thu Mar 08, 2012 3:32 pm

Re: "Beginners" put off...

Sat Jan 05, 2013 4:54 pm

When talking about 'Beginners put off' I think the more important thing is to nudge kids into programming and make sure they have a quick positive experience rather than anticipate on job opportunities 10 years down the line. Not all people writing their first hello world program or whatever will end up as professional programmers while those that will are bound to learn a couple of programming languages anyway.

So Python seems the obvious choice to me.

Sleep Mode zZ
Posts: 319
Joined: Sun Aug 19, 2012 5:56 am
Location: Finland

Re: "Beginners" put off...

Sat Jan 05, 2013 6:24 pm

pygmy_giant wrote:Interesting - thanks.
They are not equal, of course, but isn't some correlation likely?
Not if you compare those indicies against Jobs Tractor!
There is some correlation. After removing SQL and combining the Java entries from the Jobs Tractor list, the top 10 of of both lists share 8 languages - PHP, Java, Objective C, Ruby, C#, Python, C++ and C - from hundreds of existing languages. So the correlation certainly is above zero.

The difference in the position of C is indeed remarkable - first vs. tenth.

Sleep Mode zZ
Posts: 319
Joined: Sun Aug 19, 2012 5:56 am
Location: Finland

Re: "Beginners" put off...

Sat Jan 05, 2013 7:00 pm

poing wrote:When talking about 'Beginners put off' I think the more important thing is to nudge kids into programming and make sure they have a quick positive experience rather than anticipate on job opportunities 10 years down the line.
Also a good way to put beginners off: emphasize the importance of good coding habits right from the start. You don't want any bad habits - like having fun - creeping in. "You'll thank me in 10 years." :D

Seriously though, there is all kinds of beginners, and for some of those that are at, or close to, a age where employment prospects are relevant, job opportunities is a valid criteria for choosing a programming language to learn.

poing
Posts: 1131
Joined: Thu Mar 08, 2012 3:32 pm

Re: "Beginners" put off...

Sat Jan 05, 2013 7:44 pm

Sleep Mode zZ wrote:Seriously though, there is all kinds of beginners, and for some of those that are at, or close to, a age where employment prospects are relevant, job opportunities is a valid criteria for choosing a programming language to learn.
I realize that, but youngsters getting a Pi from their parents are most likely very young. My kids are in the 15-20 years bracket. The oldest is studying technical physics while the youngest is still at school. Neither of them showed any actual interest in the Pi, although I tried some 'advertising', but then they both have a full-fledged W7 computer for themselves. The youngest is busy with game development btw, without pressure from his father.

As for me, I'm having a ball with the over sized gadget ( 'over sized' as in 'credit card' ;) )

pygmy_giant
Posts: 1562
Joined: Sun Mar 04, 2012 12:49 am

Re: "Beginners" put off...

Sun Jan 06, 2013 4:25 pm

I tried out Lua on RISC OS on the Pi as linked to in my previous post and it seems to work, except for the drawing functions, but that may be because I have not read any of the instalation instructions - the other text and wimp based examples worked straight away. I am able to read write and run Lua. There is also a bytecode disassembler and other bells and whistles.

User avatar
danpeirce
Posts: 100
Joined: Thu May 10, 2012 8:32 am
Location: Richmond & Surrey BC Canada
Contact: Website

Re: "Beginners" put off...

Mon Jan 07, 2013 1:16 am

Things will be much easier for beginners once starter packs are generally available and more complete education manuals become available. Considering I was not able to get my hands on my first Raspberry Pi until the end of July it seems to me things have developed very fast. Now new R-Pi's ship within days of being ordered. The version 2 board was announced in September and improvements to the Raspbian image with dynamic overclocking...
Personally I think the foundation has made good decisions regarding the choice of operating system and the support of Python. New resources will be most useful if they are freely available on line with a CC license that allows changes and redistribution (since the R-Pi has been and could remain a moving target).

User avatar
danpeirce
Posts: 100
Joined: Thu May 10, 2012 8:32 am
Location: Richmond & Surrey BC Canada
Contact: Website

Re: "Beginners" put off...

Mon Jan 07, 2013 1:36 am

The other thing I was going to say after reading though all these posts is that the one thing that truly astounds me is that anyone would still be promoting basic. I thought basic in the form of gw-basic was dead 20 years ago.
One of the great things about Linux has always been the variety and quality of real programing languages that come with it (not as extras).

W. H. Heydt
Posts: 11267
Joined: Fri Mar 09, 2012 7:36 pm
Location: Vallejo, CA (US)

Re: "Beginners" put off...

Mon Jan 07, 2013 6:28 am

danpeirce wrote:The other thing I was going to say after reading though all these posts is that the one thing that truly astounds me is that anyone would still be promoting basic. I thought basic in the form of gw-basic was dead 20 years ago.
One of the great things about Linux has always been the variety and quality of real programing languages that come with it (not as extras).
Well....an old engineering saying is, "Efficiency depends on what you want to effish."

What is a "good" programming language? Doesn't that depend on how you define "good"? In my experience, all too many people are told, "Do it in THIS language, because that is our shop standard". Or they code in particular language because it's one they know best. Or they code in a particular language because that's the "hot" language at the moment.

Personally, I laugh at some of the languages chosen to do certain types of programming, because the chosen language is rather ill adapted to the task at hand. A good example is using C to write business programs. Business applications almost invariably require you to deal in money and the first thing you need are fixed point variables with decimal fractions. COBOL does those very well. Most other languages do them very poorly and the workarounds are quite kludgy.

At the same time, I've worked in shops where *everything* had to be written in COBOL, even if COBOL was very poor at handling the task at hand. In one memorable instance, I had to rely on knowing both how the actual hardware instructions worked AND what machine instructions the compiler would generate from a given construct. Change the compiler and you'd break the program, but the under the shop standards, I wasn't allowed to write and use a trivially easy Assembler subroutine that would have been clear, to the point, and (essentially) unbreakable.

If you want something that is simple, quick and easy to understand, BASIC is a pretty good choice. If you're going to write an operating system, then C is a good choice. Don't get them mixed up.

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

Re: "Beginners" put off...

Mon Jan 07, 2013 7:17 am

W. H. Heydt wrote:
danpeirce wrote:The other thing I was going to say after reading though all these posts is that the one thing that truly astounds me is that anyone would still be promoting basic. I thought basic in the form of gw-basic was dead 20 years ago.
One of the great things about Linux has always been the variety and quality of real programing languages that come with it (not as extras).
Well....an old engineering saying is, "Efficiency depends on what you want to effish."

What is a "good" programming language? Doesn't that depend on how you define "good"? In my experience, all too many people are told, "Do it in THIS language, because that is our shop standard". Or they code in particular language because it's one they know best. Or they code in a particular language because that's the "hot" language at the moment.

Personally, I laugh at some of the languages chosen to do certain types of programming, because the chosen language is rather ill adapted to the task at hand. A good example is using C to write business programs. Business applications almost invariably require you to deal in money and the first thing you need are fixed point variables with decimal fractions. COBOL does those very well. Most other languages do them very poorly and the workarounds are quite kludgy.

At the same time, I've worked in shops where *everything* had to be written in COBOL, even if COBOL was very poor at handling the task at hand. In one memorable instance, I had to rely on knowing both how the actual hardware instructions worked AND what machine instructions the compiler would generate from a given construct. Change the compiler and you'd break the program, but the under the shop standards, I wasn't allowed to write and use a trivially easy Assembler subroutine that would have been clear, to the point, and (essentially) unbreakable.

If you want something that is simple, quick and easy to understand, BASIC is a pretty good choice. If you're going to write an operating system, then C is a good choice. Don't get them mixed up.
But, Python is also pretty good choice. And is more modern and actually used in development, unlike BASIC which has rather fallen by the wayside. And of course, Python just has one version (well, v2 and v3, so technically two I suppose) whereas BASIC has a multitude of dialects which makes it more difficult to support.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I own the world’s worst thesaurus. Not only is it awful, it’s awful."

User avatar
danpeirce
Posts: 100
Joined: Thu May 10, 2012 8:32 am
Location: Richmond & Surrey BC Canada
Contact: Website

Re: "Beginners" put off...

Mon Jan 07, 2013 5:06 pm

W. H. Heydt wrote:
danpeirce wrote:The other thing I was going to say after reading though all these posts is that the one thing that truly astounds me is that anyone would still be promoting basic. I thought basic in the form of gw-basic was dead 20 years ago.
One of the great things about Linux has always been the variety and quality of real programing languages that come with it (not as extras).
Well....an old engineering saying is, "Efficiency depends on what you want to effish."

What is a "good" programming language? Doesn't that depend on how you define "good"? In my experience....
{snip}

There is no need to debate this here. The languages that ship with Linux are supported by big active open source communities. The development occurs because people want to use the languages for real world problems. Python is heavily influenced by ABC which was intended to be a replacement for BASIC. It appears to me as an excellent choice as a language to use to teach programming and to be still useful beyond learning the language and putting it to good use.
When the foundation developed the Raspberry Pi they did not design the software from the ground up but took what is freely available from the open source and free software communities. A very pragmatic approach that was not an option in the late 70s and early 80s.

pygmy_giant
Posts: 1562
Joined: Sun Mar 04, 2012 12:49 am

Re: "Beginners" put off...

Mon Jan 07, 2013 6:59 pm

I don't doubt Python is an excellent choice and probably best for most people and many situations + education (although I have never tried it). I think it is also important to point out that it is not the only choice and that it is not the best choice for every person and every application. I think that it would be good if a proliferation of languages and operating systems and cross-platform compatability were encouraged on the Pi.

Regarding BASIC - I dare you to tell anyone on the RISC OS Open forum that BASIC is a dead language. Also, 'Visual BASIC (.Net)' appears to be on the ascendancy and is very much used in development, although it is significantly different to BASICV, it shares the same roots.

Linux is also not the only operating system. Again, although it is arguably a good operating system and fantastically supported, it is not best for everyone and everything.

My preference is for C on RISC OS. Althought I occasionally struggle with it, it suits me, and I find it rewarding. I feel a bit left out in the cold as RISC OS is not as well supported as Linux, but for programming I have Lua, BASIC, ASM, C, C++, PHP, and Charm (its a language - no jokes please).

If Python for RISC OS gets ported to the Pi then that would be good too - there also seems to be some interest in BASIC on Linux.

I get that there is a need for the Foundation to focus support on one general purpose language and one operating system and that Python and Linux should be it - but I think that they should also continue to acknowledge the other options and maintain an inclusive attitude. That could even encourage people with other programming/OS preferences to try Linux/Python rather than be deterred from the Pi altogether from the start.

pygmy_giant
Posts: 1562
Joined: Sun Mar 04, 2012 12:49 am

Re: "Beginners" put off...

Mon Jan 07, 2013 8:45 pm

I think its also worth pointing out that for any beginner wanting to learn Assembly Language, BASICV and RISC OS provide a nice cuddly development enviromnement, as described in this book: http://www.amazon.co.uk/Raspberry-Pi-As ... 752&sr=8-1 - many advocates of BASICV on RISC OS use it in combination with assembly language for performance sake as RISC OS is leaner and faster than Linux.

I think BASIC + RISC OS should be seen as complimentary to Linux + Python and perhaps better suited to other things.

robhawkesrh
Posts: 2
Joined: Sun Jan 13, 2013 6:40 pm

Re: "Beginners" put off...

Tue Jan 15, 2013 6:50 pm

jodykingzett wrote:Sorry to say this guys but I am currently banging my head against the wall and am finding the multi-tudinal / multi-optional various forms of "apparent" help NOT helpful... :

1. Too much unexplained jargon
2. Too many links that don't work
3. Too many variations
4. Too much unexplained detail

I'm 35, having been using computers for years and started out on the zx spectrum, I was really looking forward to using my Raspberry Pi but currently it's sitting sadly in drawer. I can only imagine that a kid at primary school wouldn't know what hell was going on if he/she visited this site with a RaspberryPi in their hand...

PLEASE PLEASE PLEASE can someone make a "user" friendly beginner's guide.

Thanks
I’ve had my raspberry Pi since October and I have to say the more things I try to do with it the more I hate it!

I’m interested in control using the GPIO pins so I bought a Gertboard kit. It didn’t work straight away but that was not a hardware problem. Nowhere did it say you needed to use ./ before the commands. Once I’d sussed that the board worked OK.

I then bought 3 further items from another company selling interfaces for the Rpi. None of these worked, in spite of many e-mails to the company, and admissions of software errors.

After not being used over Xmas when it was restarted the clock would not update and said midnight 01-01-1970, and on inputting “startx” there is a brief flash of text and the screen goes blank.

This thing is NOT suitable for beginners. In spite of buying and using the Raspberry Pi user guide the lack of a real manual to refer to makes it frustrating especially when you see the success other people are having and then you realise by the terms they are using they are (or have access to) programmers

This has to be the most annoying piece of kit I’ve ever bought in 40+ years of interest in electronics/computers

Just a note:- By dissing the RPi I'm not doubting the validity of a moderators parents marriage certificate so don't get so sniffy!

Andrey
Posts: 78
Joined: Sat Sep 01, 2012 9:52 am

Re: "Beginners" put off...

Tue Jan 15, 2013 7:42 pm

Beginners can try BASIC in emulator :lol:

http://www.youtube.com/watch?v=_D3zyQi51-0

User avatar
danpeirce
Posts: 100
Joined: Thu May 10, 2012 8:32 am
Location: Richmond & Surrey BC Canada
Contact: Website

Re: "Beginners" put off...

Tue Jan 15, 2013 9:04 pm

Having had 18 years experience working in labs with adult students as an Electronics Technology Lab Instructor I can say there is no substitute for having an instructor around to help one out when stuck. Having said that there is no reason that a kid who has that resource could not play around with a raspberry pi at home to spend more time working on it.

It is so much easier to help someone in person when they can show you what they are doing since in that case the instructor can see the problem with his own eye's. A person who has a misconception of what is supposed to be happening cannot necessarily describe what is really happening.

The initial experience for someone getting exposed to the Raspberry Pi in a class setting is going to be completely different than the experience for someone ordering the board and other stuff on line.

gritz
Posts: 449
Joined: Sat Jan 28, 2012 2:33 am

Re: "Beginners" put off...

Wed Jan 16, 2013 7:01 am

danpeirce wrote:Having had 18 years experience working in labs with adult students as an Electronics Technology Lab Instructor I can say there is no substitute for having an instructor around to help one out when stuck. Having said that there is no reason that a kid who has that resource could not play around with a raspberry pi at home to spend more time working on it.

It is so much easier to help someone in person when they can show you what they are doing since in that case the instructor can see the problem with his own eye's. A person who has a misconception of what is supposed to be happening cannot necessarily describe what is really happening.

The initial experience for someone getting exposed to the Raspberry Pi in a class setting is going to be completely different than the experience for someone ordering the board and other stuff on line.
This. I've had a few training roles within manfacturing and my experience bears this out completely. Not just when there's a specific problem either, but with the whole "journey" that is imparting the knowledge for a specific task. People are all different - some very cautious, some too bold, some are fine with abstract concepts while others require a lot of context or even "anthropomorphism" of a particular siuation. There's still no substitute for providing an appropriate response in the first person, in realtime imo. Any training regime that is generic or "take it or leave it" runs the risk of losing lots of creative folks who just don't happen to have a particular narrow skillset.

Variety is the spice of life, after all.

User avatar
Nipper
Posts: 39
Joined: Tue Dec 25, 2012 4:55 pm

Re: "Beginners" put off...

Wed Jan 16, 2013 8:19 pm

Seems that Farnell have started shipping the Raspberry Pi SDCard with a different o/s:

http://uk.farnell.com/samsung/raspberry ... pberry-pi-

4gb/dp/2113756?ref=lookahead#
MEMORY, SDCARD, RASPBERRY PI, 4GB
SVHC: No SVHC (18-Jun-2012)
Data Rate: 4Mbps
Memory Features: 4GB Pre-programmed with Debian 6 Linux Operating System
Memory Size: 4GB
Memory Type: SD Card
Operating Voltage Range: 2.7V to 3.6V
Speed Class Rating: Class 4

Return to “Beginners”