In this paper a very simple model for the dynamics of two programming languages is presented. Considering two programming languages X and Y respectively, it is possible to explain in relation to time the obsolescence ...
详细信息
In this paper a very simple model for the dynamics of two programming languages is presented. Considering two programming languages X and Y respectively, it is possible to explain in relation to time the obsolescence of some programming languages and the future trend of those most used. Also, it is possible to quantify the level of popularity or decadence by using a parameter related with the use of language. With the aid of the model it is possible to predict future trends of languages, something very important when we have to take some decisions related to the investment in education related to the teaching of certain programming languages or the programming of industrial applications. Thus, depending on the election of a specific language and its prevalence in a specific area a company or institution is going to be able to better navigate in the future.
When developing a software engineering project, selecting the most appropriate programming language is a crucial step. Most often, feeling at ease with the possible options becomes almost as relevant as the technical ...
详细信息
When developing a software engineering project, selecting the most appropriate programming language is a crucial step. Most often, feeling at ease with the possible options becomes almost as relevant as the technical features of the language. Therefore, it appears to be worth analyzing the role that the emotional component plays in this process. In this article, we analyze the trend of the emotions expressed by developers in 2018 on the Stack Overflow platform in posts concerning 26 programming languages. To do so, we propose a learning model trained by distant supervision and the comparison of two different classifier architectures. (C) 2020 The Korean Institute of Communications and Information Sciences (KICS). Publishing services by Elsevier B.V.
The deterioration of architectural structure and the lack of modularity have resulted in major deficiencies that will require more support from components and their interfaces. programming language concepts also must ...
详细信息
The deterioration of architectural structure and the lack of modularity have resulted in major deficiencies that will require more support from components and their interfaces. programming language concepts also must explicitly reflect this support.
Constancy constitutes a natural form of value protection, and it often is the case that most ''variables'' are never changed. To assure that such a location is never updated, it may be declared to be ...
详细信息
Constancy constitutes a natural form of value protection, and it often is the case that most ''variables'' are never changed. To assure that such a location is never updated, it may be declared to be a constant specified by some keyword or concrete syntax. This analysis outlines how various degrees of constancy can be built into a computer language employing dynamic type checking. To achieve ''the best of both worlds'', the compiler checks those items that are statistically restricted (protected), while the implementation checks the remainder. Thereby, the expressive generality of a dynamically checked system is combined with the inexpensive protection of static checking.
AI programming languages, such as lisp , prolog and pop -11, are always supported by sophisticated environments. Such environments include, at the least, incremental compilation and recompilation, an editor and debugg...
详细信息
AI programming languages, such as lisp , prolog and pop -11, are always supported by sophisticated environments. Such environments include, at the least, incremental compilation and recompilation, an editor and debugging tools. Typical facilities included in AI programs are list processing, pattern matching and frames. A particularly important facility is functional programming, which marks the difference between AI and other languages. In choosing a language for a particular problem, you should be thinking in terms of which language will be the best base for building the language you really need.
We survey the use of Abstract State Machines in the area of programming languages, namely to define behavioural properties of programs at source, intermediate and machine levels in a way that is amenable to mathematic...
详细信息
We survey the use of Abstract State Machines in the area of programming languages, namely to define behavioural properties of programs at source, intermediate and machine levels in a way that is amenable to mathematical and experimental analysis by practitioners, like correctness and completeness of compilers, etc. We illustrate how theorems about such properties can be integrated into a modular development of programming languages and programs, using as example a Java/JVM compilation correctness theorem about defining, interpreting, compiling and executing Java/JVM code. We show how programming features (read: programming constructs) modularize not only the source programs, but also the program property statements and their proofs.
The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a pa...
详细信息
The number of programming languages is large and steadily increasing. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture. We argue that these shortages are partly due to a lack of high-level, objective programming language feature assessment criteria: existing advice to practitioners is often based on ill-defined notions of 'paradigms' [3, p. xiii] and 'orientation', while researchers lack a shared common basis for generalisation and synthesis of empirical results. This paper presents a feature model constructed from the programmer's perspective, which can be used to precisely compare general-purpose programming languages in the actor-oriented, agent-oriented, functional, object-oriented, and procedural categories. The feature model is derived from the existing literature on general concepts of programming, and validated with concrete mappings of well-known languages in each of these categories. The model is intended to act as a tool for both practitioners and researchers, to facilitate both further high-level comparative studies of programming languages, and detailed investigations of feature usage and efficacy in specific development contexts. (C) 2014 Elsevier B.V. All rights reserved.
Much of the work done in the field of tangible interaction has focused on creating tools for learning;however, in many cases, little evidence has been provided that tangible interfaces offer educational benefits compa...
详细信息
ISBN:
(纸本)9781605582467
Much of the work done in the field of tangible interaction has focused on creating tools for learning;however, in many cases, little evidence has been provided that tangible interfaces offer educational benefits compared to more conventional interaction techniques. In this paper,, we present a study comparing the use of a tangible and a graphical interface as part of an interactive computer programming and robotics exhibit that we designed for the Boston Museum of Science. In this study, we have collected observations of 260 museum visitors and conducted interviews with 13 family groups. Our results show that visitors found the tangible and the graphical systems equally easy to understand. However, with the tangible interface, visitors were significantly more likely to,try the exhibit and significantly more likely to actively participate in groups. In turn, we show that regardless of the condition, involving multiple active participants leads to significantly longer interaction times. Finally, we examine the role of children and adults in each condition and present evidence that children are more actively involved in the tangible condition, an effect that seems to be especially strong for girls.
Context: Developing concurrent software has long been recognized as a difficult and error-prone task. To support developers, a multitude of language proposals exist that promise to make concurrent programming easier. ...
详细信息
Context: Developing concurrent software has long been recognized as a difficult and error-prone task. To support developers, a multitude of language proposals exist that promise to make concurrent programming easier. Empirical studies are needed to support the claim that a language is more usable than another. Objective: This paper presents the design of a study to compare concurrent programming languages with respect to comprehending and debugging existing programs and writing correct new programs. The design is applied to a comparison of two object-oriented languages for concurrency, multithreaded Java and SCOOP. Method: A critical challenge for such a study is avoiding the bias that might be introduced during the training phase and when interpreting participants' solutions. We address these issues by the use of self-study material and an evaluation scheme that exposes any subjective decisions of the corrector, or eliminates them altogether. Results: The study template consisting of the experimental design and the structure of the self-study and evaluation material is demonstrated to work successfully in an academic setting. The concrete instantiation of the study template shows results in favor of SCOOP even though the study participants had previous training in writing multithreaded Java programs. Conclusion: It is concluded that the proposed template of a small but therefore easy-to-implement empirical study with a focus on core language constructs is helpful in characterizing the usability of concurrent programming paradigms. Applying the template to further languages could shed light on which approaches are promising and hence drive language research into the right direction. (C) 2012 Elsevier B.V. All rights reserved.
Motivation More and more high schools are teaching programming, and in many cases, teachers teach multiple programming languages to the same group of students. Objectives The goal of this paper is to explore the views...
详细信息
ISBN:
(纸本)9781450383264
Motivation More and more high schools are teaching programming, and in many cases, teachers teach multiple programming languages to the same group of students. Objectives The goal of this paper is to explore the views of high-school teachers on second and subsequent programming languages, including their motivation for teaching multiple languages, their struggles, and their use of transfer strategies when they teach their second or third programming language. Method The study consists of semi-structured interviews with 23 high-school teachers in two European countries. Results Our findings indicate that school pupils face the same issues as university students when moving from first to subsequent languages. Furthermore, the teachers' attitudes towards second language learning are highly variable, both positive and negative, with some supportive teaching strategies used, but many less helpful ones in evidence too. Discussion Our findings suggest that the value of second language learning needs to be highlighted in teacher professional development materials more strongly and that teachers might need more support in implementing transfer strategies.
暂无评论