User Name
Password

Go Back   Planetarion Forums > Non Planetarion Discussions > Programming and Discussion

Reply
Thread Tools Display Modes
Unread 9 Mar 2005, 15:37   #1
Structural Integrity
Rawr rawr
 
Structural Integrity's Avatar
 
Join Date: Dec 2000
Location: Upside down
Posts: 5,300
Structural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriend
Software engineering - Programming for the dumb?

Some of you might know already that I'm working on a spaghetti-software-package originally programmed by my boss and a previous programmer. I'm trying to track down a bug ATM that results in wrong numbers in some hour calculations. The algorithm goes through three functions (calling many more smaller functions throughout the execution path) with each about 250 lines of code (give or take a few) and I'm really lost. I can't possibly figure out what the hell is going on in these functions let alone find the bug.

This thread is not about my bug or the package, but about how software engineering could create code that is better understandable for a programmer. If this software would have been decently designed, I would have been able to track down the bug much more easilly.

I believe that if you design a system with a perfect static architecture, with a perfectly logical dynamic behaviour, you can let your 10 year old niece program it (assuming she has a basic knowledge of programming) and have her track down problems in the system if there would be any at all.
So why don't companies spend more attention to the design of a system if it can save so much time and resources in implementation and maintenance?

So the points are:
"Is software engineering a viable tool to get away with hiring stupid/cheap programmers?"
and also a bit:
"Are you a bad programmer for not being able to understand complex pieces of code?"

DISCUSS!!!
__________________
"Yay"

Last edited by Structural Integrity; 9 Mar 2005 at 17:37.
Structural Integrity is offline   Reply With Quote
Unread 9 Mar 2005, 17:21   #2
ceres
Registered User
 
ceres's Avatar
 
Join Date: Jan 2005
Posts: 278
ceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud of
Re: Software engineering - Programming for the dumb?

Formal Methods solve all of these sort of problems.
________
Club Royal Condo Wong Amat

Last edited by ceres; 31 Aug 2011 at 06:52.
ceres is offline   Reply With Quote
Unread 9 Mar 2005, 22:08   #3
Tactitus
Klaatu barada nikto
 
Tactitus's Avatar
 
Join Date: Mar 2000
Location: St. Paul, Minnesota
Posts: 3,237
Tactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus wouldTactitus spreads love and joy to the forum in the same way Jesus would
Exclamation Re: Software engineering - Programming for the dumb?

Quote:
Originally Posted by Structural Integrity
So why don't companies spend more attention to the design of a system if it can save so much time and resources in implementation and maintenance?
Because implementation and maintenance costs are in the future.
__________________
The Ottawa Citizen and Southam News wish to apologize for our apology to Mark Steyn, published Oct. 22. In correcting the incorrect statements about Mr. Steyn published Oct. 15, we incorrectly published the incorrect correction. We accept and regret that our original regrets were unacceptable and we apologize to Mr. Steyn for any distress caused by our previous apology.
Tactitus is offline   Reply With Quote
Unread 10 Mar 2005, 10:43   #4
Structural Integrity
Rawr rawr
 
Structural Integrity's Avatar
 
Join Date: Dec 2000
Location: Upside down
Posts: 5,300
Structural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriendStructural Integrity needs a job and a girlfriend
Re: Software engineering - Programming for the dumb?

Quote:
Originally Posted by Tactitus
Because implementation and maintenance costs are in the future.
When I see what the maintenance of this package costs compared to the actual development, it would've been much wiser to design things properly.

I can very well understand that it's important to cut down on the time-to-market time and thus omitting an extensive development cycle and take the increased maintenance costs for granted. But with the increased customer demand for "working" software (what I'm noticing) and ever increasing competition in the same sector by the big players like Microsoft and SAP who are expanding their horizon, I believe it's business-wise unwise to bring architectural faulty implementations on the market. With this market you have to compete not only in TTM and price (which can be brought down with a decreased mainenance cost IMO), but also on reliability, servicability and expandability of your package. And you simply can not do that with a poorly designed system.

This is kind of off-topic compared to the original statement, I know, but I just wanted to comment on that.

Anyway, is software engineering a viable tool to cut down on implementation costs at all? It's obvious that it helps in improving servicability and expandability, but does the decreased time/costs in implementation justify the increased time/costs in design?
__________________
"Yay"
Structural Integrity is offline   Reply With Quote
Unread 10 Mar 2005, 10:45   #5
NEWSBOT3
NEWSBOT
 
Join Date: Dec 2000
Location: The enby cave!
Posts: 4,872
NEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriend
Re: Software engineering - Programming for the dumb?

Quote:
Originally Posted by ceres
Formal Methods solve all of these sort of problems.
ahaaha

hahaha


ahahahah


ahahaha

hahah

hehe

heh.

ah.

good one.

what are you a compsci 1st year ?
__________________
[20:27:47] <nodrog-aawy> **** i think my housemate just caught me masturbating
[11:25:32] <idimmu> you are a little piggy arent you
[13:17:00] <KaneED> i'm so closet i'm like narnia
__________________
Pretty parks and funky scrap metal things here
NEWSBOT3 is offline   Reply With Quote
Unread 10 Mar 2005, 11:55   #6
Raging.Retard
Street Tramp
 
