From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_40,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,307c7e31005a8fba,start X-Google-Attributes: gid103376,public From: "Ken Mays" Subject: A thought Date: 1998/01/10 Message-ID: <53743972@NEWS.SAIC.COM>#1/1 X-Deja-AN: 314697347 X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Organization: SAIC Newsgroups: comp.lang.ada Date: 1998-01-10T00:00:00+00:00 List-Id: Hmmm, I've been reading a lot of posts so here is some meat to chew on. I was at a company where the embedded developers don't use Ada95. They use the C programming language. Now, this state of the art development firm also used Java. Not the JDK v1.1.5 but JDK 1.0.2. A sprinkle of engineers used MicroSoft's Visual C++. A few had the latest versions. Others needed the updated service packs. The engineers would drink coffee and discuss how they were ex-Borland C++ users. Life was good. Now for embedded systems development, Ada95 is not a concept to some engineers. Notice I'm not saying software engineer. I don't mean computer scientists or programmer/analyst. I'm speaking of electronic/electrical engineers. Computer Science graduates usually are not knowledgeable on software engineering principles. Software reuse is meaningless. CASE is a case of beer. CMM is a channel on cable. Reality is that most engineers are just engineers and careless about quality programming. They'll just hack everything together to get it working. Hell with documentation of code or OOD/OOP. Hell with data or system modeling. The commercial market is get it done yesterday. No one has time to read a book-except if you're traveling. Just think of all the graphic cards for the PC market and driver updates. How buggy are the drivers or firmware? Should you run to the engineers and blame them for using C/C++?? Bad programming design and concept? Bad methodologies?? Bad training?? Bad management?? So in this very real state-of-the-art company, you learn its the processes and proper use of the right tool for the job that really matter in the end. Sometimes you are stuck with what the manufacturers give you. Also, bad training and development processes should be evaluated. Its like installing a water heater or maintaining one. You either do it right or wrong. The wrong way may kill you or shorten the heater's life. The right way is reading the darn manual and making sure you had proper training on installing and maintaining water heaters (and the brand you are fooling with). With this concept in mind, why do we treat software development any different?? To make it this an Ada95 topic, there is a right way to program in Ada95 and a wrong way. There are right ways to use Ada95 and wrong ways. I think a lot of people get stuck with bad training and deficient tools to learn from or use. I'm tired of reading books that miss the training aspect. The examples are buggy and non-informative. the example should be the building block of what you are explaining. Not a "look at this neat code" thing. People should explain examples and what the lines of code are doing. Remember the K.I.S.S. theory? Its like teaching me ANSI C++ by using Visual C++/MFC examples (well ok, you got me). So if I read an Ada95 book and apply the examples, the examples should compile on Gnat v3.10p1? Ok, that's a start. Now do you mind explaining to me what I just typed in or loaded from the CD? Lets think of the people who are reading your book at ALL levels. Have we gotten so educated that we forgot that most of the people in America have 7th-9th grade reading levels? Even through 10th-12th grade, most people keep a very simple reading level. What's the reading level of most newspapers and magazines? High school or college? Provide people with good books that are well written and understandable. Provide examples that will mean something to people. Explain the example and use it as a builkding block. Yata-yata-yata. So for the state-of-the-art companies out there, stop working in chaos. Pick good tools and provide proper training. Teach them about debugging and error handling. Teach them how to check for memory leaks. Show them how to use profilers and documentation tools. Provide them with a mentor or mentors who at least have a clue. Stop writing software that is just good-enough when its full of bugs and crashes too often!!! I can only think of Sun's JDK. Buggy, but well supported. Oh well. Just a thought. I'm not right about everything so flaming not necessary. Even though it may be good for the soul. ;o) -- Ken Mays, Systems Architect/Engineer SAIC/MicroSoft Sitebuilder http://www.saic.com