Wednesday, July 4, 2007

High level language

Java took away memory management from programmers so that they can concentrate on the problem itself.

Erlang took away thread management from programmers so that they don't have to clutter their algorithms with mutexes and stuff.

If we take away all those computer stuff from programming, the only thing left will be math equations. Or some arbitrary collection of symbols that carry our thoughts/algorithms.

So, I conjecture that in the future, programmers will program in a language similar to Prolog or Haskell but without all the computer juices. They will think and express in terms of relations, sets, and logic , but not in terms of machines, states, and operations. They will write programs in a way that order of expressions/statements doesn't matter. Any collection of expressions will be compiled in a way that each expression might be executed in parallel on different CPUs. And the programmer won't even think about underlying machines he/she is programming on.

Now, that pure language possibly can be used to describe semantics of any programming language.

No comments:

Post a Comment