element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum How do I program? (I'm a beginner)
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 4 replies
  • Subscribers 474 subscribers
  • Views 428 views
  • Users 0 members are here
  • Design
  • development
  • programmable_logic
  • software
Related

How do I program? (I'm a beginner)

Former Member
Former Member over 15 years ago

I've used Python and Small Office Basic, only nothing sticks! I've never done it before but I've been interested in it for a while. Any programs I should use or any online classes that are best are appreciated!

  • Sign in to reply
  • Cancel
Parents
  • cookieglitch
    cookieglitch over 15 years ago

    Despite being a software engineer, I can't give you any specific suggestions for a program to use (In a Use X, the rest are wrong kind of way), I find a lot of that, especially in terms of IDEs, is personal preference. For one language I prefer using a text editor and a command line, while past colleagues have stuck with a fancy suite they didn't use half of. For getting started however, I would not let this worry you at all, your choice of environment should be something to consider later, first is the language itself.

     

    For embedded systems work, I'd go with C, and later C++ (Or the other way round if you really want). Compared to other languages I "know", I didn't exactly follow any guides for this one, over time however I have found one or two resources to get going, the main site that I use is this one. It covers C and C++, everything from the basics to programming graphical interfaces. Obviously for working with your MCUs, half of that is useless, but the basics will get you going. There are a few books out there that may prove useful, I use Programming in C (Developer's Library) by Stephen Kochan, its a reasonable introduction and a handy reference. In terms of programming for chips, I would actually suggest getting something like an Arduino. Not just because I'm a fan of them, but because of the advantage they provide to getting started. The IDE and attached software takes care of the compiling and downloading side for you leaving you to put together the electronics, and concentrate on the programming. While it is not strictly C, it does provide the chance to pick up the basics (Loops, If statements etc), without having to worry about interacting with the hardware on a low level (No need to fiddle with individual bits until you are ready). Once you are comfortable with that, it is not a great leap to doing it on your own boards using C and your own libraries.

     

    For desktop applications, I would suggest sticking with Python and C. As you are aware, Python is pretty simple to get the hang of, with the addition of the right imports, it can be used to interact with your hardware over a serial connection. For example, the serial library and <100 lines can get you exchanging strings of characters over USB with your device, whether it be an Arduino or an XBee or whatever suitably wired and programmed item it is. As mentioned above, C works just as well. In addition, if you are feeling brave I would also suggest having a look at Java. Despite the criticism it may get for whatever reason, it is a pretty useful language (Mobile phone applications anyone?) and easy to pick up from a C/C++ background. For learning it, the best source I have found so far is from Oracle themselves. This page takes you through the basics of the language and gets you started with compiling and running. As the main guide suggests, there are two main ways of doing it, using the command line and with NetBeans. Netbeans is worth checking out, while it does support other languages, from a java development perspective, its very useful in terms of tools for beginners, including automatic generation of build files (and a whole other list of things you don't need to worry about).

     

    Whatever language you learn, the best advice I can give is to stick with it and don't forget to google. More often than not, those confusing errors you will get can be solved by pasting the message into google. All else fails, find a programmer or two and bribe with their beverage of choice for help image

     

    Good luck learning, before you know it you'll be hacking away without a care. Any questions just shout, it is 04:30 so I highly expect this entire post to be a bit of a mess...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • cookieglitch
    cookieglitch over 15 years ago

    Despite being a software engineer, I can't give you any specific suggestions for a program to use (In a Use X, the rest are wrong kind of way), I find a lot of that, especially in terms of IDEs, is personal preference. For one language I prefer using a text editor and a command line, while past colleagues have stuck with a fancy suite they didn't use half of. For getting started however, I would not let this worry you at all, your choice of environment should be something to consider later, first is the language itself.

     

    For embedded systems work, I'd go with C, and later C++ (Or the other way round if you really want). Compared to other languages I "know", I didn't exactly follow any guides for this one, over time however I have found one or two resources to get going, the main site that I use is this one. It covers C and C++, everything from the basics to programming graphical interfaces. Obviously for working with your MCUs, half of that is useless, but the basics will get you going. There are a few books out there that may prove useful, I use Programming in C (Developer's Library) by Stephen Kochan, its a reasonable introduction and a handy reference. In terms of programming for chips, I would actually suggest getting something like an Arduino. Not just because I'm a fan of them, but because of the advantage they provide to getting started. The IDE and attached software takes care of the compiling and downloading side for you leaving you to put together the electronics, and concentrate on the programming. While it is not strictly C, it does provide the chance to pick up the basics (Loops, If statements etc), without having to worry about interacting with the hardware on a low level (No need to fiddle with individual bits until you are ready). Once you are comfortable with that, it is not a great leap to doing it on your own boards using C and your own libraries.

     

    For desktop applications, I would suggest sticking with Python and C. As you are aware, Python is pretty simple to get the hang of, with the addition of the right imports, it can be used to interact with your hardware over a serial connection. For example, the serial library and <100 lines can get you exchanging strings of characters over USB with your device, whether it be an Arduino or an XBee or whatever suitably wired and programmed item it is. As mentioned above, C works just as well. In addition, if you are feeling brave I would also suggest having a look at Java. Despite the criticism it may get for whatever reason, it is a pretty useful language (Mobile phone applications anyone?) and easy to pick up from a C/C++ background. For learning it, the best source I have found so far is from Oracle themselves. This page takes you through the basics of the language and gets you started with compiling and running. As the main guide suggests, there are two main ways of doing it, using the command line and with NetBeans. Netbeans is worth checking out, while it does support other languages, from a java development perspective, its very useful in terms of tools for beginners, including automatic generation of build files (and a whole other list of things you don't need to worry about).

     

    Whatever language you learn, the best advice I can give is to stick with it and don't forget to google. More often than not, those confusing errors you will get can be solved by pasting the message into google. All else fails, find a programmer or two and bribe with their beverage of choice for help image

     

    Good luck learning, before you know it you'll be hacking away without a care. Any questions just shout, it is 04:30 so I highly expect this entire post to be a bit of a mess...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube