: For the programmers - OOP is better in theory than in practice?



Sinister Angel
03-18-05, 08:55 PM
http://www.devx.com/opinion/Article/26776

Your take?

SilverCTS
03-19-05, 07:41 PM
Interesting post. I manage a large department of software developers for a financial services company. I started out as a Fortran programmer back in the early 80s (before GUIs, RDBs, & web browsers).

I tend to agree with the author. I like many OOP concepts, but I don't want my shop to be a slave to rigid OOP standards. In addition, I am not a big fan at all of Object Oriented Analysis and Design (analysis paralysis).

The analysis phase should focus solely on establishing, documenting and finalizing business requirements. I don't want my business analysts wasting a lot of time putting together an OO diagram.

Once the business requirements are established, then I'm ok with system architects and technical leads developing objects at a conceptual level, but other than that, we tend to stay away from fancy OO diagrams. I leave it up to my Chief System Architect and Technical Leads to make certain we use best practices. That is what they get paid to do.

OOP and OOA/OOD are great in the classroom, but in the real world, my department must deliver flawless and scalable software in very very aggressive timeframes. If we don't, they'll replace us with people that will (without question). You just don't have that type of pressure in the classroom.

By the way, we're mostly a UNIX shop and use a bunch of different tools, platforms and languages: c, c++, Java, VB (for the front-end), Sybase, Oracle, Tuxedo, and MQ Series.

Sinister Angel
03-19-05, 07:44 PM
I'm just starting to really get around with programming (PHP right now), and I'm not even *that* serious at this point, but what I've heard (and it makes sense to me) is work with whatever seems best and is works for the programmer.

AirJigga25
03-19-05, 07:50 PM
I don't program it, I just sell it.

SilverCTS
03-19-05, 07:58 PM
I don't program it, I just sell it.

Super. I guess I'm not posting my business card then...

AirJigga25
03-19-05, 08:08 PM
yeah you probably wouldn't be interested in cutting edge technology anyway...

SilverCTS
03-19-05, 08:17 PM
what is it?

SilverCTS
03-19-05, 08:41 PM
yeah you probably wouldn't be interested in cutting edge technology anyway...

AirJigga25,

When are you going to tell me about this awesome cutting edge technology and how my business can benefit from it?

AirJigga25
03-19-05, 09:16 PM
I wasn't planning on it.

Elvis
03-19-05, 09:43 PM
I agree with the article 100%. But that's just my perspective because I've been a programmer/analyst for the past 19 years, and I was taught by a couple of guys who started in the computer business in the late-50's.

Processors are getting so damn fast these days that it doesn't matter how good a program is as long as the end result is correct. Efficiency and utilizing proper technique doesn't even matter anymore. You can afford to be sloppy because the hardware is strong enough to overcome your incompetence.

The programmer is becoming obsolete. That's why RAD (rapid application development) tools are so prevalent--anybody can do it now.

Case in point: I spent two years developing an "electronic catalog" that browses through a 50,000 item database, sorting it three different ways and linking equivalent items through four different cross-reference fields. Customers can build orders off-line, then transmit them via a FTP server, getting an instant item-by-item order confirmation with the most up-to-date pricing. It can also do the same thing via dial-up, but the confirmation takes about 30 seconds longer. (a lot of these stores don't have broadband yet)

Wednesday I found out that my program had been replaced by a web page. A canned package that was modified by a 23-year-old kid. It took me two years to develop something from scratch. He used some pretty basic tools and kicked my butt in four months time.

I had been saying all along that:

a) customers would be concerned about security over the web, (the DEA watches this stuff like a hawk)

b) the response time from a web page can never match an off-line application,

c) since 70% of a day's orders come in between 5:00-6:00 PM, there would be a severe bottleneck and an inevitable crash when 300 customers all hit at the same time.

Apparently I was wrong. Back to the drawing board.

[/vent]

