Unconfigured Ad Widget

Collapse

Using a Raspberry Pi to learn programming?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • vliberatore
    CGN/CGSSA Contributor
    CGN Contributor
    • Dec 2011
    • 10055

    Using a Raspberry Pi to learn programming?

    Recently I've wanted to start to try to learn some basic programming. I've been told that the best way to go about this is to buy a Raspberry Pi and get started with Python. That way I get instant feedback and can scale up what I do as I get better at it. The other upside is that I'm not out too much money if it turns out that I hate it.

    Here's where I'm having trouble. There are so many accessories and options that I'm feeling overwhelmed. From what I gather, I need to board, keyboard, wifi/ethernet connection, hdmi cord/monitor, and a mouse. Anything else is extra. For those who have experience with this, what would be a good kit to get someone who is new to programming started? Is there anything to avoid? Any suggestions would be appreciated.

    Thanks in advance!
    Originally posted by fighterpilot562
    Damn it man! We could have got drunk, called a taxi and drop by Kest house with a mega phone.
  • #2
    Satex
    CGN/CGSSA Contributor
    CGN Contributor
    • Feb 2006
    • 3501

    Yes, a rpi is an ok platform to play around with python, php, C. Just keep in mind it won't be blazing fast. Think of a rpi as a very low cost computer.
    Folks that purchase it typically have a hdmi monitor, usb keyboard, and usb mouse laying around so it's not an extra cost. Also, you don't need a wifi adapter, just plug it into your home network using an Ethernet cable.

    My rule about learning a new language is that I have to have something in mind to use it for - otherwise, you'll get through the "hello world" lesson and be done.

    Comment

    • #3
      Satex
      CGN/CGSSA Contributor
      CGN Contributor
      • Feb 2006
      • 3501

      Another thought, you can download Python binaries for Windows as well, so that won't cost you anything.

      Another option, download Virtualbox and install Centos in it. That will provide you with a real Linux environment virtualized under your Windows machine. This will be much more powerful than rpi and cost you nothing. It will take you about an hour to install once you have Centos downloaded.

      Comment

      • #4
        dscoduc
        Senior Member
        • Jan 2012
        • 845

        (Almost) Any computer can be used to learn programming. Deciding what language to learn is the more difficult question... The choice in language may depend on the platform you wish to write code. For example, writing Apple iPhone apps will require a different language than an Android phone. Developing web sites can also depend on either the PHP language, ASP.NET, or a slew of other programming languages like Java, JavaScript, Ruby, etc...

        Assuming you want to learn in the Linux platform then any old PC can be used or a Raspberry Pi can also be used. A dedicated monitor, keyboard, WiFi adapter, and even a mouse can all be hooked up to the Pi and used to create your code.

        One suggestion I have that may help you understand the basic structure of programming is to visit the Scratch website. You can learn to write basic coding structures for free online. There is also a downloadable (offline) version of Scratch for the Raspberry Pi that you can use offline.

        Good luck!

        Comment

        • #5
          orangeusa
          • Jul 2009
          • 9055

          Uhh, the Broadcom chip used in the RPI is a beast. I tried to buy them for usage at work, and Broadcom won't sell them. Fast ARM with a lot of peripherals.

          They are a far cry from the Arduino/slow stuff that is based on AVR micros.

          .

          Comment

          • #6
            DVSmith
            Cantankerous old coot
            CGN Contributor - Lifetime
            • Dec 2007
            • 3702

            rpi is the current version of the Timex Sinclair. You can do as much with it or as little with it as you want. Start out simple. Make an LED blink:
            LED Blinking With Raspberry Pi: One of the classic electronic analogy to "Hello World" is to make an LED blink. Raspberry Pi has 8 General Purpose Input/Output pins( 4,17,18,21,22,23,24,25) which can be configured as input/output and turned on/off via software.In this Instruct…


            Build on that.

            Comment

            • #7
              orangeusa
              • Jul 2009
              • 9055

              Originally posted by DVSmith
              rpi is the current version of the Timex Sinclair. You can do as much with it or as little with it as you want. Start out simple. Make an LED blink:
              LED Blinking With Raspberry Pi: One of the classic electronic analogy to "Hello World" is to make an LED blink. Raspberry Pi has 8 General Purpose Input/Output pins( 4,17,18,21,22,23,24,25) which can be configured as input/output and turned on/off via software.In this Instruct…


              Build on that.
              OMG. Timex Sinclair - are you kidding? It couldn't run a USB or LAN protocol stack in a million years. My first computer was a Rockwell AIM65, then got a used Altair 8800 (which was a bugger to program), Commodore 64. All were laughable.

              Lots of folks confuse the crappy Arduino with the RPI. I'm not wild about it since Broadcom won't sell it as a mass market product. But Freescale and others have equivalents that are just as fast.

              .

              Comment

              • #8
                orangeusa
                • Jul 2009
                • 9055

                OP - these are not platforms to learn programming. Most folks learned on PC's running a version of basic.

                They are platforms for attempting to learn / play with hardware for software nerds. And yes, there is a heavy bent towards Linux - which is not an easy learning curve.

                You might be better off trying to get used to some simple Basic or Java on a PC, then move on as you are more comfortable. (Nobody uses basic anymore, but it's really easy to learn)..

                .

                Comment

                • #9
                  DVSmith
                  Cantankerous old coot
                  CGN Contributor - Lifetime
                  • Dec 2007
                  • 3702

                  Originally posted by orangeusa
                  OMG. Timex Sinclair - are you kidding? It couldn't run a USB or LAN protocol stack in a million years. My first computer was a Rockwell AIM65, then got a used Altair 8800 (which was a bugger to program), Commodore 64. All were laughable.

                  Lots of folks confuse the crappy Arduino with the RPI. I'm not wild about it since Broadcom won't sell it as a mass market product. But Freescale and others have equivalents that are just as fast.

                  .
                  Good grief, my point was that they are a cheep entries to playing with hardware. You computer guys a are FAR too literal. Peel yourself off the ceiling and play with the hardware a little. It is still fun! I promise!

                  Comment

                  • #10
                    orangeusa
                    • Jul 2009
                    • 9055

                    I'm a hardware / firmware guy My only point was that these platforms are not as trivial as folks think. Or as easy to learn.

                    Good old BASIC. I miss it.

                    .

                    Comment

                    • #11
                      vliberatore
                      CGN/CGSSA Contributor
                      CGN Contributor
                      • Dec 2011
                      • 10055

                      Originally posted by orangeusa
                      I'm a hardware / firmware guy My only point was that these platforms are not as trivial as folks think. Or as easy to learn.

                      Good old BASIC. I miss it.

                      .
                      Thanks for the input, I really do appreciate it. The reason I'm leaning towards the RPI instead of on my PC because I was told that the RPI would provide more instant feedback. The thought is that rather than just writing code, I can see immediately what I'm doing...like making a light blink.

                      I honestly don't have much in mind as far as what languages I want to learn other than wanting to be able to understand some basic programming languages, possibly develop simple apps, nerd out (this is a positive for those who are thinking this might be a diss), and put it on my resume.
                      Originally posted by fighterpilot562
                      Damn it man! We could have got drunk, called a taxi and drop by Kest house with a mega phone.

                      Comment

                      • #12
                        yellowsulphur
                        Senior Member
                        • May 2007
                        • 1642

                        Python binaries:
                        The official home of the Python Programming Language


                        Pycharm, a great python IDE:

                        Comment

                        • #13
                          ldsnet
                          Senior Member
                          • Oct 2008
                          • 1418

                          Satex is right!
                          Learning to program on a Pi also includes learning a bit about Linux. If you already have a computer, you can skip the Pi (for now) and install a VM (virtual machine) on your existing computer and load what ever version of Linux you want into the VM (Centos, Ubuntu, Debian . . . the list is endless)

                          That way you can learn to program in Linux within a valid environment and it will be way faster than a Pi. Don't get me wrong, the Pi is cool (I have 2 of them) but they have limitations. The only catch is if you write code in a VM then attempt to move it to the Rpi, it might not work; they use different libraries for different CPU's!

                          Comment

                          • #14
                            yellowsulphur
                            Senior Member
                            • May 2007
                            • 1642

                            Originally posted by ldsnet
                            The only catch is if you write code in a VM then attempt to move it to the Rpi, it might not work; they use different libraries for different CPU's!
                            Python is somewhat of an interpreted language and should run fine across platforms as long as Python is installed. My experience is with Windows, Linux, and Beaglebone Black. I am not an expert and probably wrong

                            Comment

                            • #15
                              Deadbolt
                              CGSSA Associate
                              • Dec 2009
                              • 6552

                              Originally posted by Satex
                              Yes, a rpi is an ok platform to play around with python, php, C. Just keep in mind it won't be blazing fast. Think of a rpi as a very low cost computer.
                              Folks that purchase it typically have a hdmi monitor, usb keyboard, and usb mouse laying around so it's not an extra cost. Also, you don't need a wifi adapter, just plug it into your home network using an Ethernet cable.

                              My rule about learning a new language is that I have to have something in mind to use it for - otherwise, you'll get through the "hello world" lesson and be done.
                              ^ well said
                              Just another Boy and His Dog.

                              Comment

                              Working...
                              UA-8071174-1