× 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.



On Mon, Jul 3, 2017 at 6:31 PM, Raul A Jager W <raul@xxxxxxxxxx> wrote:
How do you classify a language as modern or not? The OO model is quite old.
Java is showing its age to. Python is from the 80s.

I think your comment was meant rhetorically, but there are actually
meaningful ways of answering.

First, clarification of factual information: Python was *conceived* in
the late 1980s, but was *introduced* in 1991. This does make it
chronologically older than Java.

So back to your question. Just as a 60-year-old person can *feel*
young and be in great health while a 30-year-old person can feel old
and be suffering from conditions such as rheumatoid arthritis or
asthma, programming languages can defy their chronological age.

Lisp and Scheme are among the most ancient of programming languages,
yet they are as fresh and powerful as anything else out there. The
virtue of their design make them almost impervious to "aging". (Paul
Graham explains this well.)

As I mentioned, Python is indeed "older" than Java, but Python feels
somewhat more modern. Python definitely didn't achieve a critical mass
of popularity until much later than Java did. Both of those languages
definitely feel more modern than RPG.

I will grant that determining what feels modern is not an exact
science. Popularity definitely plays a big role. Not just for specific
languages but for programming paradigms. There are also ways to
analyze how "high level" a language is, and while it's not a perfect
indicator, you will find fairly broad consensus that "higher level"
has a positive correlation with "more modern-feeling".

Within groups of similar languages, it's easier to tell which feel
more modern. For example, languages meant for "systems programming"
are, almost by necessity, not the highest-level languages out there.
But languages like Go and Rust definitely feel more modern than C.

Is OO the right tool for everything?

When it was new, probably a lot of people felt that it was right for
*nearly* everything. Clearly the OO bandwagon is not as big and strong
as it once was, but it is still a useful paradigm.

Interpreted languages require very
careful testing, and control over the input.

True, but technology is marching on and improving the situation for
interpreted languages. And hybrid languages that combine the
advantages of dynamic and static typing are popping up. (These may be
among the most modern-feeling languages.)

When there are lots of transactions, a compiled language like RPG or Cobol
will enable the same processor to handle easily 20 times more transactions
than the same code in PHP. Moore law does not work anymore, the speed has
remained at 4 GH since the last 10 years or more. It is far more expensive
to set up 20 servers rather than the difference of cost between developing
in PHP or RPG.

The technology that is improving dynamic and hybrid languages isn't
just limited to type safety. It's improving performance. The PyPy
implementation of the Python language is roughly 3 to 5 times as fast
as regular Python on a broad range of tasks, and more like 20 to 100
times as fast for certain specific operations.

And Moore's law isn't completely dead for hardware - chips are getting
more sophisticated and more efficient, even if clock speeds have
stagnated. Importantly, if a language makes it easy to parallelize,
that is a strong way to leverage today's hardware. This is fueling a
recent interest in functional languages.

RPG doesn't incorporate any of the most modern concepts. Its design
makes it unsuitable for doing so. Yes, it's got great performance. And
it's still a very useful language. In my opinion, it's still *overall*
the best language for IBM i programming. But it's not particularly
modern. RPG's position in the midrange world is very similar to C's
position almost everywhere else. C is not modern. But it remains a
great, great language for implementing lowish-level stuff and
achieving high performance. There are some newer languages that are
beginning to show that they could serve as an improved replacement for
C, but even if they do take hold, C will still be around (and playing
an important if not dominant role) for a long time.

John Y.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.