AirJigga25
03-20-05, 12:00 AM
Great Post Elvis, you Missouri MOFO if i remember correctly. Respect. But computers since the 1950's?? Are you kidding? Don't mess with my Tandy 1000 from 1988.

SilverCTS
03-20-05, 09:08 AM
Processors are getting so damn fast these days that it doesn't matter how good a program is as long as the end result is correct. Efficiency and utilizing proper technique doesn't even matter anymore. You can afford to be sloppy because the hardware is strong enough to overcome your incompetence.

The programmer is becoming obsolete. That's why RAD (rapid application development) tools are so prevalent--anybody can do it now.



I started out as a Fortran programmer. We had a DEC PDP-11. It ran the RSX-11 operating system and had an 8 bit processor. We ran the whole company using this computer. The cpu and disk drives were about the size of a washer and dryer.

My kids' computer is significantly more powerful than this thing was. They also have a ton more storage.

Back then, you had to be much more concerned about memory allocation and system constraints. However, if you develop software for a financial services company that processes millions of financial transations on a daily basis, you must program using best practices. There is ZERO tolerence for sloppy programming. We're dealing with people's money, and if we don't get it right, then they'll shut us down.

Also, programmers will never become obsolete. These new RAD tools simply make them more productive.

c5 rv
03-20-05, 09:02 PM
Amen.

My pet peeves:

- IT Methodologies and organizations that prevent, rather than enable solutions.

- The infatuation with offshore programmers. I've seen plenty of cultural and language screw-ups that would be funny if they weren't so expensive.

- Over-reliance on certifications rather than the ability to use IT tools to solve business problems.

- Too many projects sold on look-and-feel rather than nuts-and-bolts. All the focus is on the snazzy screens, rather than the 80% of processing that happens in batch. After using 80% of the project schedule to fine-tune the screens, the remnents of the project team throw together the batch system and everyone wonders why the system is a dog for years.

I also started on PDP-11s (they were 16-bit, btw) running RT-11 and moved up to RSX-11M (and S & M+), RSTS/E, and VMS. I've been in the business for 30 years, 13 at DEC, in a wide range of technical and management roles.

Sinister Angel
03-20-05, 09:34 PM
I also started on PDP-11s (they were 16-bit, btw) running RT-11 and moved up to RSX-11M (and S & M+), RSTS/E, and VMS. I've been in the business for 30 years, 13 at DEC, in a wide range of technical and management roles.


