I think that programing languages are easily formal systems and thus are bound 
by any inherent weaknesses. I suspect that an ad-hoc representational system is 
held together by some formal constraints and as such, to me at least, is a 
higher-level view of an underlying formal system. For human languages, I've 
often wondered if they are formal or there is some informal element that 
underlies our perception of intelligence (other than the obvious gradual 
weakening of associations over time). I do tend towards the thinking that our 
existence is deterministic to a large degree, but underneath it can be highly 
complex, chaotic and perhaps unknowable (although I reserve the right to change 
my mind at any time :-)


For code generation, I've always thought that currently the only intelligence 
in software is there because we put it there. Code generation is a way to do 
less work and get that work massively expanded, but it is still bound by the 
fact that it isn't creating new intelligence, just working with what it already 
has. One might consider software to be a race between what we know and what we 
have coded for; one that we can never beat, but perhaps we can stay close to 
even (AI would obviously change that).

The root idea behind what I wrote years ago was that we often think that our 
way to keep up is by going up to a higher abstraction. Instead, I thought it 
might be possible to go sideways. Thus the computer builds us systems from many 
smaller pieces that are interchangeable, rather than us searching for better 
abstractions. We'd never be able to create 'all' of the pieces, but each time 
we added stuff, we wouldn't have to re-examine what already exists. I'm not so 
sure that it won't just run into horrific problems with things like recursion 
and typing problems. But, I've always thought that it was an alternative worth 
considering.

Paul.




>________________________________
>From: BGB <[email protected]>
>To: Fundamentals of New Computing <[email protected]>
>Sent: Monday, July 18, 2011 2:14:55 PM
>Subject: Re: [fonc] Last programming language
>
>
>On 7/18/2011 8:58 AM, Paul Homer wrote: 
>Realistically, I think Godel's Incompleteness Theorem implies that there can 
>be no 'last' programming language (formal system). 
>>
>> 
>fair enough, but part of this depends on whether or not one
    considers languages as formal systems, or instead more generally, as
    potentially ad-hoc representational systems.
>
>
>
>But I think it is possible for a fundamentally different paradigm make a huge 
>leap in our ability to build complex systems. My thinking from a couple of 
>years back:
>>
>>http://theprogrammersparadox.blogspot.com/2009/04/end-of-coding-as-we-know-it.html
>>
>> 
>potentially...
>
>the possibility of automatic code generation is potentially
    something that can, over time, change the problem domain.
>
>for example, gradually the lower-ends of programming end up largely
    eroded away.
>
>hand-crafted machine code erodes in favor of ASM;
>ASM erodes in favor of HLLs;
>lower-level HLLs in favor of higher-level ones;
>...
>
>
>and at the same times, tasks like drawing graphics, doing complex
    calculations, interfacing code between programming languages or
    moving between architectures, ... gradually become absorbed into
    tools and libraries.
>
>for example, people may take it for granted that they can push out
    some 3D geometry and have it appear as a 3D object on-screen,
    execute "p**q" and raise one quaternion to the power of another
    quaternion, or simply share objects and call methods between several
    unrelated programming languages, or run the same program on multiple
    combinations of CPU+OS.
>
>but, at the lower levels, lots of work goes into making all of this
    work:
>3D rendering is not a simple task in general;
>nor are things like quaternion exponents (well, maybe, this mostly
    boils down to the Taylor Series);
>transparently gluing between languages can also become hairy and
    nasty (one may have to work around very different ABIs and
    typesystems for example, such as the realization that a C struct and
    JavaScript object are, not really all that much similar, nevermind
    varargs...);
>VMs are their own piles of complexity in some ways;
>...
>
>
>yet it works, and the types of work one has to do manually is a
    moving target.
>
>however, the thing is, thus far, many of these haven't really
    changed the fundamental nature of what is programming, just made
    bigger and more complex systems more readily possible.
>
>this may also be part of why software tends to gets bigger and more
    internally complex faster than hardware gets bigger and faster
    (despite human code-output not growing similarly).
>
>many people may take for granted that they can install a thumb tack
    using a sledgehammer wielded by a robot.
>
>
>or such...
>
>
>_______________________________________________
>fonc mailing list
>[email protected]
>http://vpri.org/mailman/listinfo/fonc
>
>
>
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to