Raging.Retard's Avatar
 
Join Date: Apr 2000
Location: Street Gutter
Posts: 341
Raging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant futureRaging.Retard has a brilliant future
Re: Software engineering - Programming for the dumb?

Quote:
Originally Posted by Structural Integrity
So why don't companies spend more attention to the design of a system if it can save so much time and resources in implementation and maintenance?
Simply because .. upfront it will cost more. Sure maintenance costs may be saved 'down the line', but as has already been pointed out.. thats down the line. In a considerable number of real world projects by the time you get to this arbitrary point, the requirements for the system could have completely changed anyway. It may be the case that the whole thing is no longer needed or needs rebuilding.

Sure making a 'good future proof' system is what you should aim at... but getting the balance between the initial development time and future maintenance is an art. Even on the better designed systems, far more money ends up being pumped into maintenance anyway. I believe the figure is that 80% of the cost of a (generic) system comes after its implementation. This is simply because the goal posts move too often.
__________________
Chimney Pots.
Raging.Retard is offline   Reply With Quote
Unread 10 Mar 2005, 11:58   #7
meglamaniac
Born Sinful
 
meglamaniac's Avatar
 
Join Date: Nov 2000
Location: Loughborough, UK
Posts: 4,059
meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.meglamaniac has ascended to a higher existance and no longer needs rep points to prove the size of his e-penis.
Re: Software engineering - Programming for the dumb?

DON'T EVER MENTION FORMAL METHODS AGAIN!
EVER!

ARGH!
__________________
Worth dying for. Worth killing for. Worth going to hell for. Amen.
meglamaniac is offline   Reply With Quote
Unread 10 Mar 2005, 14:23   #8
ceres
Registered User
 
ceres's Avatar
 
Join Date: Jan 2005
Posts: 278
ceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud of
Re: Software engineering - Programming for the dumb?

Quote:
Originally Posted by NEWSBOT3
ahaaha

hahaha


ahahahah


ahahaha

hahah

hehe

heh.

ah.

good one.

what are you a compsci 1st year ?
Formal methods are logical prove your design before you move into development.

And no, i finished my computing degree over six years ago.

sonny.
________
Vaporizers Info

Last edited by ceres; 31 Aug 2011 at 06:53.
ceres is offline   Reply With Quote
Unread 10 Mar 2005, 16:08   #9
NEWSBOT3
NEWSBOT
 
Join Date: Dec 2000
Location: The enby cave!
Posts: 4,872
NEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriendNEWSBOT3 needs a job and a girlfriend
Re: Software engineering - Programming for the dumb?

Quote:
Originally Posted by ceres
Formal methods are logical prove your design before you move into development.

And no, i finished my computing degree over six years ago.

sonny.
shrug.

you imply that formal methods are some kind of miraculous solve-all solution, which they are not.
__________________
[20:27:47] <nodrog-aawy> **** i think my housemate just caught me masturbating
[11:25:32] <idimmu> you are a little piggy arent you
[13:17:00] <KaneED> i'm so closet i'm like narnia
__________________
Pretty parks and funky scrap metal things here
NEWSBOT3 is offline   Reply With Quote
Unread 10 Mar 2005, 16:31   #10
ceres
Registered User
 
ceres's Avatar
 
Join Date: Jan 2005
Posts: 278
ceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud ofceres has much to be proud of
Re: Software engineering - Programming for the dumb?

Using formal specification early on in any project will solve a plethora of problems which would normally be encountered later on in the life cycle.

Every software project i have commissioned has made extensive use of formal methodology and every one of them has come back under or matching budget and met every requirement of the client.

I'm assuming by your initial reply to my post that logic isnt something you encounter very often.
________
xLIttleWetPussy cam

Last edited by ceres; 31 Aug 2011 at 06:53.
ceres is offline   Reply With Quote
Unread 10 Mar 2005, 17:50   #11
queball
Ball
 
queball's Avatar
 
Join Date: Oct 2001
Posts: 4,410
queball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so littlequeball contributes so much and asks for so little
Re: Software engineering - Programming for the dumb?

It's not relevant. Struct is happy with various tools being able to make code easier to deal with. The question is whether they just make up for incompetent programmers.

Struct, that's obviously not the case, but you have to accept that other, possibly more mathematically inclined, programmers are likely to write spaghetti code because they have different skills from you. Of course the ultimate programmer would be able to understand arbitrarily difficult code, and produce incredibly useful code. And the ultimate baseball player might make great throws and catch every pass.

I would consider it a failure if I was stumped by code I'm supposed to be able to understand, particularly since I pretend to be interested in reverse engineering. On the other hand, I generally don't worry too much about whether my code is readable, though I do appreciate simplicity. You'll know whether understanding difficult code is something you're interested in.

If you tell your boss "this code is unreasonably complex, it will take me a long time to understand it", then, well, he might understand, I dunno. If you really need to judge yourself, maybe you're more of a thrower than a catcher. "You are not expected to understand this"

Last edited by queball; 10 Mar 2005 at 18:19.
queball is offline   Reply With Quote
Reply


Thread Tools
Display Modes

Forum Jump


All times are GMT +1. The time now is 21:11.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2002 - 2018