Evolutionary Programming!
Jason Jeffory via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jan 5 08:10:21 PST 2016
No, I mean the real kinda of evolution, not algorithmic mimicking!
It seems that many programmers get dissatisfied with the state of
something and try and branch off and create something that suits
them. The evolution of programming is the evolution of life in
some way.
Is it possible that one could develop or modify an existing
programming language that can adapt in such a way to provide
maximum unity between programmers?
A language itself, that can adapt grammatically(since people like
different grammars), be both powerful and simple, and provide all
that is needed(more or less)?
One could say that binary programming or even punch cards were
the evolutionary seed of modern languages. That all programming
languages are essentially part of the evolutionary food chain.
I know many will immediately write off this statement, but I have
to ask: Is it possible for a single language to capture it all?
One with a polymorphic grammar(you choose, it's irrelevant) to
provide those needs(some people just like cobol syntax and other
people love there brackets). System level, application level? Why
not both?
People will claim that such a language is infeasible because it
is too complex! That's an easy argument to make. All languages
are complex and all the people working on the nearly infinitely
number of programming languages today could be working as one on
the perfect language(in effect, that is what they are doing...
they just don't realize it yet).
What are the properties of the perfect language? To be able to
create it we have to know them.
Here are a few "laws" that I think it would have to have:
1. Grammar independence - People speak different languages and
perceive logic through different symbols. It is the nature of
life and knowledge.
2. Platform independence - Time changes all. A language that is
specific to one platform will die off when the platform dies.
When the platform evolve the language must evolve to keep up.
[Note, these laws do not state that an actual implementation
cannot violate them. Think of them as the "interface" with a real
living compiler as the "class"]
Any more thoughts?
Think of all the wasted man hours spent on people working
unfocused on the issue. Surely there are invariant's in a
programming language(any language, for that matter) that could be
used to create a language that will unify people. Imagine the 100
million programmers in the world all working on one language! It
could happen with the right seed!
But a top down approach to programming(and computers) is
required. We started from the bottom up because we were
ignorant(just as writing software started)... will it take 50
years, 150 years, 10000 years for programming to evolve to a
state of peace? Where everyone knows the same language, can
communicate exactly what they want to anyone else, and can solve
their problems and humanities problems without squabbling over
brackets, libraries, etc?
Such a programming language would truly be evolutionary(or at
least revolutionary), right?
More information about the Digitalmars-d
mailing list