× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hmmmm, where to start?....


jt wrote:
...
I and a some other posters have some no small experience in this regard,
which I believe the RPG development team lacks.  I would be surprised to
learn (pleasantly surprised, 'course) if there is much RPG app development
experience on the team.  But I believe there are a fair number of very vocal
posters who don't have a real good idea of what RPG even CAN do currently,
but who like to believe they have a real GOOD idea of where RPG just HAS-ta
be headed.


You do have a point here. The developers on the RPG team understand compiler writing and language design a lot better than application development.


But then again, compiler writing and language design is what we get paid for. And an important part of our job is to understand the needs and wants of the RPG programmer, and to satisfy those needs and wants. Another important part of the job is to try to understand trends in the industry, and to try to anticipate the future needs and wants of the RPG programmer. The latter is, of course, not easy.

Which is why we are here, discussing the issues with RPG programmers who care about these things too.


...
I've listened to what "they" say for 2 1/2 decades now.  Few offer metrics.
Most offer, what Don Park (I think, couldn't find link) of MS calls,
Software Engineering by anecdote.  I like Tom DeMarco's methodology of
videotaping and measuring results and running "code wars" and such.  I've
seen the this-technology and the that-technology promise these gains TOO
many times.

However, what I've read and what I've seen and what Tom DeMarco measured
(back in late 70s, iirc, and I don't know if he's still doin this kind-a
stuff, or who is) was that the most effective programmers offer productivity
of 5-10 times the "average" programmer.  So I can't help but wonder how
much-a the "this-technology offers a 5-10 times productive advantage" isn't
explained by the phenomena.

The late 70's? That was many generations ago in computer terms. I'm not sure if anything written *that* long ago has any validity now anymore. Things are very different now. Very different indeed. (More on this later.)




| (BTW, note that most of these scripting languages fall into the | category of OO languages *without* method name overloading.)

Again, then I wonder why this doesn't call into question the efficacy of
procedure name overloading.  (Which, I noticed, a lotta posters have loudly
claimed is REQUIRED for them to do their job properly.)


Touche!


But I think it's also important to understand why those particular languages don't have (or need) method name overloading. Take Python for instance. (My current fave!) In Python, there's simply no syntax at all to say that a function expects a paramater of a particular type. Take the following code as an example:

.........................................
class A:
    def f(self):
        print "Hi There!"
class B:
    def f(self):
        print "Get Lost!"
def t(x):
    x.f()
a=A()
b=B()
t(a)
t(b)
.........................................

Look at the function "t" in the middle of the code. It takes one parameter, x. Python doesn't care about the type of the object passed (at least, not at compile time). All that matters is that (at run-time) the object has a function f defined in it. You don't have to code one function t that takes an A object and another function t that takes a B object.

(Basically, this is what OO is about. It's actually about defining the interfaces, not the types.)

But compiled languages are fundamentally different. In order to generate efficient code, compilers like to know the types of things at compile-time. Which leads to much syntax intended specifically to deal with types. And in the compiled OO languages, leads to a lot of cruft like interfaces, virtual functions, and templates (to name a few). To write the above example in Java (for example), you'd have to define an interface, define the two classes as implementing that interface, and define the type of the parameter to function t as that interface.

Why is that important? As I mentioned before, supporters of Python claim a 5-10 times productivity advantage. One of the reasons for that is that Python programmers don't have to waste time getting all the nitty gritty details of class and interface definitions right. You just write code, and most Python programmers find that they get their code working faster. Similar arguments can also be made for other interpreted languages as well.

But back to RPG, overloaded procedure names would add a syntactical convenience for programmers in that they could call a set of related procedures by one name (for example, "getinfo") instead of many names (for example, "getinfo_by_name", "getinfo_by_partno", etc.). Programmers would still have to implement each of those procedures, however, the user interface to that set of procedures is simplified, possibly resulting in easier to read code.

So, sure, overloaded procedure names is not a requirement. But like many of the improvements we add to the language, it can make the job of programming a little bit easier.



| Anyways, perhaps you could remind me which specific article by | Greenspun you were referring to? In what I've read by him so far, I | don't see any relevance to RPG.

(See above.)  I believe it calls into question some-a the maxims that a
lotta people that post here live by.


Yes, I do agree with that 100%. But I still believe you don't fully understand what he's saying. And that you haven't addressed my question of how what he says relates to RPG.


As I mentioned earlier, this is not the 1970's. Or even the 1980's either. For all this time (and longer), we've had two types of programming languages, compiled and interpreted, each with their own advantages and disadvantages. Compiled languages have the advantage of fast run-time performance. Interpreted languages have the advantage of powerful functionality.

Greenspun is simply echoing what others have said that interpreted languages, by virtue of their strong functionality, have a significant edge in programmer productivity. Sure, compiled languages still have the advantage of better run-time performance. But remember, Moore's Law still is in full force. CPU's are still getting faster and faster, and along with that, the speed of interpreted programs is also getting faster and faster. We've long ago now reached the point where, for a large class of applications, the run-time performance difference between compiled and interpreted programs simply no longer matters. And so now, programmer productivity becomes a more important deciding factor for many shops.

(Actually, some Perl (yucch!) fans claim a well written Perl program can easily match the performance of a comparable C++ program. Why? Much of the time running a well-designed Perl program is spent in the built-in library code, which is compiled C code.)

Sure, there is still a large class of business applications that benefits from coding in a compiled language like RPG, and running on a robust machine like the iSeries. So I'm not advocating the whole-scale rewriting of business apps. (On the other hand, Moore's Law is still going on strong, continually changing the software development landscape.)


And contrary to what you posted, Hans, an awful lotta the points I raised
were NOT addressed, yesterday.. and one in particular: I would guestimate
that there are some half-a-million, mebbe a million RPG coders. Just a
swag, but somewhere in the vicinity of the right order-of-magnitude... Now
there are how many on this list?? On this poll, the highest vote-getter
(which you claim was by ballot-stuffing) was.. what?... 39 or so??? I
posited that you don't have a statistically random sample, and the data you
are collecting is misleading, Hans, and I don't actually recall ANYbody
saying that you're sampling DOES reflect the needs of the RPG community. I
sure DO recall many saying that I don't have a clue, but don't recall
anybody posting any facts that said this method of determining the course of
the language was unbiased, a-tall. It was just taken as a given that
anybody who SHOULD have ANY say in the course of the RPG languange would
already be on this list, (or one similar).
...

First, I suspect that that number of RPG coders is over-estimated by at least an order of magnitude.


Secondly, jt, I assure you, I do understand statistics. A couple of courses in statistics were required for my degree. (Actually, at my school, the mathematics requirements for a CompSci degree were just one credit shy of a minor in Math!) One of my stats courses was in experimental design, so I do understand it when someone says, for example, that a survey is valid within 3%, 19 times out of 20.

Of course our polling is non-scientific. Do you think we can justify the cost of commissioning a truly scientific poll?

What we base our design decisions on is input from a group of RPG programmers who care about what gets in the language. Many RPG programmers simply don't care one way or the other. Some simply don't bother (or can't) keep up with the latest developments in the language. In some cases, programmers ask for things that have been in the language for several releases!

Of all the available on-line sources of input, this particular mailing list is probably the most useful to us. This group can also be counted on (generally) to understand the complex issues involved, which I'm sure you would agree is also an important consideration.

In other words, we prefer informed input, not necessarily a representative sample of the whole population. For example, we may see 100 requests for a particular change. But if 1 person offers a very good reason why that change should NOT happen, that may well override the majority. And that's another reason why "ballot stuffing campaigns" (for lack of a better term) don't have as much influence as some might like.

Cheers! Hans



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.