Let’s go with the Go programming language
What is the Go programming language? Avenga explains use cases of applying it for speedy and efficient software development.
In case you haven’t, arguably, heard the term, let me briefly explain what Quantum Computing means.
Quantum computing is an alternative to the classical binary electronic computers we all use in different forms nowadays.
Using very complex quantum physics properties with specialized materials (i.e., ultra conductors, etc.) scientists have made the theory of quantum computing a reality, and now progress with the actual physical implementations of the machines, the quantum computers.
In classical computers everything is built from bits, which is the minimum amount of information in the universe, a one or a zero, true or false. All the numbers, images, audio, 3D, instructions for microprocessors and GPUs, everything is built from bits, forming bytes, and becoming more complex formats representing information.
Quantum computers are based on completely different foundations. If you are to remember anything from this part, please remember this. It’s like another universe, something that even science fiction authors could not have predicted to be possible.
Quantum entanglement, superposition, quantum bits (qbits), storing quantum information, quantum circuit model, quantum logic gates, and quantum decoherence well it is all mind blowing and interesting; but not today, not in this article. Let’s focus on why; the reality and the future of this very interesting trend.
There are problems with which even the fastest digital computers on Earth cannot deal efficiently. If finding the solution would take years instead of minutes, it’s not practically acceptable, however, it may be possible that quantum computers can do it much faster (depending on the actual problem to solve).
Our classical computers are closing in on their limits. Moore’s law era is over and the computing power of the chip is not doubling every 18 months anymore, and the laws of quantum physics are starting to kick in. A five nanometer process for the most modern chips means the individual transistors are the size of several atoms. It’s getting harder and harder to continue down this road (improvements of binary classical computers). Remember, in the current chips there are billions of transistors, all packed tightly together in very smart ways.
The idea was ‘let’s find a new way, a different way’; it’s a revolution, not an evolution.
The computers are not even digital, they are quantum.
For all people formally educated in computer science (myself included), it means that almost ‘everything you know is wrong’. Analogies from digital computers are used to help better understand quantum, as well as physical models, but the quantum mechanics are so different from the classical (Newtonian) that it is a mind blowing experience learning about it. Which also means that for scientists, it is a fascinating journey which is still at its beginning, with lots of challenges ahead to be solved. And, the motivation to explore it is certainly here.
Last but not least, and it’s not a conspiracy theory. Quantum computers are proven to deal very well with the current state-of-the-art encryption algorithms, passwords, and keys. Soon, if not already, all the known popular methods for securing our digital apps will be easily breakable by quantum computers.
The very foundations of RSA and similar algorithms make them very hard to break using classic computers, but (almost) infinitely easier with quantum computers; like millions of years vs. a couple of hours difference!
The USA, China, Russia, and other countries are investing heavily in quantum computing which includes hardware and software.
The term has appeared in the news multiple times. First, company A claims it then company B denies it, etc. What is it really about? It’s about proving how quantum computers destroy the digital ones, performance-wise.
Google did it, and was counter-attacked by IBM; still the difference in performance is enormous.
The trend is to consider quantum supremacy as another marketing stunt and not something that really matters. The cases that are chosen to prove the speed advantage are selected to prove a point, but are not always really connected to the business use cases.
Quantum computers can be much faster than conventional computers but in limited specific scenarios. The key question is in which scenarios? A lot of effort is being focused now on finding scenarios in which quantum computers can help solve unsolvable problems. If they shine, they are even a million or a trillion times faster than regular computers.
The usual examples are:
Doesn’t sound very user friendly indeed, and yes, the scientists are now the main user group.
Imagine a problem which takes a digital computer years to solve. If it is an appropriately fitting case for quantum computing, it can be solved in hours or minutes!
If or when there’s an advantage for certain types of algorithms, it’s not in tens of percent, but in thousands.
It’s similar to the beginnings of the digital computers. Early programs ran only on specific hardware and were not portable at all.
Then high level languages and APIs came (such as POSIX for UNIX) and minimized the effort of moving the same applications between different computers.
In quantum computing the code, even when written in a higher abstraction, is targeted towards a specific hardware in order to use it optimally.
Digital computers were also consuming entire laboratory rooms in their beginnings, so for me, the size is not a surprise at all.
Have you ever wondered what a quantum computer looks like?
It’s a large device which requires almost a complete separation from the external world, which includes electromagnetic interference, light, heat, and mechanical vibrations.
In its current state, there are plans or efforts to make them portable. Portable means to be able to travel, so no laptops, pocket devices nor another gadget in your backpack.
Yes, they like the cold, like 1 Kelvin cold, outer space cold, and special refrigeration systems are built to keep them cool, really cool.
The quantum computers are very sensitive to noise and are never accurate.
Something like a 99.7% accuracy in quantum gates is considered very high and state-of-the-art, but for a digital computer that would be totally unacceptable.
Quantum algorithms and quantum developers have to live with errors, so dealing with them is a natural part of operations. However, more and more sophisticated error detection routines are developed to provide faster feedback about operations going wrong (again).
Quantum computers have totally different architectures from each other. There’s no PC x86 equivalent and there are multiple players building their own computers.
→ Read more about Evolutionary architectures in practice
Again, it reminds me of the early beginnings of digital computers, before they were produced in a long standardized series and were compatible with each other.
Cloud services – QCaaS
All major vendors, like IBM, Microsoft, Alibaba, and AWS, offer access to quantum computers in their data centers. It includes access to the simulators, but also to the actual physical machines that run the user code and get the results.
→Read more about Cloud lift and shift – to migrate or to transformate?
They work with multiple universities and independent corporations who design and run quantum computers, all with different capabilities, architectures and programming techniques.
Some of them also have started to build their own quantum computers; for example Microsoft in partnership with several universities.
The power of quantum computers rises exponentially with the number of QUBits (quantum bits) storing quantum information
So the main efforts are focused on creating stable programmable quantum computers with the maximum number of QUBits.
Another noble effort is to create and improve developer friendly SDKs and tutorials to help minimize the barrier of entry for the programmers.
They can use languages similar to those they know. For example, Microsoft offers Q# for C# developers with QDK (Quantum SDK), as well as simulators of the devices to play with, learning materials, and even Q# katas.
Amazon has a similar site called Amazon Quantum Computing Lab.
Is there Python?
Yes. To encourage the data scientists, Python is already one of the primary languages in quantum computing. And the code looks quite familiar to the ‘normal’ code.
Without the proper support and encouragement for developers, the entire quantum computing space may run into trouble.
However, the prevailing opinion is that quantum computing is being built by scientists for scientists. Though, making it more familiar and friendly for classical developers is one of the key goals of quantum computing providers.
These new kinds of quantum computers are based on another physical phenomenon of ion cubits trapped in space, while read and manipulated by lasers. Of course it’s an oversimplification, but the most important is the goal to achieve higher computing power.
There are experiments, JP Morgan for instance, with using quantum computing for fraud detection and AI automated trading.
→ Explore Avenga Digital Solutions for Financial Services
Quantum computing is still not a commercially viable reality for the majority of business cases. It still depends upon many experiments and trials to figure out all the new opportunities for using this advanced technology.
Avenga Labs is observing the trend with great interest, and as soon as it is closer to being ready, we are planning to invest more into trying it and learning how to use it efficiently within business contexts.
But don’t worry, there are so many other interesting digital technologies available today to help your business, all of which we can be of great help!
* US and Canada, exceptions apply
Ready to innovate your business?
We are! Let’s kick-off our journey to success!