The guest editors of IEEE Software magazine's September/October issue describe the field of programming languages and why they selected the articles highlighted here. The Web extra at http://***/SmIc0Chc9Y0 is an ...
详细信息
The guest editors of IEEE Software magazine's September/October issue describe the field of programming languages and why they selected the articles highlighted here. The Web extra at http://***/SmIc0Chc9Y0 is an audio recording in which author IEEE Software Multimedia Editor Davide Falessi interviews Laurence Tratt and Adam Welc, guest editors of IEEE Software magazine's September/October 2014 issue, about the field of programming languages. [ABSTRACT FROM PUBLISHER]
This paper is primarily intended for students who take the courses on computer engineering. It may be useful as a reference text for practicing engineers and scientists who want to acquire some of the concepts require...
详细信息
ISBN:
(纸本)9781479941063
This paper is primarily intended for students who take the courses on computer engineering. It may be useful as a reference text for practicing engineers and scientists who want to acquire some of the concepts required for computer engineering in programming languages. The main objective of this paper is to make the readers prepared for studying the subjects on computer engineering and computer languages. The features of this paper can be summarized as follows: 1. It introduces the basic classification of programming languages and explain the declarative programming languages. 2. It gives a structure of C-Program with a simple example. 3. It covers the logical and functional programming languages, Common LISP, Standard Meta languages, and Functional programming with Haskell. 4. Each declarative programming language is illustrated by key concept, and examples with any applications so that the students can appreciate what the examples should be studied for.
Software plays a crucial role in our daily activities. Virtually all the technology we use contains software components written in a particular programming language. In this context, compilers and interpreters play an...
详细信息
Software plays a crucial role in our daily activities. Virtually all the technology we use contains software components written in a particular programming language. In this context, compilers and interpreters play an important role, as they are needed to convert the software source code into a format that can be executed by a machine. The significant influence of the programming language on the energy consumption of the resulting programs has been highlighted in some research. However, there is almost no research on the impact of the programming language compiler/interpreter version of the programming language on the energy consumption. This paper aims to fill this gap by investigating the impact of the compiler/interpreter version on the energy consumption of programs written in C, Java and Python. To do that we have performed a study that uses a hardware-based energy measurement approach to obtain the energy consumed by eight algorithms written in the three languages and run with different compiler/interpreter versions. The results do not show a trend of improvement between versions within each language, especially in terms of energy consumption. These results suggest that energy efficiency does not seem to be a major factor when developing compilers/interpreters and should therefore be prioritized.
Software is developed using programming languages whose choice is made based on a wide range of criteria, but it should be noted that the programming language selected can affect the quality of the software product. I...
详细信息
Software is developed using programming languages whose choice is made based on a wide range of criteria, but it should be noted that the programming language selected can affect the quality of the software product. In this paper, we focus on analysing the differences in energy consumption when running certain algorithms that have been developed using different programming languages. Therefore, we focus on the software quality from the perspective of greenability, in concrete in the aspects related to energy efficiency. For this purpose, this study has conducted an empirical investigation about the most suitable programming languages from an energy efficiency perspective using a hardware-based consumption measurement instrument that obtains real data about energy consumption. The study builds upon a previous study in which energy efficiency of PL were ranked using a software-based approach where the energy consumption is an estimation. As a result, no significant differences are obtained between two approaches, in terms of ranking the PL. However, if it is required to have a more realistic knowledge of consumption, it is necessary to use hardware approaches. Furthermore, the hardware approach provides information about the energy consumption of specific DUT hardware components, such as, HDD, graphics card, and processor, and a ranking for each of component is elaborated. This can provide useful information to make a more informed decision on the choice of a PL, depending on several factors, such as the type of algorithms to be implemented, or the effects on power consumption not only in overall, but also depending on specific DUT hardware components.
An analysis of production control tasks is presented to derive requirements for a language for programming production controllers. The programming of the controllers is divided into 2 related tasks: 1. the specifica...
详细信息
An analysis of production control tasks is presented to derive requirements for a language for programming production controllers. The programming of the controllers is divided into 2 related tasks: 1. the specification of the controller environment, and 2. the specification of the internal control tasks, such as scheduling and command dispatching. The description of the environment includes descriptions of how products must be made and descriptions of the capabilities and capacities of the subordinates of the controller. A language describing processing tasks should not introduce artificial constraints, but should allow the controller to exploit the maximum freedom to find optimal operation sequences or recover from errors. The temporal operators "before," "parallel," and "or" provide a good basis for the construction of a process task description language. Set and tree manipulations are a convenient way to describe control tasks at factor, workcell, and workstation levels.
Modern research and development has produced various language-level supports for secure systems design. Safe languages provide a flexible and reliable foundation on which to build. Language-based security abstractions...
详细信息
Modern research and development has produced various language-level supports for secure systems design. Safe languages provide a flexible and reliable foundation on which to build. Language-based security abstractions provide systems programmers with an effective means of defining and enforcing security models. Controlled language-execution models can impose fine-grained and powerful restrictions on code at varying levels of trust. Arguably, the most popular modern general-purpose languages, Java and C#, bear witness to the importance of programming language safety and security, being both safe and endowed with sophisticated security models. Research into these topics is ongoing, but perhaps the most important current task is the integration of modern language security technologies (much more efficient and effective than past technologies) with realistic systems design.
Young economists sometimes ask which computer programming languages they should learn. This paper answers that question by suggesting that they begin with a high level language like GAUSS, GAMS, Mathematica, Maple or ...
详细信息
Young economists sometimes ask which computer programming languages they should learn. This paper answers that question by suggesting that they begin with a high level language like GAUSS, GAMS, Mathematica, Maple or MATLAB depending on their field of specialization in economics. Then they should work down to one of the low level languages such as Fortran, Basic, C, C++ or Java depending on the planned areas of application. Finally, they should proceed to the languages which are used to develop graphical interfaces and internet applications, viz. Visual Basic, C, C++ or Java.
The programming language field is certainly one of the most important subfields of computer science. It is rich in concepts, theories, and practical developments. The present paper attempts to trace the 25 year develo...
详细信息
The programming language field is certainly one of the most important subfields of computer science. It is rich in concepts, theories, and practical developments. The present paper attempts to trace the 25 year development of programming languages by means of a sequence of 30 milestones (languages and concepts) listed in more or less historical order. The first 13 milestones (M1–M13) are largely concerned with specific programming languages of the 1950"s and 1960"s such as Fortran, Algol 60, Cobol, Lisp, and Snobol 4. The next ten milestones (M14–M23) relate to concepts and theories in the programming language field such as formal language theory, language definition, program verification, semantics and abstraction. The remaining milestones (M24–M30) relate to the software engineering methodology of the 1970"s and include a discussion of structured programming and the life cycle concept. This discussion of programming language development is far from complete and there are both practical developments such as special purpose languages and theoretical topics such as the lambda calculus which are not adequately covered. However, it is hoped that the discussion covers the principal concepts and languages in a reasonably nontrivial way and that it captures the sense of excitement and the enormous variety of activity that was characteristic of the programming language field during its first 25 years.
If code is law, then the language of law is a programming language. Lawyers and legal scholars can learn about law by studying programming-language theory, and programming-language tools can be usefully applied to leg...
详细信息
ISBN:
(纸本)9781450392341
If code is law, then the language of law is a programming language. Lawyers and legal scholars can learn about law by studying programming-language theory, and programming-language tools can be usefully applied to legal problems. This article surveys the history of research into programming languages and law and presents ten promising avenues for future efforts. Its goals are to explain how the combination of programming languages and law is distinctive within the broader field of computer science and law, and to demonstrate with concrete examples the remarkable power of programming-language concepts in this new domain.
Various programming languages have been used in education during the last 50 years. In this study, we investigate their popularity measured with the number of dedicated scientific publications. While some of the findi...
详细信息
ISBN:
(纸本)9781450394338
Various programming languages have been used in education during the last 50 years. In this study, we investigate their popularity measured with the number of dedicated scientific publications. While some of the findings could be expected, some are far from predictable. Also interesting are the indicated differences between the presented results and the general popularity of languages.
暂无评论