Blog
iDevelop

Advertisement

Jon Paris

Jon Paris

Susan Gantner

Susan Gantner




Bookmark and Share

May 2012

Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

« Happy 21st Birthday | Main | Oh good grief it's snowing! »

October 06, 2009

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83545a5d153ef0120a5c49138970b

Listed below are links to weblogs that reference How Can You Spread the Word When Nobody Is Listening?:

Comments

Jon, Susan: Like you, I've been following the debate. Like you, I worked on various iSeries products. Like you, I'd be sad to see the iSeries disappear.

But in this matter, I have to assume IBM knows what it's doing. I see ads in the local newspapers targeted at the SMB market. The message they push is clear: IBM can help small/medium businesses with their IT needs. Their main product is services. Mentioning specific platforms in the print ads is unnecessary and would turn off most potential customers who don't really care what hardware runs their applications.

What would it take for the iSeries to regain any significant relevance? Is there even a place for a proprietary operating system in the SMB market?

Personally, I think the SMB IT arena has already moved too far beyond the proprietary O/S, and iSeries fans, while full of good intentions, are still fighting yesterdays battles.

Cheers! Hans

We (Midrange people) have a lot of good going for us. RPG IV is awesome, ILE opens new vistas. Even CL has got spiffed up for the new century. One of the things that I think is really optimistic is the rise of 'celebrity' Midrange programmers - people known by their reputation, by name.

These folks are leaders of our little community whether they realise it or not. Questions like 'What would Scott do?' or 'What does Barbara think?' resonate within the community. I can't think of anyone who wouldn't be interested in hearing one express an opinion.

Which is the problem - we are still too isolated from each other. Scott can only spread himself so thin - how many different forums can he contribute to? It isn't easy to find all the places where the community gathers, and if we could keep track of them all, who has the time to visit them all?

This is where IBM could help. If IBM put a link to one place (I vote Midrange dot com because email is easier on me than web forums) on their midrange web page, it would send people there. IBM could foster, nourish - enlarge our online community. Along with that, IBM ought to make an open source web site available, something very specific to midrange people, some page that understands DDS, CL, RPG, SQL and Cobol. Maybe they could use Sourceforge, I don't know.

One thing's certain: IBM's blessing would go a long way to sustain and grow our community.

One problem is that some IBM execs HAVE been making public statements. But they've been so wishy-washy as to be meaningless. If they had some really good, meaningful things to say, why didn't they say them?

Regarding RPG and ILE, look at what you can do with Java, or Python, or (I hate to admit) C#. The kind of functionality you get with RPG and ILE (procedural programming, static binding, shared libraries) is more or less what was available 25 years ago in other systems.

For iSeries to be relevant in today's IT world, it needs much more than that. It can't count on things like single-level store and integrated DB to make a sale. It needs applications, and modern programming languages.

Reliability is no longer a good argument since the argument applies equally well for Power machines running AIX or Linux.

And one more thing that may well do in the iSeries: Cloud computing. Many companies are not only looking into using virtual machines to run their apps, they're also considering outsourcing the hosting of their VM's. How does iSeries fit into THAT future?

I'm sorry I can't be optimistic.

Cheers! Hans

Hans "Regarding RPG and ILE, look at what you can do with Java, or Python, or (I hate to admit) C#. The kind of functionality you get with RPG and ILE (procedural programming, static binding, shared libraries) is more or less what was available 25 years ago in other systems."

With the possible exception of C# (and this would apply to AIX/Linux as well) name one of the languages you mention that isn't available on IBM i? There isn't one. So I don't get your the point.

In times of belt-tightening why wouldn't I want to exploit what I have? Why the hell would I want to move to Windows? That's the competition by and large. AIX/Linux is small fry by comparison.

What I get most upset about is companies that move an application off a stable IBM i box - move it Windows and SQL Server, using Java, PHP, or C#. Spend millions of $ making the move - take years to do it and never get even 50% of the "promised land". Not only that - they could for 20% of the cost have allowed their IBM i staff to update their apps to use modern interfaces and have seen massive gains. With the few folks who have the intelligence to see this, we've seen it happen over and over.

Sadly it is more common to find companies willing to spend millions rather than let the IBM i guys give it a shot.

How about a constructive comment? I don't need any more doom and gloom. You only seem to pour more gas on the fire when you comment here.

Why move to Windows?

Proponents will often say something like price - they can get a 8-core 16-GB RAM server with Windows & SQL Server Standard Edition and more DASD for about the same price as a 1-core 2-GB RAM Power Server with IBM i.

They might fail to mention that they partition the Wintel server - allocating 1 core to a hypervisor, 1-core to a load-balancer, 2-cores to an application server, 2-cores for application-server fail-over support, and 2-cores for SQL server. They might fail to mention that it only works in conjunction with separate Active Directory & Exchange servers.

After all that partitioning and hand-keyed workload distribution/configuration, they might fail to mention that their "8-core" server offers poorer performance than the single-core IBM i counterpart. But they proclaim - it's almost as reliable!

-Nathan.

Hans,

What exactly can't be done in RPG? I'm seeing and hearing this argument regularly, and I don't think it stacks up. In fact we're in the process of completing a framework, in RPG, that mimics the vast majority of the beneficial capabilities of OO languages (polymorphism, type's (not strong but still there and checkable, objects and we'll shortly have collections etc etc). It pays to remind ourselves from time to time that C++, Java and the .NET framework weren't written in their own languages. Most were developed in procedural languages.

If you could do in .NET and Java (without RLA in JTOpen) what can be done with F-Specs, then we'd have something more meaningful to chat about ;)

The point of spending millions to switch from IBM i to Windows is what caught my eye the most out of everything. There was a guy that commented on Mike Pavlok's blog (http://tinyurl.com/ybm9zns) stating they had successfully migrated away from a handful of 570's to 312 virtual MSSQL servers. That's right, three HUNDRED and twelve. I would have to imagine that personnel time/money must not have been considered in that move because that is A LOT of machines to do admin duties.

Which brings me to my point which is: People are going to migrate to Windows because it the grass looks quite nice on the surface on the other side of the fence, but what happens when they realize "oh shoot, we are now spending $200,000 a year on personnel we didn't need before". Will the IBM i last long enough to survive the prodigal son coming home and reclaiming his *good* IBM i?

Aaron Bartell
http://mowyourlawn.com

Jon: I'm sorry if I sound all "doom and gloom". But I'm sure the current situation hasn't escaped your notice. As I mentioned before, two years ago a head-hunter told me that the iSeries job market had pretty much dried up in this town. And if the 5th largest metropolitan area in North America can't support iSeries programmers, what hope is there?

But I'll try to offer something constructive:

As you point out, education is a big problem. All to often I see the attitude that RPG and ILE and CL are the greatest things since sliced bread. And all to often I see people who aren't willing to learn anything outside of that realm. That puts them at a disadvantage since, when their employer decides it's time to modernize, they don't have the necessary skills to make constructive contributions to the decision making process. Without in-house skills, companies have to bring in the consultant, and you know how that often turns out.

Yes, I know you're trying to educate iSeries programmers on what i is capable of. But I just don't think that's enough. I've worked with a lot of different systems, so I think I know what iSeries is up against.

My point is this: If you want to help the iSeries programmer, and if you want companies to stay on IBM Power hardware, you need to help the iSeries programmers gain skills on the other operating systems that can run on IBM Power. They may still move off of i, but that should give them a fighting chance to stave off the Windows conversion threat.

That is, I think you and Susan need to be pragmatic, look objectively at the situation, try to get some honest answers from IBM insiders, and choose your battles appropriately.

Cheers! Hans

BC: As you point out, yes, RPG can do a lot of things, and I'm constantly amazed by what people can squeeze out of. But unfortunately, the fact that you are only now completing a robust framework demonstrates nicely that RPG is in catch-up mode. The RPG community seems to be reaching the point that other languages were at 5-10 years ago. That kind of thing doesn't help RPG.

Jon asked the question "How Can You Spread the Word When Nobody Is Listening?" Well, people ARE listening. They're listening to the trail-blazers at the leading edge.

OK, now a constructive comment: RPG needs better language support to enable 3rd party frameworks and libraries. A good way to get that would be namespace support in RPG and ILE.

Overall IBM has done a good job evolving both RPG and the AS/400/iSeries/IBM i. They have done a poor job of naming it and marketing it but that’s another story. Of course there are areas that could be improved, but based on capability alone, IBM i should be plenty able to succeed in the market place.

I think your last point is key. In recent years I have interviewed many candidates for RPG positions. They all had RPG ILE on their resume. However, by ILE they meant they converted their RPG programs to RPG IV and used CRTBNDRPG instead of CRTRPGPGM. When asked about modules, service programs and binding they would give an answer like “I read about that.” or “I played around with that once.” I would say less then 10% (that is being generous) of the candidates actually used ILE or could discuss different ways to pass parameters to a procedure.

