Hacker News new | past | comments | ask | show | jobs | submit login

That's great. Now next thing that needs to be solved is to make this tech available for general public use just like computers are these days. Problems that are waiting to be solved by it are very large and of huge impact.



We all have these things in our pockets that are massive supercomputers by the standards of my college days. And we all use them just to rant at each other about political things that we in reality are totally misinformed about ... and otherwise just waste our lives. I am not sure why quantum computing is supposed to change this.

Even software that is supposed to be useful is so terribly slow. Computers are between 2 and 4 orders of magnitude faster than programmers today experientially believe they are, because today’s culture of programming has rotted so thoroughly. Do you really need a quantum computer when 3 orders of magnitude are just sitting there on the table waiting to be picked up?


We would not have Amazon, Netflix, Youtube, Facebook, Google Docs, Deep Learning, name any other modern software technology or product, if we were still writing and optimizing everything by hand in assembly or C. Those "2 to 4 orders of magnitude" that are "sitting on the table" are actually being used to make it possible for developers to work at a much higher level and be much more productive.

I totally agree with your first paragraph, though.


I disagree. The slowness of these languages is mostly uncorrelated with increases in productivity. People only think there’s cause-and-effect here because they haven’t seen counterexamples, because the trend in language design for 25 years has been to make slow languages.


