Moose On The Loose wrote:
I have noticed other patterns that can serve as a guide:
If the writer of a program refuses to write a man page for the program the odds are the program is not very good. Refusal to write a man page seems to go along with a primadonna mind set.
Any software that includes the term "project" in its description of what you are going to do with it is likely not very good. It seems that when a writer of a program doesn't have a clear idea of what the program is going to do, they use the word "project" and the lack of knowing what they are writing before they start coding shows up in the performance of the program.
What a pleasure its been to read your post. I was really starting to think I had gone (more) nuts. I know I'm getting older and crabbier but... Gosh O mighty your totally spot on. Comments in source code are another hint that your about to get something great or something thats more trouble then its worth. I worked with a chap who wrote a comment remover so he could check off the "Must Supply Source" part of a contract he was working on. At the time I thought this was the worst thing I had ever heard of until I saw some code this fellow wrote WITH comments. It was almost unbearable to read it. This I was sure was the worst but I was wrong. I was scanning around the internet and found this wiki article
https://en.wikipedia.org/wiki/Obfuscated_code
OH MY GOD. They need a contest and programs to automate making crap code crapier? Someone please just kill me and get it over with.
I too have written a whole lot of 8051 code. This includes a project where the compiled result is well over 100K even with the text contents being compressed.
I would have to look but when I was doing the CAM system I think I had to use a Phillips part that was limited to no more then 64K and I think it was something slightly more then 32K. One more address line and a larger part.
This made me curious. I have a rough idea of how large the CAM system was that I wrote but I wondered about how large the source was versus the machine code. The idea being that large source versus compiled code is of interest. I'm not saying that all comments are useful. Its certainly possible to have a huge amount of junk comments versus the compiled output but I think its very likely that a close source to compiled result would be an obvious indication of high crapworthyness.
A quick peek at some old source indicates roughly 10:1 source to executable. Of course this is probably not a good measurement. I've seen 6 line "hello world" programs where the source to executable is the other way round like 1:100 using the "highly optimized" compiler.
Anyway - thanks for the comment on these IDEs. I had been thinking that maybe I'm just too fussy to do this kind of work again or that there is no way to do it in a way thats to my liking. The old tools (and I) still work.
Ahh turbo Pascal and C? I was at a Comdex where (Was it something Phillip or something Khan?) got up and started playing saxaphone. That was memorable. Based on what one of my coworkers said his C and Pascal compilers were quite good. The thing my chum said that I remembered was that Turbo meant you weren't standing around waiting forever. My own experience was with a compiler called A86 (Later A386) which was Faster then anything else that I could find. And if you knew the Intel Syntax you could just code. There were no picky weirdnesses (Or very few) that you had to enter to make the compiler happy. I think the author co wrote the first 8086 assembler? Eric Issacson. An interesting guy with some serious programming chops.
TI's "code composer" is a classic example of the dreadful thing you are talking about plus it is the example for the "project" problem. They even went so far as to make a thing called a "project" and a thing called a "workspace". Working together these make it so that the only program you can easily write is the "hello world" example used in the documentation. Try to have more than one person working on the project and matters get even worse.
Computer users should not have to know how to program. This is all part of the idea that software should do what is expected. In Kicad, if you put a resistor into the schematic, it should stay as a resistor and not suddenly mutate into an inductor. I have often been forced to work with software that does things like that.
This was badly worded on my part. I saw an old Video or Mr Jobs talking about children he had met who were using Apple IIs. He joked that they knew more about the Apple computer then he did. The gist of it was that he felt computers ought to be more like a blender. No instruction manual. No need to know anything but to pitch some foods into the blender and hit buttons until you had a smoothy. (A gray meat based smoothy - uck)
I managed some guys who wrote some pretty good code but did it using two or maybe up to 4 fingers. I seem to remember it was unusual for males to know how to type because I got a few weird looks when I was learning that skill. I can't say learning how to type was easy but it has been a skill that makes things go along faster. Anyway I remember how Mr Jobs was so intense about the mouse and how no one needed to press a keyboard button (or type anything) for the computer to save a file or print etc. Type, move hand on mouse, wiggle click, move hand to keyboard type and repeat.
One of the places I worked at had a pretty large keyboard that included keys like [IN] [OUT] [PRINT] [UP] [DOWN] everything but "Oops" that was considered an insult to the customers. Somewhere I have some keycaps that I had engraved that say SHIT! *As in you did something you wanted to UNDO which was what the company decided on. I'm clearly babbling and ranting again but the joke I had about the goal of mice based computing was that in the future they would go beyond typing letters and such. No keyboard at all! Lets say you wanted to write a form letter. First you wiggle the mouse and click the icon of an English knight. Then you clicked an icon of an antler topped animal. Your first line of text is complete and you never had to type anything!!! Brain free word processing.
Dear (deer icon) Sir (the English Knight SIR Icon)
Oh wait I did that in reverse order. I must be thinking Intel instead of Motorola or Z8000.
Almost like Cut and Past coding.