Recently I started a new job. My old company was a victim of the mortgage crisis. The code at the new job looks like it was written in the 1980s even though it was written recently. The programmers here still move dates into data structures to check validity and convert between 6 digit and 8 digit dates. They are not even using %FOUND and %EOF.

If these IBM i experts are not even clued in to 15 year old enhancements there is no way they can communicate to management the capabilities of IBM i. Of course IBM i is thought of as a legacy machine, most of the people who work on it treat it as a legacy machine. How do we reach these people? Clearly they are making no effort to keep up with what is going on in their profession.

Over the past several weeks I've gained an acute awareness that a lot of livelyhoods are dependent on providing migration services away from IBM i under the guise of "modernization", and those voices are getting louder - some of you may be thinking "no duh..."

"We told you it was dying..." has a familiar ring, and stirs up FUD, which is so hard to contend against. I empathize, Jon & Susan. Sometimes you just take your lumps and move on.

I'd welcome a partnership between iManifest members and IBM. But I also like seeing business partners & ISVs take more initiative, ourselves.

It's pretty common for business partners to get the majority of revenue when pairing their own software & support offerings with IBM's. It's not like IBM taking the majority of revenue, then allocating a portion back to the business partner.

It's not like the "franchise" model of business, where franchisees pay huge fees and significant portions of their revenues, for the sake of belonging to the franchise, while the franchiser takes charge of all product development, branding, and national promotion.

No, it's more like a business partnership, where regular folks in the field take the initiative, develop their own products, establish their own clientele, and promote their own interests - while representing IBM's interests to a lesser degree.

I'm not sure how BC making a point about developing an RPG framework got twisted into "what people can squeeze out of [RPG]". Is that some sort of fallback to the franchise model where only IBM is authorized to extend the language?

Regarding competing against Windows and .Net, my tendency is to demonstrate applications and support which are better than Windows counterparts.

-Nathan.

"Of course IBM i is thought of as a legacy machine, most of the people who work on it treat it as a legacy machine. How do we reach these people? Clearly they are making no effort to keep up with what is going on in their profession."

I agree with you 100% - it is one of my biggest frustrations in life.

The notion that what they have is "good enough" is way too prevalent in our arena. As we've written before, I honestly believe that the downward slope really started when IBM pulled the SEs from the field. Prior to that at least someone visited shops regularly to tell folks what was new. Because so many RPGers are focused as much on the business as the art of programming, without that regular wake-up call they seem to have almost stopped learning.

We also see way too many managers who fail to realize that there is a limit on how many times their "working" code can have patches applied before the maintenance overhead becomes ridiculous. Sadly - the resulting loss of speed in implementing new features is often taken as an indication that RPG can't do the job.

Two customers we've worked with recently were in this position. They have asked again and again to re-engineer the apps to deal with maintenance issues but were refused permission as it would "take too long" and they were unable to quantify the benefit. Needless to say - eventually the lack of speed in implementing change is used as an excuse to replace the apps. Of course in the intervening 3 years while SAP or whatever is implemented the maint gets worse and worse and ...

Regarding RPG, I feel quite the opposite of Hans. RPG is a great language for writing business rules and database code. Database code that would've taken hundreds of lines in Java can be done in only a few in RPG, and that's one of the absolute most important aspects of a business program.

The operating system, however... has a LOT of problems that need to be addressed. I wish more than anything that IBM would step up and address them. Or if not, at least tell us that they don't plan to. I hate the way they're stringing us along.

Nathan: You're absolutely right that there are motives behind everyone: And that's both the boosters and the naysayers. And so it is indeed hard to judge the current state of affairs from public comments.

But I've pointed out before, I haven't had anything to do with iSeries in many years. So in this debate, I'm about as close as you'll get to an impartial observer. (And even that is debatable since I worked on several iSeries products!)

I stand by my statement "I'm constantly amazed by what people can squeeze out of it". ("it" missing in the original.) I've used quite a few programming languages over the years. As an RPG compiler developer, I often looked at other languages for inspiration. Things that are easy in other languages are not so easy in RPG. Take Python for example. Unlike RPG, Python comes with a "batteries included" philosophy: The language includes a humongous class library. This provides a big advantage for Python programmers.

That's why I suggested before that IBM should get to work on providing the same kind of functionality in RPG. And along with that, make it easier for 3rd parties to add their own procedure libraries by adding support for namespaces.

Cheers! Hans

Hans, you bringing up Python (again :-) sent me to google to see if anybody has ported it to the IBM i. Sure enough, here it is: http://www.iseriespython.com

