Thread: Languages used in Electrical Engineering

  1. #1
    Registered User
    Join Date
    Jul 2011
    Posts
    2

    Cool Languages used in Electrical Engineering

    I know this may have been asked or spoken about in the past, but i have a serious issue with C. In high school, i took programming and learned pascal, but that was a while ago. A couple years ago i learned C++ and i learned a few things but not a lot. Right now i'm taking C in college and i find it to be extremely hard or at least that's how my professor is making it. Once i get my EE degree i would like to work on my own projects besides what i would be doing at work and possibly even invent something, but i feel hindered because of the difficulty of C. And it's not that i can't program, but the programs we're assigned seem so useless and overly complicated. Once i get out of this class, which is the worst ........ ever, i want to learn another language at my own pace and doing things that are useful. Any advice on what i should learn? something that is applied in EE and can do as much as C without the uber complicartions? i feel my confidence has goone down because of this class lol i'm not even joking i feel like i'm gonna be a lousy EE if i dont master it but i know i won't so i need another solution. I woul appreciate advice from people that are actually EE and know about the matter, thank you.

  2. #2
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    Calm down and start C or C++ from scratch, following a good book and with a good compiler. Nothing is too complicated if you just try.

  3. #3
    Registered User
    Join Date
    Aug 2010
    Location
    Poland
    Posts
    733
    So finally, do you blame the C programming language, your professor/college, or both?
    I do not know much about electric engineering major, but as far as I know, low level programming (mainly assembly and C) dominates here. No doubt there are other special-purpose [scripting] languages, but I guess that understanding C is essential. Not to mention that learning C while having Pascal/C++ background should not be such a hard step.

  4. #4
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    And practice, practice, practice. Most of the programs I've ever written were "useless" - but for the fact that I gained experience in the language, improved my understanding of it, and have gained the skills necessary to write good "real" programs.

    If you want to invent something, then microcontrollers might be your best bet. Which means an understanding of 'C' and (at least for me personally) assembly language. My job now involves both circuit board design and coding of embedded devices. And I can do some pretty nifty stuff. But more importantly is the stuff I don't do for work, but do at home in my own little lab for enjoyment. Stick with it, and if you're really driven to create electric circuits, your motivation should carry you through.

  5. #5
    3735928559
    Join Date
    Mar 2008
    Location
    RTP
    Posts
    838
    tbh, it sounds like your attitude is holding you back more than anything else. i say this not as a slight against you, but as something i recognize in myself. just commit to solving the problem, let go of how annoying things are, and you'll undoubtedly find it's not so 'over complicated' after all.

  6. #6
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    I am a 4th year electrical engineering student.

    There is NO WAY you can do electrical engineering without C/C++. On PC you have a few more choices because many languages are supported. On embedded systems, manufacturers don't have resources to support multiple languages. They usually just pick one to support. The one that everyone knows and uses - C.

    On embedded systems it's C for lower end stuff, or C++ on higher end microcontrollers like ARM7/Cortex. Assembly is supported, too, but it's impractical to write everything in assembly. On PC you have a little more choices, but C/C++ is still the most popular by far (meaning, you'll find that many libraries are only available for C/C++).

    You can do component-level electrical engineering (schematics and PCB design), but at this age, it would be very foolish to do that since it's already dying. Those skills are very useful to have, but you don't want them to be the only skills you have. All the exciting stuff happening now is in digital or chip scale. Everything else (robotics, control, telecom, instrumentation, signal processing) require programming.

    Just learn it. It's not difficult. You'll get over it.

  7. #7
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    C++ is used in embedded systems, too, just not as much as C. Regardless to say, I would say it would be prudent to know both. Why limit your options?
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  8. #8
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by Elysia View Post
    C++ is used in embedded systems, too, just not as much as C.
    I don't have any statistics, but I'm not sure that is still true. Most embedded systems I've seen in the last few years have been written in C++ rather than C. A few were accompanied by claims they were written in C, despite the use of some C++ features.

    The most common language I've seen used by electrical or electronic engineers is broken english

    In terms of programming language, the ones I've seen them use most often are VHDL, Matlab (particularly the Simulink environment), Verilog, and SystemC (which is related to C++). After those come C, C++, and Fortran 77.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  9. #9
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    To my horror I read, Java is now used in Embedded system.
    I would guess a likely item to find Java in is an cable set-top box.
    Edit: I read a ad for a MCU that supported Embedded dotnet framework.

    Tim S.

  10. #10
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    I don't think you would find Java in a cable set-top box. Anything that requires performance, such as video compression/decompression, is likely written in C/C++.
    However, for GUI I might imagine Java being a candidate. It isn't as popular as C/C++ in the embedded world, however.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  11. #11
    Registered User
    Join Date
    May 2009
    Posts
    4,183
    Quote Originally Posted by Elysia View Post
    I don't think you would find Java in a cable set-top box. Anything that requires performance, such as video compression/decompression, is likely written in C/C++.
    However, for GUI I might imagine Java being a candidate. It isn't as popular as C/C++ in the embedded world, however.
    They were (about 2 or 3 years ago) talking about the Cable Cards used in Set top boxes to have Java code in them to be ran by the Set top box (Edit: This was I think a future possible feature).
    So, depending what you mean, it is likely the GUI on the Set Top Box will be controlled by Java.

    Note: Since the Cable Card support seems to be declining with the SDV change it might be a moot point.

    Edit: The dates on the files in link is mainly 2005; so, the idea might be older than I though.(Also, might be very dead.)
    http://www.jcp.org/en/jsr/detail?id=242

    Edit: 2008 article; I think it says Java is dead on the Set Top Box.
    http://robertmaldon.blogspot.com/200...d-by-java.html

    Edit: Wiki article implies its death in TV Sets in 2010.
    http://en.wikipedia.org/wiki/Tru2Way

    Tim S.
    Last edited by stahta01; 07-08-2011 at 07:41 AM.

  12. #12
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Cellular phones are technically embedded systems, and a number of models have supported Java applications (or applets?) for a while.

    There are a number of commercially available 32-bit microchips that directly execute Java (microcode), and are targeted for "home automation" systems (read: embedded systems in the home). Just as there are several available "system on a chip" that can host embedded linux or BSD installations.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  13. #13
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Modern mobile phones support a wide variety of programming languages ranging from C++, C#, Java ME, Java and Obj-C.
    Can mobile phones still be called embedded systems?
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  14. #14
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    There are lots of interpretations of what represents an embedded system versus other types of system (for example, "general purpose"). The definitions were never particularly precise, and the distinctions have been blurred - and increasingly blurring - for years.

    Hand-held computers have been on that middle ground for years, as they have been based on hardware and operating systems that is often associated with embedded systems, but also have "general purpose" attributes such as allow applications to be loaded to them and peripherals to be connected. Mobile phones are increasingly in that middle ground - they can be described as general purpose computers or as embedded systems, depending on where one defines the boundary to be.

    I recently built a NAS for a friend, based on a set of modern components that collectively have more general-purpose capabilities than some older desktop computers. The application is specialised, but the technology to build it was not.
    Last edited by grumpy; 07-09-2011 at 07:19 AM.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  15. #15
    Registered User
    Join Date
    Mar 2010
    Posts
    583
    I agree with the first reply.... just calm down and try taking C at a slower pace. C/C++ are definitely still the most heavily used programming languages in the embedded space. And even if I could suggest an alternative, I don't think there'd be any language that can do what C doesn't without being somewhat complicated.
    And yeah, you do have to write a lot lot lot of code before you're comfortable with it, even if they're frustrating convoluted exercises. But C is at least really close to the hardware -- if you learn assembly language at the same time you can bolster C knowledge holes by just looking at the disassembly. C++ is a bit harder to match up, and Java... is just magic and mysteries.

    For what it's worth - I wouldn't get long term demoralised about your shortcomings as a programmer: I know a fair few accomplished electronics engineers (I know it's not the same, but similarish) who loathe software and manage to completely avoid it, and when they do write code, it's not great. I guess that works better in a corporate environment than working for yourself though.

    C can be a bit daunting but I don't reckon you've got a choice, sorry! Stick at it and believe me it'll get easier.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. C instead of C++ for Engineering
    By millsy2000 in forum C Programming
    Replies: 8
    Last Post: 04-23-2010, 12:10 AM
  2. Electrical Engineering Class Code Help Please!!!!!
    By ProjectCapstone in forum C Programming
    Replies: 7
    Last Post: 07-26-2009, 11:28 PM
  3. what languages are fading ? what languages remain ?
    By dot_rain in forum Tech Board
    Replies: 32
    Last Post: 03-04-2004, 09:25 AM
  4. I'm going into engineering
    By Silvercord in forum A Brief History of Cprogramming.com
    Replies: 18
    Last Post: 02-24-2004, 10:26 AM
  5. Someone who knows alot abou electrical engineering, physics, and programming
    By Imperito in forum A Brief History of Cprogramming.com
    Replies: 4
    Last Post: 04-28-2002, 09:22 AM