On Wednesday, 6 January 2016 at 01:45:50 UTC, Christopher Bergqvist wrote:
On Tuesday, 5 January 2016 at 16:10:21 UTC, Jason Jeffory wrote:
Any more thoughts?

I empathize with you Jason. It's kind of like biological evolution that has progressed through organisms spawning new generations and dying, and some humans' search for immortality. Being free from aging and disease would lead to a different kind of evolution happening within the same generation, through technology.


Yes, but we can see the trend that humans only, at least on this planet in all reasonable arguments, are moving towards "immortality"(your word, not mine ;). But we are moving towards it in a relatively inefficient way. Why 0.0001% contribute to the progress, 99.999% move in the opposite or orthogonal direction. Same with languages. Everyone things they can create a better language. They form small groups like mold does on a petri dish putting all there energy coming up with "something better". They come up with a variation. Someone else with their variation. There are so many variations that there is no unity... like a massive symphony of variation on variation that has no glue to make beautiful music. It feels insane to me, personally.

As you probably know, the small groups of mold/bacteria are less likely to survive then when they clump together(this might simply be to the procreation rate or whatever).

Instead of haphazard variations that are each incomplete, if everyone worked together on a single variation, we might "survive". (just as the mold has a better chance)

We don't need new languages, we need to "merge" the best of all we have and then make that the "official language", and modify it and adapt it as one unified variation(sorta like Beethoven's 5th which is almost entirely built from a single motive... it's what gives it it's strength... Beethoven was a genius for seeing how powerful such an idea is, and arguably, it is the most well known and well liked piece of music).



This new language would not have to die out and be replaced as progress is made, and it would have a capability of evolving without growing enormous scars like C++.


This would be the goal. I think it would have to be designed and proven to do so before we were to actually start down the path of implementing it, else it results in just another variation on a variation(it might be better, but only puts the real problem off).

Key to a clean evolution is robust upgrade-ability of source code IMO. If the language designers add the dimension of @safe as an after-thought, an upgrade script could be run on old source-code that would tag all valid functions as @safe, (or better; tag unsafe functions as @unsafe).


I don't think this would be a problem if the language itself was designed properly. These types of semantics would be part of the language from the beginning. We *now* know that certain things are required for proper growth. We may not yet be smart enough to design the unified programming language but we have come a long way... and if every programmer on the planet worked day and night for 5 years, we would have an almost perfect approximation(99.999% vs stuff like 25-75% that we have now)

I'm leaning toward live-editing AST's instead of raw text for robust, quick upgrades and quick compilation times. The tree could be stored in XML/JSON/binary, but be edited in a different view. AST editing would also fix the issue that beauty is in the eye of the beholder (programmer), as the same program tree could be visualized/skinned in different ways. The same programmer could also be writing programs with different defaults (such as @safe/@unsafe) depending on context (short term shell scripts vs aviation-software). The reason similar AST projects have failed in the past AFAIK is that it's very very hard to build pleasant to use editors and viewers/diff-tools. Programmers are married to their editors (https://www.youtube.com/watch?v=qzC5H5xrr-E oh Andrei :) ).

This is sort of what I'm getting at. The skinning analogy is a good one. The skin can change but the language remains the same. I suppose it takes a lot of work and mucho theoretical progress in not just computers but also psychology an logic/math.



Bikeshedding in language forums would also go down a lot if programmers could re-skin keywords, brackets, indentation etc. :)


There would be none, in the long run, because if the language itself is perfect, everyone would be taught it correctly from day one. Children would understand it logically just like how child virtuoso's are able to immediately pick up the natural underlying language of music through proper training.

Regarding the struggle for immortality, I think the death/life cycle still provides a way of evolution that is preferable in many ways. Having different languages provides immunization from madness that might take down the "one true language". I would love to see AST-based/structured languages succeed alongside text-based languages like D some day, and see the degree of duplicated programmer hours go down.


It's possible. Mutations are a natural defense for evolution and a way for it to optimize itself. I can't help but feel that humanity, right now, is on the doorstep of understanding evolution... and hence we don't have to continue to play by it's rules. We may or may not always be governed by the physical law but the evolutionary laws seem to be modifiable(because evolution "wants" to succeed, hence, if you do the things that help it along, it is "correct").

e.g., Procreation is obviously a way for evolution to develop. Without it, there is no "life" in the traditional sense. But humans are figuring out how to modify such things(test tube babies, extending life expectancies, etc...) and because humans are part of evolution, it seems natural that these things are not "wrong". Hence, in the future, man will probably have much much larger life expectancies. This might be evolution goal(immortality?).

But who knows... what we do know is that people working *together* willingfully to solve problems always works better than when people work against each other. This is basic mathematics and even born out in the laws of physics(two men can lift something together that they can't lift apart).


Maybe my ideas are pipe dreams, but so were many things in life(cars, airplanes, space travel, etc). When people actually start working together, dreams become reality!!!


Reply via email to