I feel like a n00b :(
Someone care to explain this to me? Or better yet, next time I'm down state, want to give me a demo c5_rv? :p

SilverCTS
03-21-05, 07:31 AM
Amen.

My pet peeves:

- IT Methodologies and organizations that prevent, rather than enable solutions.

- The infatuation with offshore programmers. I've seen plenty of cultural and language screw-ups that would be funny if they weren't so expensive.

- Over-reliance on certifications rather than the ability to use IT tools to solve business problems.

- Too many projects sold on look-and-feel rather than nuts-and-bolts. All the focus is on the snazzy screens, rather than the 80% of processing that happens in batch. After using 80% of the project schedule to fine-tune the screens, the remnents of the project team throw together the batch system and everyone wonders why the system is a dog for years.

I also started on PDP-11s (they were 16-bit, btw) running RT-11 and moved up to RSX-11M (and S & M+), RSTS/E, and VMS. I've been in the business for 30 years, 13 at DEC, in a wide range of technical and management roles.

You're right. They were 16 bit. I realized that after I posted. Do you remember the PIP commands?

I worked on VAX VMS systems as well (from mid 80s to early 90s). I was a Basic & Cobol programmer. I worked for several different companies that had large VAX Cluster installations linked together via DECNET. Remember DECNET? At that time, VMS, DECNET, and DCL were all state-of-the-art.

In terms of offshore programming, I'm hopeful that we're about to see a significant change in how that is viewed. The Gartner Group recently stated that offshore programming (or outsourcing) actually costs more money in the long run. It seems as if they finally have enough scientific data to make this claim. I haven't seen this article but colleagues of mine told me about it. I will try to get a link to the article and post it.

c5 rv
03-21-05, 09:49 AM
Do you remember the PIP commands?

I worked on VAX VMS systems as well (from mid 80s to early 90s). ... Remember DECNET? At that time, VMS, DECNET, and DCL were all state-of-the-art. ...

I've blown away my share of important files with the Peripheral Interchange Program (PIP).

For a short while before being sucked into management, I was a district network software consultant for DEC when there were only point-to-point network connections (pre-ethernet, pre-internet). Two stories:

- One client had a number of VAX 11/780s and 785s with high speed (LOL) DMR (or DMC) links in a computer room. The links were running very slowly and branch field service couldn't figure it out. The district network hardware consultant and I walked in, opened up the cabinets, chuckled, put terminators on the the unused network connectors, and walked out - problem solved.

- A future-thinking client wanted to be able to download RSX-11S (memory-only OS for hostile environments) system loads to process control systems in Australia via dialup line rather than shipping a floppy. This was the early '80s, so shipping a floppy took over a week and the modem speeds were 1200 baud, at best. These folks were very DEC-saavy, they built their own PDP 11/23s from parts, but didn't think it through. I set up a demo in their office that auto-dialed an outside line, connected to an 11/23 across the room, and after about 2 hours and lots of automated retries, successfully downloaded the 256KB memory image. Then I asked them if they could keep a phone line to Australia up for a few hours. They had management look into faster ways of shipping 8" floppies.

As for DCL, about 5 years ago I was doing some new-client sales for our small services company. One prospect lamented about not being able to find a "Real" system manager for their UNIX and VMS environments. Everyone they found hand only used system management applications and was clueless about using system commands.

Sinister Angel, Digital Equipment Corp (DEC) was the most famous of the minicomputer manufacturers that broke the hold of IBM and the BUNCH companies (Burroughs, Univac, NCR, Control Data Corp, and Honeywell) on computing. The first computer that gained market acceptance was the PDP-8, a 12-bit processor (that eventually grew into the 36-bit DEC 10 and DEC 20 timesharing systems.) The PDP-11 series of 16-bit processors came out in the early 70's and did OK. PDP-11s took off when Dave Cutler wrote the guts of RSX-11M over a weekend to replace RSX-11D that ran like a dog. Dave went on to co-design the VMS operating sytems for the 32-bit VAX processor. He later joined Microsoft and designed NT.

PDP-11s also enabled the growth of UNIX. AT&T was DECs largest customer for PDP-11s, but didn't like to pay for the OS. Bell Labs took their UNICS and ported it to PDP-11s. Rumor had it they based the command structure on RT-11, but renamed the commands to nmemonics like cp, mv, and ls.

I should get my hands on a PDP-11/23 and run RSX-11M in my basement. I still get occasional calls from businesses running old boxes and I have trouble remembering all my old tricks.

daacon
03-21-05, 11:08 AM
I agree with the article 100%. But that's just my perspective because I've been a programmer/analyst for the past 19 years, and I was taught by a couple of guys who started in the computer business in the late-50's.

Processors are getting so damn fast these days that it doesn't matter how good a program is as long as the end result is correct. Efficiency and utilizing proper technique doesn't even matter anymore. You can afford to be sloppy because the hardware is strong enough to overcome your incompetence.

The programmer is becoming obsolete. That's why RAD (rapid application development) tools are so prevalent--anybody can do it now.

Case in point: I spent two years developing an "electronic catalog" that browses through a 50,000 item database, sorting it three different ways and linking equivalent items through four different cross-reference fields. Customers can build orders off-line, then transmit them via a FTP server, getting an instant item-by-item order confirmation with the most up-to-date pricing. It can also do the same thing via dial-up, but the confirmation takes about 30 seconds longer. (a lot of these stores don't have broadband yet)

Wednesday I found out that my program had been replaced by a web page. A canned package that was modified by a 23-year-old kid. It took me two years to develop something from scratch. He used some pretty basic tools and kicked my butt in four months time.

I had been saying all along that:

a) customers would be concerned about security over the web, (the DEA watches this stuff like a hawk)

b) the response time from a web page can never match an off-line application,

c) since 70% of a day's orders come in between 5:00-6:00 PM, there would be a severe bottleneck and an inevitable crash when 300 customers all hit at the same time.

Apparently I was wrong. Back to the drawing board.

[/vent]

I agree with most - (I have had some of my early multi month programs repalced with spreadsheets :eek: )

I have been in the 'bidness for about 19 years as well. (started with COBOL / RPG / Assembler / FORTAN / JCL I still occasionally 'flow chart' an idea aaaaaaaaaah) One of the reasons I became a DBA is cooperation’s will always need a database (well until the next great thing comes along) should last my working years at least.

I disagree with there will not be a need for programmers. Certainly there are less home grown apps , but from what I have seen no mid size or large cooperation can live with out-of-the box solutions. Customizations will always be needed. True the tools are getting user friendly and some power users could figure it out, but detailed knowledge of a RDMS are still best left to those that have been trained. Some of these end user reporting tools have caused more work for IT staff.

The progammer has to be more well rounded these days as do all IT staff I think (exception may be pure hardware staff, but even then they should understand from a buisness perspective what expectations are). Whatever is being worked on , you need buisness knowledge to undertand the need. This I found the biggest change I needed to adopt to. In my early years the old line "start programming and I'll find out what they want" held true more often than not. Technical knowledge / tools changes like the wind but usually core buisness processes / requirements remain fairly static.

Elvis
03-21-05, 12:08 PM
Great Post Elvis, you Missouri MOFO if i remember correctly. Respect. But computers since the 1950's?? Are you kidding? Don't mess with my Tandy 1000 from 1988.

One of my "teachers" was a Univac guy, the other was an IBM guy. My father was a Burroughs guy after he got out of the Navy. Together the three of them had about 85 years combined experience in programming when I started working with them in late-1985.

My plan now is to move my application from a desktop to a pocket-PC environment. Possibly Palm OS. I'm investigating the hardware to find out what would be most suitable. Right now this looks the best:

http://www.symbol.com/products/mobile_computers/8100_96x170.jpg

It has to be pretty rugged and needs a built-in barcode scanner. These babies ain't cheap, either.

The times, they are a-changin'.

SilverCTS
03-21-05, 06:57 PM
I've blown away my share of important files with the Peripheral Interchange Program (PIP).

For a short while before being sucked into management, I was a district network software consultant for DEC when there were only point-to-point network connections (pre-ethernet, pre-internet). Two stories:

- One client had a number of VAX 11/780s and 785s with high speed (LOL) DMR (or DMC) links in a computer room. The links were running very slowly and branch field service couldn't figure it out. The district network hardware consultant and I walked in, opened up the cabinets, chuckled, put terminators on the the unused network connectors, and walked out - problem solved.

- A future-thinking client wanted to be able to download RSX-11S (memory-only OS for hostile environments) system loads to process control systems in Australia via dialup line rather than shipping a floppy. This was the early '80s, so shipping a floppy took over a week and the modem speeds were 1200 baud, at best. These folks were very DEC-saavy, they built their own PDP 11/23s from parts, but didn't think it through. I set up a demo in their office that auto-dialed an outside line, connected to an 11/23 across the room, and after about 2 hours and lots of automated retries, successfully downloaded the 256KB memory image. Then I asked them if they could keep a phone line to Australia up for a few hours. They had management look into faster ways of shipping 8" floppies.

As for DCL, about 5 years ago I was doing some new-client sales for our small services company. One prospect lamented about not being able to find a "Real" system manager for their UNIX and VMS environments. Everyone they found hand only used system management applications and was clueless about using system commands.

