|
|
-
Lost Programming Skills
"....Flowcharts help with the "just what is it that you're trying do?" view. Lists of requirements don't show interdependencies and how things fit together. Flowcharts are a visual systematic approach, in a world where particularization seems to have eclipsed looking at software from a systems perspective...."
http://www.pcworld.com/article/23742...ng_skills.html
“Put your works into the hands of the Lord, and your purposes will be made certain." - Proverbs 16:3
"Wherefore by their fruits ye shall know them." - Matthew 7:20
"Let your light so shine before men, that they may see your good works, and glorify your Father which is in heaven." - Matthew 5:16
"Be not deceived; God is not mocked: for whatsoever a man soweth, that shall he also reap."
- Galatians 6:7
" And the multitude of them that believed were of one heart and of one soul: neither said any of them that ought of the things which he possessed was his own; but they had all things common." - Acts 4:32
-
I'm guilty of not using flowcharts for my coding and have set myself back a month on the current software I'm coding because of it. Lesson learned! The irony is that when I was a technical writer I insisted on using flowcharts in manuals to make understanding processes easier and faster.
To make a program "bulletproof" requires a lot of overhead code. If I were to consider every possible way a user could cause a fault or error message it would at least double the time for development, and that's a problem: balancing cost (in person-hours) and quality. If not nearly all the time, quality suffers because Management dictates that a product be shipped by "x" date.
Another issue is that developers wrongfully assume that all users are competent, wizened computer users who know better not to "do this" else something bad will happen--that's _far_ from reality unless you're targeting a specific niche or group of users who are computer-wizened. In actuality, the source of this problem is the developer for not creating a UI that's intuitive--this is why Apple's products are such successes: they're intuitive. The worst example of not being intuitive is the program thousands of schools are using (including ours): PowerSchool. That program is hands-down the worst program I've ever encountered both in design and functionality; you can really tell it was designed by an engineer for an engineer, not an end-user...and at $30K a pop for the program you'd think Pearson (the company that owns it) would know better.
Anyway, back to coding.
There's a term for the "get it out now--fix it later" mentality of coding: technological debt. This means that if you don't do it right the first time it'll cost you later in person-hours and profit because the staff is busy fixing coding issues instead of focusing on next version improvements. Again, Management doesn't get it.
Okay, rant over.
-
Tho' I haven't done anything now for a few years, I used to do add-on scenery for Flight Sim 2002/2004.
What strike me now about current addons is that the file sizes have gone up in leaps and bounds - far out of proportion to the actual improvements in the scenery.
This "growth" has been noticable in almost all other kinds of software from the past 3 or 4 years - seems to me programmers are getting lazy in this age of terabyte HDDs .
-
 Originally Posted by G4OTU
Tho' I haven't done anything now for a few years, I used to do add-on scenery for Flight Sim 2002/2004.
What strike me now about current addons is that the file sizes have gone up in leaps and bounds - far out of proportion to the actual improvements in the scenery.
This "growth" has been noticable in almost all other kinds of software from the past 3 or 4 years - seems to me programmers are getting lazy in this age of terabyte HDDs .
It's been going on longer than that.
When economies of scale started kicking in on memory and hard drives developers thought all that extra horsepower was an invitation to get lazy. Nobody writes tight code anymore. First class any computer science major should take is Assembly language. Just a semester and yes nobody will probably ever use it again but it would teach folks how to count bytes used. Even better if they were programming PIC's or something like that with limited memory.
I'd be willing to bet you could cut 20-30% of the code out of Windows, any flavor, and not adversely effect functionality.
CW is a manually controlled, message asynchronous, simplex chat mode used without FEC.
"The democracy will cease to exist when you take away from those who are willing to work and give to those who would not." -- Thomas Jefferson
DX Code of Conduct
Registered Linux User #307249
ACØH
SPAR
ARRL
SKCC #215
NAQCC #3441
FISTS #11993

