It seems to me that one way computer science could be divided up, is into three domains:

  1. What is efficient for humans to represent and comprehend
  2. What is efficient for computers to represent and process
  3. An idealized form of how computation/problems are defined that is extremely succinct, specific, and not tied to human or computer limitations

What I am most interested in, is this third domain. I believe if a lot of effort is invested there, it will drive the advancement of the other two domains.

Towards that end, I am interested in the development of an "ultimate" virtual machine. Something with a gratuitously minimal and impoverished grammar, and an extremely advanced type system.

I am wondering if anything like this exists. I am also trying to develop something like this, with the idea that it doesn't.

  • $\begingroup$ Acoording to my view , the human brain is much advanced and efficient that it created computer. The human can transform a computer to such an extent that it computer can deal with any sort of difficulties or complications.So by raising third point , the first two points raised can also be defined accurately. $\endgroup$ – Sahil Mehta Jan 15 '17 at 8:43
  • 2
    $\begingroup$ 1. is not computer science. I don't know what you mean by 3., but I do know that 2 and 3 together don't cover all of CS. It seems that you have a very limited view of what constitues the field, or maybe you want to talk only about a subset? Please clarify. Also, please explain why things like lamda-calculus don't answer your query. $\endgroup$ – Raphael Jan 15 '17 at 12:03
  • $\begingroup$ @SahilMehta It is well established that computers as we know them can not solve all problems, no matter how much ingenuity we throw at programming them. (We don't know if that's the end of the story, though, but we believe it to be; cf. Church-Turing thesis.) $\endgroup$ – Raphael Jan 15 '17 at 12:05
  • 2
    $\begingroup$ Your goals seem to be directly contradictory. A machine model with a simple definition necessarily cannot have a complicated type system because the type system is part of the definition of the machine. $\endgroup$ – David Richerby Jan 15 '17 at 13:35
  • $\begingroup$ @Raphael simply typed lambda calculus may indeed be part of the answer I'm looking for, and is what I'm focusing on in developing my own VM right now. Why do you think VMs with new grammars are being continually developed rather than settling on something minimal like lambda calculus and focusing on making translation to machine code extremely efficient? $\endgroup$ – sfultong Jan 15 '17 at 17:14

I have not heard of any computational problem that cannot be solved by an Universal Turing Machine, and UTM itself fits on a single page:


In accordance with your plan, it totally disregards human and hardware limitations, by using up both time and space extravagantly. If you disregard some limitations, the quality of an answer quickly degrades to the point of being irrelevant.

IMHO the art of computing is in seeing the equivalence classes and transforming some initial solution to re-balance resources for the specific prioritized objectives. In the absence of priorities and limitations, there is no art. This quest is provably inexhaustible and will never be possible to automate.

BTW, I am also working on a new computing platform (a CPU and a programming language) that is an order-of-magnitude better in one aspect (speed, low transistor count, low energy consumption, easy comprehensibility, short programs), while matching existing solutions on the other aspects. It is a synergy based on closer matching the actual problem and balancing the workload among transistors, microcode and high-level-code. I see a big unused slack in the current technologies, and the gains can be spent on the mentioned objectives.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.