초보자에게 적합한 프로그래밍 언어는 무엇입니까?


12

프로그래밍 언어가 많이 있음을 이해합니다 (예 : Q #, Qiskit 등).

프로그래밍을 배우기 시작했고 양자 역학에 대해 전혀 모르는 사람에게 적합한 것은 무엇입니까?

답변:


7

언어 자체는 본질적으로 새로운 사용자에게 동일합니다. 그것들은 모두 지난 몇 십 년간 연구원들이 사용한 것과 동일한 기본 양자 연산 세트를 구현합니다.

방금 프로그래밍을 시작했다면 가장 관련있는 요소는 작성된 양자 SDK가 사용하는 언어 일 수 있습니다. 대부분 파이썬으로되어 있지만 QISKit에는 Swift 및 Java 변형도 있습니다. Q #은 Visual Studio에 통합되었습니다.

이 외에도 다음과 같은 점에서 차이가 있습니다.

  • 튜토리얼 자료
  • 프로그램이 실행될 시뮬레이터 또는 실제 양자 장치
  • 양자 지식이 필요없는 고급 응용 프로그램.

나는 내가 권장하는 것에 매우 편견이 있으며 (따라서 다른 방향으로 편향 된 다른 사람들도 귀하의 질문에 대답하기를 바랍니다) QISKit 블로그를 살펴 보는 것이 좋습니다. 여기 내 기사가 몇 개 있습니다.


5

더 친숙한 언어에 따라 다릅니다.

Qiskit, pyQuil 등은 Python으로되어 있으며, 많은 유용한 라이브러리로 일반적으로 이해하기 쉬운 프로그래밍 언어입니다. 초보자가 양자 컴퓨팅을 시작할 수 있도록 문서 / 자습서를 제공합니다. 몇 줄로 코드를 작성할 수 있습니다.

Q #은 C #입니다. 나는 그것을 시도하지는 않았지만 C 또는 C ++ (그리고 그와 같은)에 중점을 둔 프로그래밍을 배우기 시작했다면 이것에 익숙해야한다고 생각합니다.

학습을 위해서는 Nielsen과 Chuang의 Quantum Computation and Quantum Information 책이나 Yanofsky와 Mannucci의 컴퓨터 과학자를위한 Quantum Computing 책을 읽는 것이 좋습니다. 액세스 할 수 있고 동시에 선택한 플랫폼의 일부 코드를 살펴보십시오. 그러나 더 나은 이해를 위해 서로 다른 출처와 설명을 결합하는 것이 좋습니다.


2
나는 솔직히 Mike & Ike가 초보자에게 좋은 책이라고 생각하지 않습니다. 너무 빠릅니다. 컴퓨터 과학자를위한 Quantum Computing 또는 Quantum Computer Science : 소개는 훨씬 좋은 IMO입니다. Mike & Ike는 퀀텀 컴퓨팅에 대한 실무 지식이 있고 더 육체적으로 만들고 싶을 때 좋습니다.
ahelwer

@ahelwer 관련 의견입니다. 컴퓨터 과학자들을위한 퀀텀 컴퓨팅은 실제로 많은 수치 적 예를 보여 주었다. 초보자에게 더 적합합니다.
cnada

4

James Wootton의 답변에 동의합니다. 라이브러리, 리소스 견적 및 기타 고급 기능에 의존하는 더 큰 프로젝트에서 작업하면 언어 선택이 중요해집니다. 퀀텀 컴퓨팅 및 퀀텀 프로그래밍의 기본 사항을 배우기 시작하면 프로그램이 매우 작아서 언어마다 다르지 않습니다.

양자 컴퓨팅 이론에 관한 책이나 코스를 겪을 것이라고 가정합니다. 이 경우 프로그래밍 언어에서 확실히 두 가지를 원할 것입니다.

  • 당신이 배운 이론을 내면화하는 데 도움이되는 멋진 입문 튜토리얼 / 프로그래밍 연습 세트.
  • 프로그램이 실행될 때 큐 비트의 상태를 볼 수있는 양자 상태 시뮬레이터.

내 권고 (James가 제안한 것처럼 다른 방향으로 바이어스 됨 :-)) Q #을 살펴 보는 것입니다.

  • Quantum Katas 는 퀀텀 컴퓨팅 이론에 대한 과정을 수반하기 위해 고안된 자습 형 프로그래밍 자습서입니다. 각 자습서는 해결하기위한 일련의 연습과 코드가 올바른지 여부를 확인하는 즉각적인 테스트 하네스로 구성되어 즉각적인 피드백을 제공합니다. 기존 자습서는 유용한 입문 주제를 다루며 더 많은 자습서를 작성하기 위해 노력하고 있습니다.
  • Quantum Development Kit에 포함 된 전체 상태 시뮬레이터를 사용하면 시스템 상태를 진폭 목록으로 덤프 할 수 있으므로 시스템 상태가 사용자의 이해 / 예상과 일치하는지 확인하거나 무엇이 잘못되었는지 파악할 때마다 사용할 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.