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
    About the element14 Community
  • 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
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum software engineering;  was: Is this official blog article intended as a joke?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 62 replies
  • Subscribers 708 subscribers
  • Views 9793 views
  • Users 0 members are here
Related

software engineering;  was: Is this official blog article intended as a joke?

e14 Contributor
e14 Contributor over 13 years ago

http://www.element14.com/community/groups/raspberry-pi/blog/2013/05/24/getting-started-with-raspberry-pi--part-1

 

"With a  Raspberry Pi in hand, robotics is no more a fancy imaginary world of big and serious people but a real and authentic one."

 

"big and serious people"  Really???

"fancy imaginary world"  Really???

 

"With a normal computer that has a monitor, keyboard, mouse, printer and modem connected, hardly anything can be done, except the intended use."

 

"printer port"  Really???   have you heard of USB?  We're up to USB 3.0 now.

"modem port"  Really??? have you heard of ethernet?  We're up to 1 and 10 Gbit now.

Have you heard of the PCI Express bus on PC's?  (or formerly ISA and PCI)

 

"non-availability of an easy programming environment"  Really?!?!?

  • Sign in to reply
  • Cancel
  • johnbeetem
    johnbeetem over 13 years ago in reply to e14 Contributor

    coder27 wrote:

     

    As you probably know, there is a software engineering notion of "information hiding"

    that is often misunderstood.  The goal is to separate interface from implementation,

    with the implementation details hidden from users of the abstraction so that they can't

    unwittingly rely on them, which would endanger the system if the details are changed.

    I think the key is designing excellent interfaces between layers and writing excellent documentation to define those interfaces so that people can develop separate pieces and have them work together properly when integrated.  This goes along with information hiding, since if the interfaces are designed and documented well enough there is rarely a need to peek beyond the interface.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 13 years ago in reply to e14 Contributor

    coder27 wrote:

     

    As you probably know, there is a software engineering notion of "information hiding"

    I'm aware of the idea, and that most current programmers have fallen for it.

     

    You can't seriously think that if the interface specifies that you're getting an integer binary value that it's ok for the implementation to change it to a trinary integer (or anything else for that matter - opaque value maybe).  To do that obviously breaks the agreement the interface provides, the consumer no longer knows how to store the value it's been given never mind what to do with it.

     

    Indeed, whether we like it, agree or not, the consumer is inextricably and unavoidably reliant on the implementation - even if it's not allowed to know any of the hidden details.

     

    I was reminded about this discussion while reading the stuff on avoid_safe_mode=1 in the other thread earlier - everything hidden behind an interface that the user likely doesn't even know exists. Closed source too, so no way to know the details. You're presented with something that's not right, not expected, and with no explanation. Not helpful.  What's worse is that he's not only dependant on the implementation, he needs to know all those hidden details to work out how to fix it.

     

    Morgaine's right, the whole thing is a mess. I don't have a better alternative, or have a clue how to fix it, but I know what we're doing today is the wrong thing and we're unlikely to solve it while we keep digging.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 13 years ago in reply to johnbeetem

    John Beetem wrote:

     

    Well, not everybody is a good salesman.

    Very true. Engineers also often have a way of seeing the facts quite clearly, whether they like what they see is a different question.  Salesmen don't care about the facts and that tends to put salesmen and engineers at odds - the engineer can smell the bullshit the salesman is shoveling regardless of how good the salesman makes it appear.

     

    I had the misfortune of having a salesman in the desk over the partition from me for a while, not a pleasant experience and if hadn't been for the partition it would have been much worse

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 13 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    In fact, the finger of blame should mostly point at the "geniuses" of the field because they should be informed enough to understand the root cause of the problem, and able to communicate it to others, including management and beancounters.  They aren't, and they don't.

    Bit of a catch22 there though, I tend to find that even when you do understand a problem it's difficult if not impossible to communicate it to non technical people because fundamentally we don't think in the same terms anymore.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 13 years ago in reply to e14 Contributor

    selsinork wrote:

     

    Bit of a catch22 there though, I tend to find that even when you do understand a problem it's difficult if not impossible to communicate it to non technical people because fundamentally we don't think in the same terms anymore.

     

    Yes, communication can be very difficult.  It becomes even more difficult when engineers see the problem but don't yet have a full solution to offer, because then the communication can be perceived as destruction of an ongoing process without purpose rather than an earnest warning that a cliff lies ahead.

     

    The software crisis lies in that category,  the problem being blatantly obvious to anyone with even half an eye open, yet no full solution being available even in the halls of academia.  Fortunately many partial solutions exist, or at least aids that help avoid the most elementary sources of failure, such as defensive programming practices and test-driven development.

     

    Rather remarkably though, and very unfortunately, advocating even for such simple and relatively painless strategies often falls on deaf ears, for one really terrible reason --- we're human, and deep down it seems that we don't really want to face our own fallibility, even those who recognize the problem.  The "coolness" of programming exacerbates this further, as perhaps a majority of programmers are so busy having fun that they have no inclination to look further than the tips of their fingers.

     

    The problem isn't going to be solved for a long while yet.  There are too many factors reinforcing it, and they're not just technical.

     

    Morgaine.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • element14Dave
    element14Dave over 13 years ago in reply to morgaine

    Hey all, I have moved this discussion to our Raspberry Pi group from Feedback and Support.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 13 years ago in reply to element14Dave

    Dave,

    Hey all, I have moved this discussion to our Raspberry Pi group from Feedback and Support.

    The article really is intended for Feedback and Support.  We're just keeping the discussion

    going so it stays visible.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 13 years ago

    split discussion.  Original question is back in Feedback and Support.  Changed title

    of this thread to software engineering.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 13 years ago in reply to e14 Contributor

    selsinork wrote:

     

    ... Salesmen don't care about the facts and that tends to put salesmen and engineers at odds - the engineer can smell the bullshit the salesman is shoveling regardless of how good the salesman makes it appear.

     

    I had the misfortune of having a salesman in the desk over the partition from me for a while, not a pleasant experience and if hadn't been for the partition it would have been much worse

    I had a similar experience, though in my case the salesman two cubes away was quite likeable and entertaining.  However, I often heard him talking to prospects trying to sell capabilities I knew were nowhere near being ready for customers.

     

    I could always tell when he was lying, because he prefixed each lie with "to be perfectly honest..."

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 13 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    ... The software crisis lies in that category,  the problem being blatantly obvious to anyone with even half an eye open, yet no full solution being available even in the halls of academia... 

    Personally, I don't expect answers to come from academia, at least not from computer science.  I have seen way too much hostility to new ideas in academia (personal experience limited to USA), and anything that requires cooperation is unlikely to get very far in that environment.  Look at the some of the shouting matches we occasionally see here at element14, and we're usually Quiet and Refined image.

     

    I see solutions coming from individuals or maybe groups of 2-3, and those solutions will have to succeed in spite of the hostility they will face.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
<>
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.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube