Skip to main content
GameDev.net gamedev.net
🔒 Locked

Programming changed? Forever?

Started by Thsotus Jan 5, 2011 at 3:55 AM 27 replies 5.3k views
Original Post
Thsotus
Thsotus
http://en.wikipedia.org/wiki/Memristor

http://www.pcworld.com/article/152683-2/future_tech.html#1

This new technology claims it maybe can replace RAM and flash memory, in addition to making memory more dense, cheaper, and smaller.

THE INTEREST I HAVE IN THIS IS THAT IT CAN SAVE MORE THAN ONE ELECTRICAL STATE.

Does this mean that we are able to have more than 1's and 0's?! Imagine, ten years, from now...

Programming will need to change if the hardware changes. This means that variables can then be defined as not binary, but perhaps finally base ten, base three?! This means that we can have BIGGER variables and BIGGER capabilities?! Does this mean that switch statements will take up less memory? Will this mean that we can create Troolean logic? True, false, and NULL?!

I'd like to see programming in the future. I can't believe it: will the first company to pounce and market a operating system running on this technology be the next king of the market? Will Microsoft finally go down?
http://thsotusgames.wordpress.com/ - My beginning, sad, studios.
Hodgman
Hodgman
You can program with enum{True,False,FileNotFound} if you want to... Computers are built in base-2 only because it's usually more cost efficient. Current languages could be compiled for a base-3 computer.
Earlier computers used many different number systems.
m1o1d1
m1o1d1
Quote:
Does this mean that we are able to have more than 1's and 0's?! Imagine, ten years, from now...


Magnetic Hard Disks can save a near infinite number of different states as well.
Analog Computers work with "infinitly" more than just 0's and 1's, this isn't really new ;)

Quote:
Programming will need to change if the hardware changes. This means that variables can then be defined as not binary, but perhaps finally base ten, base three?!


The reason for the Binary system isn't the memory, it's the CPU. As stated earlier, a Base 10 Digital System would have been possible with Magnetic Hard Drives, though quantesizing the different states from 1-10 would create a high possibility of error.
All the Mathematical Operations in the CPU are performed via logical Gates. And these logical Gates only handle false and true.
I don't even know if a Base 10 Digital Calculater (non-biological/mechanical) exists?
And I highly doubt that Intel would reinvest all their money in new CPU technology just to have a Base 10 System.
daviangel
daviangel
I don't even know if a Base 10 Digital Calculater (non-biological/mechanical) exists?

As mentioned, Babbage's Analytical Engine used Base 10.
Quantum computers use a qubit which can be 0, 1 or both.

I don't see any of this making programming any easier?
[size="2"]Don't talk about writing games, don't write design docs, don't spend your time on web boards. Sit in your house write 20 games when you complete them you will either want to do it the rest of your life or not * Andre Lamothe
Pete Michaud
Pete Michaud
The thing about programming is that it's many layers of indirection. The binary thing is near the bottom of that stack, and most programmers writing, say, C++, wouldn't even notice if the whole "binary layer" changed. They wouldn't need to.
m1o1d1
m1o1d1
Quote:
Original post by daviangel
As mentioned, Babbage's Analytical Engine used Base 10.
Quantum computers use a qubit which can be 0, 1 or both.


I counted the Analytical Engine as Mechanical, but the Quantum Computers sound Interesting. I'll have to take a look into that

Wan
Wan
Quote:
Original post by Thsotus
BIGGER variables

Yeah, current variables are too small, especially for hardcore MMORPG programming.

On a more serious note, I think the future in programming is in even more abstraction from hardware, so however cool this new technology is, I don't see it change the job of the average developer.

Microsoft is doomed anyway, because apparently 2011 will be the year of the Linux desktop (and Duke Nukem Forever).
mikeman
mikeman
Quote:
Original post by Thsotus
THE INTEREST I HAVE IN THIS IS THAT IT CAN SAVE MORE THAN ONE ELECTRICAL STATE.

Does this mean that we are able to have more than 1's and 0's?! Imagine, ten years, from now...


From what we've learned at school at least, the electrical/magnetic state is analogue anyway. It's just that we assign "1" and "0" to the maximum/minimum, say -5V for "0" and 5V for "1", so they can be detected with more accuracy. If you decide to sample more frequently, you've got more information, but bigger chance of errors. which you then you have to correct using more hardware, or more software, and so on and so on. At some point, you're going to get errors from simply turning on the TV 5 feet across the room. At least that's what I've understood. On the other hand, it would be great for devices that need to be small and last longer, like those that regulate blood pressure for people with heart problems? Although I guess that's what they intend to use them anyway.

On the other hand, look what teams like the .kkreiger guys have done with just 96KB of storage(program+data, not RAM). I don't like the idea of depending too much on every possible hi-tech gadget that you can think of. With these new GPS things many taxi drivers get lost 5KM from their "base" because they don't have to learn the roads anymore. Or those äugmented reality" things, which you supposedly turn to the Eiffel tower and you get "layers of information"? As if you can't just google Ëiffer tower" while at you're on-site anyway? It's a bit silly.

[Edited by - mikeman on January 5, 2011 10:47:29 AM]
Luckless
Luckless
Quote:
Original post by m1o1d1
All the Mathematical Operations in the CPU are performed via logical Gates. And these logical Gates only handle false and true.


The idea that logic gates only handle 'false and true' isn't quite true. It is more correct to say that they work on High vs Low input/output states.

It is possible, and has been done in the past, to produce gates that have a wider range of inputs and outputs. Binary became the dominate, (And then basically the only method used) to produce digital systems because it is fairly easy to make small low voltage systems with only two working states.

The key is that you need a buffer between each state, and if I remember correctly, modern chips technically have 5 states, not two. No/under power, low power, state gap, high power, over power. The chips only produce a valid out put on a low or high power input.

Without the buffer state between logic states, you can produce a region that will rapidly switch between logic states, or be inconsistent between chips due to manufacturing errors.


What does it mean for programmers? Assuming you're not using very low level stuff, it doesn't mean a whole lot.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
superpig
superpig
Quote:
Original post by daviangel
Quantum computers use a qubit which can be 0, 1 or both.


That's not really accurate - a qubit can be 0, 1, or 'not yet observed.' The difference is significant because you can't examine a qubit and say 'yep, it's in the "both" state' - you can only determine whether that's true about it from the context in which you're using it (i.e. whether the computer has been directed to observe it yet).
Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse
Ravuya
Ravuya
Ternary computers aren't particularly new. The Soviets made some, and I'm sure the Western world did too.
Madhed
Madhed
I guess quantum computing will find its niche. From what I have read, quantum computing seems to be more about probability computations (If not, enlighten me. This subject is pretty confusing).
I guess most problems don't lend themselves well to this kind of processor, many problems don't even scale well to parallel processing.
ibebrett
ibebrett
you are already using a quantum computer.
Alpha_ProgDes
Alpha_ProgDes
Quote:
Original post by ibebrett
you are already using a quantum computer.

are you referring to the human brain?
Beginner in Game Development?  Read here. And read here.  
davepermen
davepermen
besides all the nonsense, i personally can't wait for memristors to creep into ram, ssd, and cpu.

it will drastically reduce power needs, and thus massively change the computers design.

i'm interested how the non-need for ram will change os, applications, programming in general. in theory, we could have just one kind of storage by then. we'll see..

i want graphene memristors, actually. up to 100ghz, instant on and off..

there's one thing we know, the future'll be fun.

till then, i plan on getting some sandy bridge fun.
If that's not the help you're after then you're going to have to explain the problem better than what you have. - joanusdmentia
My Page davepermen.net | My Music on Bandcamp and on Soundcloud
frob
frob
Quote:
Original post by Ravuya
Ternary computers aren't particularly new. The Soviets made some, and I'm sure the Western world did too.
It wasn't just "The Soviets". All the major powers and several major schools globally invested in building their own computing engines.

Analog computers were also popular for a while. Ultimately they lost out because the benefits of determinism won over the benefits of arbitrary precision.
cdoty
cdoty
It seems the biggest challenge would be creating components to convert bits into current and current back into bits. I guess you could use some sort of resistor ladder, and would only need one resistor ladder for each decoding unit.
Check out Super Play, the SNES inspired Game Engine: http://www.superplay.info
way2lazy2care
way2lazy2care
I think if anything is going to "change programming forever" it's going to be the shift from low level programming languages to high level programming languages.

When you think of things like the change from binary to whatever, the change from low level to high level makes it somewhat trivial to the majority of programmers as it has little, if any, relevance to the average programmer of the future.

edit: Even something like a really advanced Kodu(sp? the MS graphical programming language for children to learn programming) could be the future.
Programmer One
Programmer One
Quote:
Original post by way2lazy2care
I think if anything is going to "change programming forever" it's going to be the shift from low level programming languages to high level programming languages.


For the most part, this has already happened...what are you talking about?
ChurchSkiz
ChurchSkiz
bools could be true, false, OR maybe!

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.