Sinister Angel, Digital Equipment Corp (DEC) was the most famous of the minicomputer manufacturers that broke the hold of IBM and the BUNCH companies (Burroughs, Univac, NCR, Control Data Corp, and Honeywell) on computing. The first computer that gained market acceptance was the PDP-8, a 12-bit processor (that eventually grew into the 36-bit DEC 10 and DEC 20 timesharing systems.) The PDP-11 series of 16-bit processors came out in the early 70's and did OK. PDP-11s took off when Dave Cutler wrote the guts of RSX-11M over a weekend to replace RSX-11D that ran like a dog. Dave went on to co-design the VMS operating sytems for the 32-bit VAX processor. He later joined Microsoft and designed NT.

PDP-11s also enabled the growth of UNIX. AT&T was DECs largest customer for PDP-11s, but didn't like to pay for the OS. Bell Labs took their UNICS and ported it to PDP-11s. Rumor had it they based the command structure on RT-11, but renamed the commands to nmemonics like cp, mv, and ls.

I should get my hands on a PDP-11/23 and run RSX-11M in my basement. I still get occasional calls from businesses running old boxes and I have trouble remembering all my old tricks.


I really have a broken heart over DEC. Back in the 80s, DEC was the "high flying" company on the planet. Not just in the computer industry, but in all of corporate America and the rest of the free world.

It is hard to believe that Compaq bought DEC. Who would have ever thunk it? I just have a real soft spot for DEC, because my career really took off when I was as a VAX/VMS programmer. I'm now a VP for a large software development shop, and I feel that I owe my entire career to DEC (as opposed to the companies that formerly employed me).

My current shop is all UNIX (HP & SUN) with a little NT Server thrown in.

In terms of OS level commands, DCL was light years ahead of UNIX. DCL was so friendly. If you wanted to copy a file, you used the COPY command. If you wanted to delete a file, you used the DELETE command. Where exactly did "grep" come from? How did they come up with that? What is wrong with simply using "SEARCH" as the search command?

I hear that a lot of companies still have VAX systems in use today...

daacon
03-21-05, 08:27 PM
I hear that a lot of companies still have VAX systems in use today...

University Hospital in Alberta (where I cut my IT teeth ) Still to this day runs some systems on the Vax - and others on a Tandem :eek:

The Tandem was awsome for fault tollerance (We use to get 4 hours a year down time for maintenance ) a true 24x7x365 shop. The Tandem (also bought by Compaq) is still used in places where uptime is a premium (Wall street / Front end to allot of ATM's) ...

c5 rv
03-21-05, 09:25 PM
I regret the demise of DEC, but I've had a lot of great opportunities since leaving over a decade ago: building a 50 person professional services group for a healthcare software product line, joining a small consulting company with a number of ex-deccies doing mainly non-DEC work, helping a client start a marketing program for a public safety product line, and currently running a healthcare EDI project in the public sector.

AirJigga25
03-23-05, 04:08 PM
What are your favorite IT/computer magazines? Computerworld, Eweek, Infoworld, etc...

I am going to get a subscription to one or two in the hope of investing in my career.

Sinister Angel
03-23-05, 05:04 PM
What are your favorite IT/computer magazines? Computerworld, Eweek, Infoworld, etc...

I am going to get a subscription to one or two in the hope of investing in my career.

Hell dude, you can generally get those for free...

AirJigga25
03-23-05, 05:55 PM
From where? I could steal them from the gym I guess.... :)

Sinister Angel
03-23-05, 10:40 PM
From where? I could steal them from the gym I guess.... :)

Network Computing (http://networkcomputingsubscriptions.com/new/default.asp?Priority_Code=WNBNP)
eWeek (http://www.omeda.com/ziff/ewk/ewk.cgi?ZDSUBS)
Infoworld (http://subscribe.infoworld.com/cgi-win/ifwd.cgi?m=add&p=ww3hm1)

I got Network Computing for a while, and I really wasn't doing much - just had the business registered lol.