Loading ...
Sorry, an error occurred while loading the content.

Re: At last a start: Platform for robotics

Expand Messages
  • tcirobot
    ... It ... to ... Perhaps. ... a ... on ... think ... almost ... out ... For ... My own view is that a college should focus on teaching engineers how to define
    Message 1 of 274 , Feb 2, 2009
    • 0 Attachment
      --- In SeattleRobotics@yahoogroups.com, "David Wyland" <dcwyland@...>
      > I think this is on topic. It is a quote from "The Embedded Muse"
      > newsletter by Jack Gansssle, a noted guru of embedded systems.
      > "Computer Science Education
      > --------------------------
      > A number of recent articles in the computer science press complain
      > about the poor state of CS education. Companies and pundits decry
      > university's reliance on Java for teaching students how to be
      > effective programmers. I agree. While Java is a useful language
      > indeed, in the embedded space it has little market share. And the
      > strength of Java is also its weakness (at least for embedded work):
      > does a great job of insulating the developer from the hardware.
      > Yet half or more of the firmware developers I meet have EE degrees.
      > It's odd that these experts at transistor theory, electromagnetics,
      > and IC design spend their career cranking C and C++ code.
      > Perhaps the reason for this is the simplification of hardware and
      > explosion of firmware. I suspect there are more EEs around than
      > needed. Companies find them desirable for software development due
      > their deep knowledge of how things work.
      > But as the firmware's complexity increases it also becomes more like
      > application code. Implementing drivers and ISRs will always require
      > hardware insight, but that might be 1% of a large project. GUIs, net
      > connectivity, and data reduction looks pretty much the same whether
      > it's on a PC or an embedded system.
      > Some contend that EEs are better problem-solvers than CS folks, due
      > to their analytical nature that spouses find so infuriating.
      > I suspect most of those skills are developed on the job, and not as
      > result of academia.
      > EEs do learn an awful lot of software in college. But only in the
      > worst possible way. Few schools stress software engineering; most
      > teach people to write programs. "Here's the fundamentals of the
      > language, now write a program to do this." Process is almost unheard
      > of. Nearly none know about inspections, PSP, CMM, XP, or any other
      > disciplined development strategy.
      > CS majors get more of a sense of these techniques, though for them,
      > too, coding is generally the only thing that counts. They're graded
      > producing projects, not on how they build a project.
      > I think coding should be abolished in college, at least until the
      > Junior year. Any idiot can crank code. Stress design, process and
      > problem-solving early. These folks will mostly be working as part of
      > teams, not as solo heroes. Give them the skills they'll need to be
      > effective team members. Teach them to build big projects reliably.
      > Make them abhor cowboy development.
      > It matters little which methodology people learn. Teach them to
      > through implications of their design decisions, to model when
      > necessary, to review constantly, and to expect coding to be an
      > trivial endeavor.
      > My dream is for the new grad of the future, EE, CS or CE, to come
      > of school expecting businesses to employ some sort of disciplined
      > development process. When they find that their company uses heroics
      > and overtime I hope they are horrified. and quit. Let's hope they
      > demand real design, and they avoid plunging into coding too early.
      > though they may initially tilt at the windmills of inertia, in time
      > these people will be the team leads and then management. "
      > Dave Wyland

      My own view is that a college should focus on teaching engineers how
      to define problems (think). Once a problem is well defined then the
      solution becomes a matter of execution. It is the role of a business
      to define how to "do" things, and to get it done.

      I don't want drones coming of universities that can only function if
      everything is defined in terms of rigid process. Innovation is about
      thinking about problems from new perspectives, finding new solutions,
      and bringing them to market.

    • KM6VV
      Hi Peter, ... That would be much appreciated! ... That s right, it s like Pascal. I remember now. I think I ran across it on the Turbocnc list. Turbocnc is
      Message 274 of 274 , Feb 15, 2009
      • 0 Attachment
        Hi Peter,

        Peter Balch wrote:
        > Alan
        > OK, that would work. As I say, I'm very happy to give away all my
        > documentation of the interface. Only a couple of people have ever asked for
        > more info as though they were doing something technical.
        > I'll send you some stuff.

        That would be much appreciated!

        >>Well, not THAT hard to handle text in C! Don't know much about Delphi,
        >>something like BASIC, as I recall.

        That's right, it's like Pascal. I remember now. I think I ran across
        it on the Turbocnc list. Turbocnc is written in Pascal. No intent to
        start a flame war!

        > Wow! Prepare to duck. Expect to get flamed if you say things like that near
        > a Delphi fan. Delphi Pascal is about equivalent to C++ but with a very much
        > cleaner syntax and with much stronger typing. So bugs that can have you
        > stumped for an hour in C++ are either caught by the compiler or actually
        > impossible to write in the first place. Anything you can do in C, you can do
        > in Delphi - and write it faster. The code it produces is around 10% faster
        > than that produced by a C++ compiler even though all the run-time bounds
        > checking and the like is turned on. That surprises C programmers who believe
        > that, because C is lower-level than Pascal, it must produce faster code. In
        > fact, because Pascal was designed to be easy to compile, it's easier to
        > optimise. As for strings, since version 4, strings can be any length and are
        > kept on a heap with automatic garbage collection (along with other variable
        > length arrays). So you never have to worry about allocating buffers or
        > memory leaks. The Delphi SDK is so much faster and slicker than any C SDK
        > I've used. I reckon I can write apps for around 50% to 70% of what it would
        > cost in C++.

        Seems like it was hard to find a copy from Borland to compile Turbocnc
        with at the time. I'm used to C, like a pair of old shoes.

        > (I'm writing C, C++ and Obj-C just now on a Mac for the iPhone and it's
        > absolutely horrid having to worry about all that memory nonsense - the
        > compiler should do it for me. BTW There was a suggestion a month or so ago
        > that perhaps an iPhone or iPod Touch would be good as a robot's brain.
        > Forget it. The SDK is dreadful. But, much worse, getting an app that you've
        > written on your own Mac onto your own iPhone is fantastically complex,
        > unreliable and you have to pay Apple $99 for the priviledge to do so. Forums
        > and blogs are full of developers tearing their hair out trying to get
        > Apple's byzantine systems to work so they can actually run their own code on
        > their own phone. Wait for Google's Android OS.)
        > All the best.
        > Peter

        I don't have any experience with Mac or Apple's, and my phone is a very
        simple device. I think I'll stick to some of Microchip's offerings for
        my 'bots.

        Best regards,

        Alan KM6VV
      Your message has been successfully submitted and would be delivered to recipients shortly.