Have you checked into that at all? They purport that it doesn't run in PASE/Linux side of the machine but instead runs on the OS/400 side.

I have written *one* python program (i.e. hello world) in my life so I can't be a judge as to how well this port would work.

Aaron Bartell

Aaron: That (unofficial) iSeries port of Python is version 2.5. However, on other systems, there are several newer versions available: 2.6 (October 2008), 3.0 (December 2008), and 3.1 (June 2009).

Hans,

Good to know. I have been doing a fair amount of PHP lately (oddly enough, because somebody wants to dump RPG and the iSeries) and am trying to decide if I should invest mindshare with that language or with another like Python. Right now the lack of strongly defined types and awkward variable scoping in PHP is driving me NUTS! Talk about a way to waste a lot of time searching for needles in a haystack that aren't throwing [compile] errors.

Ok, I am done ranting :-)
Aaron Bartell
http://mowyourlawn.com

Hans,

That metaphor of "squeezing" frameworks out of languages just doesn't fit - it sounds like squeezing toothpaste out of a tube - implies that there are limits to frameworks - as there are limits to toothpaste in a tube, no matter how hard you squeeze.

There are no limits to frameworks. Say that RPG didn't have a %trim() BIF. No problem - just write a strTrim()function, add it to a service program, and add the service program to a binding directory - standard ILE constructs.

If something is harder to do in RPG than another language, then expose a simpler interface through a high-level procedure - standard ILE constructs - nothing you don't already know.

Okay, I grant that IBM could extend RPG in ways that could make it more competitive. IBM could incorporate the types of procedures that BC, Scott, Aaron, I, and others may be writing individually. And that might be great. IBM could take on the role of shepherd. Programmers could take on the role of sheep. But if IBM has other interests - that won't stop some of us from writing frameworks.

Regarding Python, have you considered maintaining a current port of it under IBM i?

-Nathan

@Hans - I think that a lot of the framework innovation that we see if because other platforms have a vibrant Open Source community. I think that's one of the things the IBM i community is lacking in. But you're absolutely right - namespaces would help a great deal, particularly when creating a module loading system (which I'd consider doing and Open Sourcing).

I guess this is at the core of one of my beefs with IBM in the i space is that it is a VERY closed shop. Chat's I've had with IBM are that it's difficult to open things up (technically), but even as a large customer (we've got the best part of 30 developers working on the i), we don't get an look in to early access of new features etc. It's disappointing and it makes evangelising far more challenging than it otherwise could be. Which leads us to be in the position noted by Nathan and yourself which is we must wait for IBM to include features, which slows us down, slows RPG advancement down and stifles the community.

BC

You know I've been reading the comments posted here and agree with a lot of the benefits of the IBM i that have been mentioned -- and some of the problems. My team has developed frameworks on the platform, we definitely take advantage of ILE (RPG and C), we've learned how to implement web services, etc... That's all great stuff, but one of the things I keep coming back to is that there is no better platform out there for us to run our Warehouse Management System on. System reliability, being able to respond quickly to enhancement requests and new functionality based on business objectives, the ability to talk directly to PLCs and other device on the floor, the combination of green screen and web-based user interface, etc... all provide the ideal environment for this, an application the company still considers a strategic differentiator. UNIX won't do it better, and neither will Windows.

Nathan: My point is that programmers of other languages don't have to write all those functions to handle basic infrastructure. It's all there in standard class libraries. And in the case of Python, it's available for free.

Regarding maintenance of an iSeries Python port, sure, I'd consider it. If it paid enough. I got too much on my plate otherwise.

Cheers! Hans

Hi Jon & Susan,
In regard to making things easy to find, I ran across this site this morning when catching up after vacation. The site is Seth Godin's.
Maybe what System i needs.

http://sethgodin.typepad.com/seths_blog/2009/09/launching-brands-in-public.html

or http://tinyurl.com/krpapk

Dave B

I think when we debate the strengths and weaknesses of different languages we overlook the point that most of the small to midsize companies running on the i worldwide don't do application development in-house. They run packaged applications, usually modified by the vendor, and their perception of the viability of the i is based on the user interface and productivity when using those applications. This market thrived when the tier one ERP vendors like JDE, SSA, Infinium, MAPICS, Lawson, and others told companies it was the best platform in the world for running their applications. Today, the leading enterprise software vendors promote other OS and DB stacks. We know today's i can run just about anything, but we need IBM to take a leadership role in bringing tier one solutions ERP back to the i. The major ERP vendors won't do this on their own. IBM needs to recognize their middleware and services-driven strategy is great for their other markets, but doesn't fit the i. I don't see IBM buying a major ERP vendor at this point and if they did they would probably just continue that vendor's strategy of promoting other platforms. Instead, IBM needs to strike an OEM partnership with one or two tier one ERP vendors where they buy exclusive rights to those solutions for this OS and then revive the BP community by training them to resell and perform services around those solutions. We've got a great environment for hosting business applications. We need more modern, competitive enterprise applications that run on i to differentiate this environment from all the rest. The executives won't care too much what languages are being used, but over time having exposure to modern applications that were running on the i and written in various languages would help the in-house folks become more aware of current development practices. When all you do is maintain applications developed in the 1980's and 90's, you don't get that exposure to new ideas. That's where the typical in-house i-IT staff is today.

I am one of those modernization supporters BUT I believe my interest is in keeping people on the IBM 'i' not turning them away! My hope is that showing how a little modernization (not just screen scraping) can improve the view people have of IBM 'i' applications and in turn will encourage more to extend what they have rather than replace.

Those people who say the IBM 'i' is old say so because of many of the things people have written here. Yes RPG has grown and Yes it is a very capable language, but it is not the only one the IBM 'i' supports. RPG code written 20 years ago will not be the same as RPG code written yesterday (with the right programmer at the keyboard of course) because the language has matured in the same way the IBM 'i' has matured.
The problem is people still write code using the copy paste method which brings old and outdated code into today's programs. The 'why change what works' causes as many problems as it fixes. If I am maintaining code should I try to re-engineer what appears to work just to make it look better? I have recently had to do exactly that, my code was becoming over burdened with work arounds for code written 15 years ago using API's the OS had available. New enhancements in the OS provided many new options that allowed a lot of code to be thrown away which in turn reduced my maintenance costs. It took a lot less code to do better things and it became easier to maintain because all of the previous maintenance bloat had been removed.

I am hoping the IBM 'i' continues to mature, like Scot I see many failures on IBM's behalf with the way they have shoe horned support for technology into the IBM 'i'. But even with those shortcomings it is still a great OS....

I like to think I have a future with the IBM 'i', but I am also learning other technologies as part of my attempts to extend IBM 'i' applications. That not only allows me to move to an alternative career should I need to, but it also helps me understand the benefits of each solution and how I can position the right technology for the right job!

A modernization strategy is not about moving away from IBM 'i', doing so would be a replacement strategy.

Chris...

BC: You raise a good point about open source. Others have said that their shop has already implemented some sort of framework on top of RPG. My guess is that they're all re-inventing the same wheel.

One thing that's lacking in the i community is a sense of what open source can do. How much time and effort could have been saved if people were willing to make their code available to others. That doesn't mean opening up business logic. But if application-independent frameworks are being developed, why not share them and spread the workload across multiple shops?

Cheers! Hans

To be honest I have been off the AS/400 for a while writing in Java. In my view RPG is the wrong focus, you could just as well write in Cobol or any other language available on the AS/400.

The problem is that DDS screen code needs to be “compiled' into HTML and the linkage to the program handled by the compiler. Then there is no need for screen scraping nor third-party products. I suggested this to IBM 10 years ago and was ignored.

Some notes collected while wondering whatever happened to Fortran 77:

OS/400 is only the second most popular proprietary operating system. The first is Windows.

Midrange programmers are a lot like amateur golfers. They are all zero handicap around the water cooler, until you get them on the course. So in real life, when we try to convince them to take our RPG courses, we get the standard "Oh, we do all that already". These same "scratch" golfers usually get that deer in the headlights look after about the first hour of my first class.

The culture of 1970s and 1980s era programmers was to be an inch wide and a mile deep. Bureaucracies pigeon-holed people into small roles. Nowadays, since a well-written application should be broken up to use the best tools for each task, it pays to be a little wider and not quite as deep.

RPG is solid, steady and a great tool to have in your tool box. It's just not the only tool. SQL, PHP, Java, etc., have their place too. You all still have hammers and screwdrivers in your toolbox, don't you. Or have you traded them all in for laser-guided sonic pulse devices ?

On Hans' note, if anybody has an open source project they would like to submit to the community and need a machine to develop it on, then please contact me, because the YiPs are seeking out those types of people/software and have resources (i.e. IBM i's on the internet) available to facilitate development.

Email: aaronbartell@gmail.com

Aaron Bartell
http://mowyourlawn.com

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.