Sunday, May 28, 2017

Future of Computers

I do not know what the future of computer world actually be like but I have a bunch of ideas about what would be the best.
What should be the future of computer world?
Physically they keep getting smaller and/or more capable.
Speed and memory keep getting increased.
Graphics and networking keeps getting better.
(But Moore's Law ending?)

16, 32, 64,...-core (Network-On-A-Chip) processors?
I think number of processor cores should be increased as much as possible.
It is true that not all software could take advantage of it but there are plenty of computing tasks which are what is called embarrassingly parallel.

128-bit, 256-bit,... processors?
I think going beyond 64-bit processors would also help computers to get faster and faster.
There are always plenty of tasks a processor do which can be done faster by processing more bytes at the same time.

I think future of graphics cards should be a standard (voxel-based?) real-time (3d) ray tracing GPU.
(Just like sound cards became standard (after reaching stereo CD quality?).)

Optical processors/computers?
(Will most computers become optical someday?)

Quantum computers?
If quantum computers become common and cheap someday, can they replace all other computers?
I think they look like more fit for (hard) problem solvers than general purpose computers.
If so they may always stay separate than general purpose computers and/or they may become coprocessors in all computers.

ANN (Artificial Neural Network) coprocessors?
(Back in the 90s computers had separate math coprocessors (and/or DSP?).)
I think it is a good idea to add ANN coprocessors to computers to handle tasks which require human-like learning.
How about also adding Genetic Algorithm and/or Simulated Annealing coprocessors? (A quantum coprocessors could do both?)

How about creating standard RISC instruction sets for 8/16/32/64...-bit processors and be done with it?

What is the ultimate CISC processor? picoJava?
picoJava-like special processor design for each common programming language?
(FPGA coprocessor that can switch to any (high-level) language anytime?)

What should be the future of programming languages?
I think expressiveness is the most important characteristic of a programming language.
(I had read implementing the same algorithm in Python requires typing about 1/6 of number of characters compared to C++/Java.)
I think the most advanced programming language is the one that is closest to pseudocode.

Can AI replace programmers?
I think not. But I think AI can help a lot to programmers someday.
Imagine a programmer writes pseudocode and AI tries to convert it to a software in any target programming language.
Imagine AI analyses pseudocode and asks programmer to clarify anything that looks unclear.
Imagine AI and programmer working together to debug software.

No comments:

Post a Comment