Scala offers many benefits for constructing scientific programming environments. Extending Scala with Matlab-like constructs enabled the creation of ScalaSci, a compiled mathematical scripting framework, and ScalaLab,...
详细信息
Scala offers many benefits for constructing scientific programming environments. Extending Scala with Matlab-like constructs enabled the creation of ScalaSci, a compiled mathematical scripting framework, and ScalaLab, an efficient integrated scientific programming environment. ScalaLab offers an interesting open source alternative to commercial packages, especially for the scientific community familiar with Java.
A change currently unfolding is the move from desktop computing as we know it, where applications run on a person's computer, to network computing. The idea is to distribute an application across a network of comp...
详细信息
ISBN:
(纸本)9783642219832
A change currently unfolding is the move from desktop computing as we know it, where applications run on a person's computer, to network computing. The idea is to distribute an application across a network of computers, primarily the Internet. Whereas people in 2005 might have used Microsoft Word for their word-processing needs, people today might use Google Docs. This paper details a project, started in 2007, to enable scientific programming through an environment based in an Internet browser. scientific programming is an integral part of math, science and engineering. This paper glows how the Calq system can be used for scientific programming, and evaluates how well it works. Testing revealed something unexpected. Google Chrome outperformed other browsers, taking only a fraction of the time to perform a complex task in Calq.
While already established in other disciplines, integrated degree programs have become more popular in computer science and mathematical education in Germany as well over the last few years. These programs combine a t...
详细信息
While already established in other disciplines, integrated degree programs have become more popular in computer science and mathematical education in Germany as well over the last few years. These programs combine a theoretical education and a vocational training. The bachelor degree course "scientific programming", offered at FH Aachen University of Applied Sciences, is such an integrated degree program. It consists of 50% mathematics and 50% computer science. It incorporates the MATSE (MAthematical and Technical Software dEveloper) vocational training in cooperation with research facilities and IT companies located in and nearby Aachen, Inch and Cologne. This paper presents the general concept behind integrated degree programs in Germany and the scientific programming educational program in particular. A key distinguishing feature of this concept is the continuous combination of theoretical education at university level with practical work experience at a company. In this fashion, students end up being very well positioned for the labor market, and companies educate knowledgeable staff familiar with their products and processes. Additionally students are able to earn two degrees in three years, which is a rare approach for computer science programs in Germany. Therefore, scientific programming offers an important contribution towards reducing the shortage in advanced software development and engineering on the German labor market.
The use of software is pervasive in all fields of science. Associated software development efforts may be very large, long lived, and complex, requiring the commitment of significant resources. However, several author...
详细信息
The use of software is pervasive in all fields of science. Associated software development efforts may be very large, long lived, and complex, requiring the commitment of significant resources. However, several authors have argued that the "gap" or "chasm" between software engineering and scientific programming is a serious risk to the production of reliable scientific results, as demonstrated in a number of case studies. This article reviews the research that addresses the gap, exploring how both software engineering and research practice may need to evolve to accommodate the use of software in science.
While already established in other disciplines, integrated degree programs have become more popular in computer science and mathematical education in Germany as well over the last few years. These programs combine a t...
详细信息
While already established in other disciplines, integrated degree programs have become more popular in computer science and mathematical education in Germany as well over the last few years. These programs combine a theoretical education and a vocational training. The bachelor degree course “scientific programming”, offered at FH Aachen University of Applied Sciences, is such an integrated degree program. It consists of 50% mathematics and 50% computer science. It incorporates the MATSE ( MA thematical and T echnical S oftware d E veloper) vocational training in cooperation with research facilities and IT companies located in and nearby Aachen, Jülich and Cologne. This paper presents the general concept behind integrated degree programs in Germany and the scientific programming educational program in particular. A key distinguishing feature of this concept is the continuous combination of theoretical education at university level with practical work experience at a company. In this fashion, students end up being very well positioned for the labor market, and companies educate knowledgeable staff familiar with their products and processes. Additionally students are able to earn two degrees in three years, which is a rare approach for computer science programs in Germany. Therefore, scientific programming offers an important contribution towards reducing the shortage in advanced software development and engineering on the German labor market.
The ParaScope parallel programming environment, developed to support scientific programming of shared-memory multiprocessors, includes a collection of tools that use global program analysis to help users develop and d...
详细信息
The ParaScope parallel programming environment, developed to support scientific programming of shared-memory multiprocessors, includes a collection of tools that use global program analysis to help users develop and debug parallel programs. This paper focuses on ParaScope's compilation system, its parallel program editor, and its parallel debugging system. The compilation system extends the traditional single-procedure compiler by providing a mechanism for managing the compilation of complete programs. Thus, ParaScope can support both traditional single-procedure optimization and optimization across procedure boundaries. The ParaScope editor brings both compiler analysis and user expertise to bear on program parallelization. It assists the knowledgeable user by displaying and managing analysis and by providing a variety of interactive program transformations that are effective in exposing parallelism. The debugging system detects and reports timing-dependent errors, called data races, in execution of parallel programs. The system combines static analysis, program instrumentation, and run-time reporting to provide a mechanical system for isolating errors in parallel program executions. Finally, we describe a new project to extend ParaScope to support programming in Fortran D, a machine-independent parallel programming language intended for use with both distributed-memory and shared-memory parallel computers.
Parallel programming is bound to become the main concern of software developers in the coming decades. Various models aim to solve this tension, trading efficiency for abstraction or vice versa, but how about getting ...
详细信息
Parallel programming is bound to become the main concern of software developers in the coming decades. Various models aim to solve this tension, trading efficiency for abstraction or vice versa, but how about getting both?
Due to the computationally intensive nature of astrodynamics tasks, astrodynamicists have relied on compiled programming languages such as Fortran for the development of astrodynamics software. Interpreted languages s...
详细信息
Due to the computationally intensive nature of astrodynamics tasks, astrodynamicists have relied on compiled programming languages such as Fortran for the development of astrodynamics software. Interpreted languages such as Python, on the other hand, offer higher flexibility and development speed thereby increasing the productivity of the programmer. While interpreted languages are generally slower than compiled languages, recent developments such as just-in-time (JIT) compilers or transpilers have been able to close this speed gap significantly. Another important factor for the usefulness of a programming language is its wider ecosystem which consists of the available open-source packages and development tools such as integrated development environments or debuggers. This study compares three compiled languages and three interpreted languages, which were selected based on their popularity within the scientific programming community and technical merit. The three compiled candidate languages are Fortran, C++, and Java. Python, Matlab, and Julia were selected as the interpreted candidate languages. All six languages are assessed and compared to each other based on their features, performance, and ease-of-use through the implementation of idiomatic solutions to classical astrodynamics problems. We show that compiled languages still provide the best performance for astrodynamics applications, but JIT-compiled dynamic languages have reached a competitive level of speed and offer an attractive compromise between numerical performance and programmer productivity.
暂无评论