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
Code Exchange
  • Technologies
  • More
Code Exchange
Polls What programming language should EE's learn first?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: bluescreen
  • Date Created: 13 Feb 2014 4:26 AM Date Created
  • Last Updated Last Updated: 11 Oct 2021 3:01 PM
  • Views 9931 views
  • Likes 0 likes
  • Comments 88 comments
Related
Recommended

What programming language should EE's learn first?

  • Share
  • History
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • johnbeetem
    johnbeetem over 12 years ago +2
    Oh goodie, language wars! Personally, I think C and C++ are terrible first programming languages. C is a great language for writing compact code that maps directly into machine language, but for teaching…
  • Former Member
    Former Member over 12 years ago +2
    Ruby! It's python's beautiful little sister.
  • Former Member
    Former Member over 12 years ago +2
    Very important distinction here is that the question specified "EE", not "CS"! EEs should learn C first, but not bother with C++ so much. C compilers are available for every processor made and by learning…
Parents
  • Former Member
    Former Member over 12 years ago

    If you want to learn programming then I think you should steer clear of the C family of languages as a  first language. Once you've got the basic ideas burnt into your brain then I'd guess you can introduce those languages since a lot of embedded stuff is done in it, although with developments like MicroPython (see Micro Python - Python for microcontrollers) then I'm not sure that it will be as relevant in the future.

     

    I voted for Python as a first language (it has a  simple syntax with fewer oddities than a lot of other languages, has fantastic libraries, and there's very little verbiage with it), but just having done some largish programming projects (non-embedded) I really appreciate a strongly typed language with a good IDE, e.g., VB.NET in Visual Studio, although this isn't terribly viable for EE work.

     

    As an aside look at http://www.nhtsa.gov/staticfiles/nvs/pdf/NASA_FR_Appendix_A_Software.pdf for details of the investigation that NASA did into the Unexplained Acceleration problems suffered by Toyota cars in the States. The software was all written in C, and the company has a mandatory programming style that forbids the use of certain parts of the language since they are the ones that  tend to cause problems.

     

    As CAR Hoare said "There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.". I think he was referring to C++.

     

    Some other quotes I found about other languages are at http://www.scriptol.com/programming/quotes.php.

     

    I particularly like the inventor of C++ on the entire topic: "There are only two kinds of programming languages: those people always *** about and those nobody uses.”

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • Former Member
    Former Member over 12 years ago

    If you want to learn programming then I think you should steer clear of the C family of languages as a  first language. Once you've got the basic ideas burnt into your brain then I'd guess you can introduce those languages since a lot of embedded stuff is done in it, although with developments like MicroPython (see Micro Python - Python for microcontrollers) then I'm not sure that it will be as relevant in the future.

     

    I voted for Python as a first language (it has a  simple syntax with fewer oddities than a lot of other languages, has fantastic libraries, and there's very little verbiage with it), but just having done some largish programming projects (non-embedded) I really appreciate a strongly typed language with a good IDE, e.g., VB.NET in Visual Studio, although this isn't terribly viable for EE work.

     

    As an aside look at http://www.nhtsa.gov/staticfiles/nvs/pdf/NASA_FR_Appendix_A_Software.pdf for details of the investigation that NASA did into the Unexplained Acceleration problems suffered by Toyota cars in the States. The software was all written in C, and the company has a mandatory programming style that forbids the use of certain parts of the language since they are the ones that  tend to cause problems.

     

    As CAR Hoare said "There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.". I think he was referring to C++.

     

    Some other quotes I found about other languages are at http://www.scriptol.com/programming/quotes.php.

     

    I particularly like the inventor of C++ on the entire topic: "There are only two kinds of programming languages: those people always *** about and those nobody uses.”

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • 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 © 2026 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