Do you want to publish a course? Click here

Is Fortran Still Relevant? Comparing Fortran with Java and C++

387   0   0.0 ( 0 )
 Added by Shahid Alam
 Publication date 2014
and research's language is English
 Authors Shahid Alam




Ask ChatGPT about the research

This paper presents a comparative study to evaluate and compare Fortran with the two most popular programming languages Java and C++. Fortran has gone through major and minor extensions in the years 2003 and 2008. (1) How much have these extensions made Fortran comparable to Java and C++? (2) What are the differences and similarities, in supporting features like: Templates, object constructors and destructors, abstract data types and dynamic binding? These are the main questions we are trying to answer in this study. An object-oriented ray tracing application is implemented in these three languages to compare them. By using only one program we ensured there was only one set of requirements thus making the comparison homogeneous. Based on our literature survey this is the first study carried out to compare these languages by applying software metrics to the ray tracing application and comparing these results with the similarities and differences found in practice. We motivate the language implementers and compiler developers, by providing binary analysis and profiling of the application, to improve Fortran object handling and processing, and hence making it more prolific and general. This study facilitates and encourages the reader to further explore, study and use these languages more effectively and productively, especially Fortran.



rate research

Read More

Fortran is the oldest high-level programming language that remains in use today and is one of the dominant languages used for compute-intensive scientific and engineering applications. However, Fortran has not kept up with the modern software development practices and tooling in the internet era. As a consequence, the Fortran developer experience has diminished. Specifically, lack of a rich general-purpose library ecosystem, modern tools for building and packaging Fortran libraries and applications, and online learning resources, has made it difficult for Fortran to attract and retain new users. To address this problem, an open source community has formed on GitHub in 2019 and began to work on the initial set of core tools: a standard library, a build system and package manager, and a community-curated website for Fortran. In this paper we report on the progress to date and outline the next steps.
Emerging GPU architectures for high performance computing are well suited to a data-parallel programming model. This paper presents preliminary work examining a programming methodology that provides Fortran programmers with access to these emerging systems. We use array constructs in Fortran to show how this infrequently exploited, standardized language feature is easily transformed to lower-level accelerator code. The transformations in ForOpenCL are based on a simple mapping from Fortran to OpenCL. We demonstrate, using a stencil code solving the shallow-water fluid equations, that the performance of the ForOpenCL compiler-generated transformations is comparable with that of hand-optimized OpenCL code.
We present an efficient and expressive tool for the instrumentation of Java programs at the bytecode-level. BISM (Bytecode-Level Instrumentation for Software Monitoring) is a light-weight Java bytecode instrumentation tool that features an expressive high-level control-flow-aware instrumentation language. The language is inspired by the aspect-oriented programming paradigm in modularizing instrumentation into separate transformers, that encapsulate joinpoint selection and advice inlining. BISM allows capturing joinpoints ranging from bytecode instructions to methods execution and provides comprehensive static and dynamic context information. It runs in two instrumentation modes: build-time and load-time. BISM also provides a mechanism to compose transformers and automatically detect their collision in the base program. Transformers in a composition can control the visibility of their advice and other instructions from the base program. We show several example applications for BISM and demonstrate its effectiveness using three experiments: a security scenario, a financial transaction system, and a general runtime verification case. The results show that BISM instrumentation incurs low runtime and memory overheads.
Many of the static and dynamic properties of an atomic Bose-Einstein condensate (BEC) are usually studied by solving the mean-field Gross-Pitaevskii (GP) equation, which is a nonlinear partial differential equation for short-range atomic interaction. More recently, BEC of atoms with long-range dipolar atomic interaction are used in theoretical and experimental studies. For dipolar atomic interaction, the GP equation is a partial integro-differential equation, requiring complex algorithm for its numerical solution. Here we present numerical algorithms for both stationary and non-stationary solutions of the full three-dimensional (3D) GP equation for a dipolar BEC, including the contact interaction. We also consider the simplified one- (1D) and two-dimensional (2D) GP equations satisfied by cigar- and disk-shaped dipolar BECs. We employ the split-step Crank-Nicolson method with real- and imaginary-time propagations, respectively, for the numerical solution of the GP equation for dynamic and static properties of a dipolar BEC. The atoms are considered to be polarized along the z axis and we consider ten different cases, e.g., stationary and non-stationary solutions of the GP equation for a dipolar BEC in 1D (along x and z axes), 2D (in x-y and x-z planes), and 3D, and we provide working codes in Fortran 90/95 and C for these ten cases (twenty programs in all). We present numerical results for energy, chemical potential, root-mean-square sizes and density of the dipolar BECs and, where available, compare them with results of other authors and of variational and Thomas-Fermi approximations.
comments
Fetching comments Fetching comments
Sign in to be able to follow your search criteria
mircosoft-partner

هل ترغب بارسال اشعارات عن اخر التحديثات في شمرا-اكاديميا