They haven't seen counterexamples because there are virtually none. If what you said was correct wouldn't there be many examples of big bodies of code written in a language like C? (And you can't say "linux kernel" - low-level code needs to be written in a low-level language, in order to communicate with the lower levels like hardware and controllers and such. There is a practical reason to write that in C.)

> because the trend in language design for 25 years has been to make slow languages

No one sets out to make a language to make them slow. The trend is to make higher level languages. Do you really think that there is no reason for it besides novelty and coolness factor?


I think the point that the comment you're replying to is trying to make is not that big complicated software engineering can be done in say, C with similar levels of productivity to say, Java.

He's instead saying that it's very much possible to build a language with a similar level of abstraction/ergonomics to say, Java, or Python, or C#, or whatever but with similar performance characteristics to a lower level language like C. And we are starting to see this - there are languages like Rust or D which are (at least to my eyes) much less arduous and foot-gun prone than languages like C or C++ while having similar (or better) performance.

Of course there's also Jai, but I think we should remain unbiased here :P

As an aside though - I think some of those orders of magnitude of performance gains could be had by just writing better code in your existing high level languages. (At least in my experience with enterprise software dev).


The trend is to make solving problems easier for the untrained; giving the heavy lifting to the machines, making the machines slower for the actual task at hand. Nobody is actually targeting the experts who will love to have more power over safety


This won't be popular here, but maybe the economics work against the experts. If most problems out there can be solved with mediocre interchangeable cogs much faster than with the available pool of experts, the cogs will win long term.

So far, reality seems to confirm my intuition.


I do not disagree with you here. In the economic (real) world, "better" is the enemy of "good enough". In the hacker world, the craft is appreciated more.


> you can't say "linux

Can I say "pretty much all of Linux userspace"? Or Java VM? Or Gnome?


We would absolutely have all those things still writing in C, the biggest difference between C of 30 years ago and modern Java are _libraries and IDEs_, not higher level programming. Those things you listed are pretty much all Java, and Java doesn't really provide any "higher level" thinking other than forgetting about memory management.

A lot of optimizations left on the table have nothing to do with manual memory management, and have everything to do with "eh, let's just the query the database again, that'll shave a day off the schedule".


Why exactly do you think we have all these things for modern languages and not C despite its incredible head start?

Answer that and I get the feeling you’ll understand why your current thinking is so misguided.


The introduction of automobiles permitted the development of F1 racecar drivers, but just ended up with most people dragging themselves around to get food and money. The introduction of the printing press permitted the publication of pamphlets and books that overturned world governments and dethroned kings... but most people used it to trade porn and recipe books.

Technology doesn't make people better. It lets people do better things if they have the desire to do so. It also must enable them to do worse things if they have the desire to do so. You can not have one without the other. And on the balance things have historically gotten better so there's not too much reason to be worried about the fact most people just use global communication to bicker. They won't be remembered. Those who are, however, wouldn't have been possible otherwise.

As for where quantum computing factors into this, I don't have the slightest clue.


"The introduction of the printing press permitted the publication of pamphlets and books that overturned world governments and dethroned kings... but most people used it to trade porn and recipe books."

As Timothy Snyder notes when discussing the internet, the introduction of the printing press divided Western Christianity thereby causing a century and a half of religious wars in which a third of the population was killed. And later it gave us the Enlightenment and educated society.


Excellent context to frame this discussion.

"They won't be remembered."

-otakucode


Quantum computers won't change anything about people posting misinformed political opinions.

Three orders of magnitude speedup is a constant factor. Quantum computers provide between sqrt(n) and log(n) speedup depending on the problem - for example, biochemistry simulation for improved drug designs and such. That seems worthwhile.


Quantum computers are not faster computers that we can use to write lazier code. If they were you might have a point.


Honestly, I'd love to see examples of rotted code that could be made exponentially faster. I'm likely guilty of this.

And I agree that it's disheartening to watch how horribly we use these incredible tools. But thankfully as programmers we're in a position to design these tools to offset the worst parts of humanity.

And one field in which more powerful computers will be needed soon is deep learning. It appears that progress is beginning to stall, as larger networks are necessary. Better tools for distributed computing will make up the difference in the short term, but the current infrastructure appears to be insufficient for general intelligence.


>And one field in which more powerful computers will be needed soon is deep learning. It appears that progress is beginning to stall, as larger networks are necessary. Better tools for distributed computing will make up the difference in the short term, but the current infrastructure appears to be insufficient for general intelligence.

"In 50 years, every street in London will be buried under nine feet of manure."


Moores law says that programming is allowed to get half as efficient every year!


> And we all use them just to rant at each other about political things that we in reality are totally misinformed about ... and otherwise just waste our lives.

So if I decide to use the device that I have bought and invested in, to "rant" about something (to connect to other people through it, essentially), or even just connect to my loved ones sending "meaningless" information (as many I'm sure would call it), or if I choose to use it for anything else, who is to say that it's "wasting my life"? You? Why do you decide what is wasteful and what is not? Maybe all those people want to do those things?

You can't say that this technology is wasted or is not used properly without also implicitly assuming moral and philosophical authority about what people should choose and not to choose with their time and other resources, including the money used to buy such devices and resources spend on developing them. Why do you assume that you can be such an authority?

Of course, looking at this in another way, you definitely have the ultimate authority in this area in this one regard: where it applies to your own life. Which I guess is another way of saying that what you wrote says more about your outlook on life than on the underlying technology and its social ramifications.


I think many people would find intellectually boring your position of absolute personal freedom with no objective measure of excellence, along with your aggressive defense of such. But there is also objective information which would support OP's position for someone who considers objectivity in the personal sphere of little value: heavy computer and mobile use has been linked many times with psychological difficulties, including anxiety, depression, stress, etc. Please don't pontificate on other's allusion to human well being by presenting your own moral code to be imposed.


> And we all use them just to rant at each other about political things that we in reality are totally misinformed about ... and otherwise just waste our lives.

You're certainly free to find the relevant response to that intellectually boring. But it's quite a leap from OP's totalizing statement of despair to implicitly fill in that ellipsis with "allusion to human well being."

I'd like to be generous in my reading, but I don't see any room in there for a discussion of "heavy" vs healthy device use.


Many deep profound things are intellectually boring. For many people that's a big obstacle to overcome in order to learn them. I can't see how "being boring" is any substantive argument for or against any question discussed here.

The original author used his "objective measure of excellence" as an argument for not developing quantum computing technologies to be used in personal devices. In this specific instance, in this practical regard (even though it's probably 50 years too early for this question) - I argue that yes, the position of personal freedom (to use quantum computing in cell phones, exaggeratedly) does indeed trump the other position which is to actively exclude quantum computing from phones for the vague fear that people might waste their lives on it, by failing to fit into some objective measure of excellence.


What a long-winded way to say: "That's just your opinion"


Problems that are waiting to be solved by it are very large and of huge impact

I know virtually nothing about quantum computing, so can you give some examples? Whenever I've asked anyone who seemed to know anything about the field, all they can come up with is weather forecasting and simulating nuclear explosions. Not exactly "general use," as you put it.

In the back of my mind, I know that quantum computing is a big deal, and we're in ENIAC days with it. But I don't have a good understanding of where it goes or why.


Quantum computers are extremely useful for simulating chemistry. They can do it exponentially faster than classical computers. Cheap useful quantum computers can revolutionize biology and materials science.


There are already lots of 'practical' applications in the literature. A famous one is Shor's factorisation algorithm. But there are others - everything from doing pagerank to simulating other quantum systems.

Many classical algorithms, which run in ~O(poly(n)) can have an 'equivalent' quantum algorithm in ~O(log(n)) - an exponential speedup. There is still debate as to how the complexity class of problems which are efficient on a quantum computer (BQP) relate to other complexity classes. Its suspected P lies entirely within BQP.

However, at least initially, I think quantum computers will be a specialized piece of equipment. Classical computing is pretty good for your average person. Quantum computers will be used for more heavy compute tasks.


> Its suspected P lies entirely within BQP.

It's actually known that BQP contains P[1]. It also contains BPP. What's not known is the relationship between BQP and NP (most experts suspect there's no containment in either direction).

[1] See this for an easy proof: https://people.eecs.berkeley.edu/~vazirani/f04quantum/notes/...


Yes sorry you are right. I found this nice example of Grover's algorithm [0].

[0] http://davidbkemp.github.io/animated-qubits/grover.html



That's still only relative to an oracle, though (i.e., BQP^O vs NP^O). We also have oracle separations of P and NP, and that proves nothing about P vs NP without an oracle.


I'd also add that the need for localized personal computing services goes down as network bandwidth increases, if there's anything that people really need quantum computers for, it's not unreasonable to suggest that they will be handled on the backend with aggregated results sent to clients as is the case for most computation today.


Is Shor's an application of entanglement though?


Yes, all non-trivial quantum computing is based on entanglement.


Protein folding and gene research. Cure malaria, cancer, feed the world etc.


Doesn't basically all encryption become meaningless with quantum computers? Remember how they always said 'it would take a billion years to crack this encryption with a computer'? Well soon we are going to have computers that don't play by the rules.


ENIAC?


One of the first computers.

https://en.wikipedia.org/wiki/ENIAC


Because of the expense it will have to start off as QCaaS. You send the really hard part of your problem to whichever person actually has the hardware and they'll return the answer. If you are concerned with them not knowing your data, there are workarounds to that as well. So available to general public in a weaker sense.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: