tekochip- I think you hit the nail on the head with "limited resources." Based on my experience in interviews and seeing CS's in action, it seems many CS schools don't touch on coding efficiency.
Now that I think about it, I haven't seen strong evidence CS schools even touch on good code. Graduates seem to hit the field either "having the knack," or (to paraphrase Steve Martin,) "not have knack.)
"The challenge is that in addition to creating the description of what happens when everything goes exactly right, it also needs to describe what happens when things don't function correctly."
William, that's a part of debugging process, which can be done only by an expert or developer.
That is for certain. The ability to make the process between program writing and the production of correctly functioning code can be quite daunting at best.
The closest I get to embedded code is writing detailed functional specifications that describe both the "screens" and the I/O actions in sequential detail. The challenge is that in addition to creating the description of what happens when everything goes exactly right, it also needs to describe what happens when things don't function correctly. That part requires an excellent understanding of the entire non-software portion of the system, and sometimes requires extensive discussions with the person writing the actual code. The problem there is that most programmers don't seem to be quite normal people. It is not clear to me if it is programming that makes them that way, or if they are programmers because they are that way.
William, learning a tool or software for professional work and learning a programming language is different. In some of the tools, command line access and writing scripts are very much requires for executing the batch file during simulation or synthesis. Such command line access may be difficult for most of the non-IT professionals.
AutoCAD wasn't the first drafting program at all, but that is when they started. Now they are an industry standard. The first "modern" as we know it CAD package that stuck. Keep in mind, Photoshop wasn't the first graphical program. The iPOD wasn't the first MP3 player either. But they are now considered the most important.
I agree apresher. I hired a couple of CS majors for my embedded designs and quickly found that they really didn't have the proper skill set for developing embedded designs. I'm sure there are CS guys that can get the job done, but EEs perform much better with the limited resources (execution speed, memory, etc) of an embedded design and the EEs also do a better job at troubleshooting system errors since they have a better understanding of glue logic and the other components in a system.
WilliamK, I agree with your perspective on the need for other skill sets beyond programming. The biggest challenge over the last number of years, and continuing into the future, is the need for multidisciplinary engineering teams that combine a broad set of capabilities from mechanical, to electrical, to electronic design and software. There's no doubt that engineers need to understand how software works but everyone doesn't need to have specific programming skills themselves.
Electrical and electronic engineering are quite a bit different from program writing, probably almost opposites. Yes, engineers do need to understand a lot about computers if they are qoing to design a system that uses or interfaces with a computer, but really, desgining circuits that actually function and are constrained by cost and size limitations is a quite different thing than creating code that is so very bloated that one person can't even read all of it, let alone understand exactly what it is doing.
Seriously doubt he ever really uttered it, but IBMs Thomas Watson supposedly said in the 1940s that there would only ever be a need for about 5 computers in the United States. Microcomputers changed that whole paradigm.
They came on the scene when computer science was making some great strides, and application software written by companies other than the computer manufacturer was really coming into its own.
BTW, AutoCAD was hardly the first Computer Aided Design software. There were numerous, completely incompatible and incomprehensible electonic drafting programs before it. AutoDesk had the vision to see that the PC would grow up.
As for Java, don't slight the contributions of Sun co-founder Bill Joy in the development and emergence of the language. Interestingly in light of recent issues with security, the license has always included a caveat that it was not to be used to program safety systems - medical, missiles, or nuclear sites.
Fortran IV on cards..... I was on my way to class and was running to cross the tracks before a train when I dropped my box full of cards. Uhm, the train ate my homework?
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 5
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This radio show will show what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.