On Wednesday, 8 January 2014 at 16:31:06 UTC, H. S. Teoh wrote:
On Wed, Jan 08, 2014 at 08:47:21AM +0000, Boyd wrote:
[...]
I've been experimenting with language design a bit and I found
that
a much bigger issue with coding, is that we still use files and
plain text. An IDE where code is represented in a simple tree
and
saved in a database, for example, would improve things
dramatically,
and no language changes would be necessary.
I disagree with that direction. The advantage of a text format
is that
it can represent *anything* (suitably serialized, of course),
and that
when things go wrong with your tools (IDE corrupts the file, or
doesn't
support certain operations, or, for that matter, you're working
in an
environment where no IDE is available and all you have is a
bare-bones
text editor), you have a way of reaching into the data and
fixing it
yourself. Having a custom binary representation of the code
makes it
impossible to manipulate outside of the IDE, which makes data
recovery
very time-consuming or impossible.
That's not to say that plain text is the best representation
for code,
of course. But I have yet to find an alternative that doesn't
suck, and
that offers advantages that plain text can't offer. This isn't
the first
time this idea came up. I've heard of many attempts to replace
text
representation for code, and all of them sucked. If you think
you have a
superior representation, please convince me otherwise.
T
-------------
I'm not suggesting getting rid of all plain text, but I'm
definitely for replacing most of the text we need to define
structural information.
Furthermore, a custom binary implementation wouldn't be a problem
as long as there is a well defined exchange format that all IDE's
would share. This could simply be the code files we use now.
I agree that current alternatives are less than stellar. I think
that's mostly because any attempts either go too far (visual
programming), or not nearly far enough (just listing the
available objects).
Unfortunately I don't have anything concrete. Only ideas, that I
will eventually try to work out, when I have the time. (Don't
hold your breath)
I do wish that programmers would be more open to such ideas.
There is too much pointless bickering about miniscule syntactic
changes, yet no one seems to be interested in fixing the archaic
use of plain text files.