-
I'm not sure if flowcharts are necessarily the modern solution but I think that in general, things in the software development world are getting better. There is a big push towards more structured, professional methodologies.
I'm talking about things like "test driven development", XP or "extreme programming", "aspect orientated development" etc. As the sole programmer where I work, it can be a challenge to keep up with it all and decide what is worth spending the time to learn but I think most of it is a step in the right direction.
Good frameworks help too so the average programmer doesn't need to do the low level "plumbing" stuff for each project. An example of that would be jQuery which has revolutionized JavaScript development. The languages are getting better too. In the Microsoft .NET world, something call LINQ is seriously awesome.
Like most programers, I work mostly with high level languages, far away from the bare metal, but I do agree that having a knowledge of the lower layers helps to give a feel for what's really happening. I have that from plenty of earlier experience with Z-80 assembler, some professionally and some for ham projects (RTTY on TRS-80!) and more recently PICs and Arduino. But... premature or excessive optimization is a costly trap to fall into. It's hard to imagine what would be gained in reducing the code size of a Windows application by 30%. Very optimal tight code might give a geeky programmer a sense of achievement but it can be a pain for anyone to maintain later.
-
Talk about lost programming skills! I spent a lot of personal time learning (and programming) Basic for Sinclair ZX-81 and Timex-Sinclair-1000 computers. That helped a bit for learning Commodore-64 Basic, but I never got fully into that. I did do a little work in dBase-II (I think it was) but the indented command line logic messed with my head so I didn't stick with it. Heck, the switch from digitizer and puck to using a mouse for my CAD job at work was traumatic for me. So aside from a few DOS batch files and maybe a few slightly deeper ventures into Unix "programs", I've done no real programming since.
What a terrible loss to mankind.
Last edited by WA4BRL; 08-07-2011 at 05:44 PM.
-----------
73, Steve
-----------
41 years in Amateur Radio
-
The complexity of modern multitasking, virtualized environments certainly makes it tougher to know what's going on. Developers rely on a lot of 'canned' code these days, stuff that is far beyond their particular skill set. You can drive a car without knowing what's under the hood, but you can't fix one that way, though people will try.
EchoLink, IRLP and DSTAR - adding interest to repeaters worldwide 24X7
-
It's hard to imagine that today's smartphones have more "computer power" than the 1st machines that were placed into the early rockets of our space program. However, without the technology that was developed by the space program, we would NOT have the smartphones and other computerized equipment that we have today.
I feel it is a huge shame and mistake to cut the space program off at the knees the way our government had chosen to do. I hope for all our sakes, that we will sometime learn by that mistake, and get back on track.
AFA the laziness of today's programmers, I suspect that that is true to a degree. It is either laziness, or just relishing in the luxury of having all that ram and storage ability that has made them so careless about how they use it !
I just got a 1.5TByte external HD for my machine. And that is not the biggest one on the market, by any means. I figure I will NEVER fill it up, but that is just because I am "so 20th century" in my thinking !
73, Jim
Ham Radio, Amateur Astronomy, and Model Airplanes - what better way to spend some time!
No time is ever wasted that is spent LEARNING something ! 
-
I'd be willing to bet you could cut 20-30% of the code out of Windows, any flavor, and not adversely effect functionality.
A couple of years ago,just as a tryout , I stripped a WinXP installation of everything I did not need in order to run it on an ancient 1998 IBM Thinkpad with a very small , less than 3GB ,HDD.(all help files, optional schemes unused drivers
and so on )
I got rid of over 50% of the basic insdtallation ( over 1GB)before I finally deleted something critical.
-
 Originally Posted by G4OTU
A couple of years ago,just as a tryout , I stripped a WinXP installation of everything I did not need in order to run it on an ancient 1998 IBM Thinkpad with a very small , less than 3GB ,HDD.(all help files, optional schemes unused drivers
and so on )
I got rid of over 50% of the basic installation ( over 1GB)before I finally deleted something critical.
There's a great program called "nlite" that will let you customize your copy of Windows XP.
I have been using it for years. If done correctly, the size of the iso can drop from 500 megs to about 175 megs. Memory usage drops quite a bit as well, from shutting off services.
The guy who wrote it now works for Microsoft!!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|