  The goal of this paper is to deliver the overview of the current state of the
art, to provide experience report on developing quantum software tools, and to
outline the perspective for developing quantum programming tools supporting
symbolic programming for the needs of quantum computing technologies. The main
focus of this paper is on quantum computing technologies, as they can in the
most direct way benefit from developing tools enabling the symbolic
manipulation of quantum circuits and providing software tools for creating,
optimizing, and testing quantum programs. We deliver a short survey of the most
popular approaches in the field of quantum software development and we aim at
pointing their strengths and weaknesses. This helps to formulate a list of
desirable characteristics which should be included in quantum computing
frameworks. Next, we describe a software architecture and its preliminary
implementation supporting the development of quantum programs using symbolic
approach, encouraging the functional programming paradigm, and, at the same,
time enabling the integration with high-performance and cloud computing. The
described software consists of several packages developed to address different
needs, but nevertheless sharing common design concepts. We also outline how the
presented approach could be used in tasks in quantum software engineering,
namely quantum software testing and quantum circuit construction.
