Knowledge Needed to Deeply Comprehend Digital Computing
What fields of knowledge do you need to comprehend in significant depth to fully grasp the capabilities and limitations of digital computing? Not in a shallow, casual, or superficial way, but in a very deep and very hard-core manner. Down to the deepest levels of the nitty-gritty.
My main motivation here is to lay the groundwork for asking the same question about quantum computing since it is so new and so over-hyped that a superficial examination won’t tell us how much of the hype is real and how much is mere fantasy and wishful thinking.
The theory here is that by asking similar questions about traditional digital computing we can develop a more comprehensive framework for asking the right questions about quantum computing, so that we can know what quantum computing really is, what makes it tick, what it really can or can’t do, and what it is best for.
As a side effect, the lists related to traditional digital computing will provide a reasonable checklist for evaluating any academic program which seeks to fully train computer scientists and software engineers.
Initial questions about quantum computing
I want to be able to answer any and all fundamental questions about quantum computing.
The purpose of presenting a fairly detailed list of questions about quantum computing up front here in this paper nominally about traditional digital computing is to make it clear why I am bothering to ask similar questions about traditional digital computing at all.
My conjecture is that despite the differences between these two forms of computing there are still a significant number of parallels. Call it comparative computing, if you will.
[NOTE: An updated list of these questions is contained in a follow-on paper, What Knowledge Is Needed to Deeply Comprehend Quantum Computing?. The list presented here is still valid, but somewhat out of date and will become more outdated as the list in that other paper continues to be updated.]
My initial set of questions about quantum computing includes but is certainly not limited to:
- What is a quantum computer? Basic definition.
- What is quantum computing? Basic definition.
- How is quantum computing distinct from traditional digital computing?
- What can a quantum computer compute that a traditional digital computer cannot?
- What can a quantum computer do better than a traditional digital computer?
- Is speed the only truly significant advantage of a quantum computer?
- Is the concept of digital even relevant to quantum computing?
- Do quantum and traditional digital computers have more in common or more that differentiates them from each other?
- Is a qubit still considered digital?
- Is a qubit still considered discrete?
- Is a quantum computer still a digital computer?
- What precisely does digital mean?
- What precisely does digital computing mean?
- Is a quantum computer still a discrete computer (ala digital) or can it compute continuous data as an analog computer does?
- Can a quantum computer compute directly from continuous values from analog sensors, such as a voltage, current, or temperature, or is an intermediate conversion to a discrete or digital value needed?
- How does a quantum computer handle analog to digital and digital to analog conversions?
- What operations can a quantum computer perform compared to operations that a traditional digital computer can perform?
- What data types, operators, and functions does a quantum computer support, compared to a traditional digital computer?
- Does a quantum computer perform Boolean logic (AND, OR, NOT with true and false — not to be confused with binary digits of 0 and 1), such as evaluating complex conditions, comparable to a traditional digital computer?
- Does a quantum computer have a processing unit comparable to the central processing unit (CPU) of a traditional digital computer?
- Does a quantum computer have an arithmetic and logic processing unit comparable to an arithmetic and logic unit (ALU) of a traditional digital computer?
- Does a quantum computer have memory (for large volumes of data) comparable to a traditional digital computer?
- How is memory of a quantum computer (for large volumes of data) organized?
- Does a quantum computer have a byte or word size or data path width comparable to a traditional digital computer (8, 16, 32, 64, or 128)?
- Can a quantum computer compute values which cannot be represented on a traditional digital computer?
- How does a quantum computer represent real numbers?
- What are the largest and smallest real numbers (non-integers) that a quantum computer can represent?
- How many digits of precision can a quantum computer represent and compute for real numbers (non-integers)?
- What does a quantum computer compute for 1.0 divided by 3.0, which has an infinite number of repeating digits?
- What does a quantum computer compute for 1.0 divided by 3.0 times 3.0–1.0 or 0.9999…?
- Does a quantum computer use so-called floating point arithmetic for real numbers like a traditional digital computer? Base 2, or what?
- How does a quantum computer compute infinite Taylor series expansions, compared to a traditional digital computer?
- What will a quantum computer compute for SQRT(2.0), which is an irrational number with infinite digits? How will it compare to a traditional digital computer?
- Can a quantum computer calculate SQRT(-1), otherwise known as i, since quantum mechanics is based on complex and imaginary numbers?
- Do quantum computers have more than one precision for representing real numbers (non-integers)?
- Does a quantum computer compute with complex numbers more efficiently than a traditional digital computer, especially since complex numbers are the basis for quantum mechanics, which quantum computers are supposedly based on?
- How much quantum mechanics does one need to fully and deeply comprehend to fully and deeply grasp all nuances of quantum computing?
- Can a quantum computer compute values which cannot be comprehended by a human being?
- How are quantum algorithms different from or similar to comparable algorithms of traditional digital computing?
- Can all, some, or no quantum algorithms be simulated (albeit much more slowly) on a traditional digital computer? What factors are involved in whether or how effectively any simulation can be performed?
- How practical is a quantum computer?
- How expensive is a quantum computer for a given task?
- How much power (energy) does a quantum computer require for a given task?
- How large is a quantum computer for a given task?
- What technologies are needed to design and produce a quantum computer?
- What physics knowledge is needed to design and produce a quantum computer?
- What physics knowledge is needed to understand how to use a quantum computer?
- What physics knowledge is needed to understand how to program a quantum computer?
- What mathematics knowledge is needed to design and produce a quantum computer?
- What mathematics knowledge is needed to understand how to use a quantum computer?
- What mathematics knowledge is needed to understand how to program a quantum computer?
- Is great skill knowledge and skill with linear algebra (eigenfunctions, eigenvalues, Fourier transformations) needed to be very skilled with quantum computing?
- What kind of operating system is needed to run a quantum computer?
- Is a quantum computer more of a co-processor to be associated with a traditional general purpose digital computer, or can a quantum computer fully replace a traditional general purpose digital computer?
- Does it make sense to speak of a grid of interoperating quantum computers or even a distributed cloud of quantum computers, or is each quantum computer a world of its own and unable to interact with another quantum computer except through an intermediary traditional digital computer or other custom traditional digital electronic or optical circuitry?
- Can quantum computers be networked comparable to local, wide area, and Internet networking of traditional digital computers?
- Does the concept of a website make sense for quantum computing? [imaginary or complex web pages??!! Just kidding.]
- Does the concept of networking protocols make sense for quantum computing?
- Can two or more quantum computers directly exchange qubits via quantum communication, or is some translation to and from digital format required to make the transition?
- Is coherence (technically, quantum decoherence) a fundamental limit or upper bound to quantum computing or simply a short-term technical matter that will be resolved shortly?
- What degree of coherence can be expected over the next few to five to ten years?
- Is room temperature quantum computing even theoretically practical? How soon?
- What temperature of quantum computing will be practical over the next few to five to ten years?
- How much data can a quantum computer process, such as a large database or search engine, compared to the disk, flash memory, and main memory of a traditional digital computer, now and for the next few to five to ten years?
- What applications are most suitable for quantum computing?
- Are all applications suitable for quantum computing?
- Are any applications particularly unsuitable for quantum computing?
- What specific criteria can be used to determine the degree of suitability of an application for quantum computing?
- Can an automated profiling tool be used to determine the degree of suitability of a particular application for quantum computing?
- What programming languages can be used for quantum computing?
- What programming languages are best or optimal for quantum computing?
- Is there a machine language and assembly language for quantum computing?
- How similar or dissimilar are quantum computers from different labs, designers, or vendors?
- What components are standard across all or most quantum computers?
- Can quantum computers run on relatively small batteries, or do they need a robust AC power source?
- Do quantum computers use direct current (DC)?
- What voltage levels do quantum computers operate on?
- Is statistical processing the same or different for quantum computing in contrast with traditional digital computing?
- How would a quantum computer compute the median (not mean or average, although those are of interest too) of a very large set of numbers or character strings? How would the performance differ from a traditional digital computer?
- Are all aspects of mathematics equally applicable to quantum computing and traditional digital computing?
- Does cybersecurity apply equally to quantum computing as to traditional digital computing?
- What is the quantum computing equivalent of a traditional digital Turing machine?
- Would a quantum computer perform natural language processing (NLP) in a qualitatively better way than a traditional digital computer?
- What specific aspects of artificial intelligence is quantum computing especially well-adapted for?
- What debugging and testing features and tools does a quantum computer provide?
- Can the full state of a quantum computer be dumped or otherwise captured for examination, analysis, debugging, and testing, or does the Heisenberg uncertainty principle and superposition preclude this?
- How does fabrication of chips and circuits differ for quantum computing compared to a traditional digital computer?
- How is color represented in a quantum computer, compared to RGB and other color models used by traditional digital computing?
- Would quantum computers still use pixels for representing images and video?
- How would audio be represented and processed in a quantum computer?
- Is there a decent and comprehensive glossary for quantum computing?
- Is there a decent and comprehensive glossary for all aspects of quantum mechanics that is needed to fully comprehend quantum computing?
- Is there a decent and robust introductory overview of quantum computing? Puff pieces and hype not welcome. Wikipedia entry is weak. Dense, academic textbooks have their place, but the question here is a decent introductory overview that is free of hype and adequately explains the technical differences from traditional digital computing.
- How much of quantum computing applications can be cost-effectively addressed using massively parallel grids of very small and very cheap traditional digital computers?
- Which is more cost effective, owning or leasing quantum computers?
- Is time-sharing and on-demand shared online access to quantum computers more cost effective and more efficient than either owning or leasing?
- How can the computational complexity of quantum computers best be described — polynomial (P), nondeterministic polynomial (NP), NP-Complete, NP-Hard, or what?
- What thought processes are needed to solve problems with a quantum computer, and how do they compare or contrast with the thought processes for solving problems with traditional digital computers?
- Is the concept of a user interface or user experience (UX) relevant to quantum computing?
- What is the smallest quantum computing gate possible compared to the smallest traditional digital computing gate?
- What is the smallest qubit possible compared to the smallest traditional digital computing bit?
- What is the fastest quantum computing gate possible compared to the fastest traditional digital computing gate?
- What is the fastest qubit possible compared to the fastest traditional digital computing bit?
- What is the shortest quantum computing gate connection possible compared to the shortest traditional digital computing gate connection?
- What is the thinnest quantum computing gate connection possible compared to the thinnest traditional digital computing gate connection?
- Are there frameworks for quantum computing applications?
Those are some of the questions I’d like to be able to answer. A subsequent paper will expand that list.
This informal paper will not attempt to answer any of those questions for quantum computing, or any other questions about quantum computing in general. That will be left for future papers.
Classic or traditional digital computing
We need a decent term to refer to non-quantum computers — the kind of computers most of us use today.
An unresolved issue here is whether there is any distinction between the terms:
- Digital computing.
- Traditional digital computing.
- Classic computing.
- Classical computing.
- Classical digital computing.
I’ve seen the term classical computing used in online discussion of quantum computing.
At this stage, it does seem that traditional and classical (or classic) are all equally valid modifiers to distinguish traditional digital computing from newfangled quantum computing.
That said, I’ll stick with traditional digital computing in my own writing, to distinguish that it is strictly digital and that it is not the new form of computing currently called quantum computing.
I also see that the terms quantum algorithms and classical algorithms are now used as well.
What is a quantum computer?
This paper is not intended to answer any questions about quantum computing, including basic definitions such as the meaning of the terms quantum computer and quantum computing.
Although this paper suggests a number of potential questions about quantum computing, it isn’t even intended to present a comprehensive set of questions about quantum computing, let alone answer any of those questions.
A subsequent paper will present a relatively comprehensive set of questions about quantum computing based in large part by a list of topics and questions about traditional digital computing, which is the focus of this particular paper.
What is a digital computer?
The original intention of the term digital computer was to contrast with analog computer. The latter processes information as continuously varying electrical signals, commonly voltages, while the former processes information in discrete values, commonly as integers represented as sequences of the binary digits 0 and 1.
Generally a digital computer is an electronic digital computer, meaning that information is represented and transferred in the form of electrons. Although information can also be stored magnetically (disk and tape), which technically is not electronic.
Older computers were electromechanical, such as using relays.
Some computing research seeks to create photonic computers, also known as optical computers. They would still be digital computers, but would not be electronic digital computers since they would rely primarily on photons rather than electrons.
Is a quantum computer a digital computer?
Whether quantum computers are still digital computers is an open question, particularly since their reliance on the quantum mechanical property of superposition means that technically they are not operating on discrete values since a given value can be a superposition of many values.
In a traditional, electronic digital computer a bit is either a 0 or a 1, one or the other, while in a quantum computer a bit or qubit could be in any number of states rather than in only a single state.
This paper is not intending to take a firm stance on whether a quantum computer is or isn’t still a digital computer.
Generally, data fed into a quantum computer or read out of a quantum computer will be in some digital format that will indeed be discrete values composed of sequences of strictly digital, binary 0’s and 1’s, but I/O generally isn’t the basis for defining how a computer operates (internally.)
What does digital mean in the context of quantum computers?
Beyond how a digital computer processes and represents information internally, business, commerce, government, and consumers now refer to digital in many ways, most commonly simply to distinguish products and services which exist only online or only in electronic form, in contrast with real or physical products and services.
Technically, that use of digital is still fully compatible with how a digital computer functions internally since data is still represented as discrete values.
But in the world of quantum computers, will digital in the real world still have the same meaning?
Technically, as currently implemented, today’s quantum computers process information internally in quantum format which uses superposition rather than discrete digital values, but the process of transferring information into a quantum computer or out of a quantum computer currently requires conversion from and to traditional, discrete digital format.
At least for the foreseeable future, any interactions between people or businesses in the real world and quantum computers would still require the use of digital data formats and protocols, so referring to business, products, and services as digital will still be sensible even in the world of quantum computing.
But data inside of a quantum computer would commonly not be discrete or technically digital.
In short, information on the outside would still be digital, but information on the inside would not be digital, strictly speaking.
Roles which need to comprehend traditional digital computing
Not everybody who uses, programs, designs, builds, purchases, deploys, maintains, or repairs a traditional digital computer needs to have the full depth of knowledge of all aspects of traditional digital computing.
A robust but not necessarily comprehensive sampling of the roles includes:
- Scientists.
- Engineers.
- Mathematicians.
- Software designers.
- Software developers.
- Software engineers.
- Software test engineers.
- Software testers.
- Application software developers.
- Technical writers.
- Managers.
- Project managers.
- Technical supervisors.
- Middle level technical managers.
- Product managers.
- Corporate executive management.
- User experience designers.
- Test engineers.
- IT specialists.
- Managers of IT specialists.
- Chief technology officers.
- Users.
- Managers of users.
- Buyers of computers and software.
- Marketing.
- Sales.
- Investors.
- Shareholders.
- Public policy staff.
- Government officials.
- Legislators.
Fields needed to fully and deeply comprehend traditional digital computing
This is a semi-comprehensive list of the fields of study that encompass the vast bulk of everything that goes on inside of a traditional digital computer:
- Physics
- Chemistry of materials
- Semiconductor fabrication
- Electrical engineering
- Computer engineering
- Mechanical engineering
- Robotics
- Mathematics
- Computer science
- Software engineering
- Circuit design — digital and analog
- Energy sources — AC, batteries, solar, power management, and heat dissipation
- Psychology
- Graphic design
- User experience design
- Marketing
- Sales
- Support
- Philosophy
- Law
- Sociology
- Neuroscience
General areas
These are some or most of the general areas of knowledge and expertise needed to fully and deeply comprehend traditional digital computing:
- Physics — Newtonian mechanics, electricity, magnetism
- Physics — Solid state physics
- Physics — Quantum mechanics
- Physics — Quantum field theory
- Physics — Flow of electrons in wires
- Physics — Flow of photons in waveguides, optical cables
- Physics — Flow of heat
- Chemistry of materials — Conductors
- Chemistry of materials — Insulators
- Chemistry of materials — Semiconductors
- Chemistry of materials — Batteries
- Chemistry of materials — Light sensitivity
- Chemistry of materials — Color properties
- Chemistry of materials — Solutions and solvents
- Software design
- Software architecture
- Math — Number theory
- Math — Real numbers
- Math — Rational numbers
- Math — Irrational numbers
- Math — Sets
- Math — Complex numbers
- Math — Algebra
- Math — Geometry
- Math — Trigonometry
- Math — Transcendental functions
- Math — Calculus
- Math — Probability
- Math — Statistics
- Math — Logic
- Math — Computational complexity
- Math — Linear algebra
- Math — Game theory
- Computer science — Algorithms
- Computer science — Data structures
- Databases
- Distributed databases
- Blockchain and other distributed transaction ledger technologies
- Data modeling
- Search engines
- Artificial intelligence (AI)
- Machine intelligence
- Machine learning
Specific topic areas
These are many of the specific topic areas that span the full range of knowledge and expertise needed to fully master all aspects of traditional digital computers:
- Electrons
- Photons
- Waves and particles
- Charge
- Spin
- Special relativity
- General relativity
- Quantum nature of electromagnetic radiation
- Electric field
- Magnetic field
- Potential
- Voltage
- Current
- Resistance
- Capacitance
- Magnetism for storage
- Discrete electronic components
- Data sheets for specification of electronic components
- Design of logic gates
- Design with logic gates
- Resistors, capacitors, inductors, capacitors, diodes, transistors, crystals, switches
- Design of transistors
- Design with transistors
- Physics of transistors
- Analog electronic components
- Wires and cables
- Plugs, sockets, and connectors
- Switches and buttons
- Electronic digital computing
- Photonic digital computing
- The many ways a bit can be represented, stored, transferred, and operated on.
- Bits, bytes, words, nibbles, bit strings, characters, character strings.
- Decimal, binary, hex, octal, Boolean, enumeration, integer, floating point, arbitrary decimal precision, and complex number and data representations.
- Distinction between binary, bit, and Boolean
- What precisely does digital mean?
- What precisely does digital computing mean?
- Memory models
- Transient memory
- Static memory
- Dynamic memory
- Memory refresh
- Associative memory
- Parity and parity errors
- Error correction code (ECC) memory
- Cache
- Data cache
- Instruction cache
- Random access memory
- Memory management — pages and segments, protection, sharing
- Virtual memory and paging
- Flash memory
- Mass storage
- Rotating storage, spinning storage
- Latency
- Seek time
- Tape storage
- Operating systems
- Device drivers
- Process scheduling
- Resource contention
- Central processing unit (CPU)
- Arithmetic and Logic Unit (ALU)
- Chip design
- Chip layout
- Circuit board layout
- Circuit board fabrication
- Encryption
- User credentials — user IDs and names, passwords, keys
- User authentication
- User authorization
- User privileges
- Language translation
- Software modules
- Software APIs
- Code libraries
- Application frameworks
- Network service APIs
- Web services
- REST APIs
- Software Testing
- Software performance characterization and testing
- Software capacity characterization and testing
- Algorithm design
- Specific algorithms
- Design patterns
- Brute force approaches — algorithms, attacks, calculations, methods, search
- Computer science — Complexity theory
- Arithmetic expressions, operators, and functions
- Boolean logic expressions, operators, and functions
- Bit and bit string expressions, operators, and functions
- Logical expressions, operators, and functions
- Character expressions, operators, and functions
- String expressions, operators, and functions
- Operations
- Operation codes (opcodes)
- Data types
- Data type conversion — implicit and explicit
- Language theory
- Languages — Human
- Languages — Computer programming
- Languages — specialized
- Language grammars
- Unrestricted languages and grammars, Type-0 languages
- Context-sensitive languages and grammars, Type-1 languages
- Context-free languages and grammars, Type-2 languages
- Regular languages and grammars, Type-3 languages
- Regular expressions, regex, pattern matching
- Grammar syntax rules
- BNF — Backus–Naur form for grammars, extended BNF
- Railroad diagrams for grammar syntax rules
- Language parsing
- Language lexemes and tokens
- Language parse trees
- Language syntax
- Language semantics
- Language meaning
- Compilers
- Language translators
- Code generation, code generators
- Code optimization
- Runtime systems
- Interpreters
- Virtual machines
- Knowledge
- Knowledge representation
- Knowledge semantics
- Knowledge meaning
- AI
- Machine intelligence
- Machine learning
- Sensors
- Real-time systems and programming
- Input and output devices (I/O)
- Interrupts and interrupt levels
- Internet of Things (IoT) devices
- Math — Computability theory
- Math — NP-complete
- Coding algorithms
- Specific programming languages
- High-level languages
- Assembly language programming
- Machine language programming
- Layout of machine code
- Dumps, hex dumps
- Command languages
- Shell scripts
- Protocols for data transmission
- Data persistence
- State
- Data formats
- Data formats for transmission
- Data formats for storage
- Data structures in general
- Data structure fields
- Data structure design
- Specific data structures — arrays, lists, sets, maps, heaps, hash tables, graphs, directed graphs, directed acyclic graph, trees, Merkle trees, blocks, records, rows, columns
- Objects and classes
- Object-oriented programming
- Class functions
- Memory allocation
- Heap memory
- Memory leaks
- Garbage collection
- Function call processing
- Pushdown stack
- Function recursion
- Constants
- Symbolic constants
- Arrays
- Lists
- Trees
- Records
- Rows
- Packets
- Database principles
- Data model design principles
- Data consistency
- ACID data principles
- Relational database principles
- Query languages
- SQL
- NoSQL
- Security
- Privacy
- Data protection
- Data privileges
- Code protection
- Code privileges
- Code synchronization — semaphores and locks
- Timeouts, retries, exponential backoff
- Distributed computing
- CAP theorem
- Data partition
- Data replication
- Server mirroring
- Data centers
- Cloud computing
- Clusters
- Nodes
- Single point of failure (SPOF)
- Client applications
- Middleware
- Writing requirements specifications
- Writing design specifications
- Writing architectural specifications
- Designing user interfaces
- Testing software
- Installing a computer
- Using a computer
- Maintaining a computer
- Human computer interaction (HCI)
- Human factors
- Response time
- Latency
- Automata
- Turing machines
- Finite state machine, automaton
- Pushdown automaton
- Cellular automata
- State machines
- Co-processors
- Auxiliary processing units
- GPU (Graphics Processing Unit)
- Central processor architecture
- Central processor block diagram
- Multi-core processors
- Hyperthreaded processing
- Parallel processing — Single Instruction, Multiple Data (SIMD) and Multiple Instruction, Multiple Data (MIMD)
- Supercomputers
- Microprocessors
- Embedded computers
- Data flow diagrams
- Flow charts
- Block diagrams
- Abstraction
- Representation
- Markup languages
- Specific markup languages — SGML, HTML, XML
- Graphic representations — 2D and 3D
- Picture and photographic representations
- Audio and video representations
- Analog and digital conversion for speakers, microphones, and cameras (still and motion video)
- Color models — RGB, HSV, HSL, CMYK
- Pixels
- Displays
- Keyboards
- Pointing devices
- Software tools
- Source code control
- Configuration management
- Debugging features and tools
- Testing features and tools
- Nondeterministic polynomial time (NP) problems
- NP-Complete problems
- NP-Hard problems
- Polynomial time (P) problems
- Church-Turing thesis
- Turing test for intelligence
- Hilbert space
- Hamiltonian energy operator
- Hermitian operators
- Adjoint operators
- Fourier transforms
- Heat flow
- Heat dissipation
- Cooling
- Websites, web pages
- Blogs
- E-commerce
- Social media
- Backup
- Checkpoint and restart
- Undo and redo
- Audit trail logging
- Event tracing
- Information theory (Shannon, et al) and the intersection of communication and computing; data and information coding
- Numerical analysis
- Matrices, matrix arithmetic, and matrix functions
- Computer gaming
- Simulation
- Monte Carlo simulation
Specific questions, unknowns, or issues
Beyond all of the general and specific areas of interest to traditional computing, some specific questions or issues include:
- Smallest transistor possible.
- Fastest transistor possible.
- Smallest logic gates (AND, OR, NOT, flip flop) possible.
- Fastest logic gates possible.
- Thinnest wire or connection possible between gates.
- Shortest wire or connection possible between gates.
- Smallest memory cell possible.
- Fastest memory cell possible.
- Impact of cosmic radiation on electronic components.
- Impact of background radiation on electronic components.
- Impact of impurities on electronic components.
- Speed of electron flow within and between electronic components.
- Impact of speed of light on electronic circuits.
- Impact of neutrinos on electronic circuits.
- Generation of random numbers. Quality of randomness or pseudorandomness.
- Most complex algorithm, computer program, software system, application, or computing system that can be fully comprehended by even the most sophisticated professional or certified genius.
- Most complex algorithm, computer program, software system, application, or computing system that can be fully comprehended by an average professional.
- Most complex algorithm, computer program, software system, application, or computing system that can be fully comprehended by even a team of the most sophisticated professionals.
- Most complex algorithm, computer program, software system, application, or computing system that can be fully comprehended by a team of average professionals.
- All of the above applied to photonic components as well.
- What makes metals such as copper, aluminum, silver, and gold be conductors?
- What makes materials such as silicon dioxide be insulators?
- What makes materials be semiconductors?
- What thought processes are needed to solve problems with a traditional digital computer?
- How does a transistor really work (physics)?
- What’s so special about electrons (physics)?
Quantum mechanics
My presumption is that a deep understanding of quantum mechanics is essential to a deep understanding of quantum computing. Again, my interest is not understanding quantum computing at a shallow level, the way an undergraduate computer science major would understand traditional digital computing, but to understand at a deep enough level to sift through and dispel any and all hype.
Are quantum mechanical effects visible in digital computing
One interesting question is the degree of impact of quantum mechanics on traditional digital computing.
Are quantum mechanical properties visible at the macroscopic level of electronic circuits? Such as in the behavior of transistors and the motion of electrons.
Of course one could argue that all macroscopic effects exist on top of and can only exist because of quantum mechanical interactions.
But the question remains how much knowledge about quantum mechanics itself is needed to comprehend traditional digital computing.
And whether an understanding of the role of quantum mechanics in digital computing helps in any way to understand the special and distinctive qualities of quantum computing.
What’s next?
I’ll continue to update the lists in this paper as I dig deeper into quantum computing and realize how many points of commonality or difference quantum and traditional digital computing really have.
I’ll also start a parallel paper based on the initial list of questions for quantum computing listed at the front of this paper. The tentative title for that paper will be Knowledge Needed for Quantum Computing. I won’t be attempting to provide hard, definitive answers to any of those questions in that paper — that will be left to yet another paper or multiple papers depending and how simple or complex the correspondence between quantum and traditional digital computing turns out to really be.
I’m also interested in compiling a relatively comprehensive glossary of quantum computing terms which have distinct meaning from similar terms in traditional digital computing. As well as a glossary which is a subset of quantum mechanical terms which are essential to a deep comprehension of quantum computing.
At some point I intend to produce a What is Quantum Computing? paper. The puff pieces and hype that is out there, even the Wikipedia page, are all woefully inadequate.
Meanwhile, my main focus in the near term will be on completing the three MIT online courses that cover quantum mechanics. Or at least reviewing them even though I have no expectation of truly mastering the material, but I do expect to learn enough to pass judgement on the veracity of a lot of the claims that are being made about quantum computing, at least from the perspective of the underlying quantum mechanical theory.
How much of all of this I will succeed at completing and in what timeframe remains to be seen. My hope is that my preliminary list of questions about quantum computing at the front of this paper should be sufficient to kick start the thought and discussion process even if I accomplish very little beyond that.