3,201 results on '"First-generation programming language"'
Search Results
2. Language Support for Generic Programming in Object-Oriented Languages: Design Challenges
- Author
-
Julia Belyakova
- Subjects
Domain-specific language ,концепт-параметры ,Computer science ,Programming language ,Comparison of multi-paradigm programming languages ,Second-generation programming language ,computer.software_genre ,объектно-ориентированные языки ,концепты ,lcsh:QA75.5-76.95 ,концепт-паттерн ,множественные модели ,Very high-level programming language ,Third-generation programming language ,интерфейсы ,ограничения ,General Earth and Planetary Sciences ,Fourth-generation programming language ,обобщённое программирование ,типы ,lcsh:Electronic computers. Computer science ,Fifth-generation programming language ,First-generation programming language ,computer ,General Environmental Science - Abstract
It is generally considered that object-oriented (OO) languages provide weaker support for generic programming (GP) as compared with functional languages such as Haskell or SML. There were several comparative studies which showed this. But many new object-oriented languages have appeared in recent years. Have they improved the support for generic programming? And if not, is there a reason why OO languages yield to functional ones in this respect? In the earlier comparative studies object-oriented languages were usually not treated in any special way. However, the OO features affect language facilities for GP and a style people write generic programs in such languages. In this paper we compare ten modern object-oriented languages and language extensions with respect to their support for generic programming. It has been discovered that every of these languages strictly follows one of the two approaches to constraining type parameters. So the first design challenge we consider is “which approach is better”. It turns out that most of the explored OO languages use the less powerful one. The second thing that has a big impact on the expressive power of a programming language is language support for multiple models. We discuss pros and cons of this feature and its relation to other language facilities for generic programming.
- Published
- 2018
3. A .NET fluent interface for signal-oriented test programming
- Author
-
I.A. Neag and Chris Gorringe
- Subjects
Domain-specific language ,Natural language user interface ,Computer science ,Interface (Java) ,Overhead (engineering) ,02 engineering and technology ,Fluent interface ,Interface description language ,computer.software_genre ,Software ,0202 electrical engineering, electronic engineering, information engineering ,Programming domain ,Electrical and Electronic Engineering ,Instrumentation ,business.industry ,Programming language ,020208 electrical & electronic engineering ,SIGNAL (programming language) ,Usability ,Language primitive ,High-level programming language ,Fourth-generation programming language ,User interface ,First-generation programming language ,Software engineering ,business ,computer - Abstract
This paper describes an innovative software interface design in support of signal-oriented test programming. The design makes use of modern Domain Specific Language (DSL) concepts and advanced C# language features to create an interface with excellent usability features and low implementation overhead. The interface is proposed as a more usable alternative to the Test Procedure Language (TPL) specified in the IEEE 1641 standard. This interface offers syntactic compatibility with the ATLAS language, preserving the useful features of the language while overcoming its deficiencies. The proposed interface, along with the C# language, offer a capable solution for new test program development, as well as in ATLAS translation scenarios. The paper presents in detail the comparative analyses that led to the most important design decisions and describes the experimental verification of the design in the prototype of NAVAIR's Common Development Environment for Test (CDET).
- Published
- 2018
4. The Many-Level-Structure of Language
- Author
-
Friedrich Waismann
- Subjects
Philosophy of science ,Computer science ,Object language ,Comprehension approach ,General Social Sciences ,Second-language attrition ,Linguistics ,Epistemology ,Philosophy ,Contemporary philosophy ,Language transfer ,Universal Networking Language ,History and Philosophy of Science ,Language assessment ,Language technology ,Level structure ,Sociology ,First-generation programming language - Published
- 2018
5. Teaching Scenario-Based Programming: An Additional Paradigm for the High School Computer Science Curriculum, Part 2
- Author
-
Michal Armoni, David Harel, Giora Alexandron, and Michal Gordon
- Subjects
Symbolic programming ,General Computer Science ,business.industry ,Computer science ,05 social sciences ,Computer programming ,General Engineering ,050301 education ,020207 software engineering ,02 engineering and technology ,Extensible programming ,Inductive programming ,ComputingMilieux_COMPUTERSANDEDUCATION ,0202 electrical engineering, electronic engineering, information engineering ,Programming paradigm ,Mathematics education ,Computer science curriculum ,Fifth-generation programming language ,First-generation programming language ,business ,0503 education ,Programming language theory - Abstract
This is the second part of a two-part series that describes a pilot programming course in which high school students majoring in computer science were introduced to the visual, scenario-based programming language of live sequence charts. The main rationale for the course was that computer science students should be exposed to at least two very different programming paradigms and that LSCs, with their unique characteristics, can be a good vehicle for that. Part 1 (see the previous issue) focused on the pedagogic rationale of the pilot, on introducing LSC, and on the structure of the course. Part 2 centers on the evaluation of the pilot’s results.
- Published
- 2017
6. Staging with control: type-safe multi-stage programming with control operators
- Author
-
Yukiyoshi Kameyama and Junpei Oishi
- Subjects
Soundness ,Multi-stage programming ,Theoretical computer science ,Computer science ,Programming language ,Program transformation ,020207 software engineering ,0102 computer and information sciences ,02 engineering and technology ,computer.software_genre ,01 natural sciences ,Computer Graphics and Computer-Aided Design ,Programming language implementation ,Very high-level programming language ,010201 computation theory & mathematics ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Code generation ,First-generation programming language ,Programmer ,computer ,Low-level programming language ,Software - Abstract
Staging allows a programmer to write domain-specific, custom code generators. Ideally, a programming language for staging provides all necessary features for staging, and at the same time, gives static guarantee for the safety properties of generated code including well typedness and well scopedness. We address this classic problem for the language with control operators, which allow code optimizations in a modular and compact way. Specifically, we design a staged programming language with the expressive control operators shift0 and reset0, which let us express, for instance, multi-layer let-insertion, while keeping the static guarantee of well typedness and well scopedness. For this purpose, we extend our earlier work on refined environment classifiers which were introduced for the staging language with state. We show that our language is expressive enough to express interesting code generation techniques, and that the type system enjoys type soundness. We also mention a type inference algorithm for our language under reasonable restriction.
- Published
- 2017
7. Reliable and automatic composition of language extensions to C: the ableC extensible language framework
- Author
-
Travis Carlson, Eric Van Wyk, Ted Kaminski, and Lucas Kramer
- Subjects
020203 distributed computing ,Programming language ,Computer science ,020207 software engineering ,02 engineering and technology ,Specification language ,computer.software_genre ,Language primitive ,Universal Networking Language ,High-level programming language ,Programming language specification ,0202 electrical engineering, electronic engineering, information engineering ,Data control language ,Safety, Risk, Reliability and Quality ,First-generation programming language ,computer ,Low-level programming language ,Software - Abstract
This paper describes an extensible language framework, ableC, that allows programmers to import new, domain-specific, independently-developed language features into their programming language, in this case C. Most importantly, this framework ensures that the language extensions will automatically compose to form a working translator that does not terminate abnormally. This is possible due to two modular analyses that extension developers can apply to their language extension to check its composability. Specifically, these ensure that the composed concrete syntax specification is non-ambiguous and the composed attribute grammar specifying the semantics is well-defined. This assurance and the expressiveness of the supported extensions is a distinguishing characteristic of the approach. The paper describes a number of techniques for specifying a host language, in this case C at the C11 standard, to make it more amenable to language extension. These include techniques that make additional extensions pass these modular analyses, refactorings of the host language to support a wider range of extensions, and the addition of semantic extension points to support, for example, operator overloading and non-local code transformations.
- Published
- 2017
8. The P416 Programming Language
- Author
-
Mihai Budiu and Chris Dodd
- Subjects
Network packet ,Computer science ,Programming language ,020206 networking & telecommunications ,020207 software engineering ,02 engineering and technology ,Interface description language ,computer.software_genre ,Programming language implementation ,Language primitive ,High-level programming language ,0202 electrical engineering, electronic engineering, information engineering ,Operating system ,General Earth and Planetary Sciences ,Compiler ,First-generation programming language ,computer ,Low-level programming language ,General Environmental Science - Abstract
P4 is a language for expressing how packets are processed by the data-plane of a programmable network element such as a hardware or software switch, network interface card, router or network function appliance. This document describes the most recent version of the language, P416, and the reference implementation of the P416 compiler.
- Published
- 2017
9. EFFECTIVE TRANSLATION FOR LL(1)-GRAMMAR IN THE EXAMPLE OF A PROGRAMMING LANGUAGE
- Author
-
Yu. L. Kostyuk
- Subjects
Grammar ,Computer science ,Programming language ,Applied Mathematics ,media_common.quotation_subject ,Translation (geometry) ,computer.software_genre ,Theoretical Computer Science ,Very high-level programming language ,LL grammar ,Computational Theory and Mathematics ,Signal Processing ,Discrete Mathematics and Combinatorics ,Fifth-generation programming language ,First-generation programming language ,computer ,media_common - Published
- 2017
10. Design and Implementation of the Symbol Table for Object-Oriented Programming Language
- Author
-
Yangsun Lee
- Subjects
General Computer Science ,Symbol (programming) ,High-level programming language ,Symbol table ,Programming language ,Computer science ,Programming language specification ,Programming domain ,computer.software_genre ,First-generation programming language ,Programming language implementation ,computer ,Low-level programming language - Published
- 2017
11. AI and the Origins of the Functional Programming Language Style
- Author
-
Mark Priestley
- Subjects
Cognitive science ,Functional logic programming ,Computer science ,020207 software engineering ,Second-generation programming language ,02 engineering and technology ,Inductive programming ,Extensible programming ,Philosophy ,Artificial Intelligence ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Programming paradigm ,Fifth-generation programming language ,First-generation programming language ,Programming language theory - Abstract
The Lisp programming language is often described as the first functional programming language and also as an important early AI language. In the history of functional programming, however, it occupies a rather anomalous position, as the circumstances of its development do not fit well with the widely accepted view that functional languages have been developed through a theoretically-inspired project of deriving practical programming languages from the lambda calculus. This paper examines the origins of Lisp in the early AI programming work of the mid-to-late 1950s, and in particular in the work of Allen Newell, Cliff Shaw and Herbert Simon. Their 1956 program, the Logic Theory Machine, introduced new ideas about data and program structures that were articulated in response to perceived limitations in existing programming technique. Later writers, notably John Backus, have described these features as constituting a "programming language style" distinct from the traditional style that preceded it. The paper examines the origins of the earlier style in practices of manual computation, analyses the key technical differences between it and the style first manifested in the Logic Theory Machine, and concludes that programming practice and experience play a large and underappreciated role in the development of programming styles and languages.
- Published
- 2017
12. On parallel software engineering education using python
- Author
-
Ami Marowka
- Subjects
010302 applied physics ,Functional logic programming ,Programming language ,Computer science ,Library and Information Sciences ,Python (programming language) ,010502 geochemistry & geophysics ,computer.software_genre ,01 natural sciences ,Education ,Very high-level programming language ,High-level programming language ,Scripting language ,0103 physical sciences ,Programming paradigm ,Programming domain ,First-generation programming language ,computer ,0105 earth and related environmental sciences ,computer.programming_language - Abstract
Python is gaining popularity in academia as the preferred language to teach novices serial programming. The syntax of Python is clean, easy, and simple to understand. At the same time, it is a high-level programming language that supports multi programming paradigms such as imperative, functional, and object-oriented. Therefore, by default, it is almost obvious to believe that Python is also the appropriate language for teaching parallel programming paradigms. This paper presents an in-depth study that examines to what extent Python language is suitable for teaching parallel programming to inexperienced students. The findings show that Python has stumbling blocks that prevent it from preserving its advantages when shifting from serial programming to parallel programming. Therefore, choosing Python as the first language for teaching parallel programming calls for strong justifications, especially when better solutions exist in the community.
- Published
- 2017
13. Hybrid Interpreting Framework of the Unified Scheduling Language
- Author
-
Jinjiang Xing, Hua Zhu, and Xuemei Zou
- Subjects
Computer science ,Programming language ,05 social sciences ,Aerospace Engineering ,Natural language programming ,02 engineering and technology ,Specification language ,computer.software_genre ,Computer Science Applications ,Very high-level programming language ,Language primitive ,Universal Networking Language ,High-level programming language ,020204 information systems ,0502 economics and business ,0202 electrical engineering, electronic engineering, information engineering ,050211 marketing ,Electrical and Electronic Engineering ,First-generation programming language ,Low-level programming language ,computer - Abstract
The unified scheduling language is a Chinese domain-specific language with both programming and natural language features for space mission scheduling. To create a functional and yet simple languag...
- Published
- 2017
14. Understanding the syntactic rule usage in java
- Author
-
Bixin Li, Dong Qiu, Zhendong Su, and Earl T. Barr
- Subjects
Source code ,Source lines of code ,Java ,Computer science ,media_common.quotation_subject ,02 engineering and technology ,computer.software_genre ,Very high-level programming language ,020204 information systems ,Abstract syntax ,0202 electrical engineering, electronic engineering, information engineering ,Data control language ,Syntax error ,Visual programming language ,media_common ,computer.programming_language ,Syntax (programming languages) ,business.industry ,Programming language ,Data manipulation language ,Object language ,Natural language programming ,020207 software engineering ,Homoiconicity ,Specification language ,Syntax ,Language primitive ,Hardware and Architecture ,High-level programming language ,Programming language specification ,Artificial intelligence ,business ,Abstract syntax tree ,First-generation programming language ,computer ,Low-level programming language ,Software ,Natural language processing ,Information Systems - Abstract
Context: Syntax is fundamental to any programming language: syntax defines valid programs. In the 1970s, computer scientists rigorously and empirically studied programming languages to guide and inform language design. Since then, language design has been artistic, driven by the aesthetic concerns and intuitions of language architects. Despite recent studies on small sets of selected language features, we lack a comprehensive, quantitative, empirical analysis of how modern, real-world source code exercises the syntax of its programming language. Objective: This study aims to understand how programming language syntax is employed in actual development and explore their potential applications based on the results of syntax usage analysis. Method: We present our results on the first such study on Java, a modern, mature, and widely-used programming language. Our corpus contains over 5000 open-source Java projects, totalling 150 million source lines of code (SLoC). We study both independent (i.e. applications of a single syntax rule) and dependent (i.e. applications of multiple syntax rules) rule usage, and quantify their impact over time and project size. Results: Our study provides detailed quantitative information and yields insight, particularly (i) confirming the conventional wisdom that the usage of syntax rules is Zipfian; (ii) showing that the adoption of new rules and their impact on the usage of pre-existing rules vary significantly over time; and (iii) showing that rule usage is highly contextual. Conclusions: Our findings suggest potential applications across language design, code suggestion and completion, automatic syntactic sugaring, and language restriction.
- Published
- 2017
15. OBJECT-ORIENTED PROGRAMMING LANGUAGE FOR FORMALIZATION MODELS OF MOS-TRANSISTOR
- Author
-
Akhmed Zhvad and V. Lavlinskiy
- Subjects
040101 forestry ,Computer science ,Programming language ,Functional logic programming ,020206 networking & telecommunications ,04 agricultural and veterinary sciences ,02 engineering and technology ,General Medicine ,computer.software_genre ,Very high-level programming language ,High-level programming language ,Programming language specification ,Hardware_INTEGRATEDCIRCUITS ,0202 electrical engineering, electronic engineering, information engineering ,Programming paradigm ,0401 agriculture, forestry, and fisheries ,Fifth-generation programming language ,Programming domain ,First-generation programming language ,computer ,Hardware_LOGICDESIGN - Abstract
In article is considered possibility of the object-oriented programming language in the making models to formalize procedures of the designing mos-transistor.
- Published
- 2016
16. A Linguistic Model in Component Oriented Programming
- Author
-
Vasile Crăciunean and Daniel Cristian Crăciunean
- Subjects
Computer science ,Functional logic programming ,business.industry ,Programming language ,General Medicine ,computer.software_genre ,Inductive programming ,Procedural programming ,Programming paradigm ,Reactive programming ,Artificial intelligence ,Programming domain ,First-generation programming language ,business ,computer ,Functional reactive programming ,Natural language processing - Abstract
It is a fact that the component-oriented programming, well organized, can bring a large increase in efficiency in the development of large software systems. This paper proposes a model for building software systems by assembling components that can operate independently of each other. The model is based on a computing environment that runs parallel and distributed applications. This paper introduces concepts as: abstract aggregation scheme and aggregation application. Basically, an aggregation application is an application that is obtained by combining corresponding components. In our model an aggregation application is a word in a language.
- Published
- 2016
17. The Challenges of the Digital Transformation in Education
- Author
-
Victor Rivera, Ruslan Mustafin, JooYoung Lee, Adil Khan, Alexander Naumchev, Mansur Khazeev, Daniel de Carvalho, and Manuel Mazzara
- Subjects
Symbolic programming ,Correctness ,Functional logic programming ,Programming language ,Computer science ,ComputingMilieux_COMPUTERSANDEDUCATION ,Design by contract ,Fifth-generation programming language ,First-generation programming language ,computer.software_genre ,computer ,Inductive programming ,Programming language theory - Abstract
This paper summarizes the experience of teaching an introductory course to programming by using a correctness by construction approach at Innopolis University, Russian Federation. In this paper we claim that division in beginner and advanced groups improves the learning outcomes, present the discussion and the data that support the claim.
- Published
- 2019
18. A Study on Teaching the Object Oriented Programming Language
- Author
-
Se-Ill Choi
- Subjects
Very high-level programming language ,Language primitive ,Programming language ,Computer science ,Object language ,Programming language specification ,Fifth-generation programming language ,Programming domain ,Object (computer science) ,computer.software_genre ,First-generation programming language ,computer - Published
- 2016
19. Implementation of a Compressible-Flow Simulation Code in the D Programming Language
- Author
-
Peter A. Jacobs and Rowan J. Gollan
- Subjects
Computer science ,Computer programming ,02 engineering and technology ,computer.software_genre ,01 natural sciences ,Extensible programming ,010305 fluids & plasmas ,0203 mechanical engineering ,0103 physical sciences ,Reactive programming ,Programming domain ,Fifth-generation programming language ,Programming in the large and programming in the small ,020301 aerospace & aeronautics ,Symbolic programming ,Programming language ,business.industry ,Software development ,General Medicine ,Solver ,Programming language implementation ,Inductive programming ,Scripting language ,High-level programming language ,Programming paradigm ,First-generation programming language ,business ,computer ,Programming language theory - Abstract
We describe the formulation and implementation of the Eilmer4 compressible-flow solver as well as discuss the features of the D programming language that we have found useful for writing scientific software. An example of use is provided to show the features of the user-input scripting and the performance of the main simulation code when run in parallel with block-marching.
- Published
- 2016
20. Contralog: a Prolog conform forward-chaining environment and its application for dynamic programming and natural language parsing
- Author
-
Imre Kilián
- Subjects
dynamic programming ,Symbolic programming ,forward chaining ,Programming language ,Computer science ,Geography, Planning and Development ,Natural language programming ,QA75.5-76.95 ,computer.software_genre ,68t27 ,Prolog ,logic programming ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,natural language parsing ,mechanical theorem proving ,Forward chaining ,Electronic computers. Computer science ,Fifth-generation programming language ,Software_PROGRAMMINGLANGUAGES ,First-generation programming language ,computer ,Logic programming ,computer.programming_language ,Bottom-up parsing - Abstract
The backward-chaining inference strategy of Prolog is inefficient for a number of problems. The article proposes Contralog: a Prolog-conform, forward-chaining language and an inference engine that is implemented as a preprocessor-compiler to Prolog. The target model is Prolog, which ensures mutual switching from Contralog to Prolog and back. The Contralog compiler is implemented using Prolog's de facto standardized macro expansion capability. The article goes into details regarding the target model. We introduce first a simple application example for Contralog. Then the next section shows how a recursive definition of some problems is executed by their Contralog definition automatically in a dynamic programming way. Two examples, the well-known matrix chain multiplication problem and the Warshall algorithm are shown here. After this, the inferential target model of Prolog/Contralog programs is introduced, and the possibility for implementing the ReALIS natural language parsing technology is described relying heavily on Contralog's forward chaining inference engine. Finally the article also discusses some practical questions of Contralog program development.
- Published
- 2016
21. Pseudocode to Source Programming Language Translator
- Author
-
Jamsheedh C, Amal M R, and Linda Sara Mathew
- Subjects
Computer science ,Programming language ,computer.software_genre ,Very high-level programming language ,High-level programming language ,Programming language specification ,ComputingMilieux_COMPUTERSANDEDUCATION ,Program Design Language ,Software_PROGRAMMINGLANGUAGES ,Programming domain ,Fifth-generation programming language ,First-generation programming language ,Pseudocode ,computer - Abstract
Pseudocode is an artificial and informal language that helps developers to create algorithms. In this paper a software tool is described, for translating the pseudocode into a particular source programming language. This tool compiles the pseudocode given by the user and translates it to a source programming language. The scope of the tool is very much wide as we can extend it to a universal programming tool which produces any of the specified programming language from a given pseudocode. Here we present the solution for translating the pseudocode to a programming language by using the different stages of a compiler.
- Published
- 2016
22. DESIGN MODEL TO CREATE A SIMPLE COMPUTER LANGUAGE
- Author
-
Djunaidy Santoso and Zulfany Erlisa Rasjid
- Subjects
Object code ,High-level programming language ,Programming language ,Computer science ,General Mathematics ,Scopus ,Fourth-generation programming language ,Specification language ,computer.software_genre ,First-generation programming language ,Programming language implementation ,computer ,Low-level programming language - Published
- 2016
23. Software Tool for Translating Pseudocode to A Programming Language
- Author
-
Jamsheedh C, Amal M R, and Linda Sara Mathew
- Subjects
Computer science ,Programming language ,Software_PROGRAMMINGTECHNIQUES ,computer.software_genre ,Very high-level programming language ,Language primitive ,High-level programming language ,ComputingMilieux_COMPUTERSANDEDUCATION ,Compiler ,Program Design Language ,Software_PROGRAMMINGLANGUAGES ,Programming domain ,First-generation programming language ,Pseudocode ,computer - Abstract
Pseudocode is an artificial and informal language that helps programmers to develop algorithms. In this paper a software tool is described, for translating the pseudocode into a particular programming language. This tool takes the pseudocode as input, compiles it and translates it to a concrete programming language. The scope of the tool is very much wide as we can extend it to a universal programming tool which produces any of the specified programming language from a given pseudocode. Here we present the solution for translating the pseudocode to a programming language by implementing the stages of a compiler.
- Published
- 2016
24. Development of Safe Korean Programming Language Using Static Analysis
- Author
-
Yeoneo Kim, Gyun Woo, and Dohun Kang
- Subjects
Very high-level programming language ,Programming language ,Computer science ,Software security assurance ,Programming language specification ,Programming paradigm ,Fourth-generation programming language ,Programming domain ,computer.software_genre ,First-generation programming language ,computer ,Secure coding - Abstract
About 75% of software security incidents are caused by software vulnerability. In addition, the after-market repairing cost of the software is higher by more than 30 times than that in the design stage. In this background, the secure coding has been proposed as one of the ways to solve this kind of maintenance problems. Various institutions have addressed the weakness patterns of the standard software. A new Korean programming language Saesark has been proposed to resolve the security weakness on the language level. However, the previous study on Saesark can not resolve the security weakness caused by the API. This paper proposes a way to resolve the security weakness due to the API. It adopts a static analyzer inspecting dangerous methods. It classifies the dangerous methods of the API into two groups: the methods of using tainted data and those accepting in-flowing tainted data. It analyses the security weakness in four steps: searching for the dangerous methods, configuring a call graph, navigating a path between the method for in-flowing tainted data and that uses tainted data on the call graph, and reporting the security weakness detected. To measure the effectiveness of this method, two experiments have been performed on the new version of Saesark adopting the static analysis. The first experiment is the comparison of it with the previous version of Saesark according to the Java Secure Coding Guide. The second experiment is the comparison of the improved Saesark with FindBugs, a Java program vulnerability analysis tool. According to the result, the improved Saesark is 15% more safe than the previous version of Saesark and the F-measure of it 68%, which shows the improvement of 9% point compared to 59%, that of FindBugs.Keywords:Secure Coding, Korean Programming Language, Safety Programming Language, Saesark
- Published
- 2016
25. 5Code – An Integrated Programming Environment for Beginners
- Author
-
Frano Barnjak, Markus Dahm, and Moritz Heilemann
- Subjects
Social Psychology ,Computer Networks and Communications ,Computer science ,Context (language use) ,computer.software_genre ,050105 experimental psychology ,Extensible programming ,Task (project management) ,0501 psychology and cognitive sciences ,Object-oriented programming ,business.industry ,Programming language ,Communication ,05 social sciences ,Software development ,050301 education ,computer.file_format ,Human-Computer Interaction ,Business, Management and Accounting (miscellaneous) ,Executable ,First-generation programming language ,business ,0503 education ,computer ,Cognitive load ,Information Systems - Abstract
Based on experience in teaching programming, we developed the integrated development environment (IDE) 5Code especially to support beginners. As a first step, a simple, understandable formula was developed how to advance from the problem to the program in 5 operative steps: r e a d i t → g e t i t → t h i n k i t → n o t e i t → c o d e i t . $read\;it \to get\;it \to think\;it \to note\;it \to code\;it{\rm{.}}$ In order to reduce the cognitive load of the learners effectively, 5Code was designed such that all 5 steps are permanently presented, accessible and executable. Thus, learners are provided with the entire programming context from presentation of the task via own notes and annotations to the code area. Learners can mark and annotate any part of the given task’s text; these annotations can be edited as notes with own comments. Furthermore, the notes can be dragged into the code area, where they are shown as comments in the coding language. Any modifications in the comments are synchronized between notes and code. 5Code is implemented as a web-application. It is used in university introductory courses on object oriented programming.
- Published
- 2016
26. Saesark: A Korean Object-Oriented Programming Language for Beginners
- Author
-
Junseok Cheon and Gyun Woo
- Subjects
Very high-level programming language ,Universal Networking Language ,Computer science ,Programming language ,Object language ,Comprehension approach ,Natural language programming ,Fourth-generation programming language ,Fifth-generation programming language ,First-generation programming language ,computer.software_genre ,computer ,Linguistics - Published
- 2016
27. The analysis and application of an educational programming language (RUR-PLE) for a pre-introductory computer science course
- Author
-
Ilkyu Yoon, Won Gyu Lee, and Ja Mee Kim
- Subjects
Computer Networks and Communications ,Computer science ,02 engineering and technology ,computer.software_genre ,Extensible programming ,Very high-level programming language ,020204 information systems ,ComputingMilieux_COMPUTERSANDEDUCATION ,0202 electrical engineering, electronic engineering, information engineering ,Fifth-generation programming language ,Programmer ,computer.programming_language ,Class (computer programming) ,Symbolic programming ,Programming education ,Programming language ,05 social sciences ,050301 education ,Natural language programming ,Python (programming language) ,Programming language implementation ,Inductive programming ,Procedural programming ,High-level programming language ,Programming language specification ,Programming paradigm ,Fourth-generation programming language ,First-generation programming language ,0503 education ,computer ,Software ,Programming language theory - Abstract
An educational programming language (EPL) allows a novice programmer to program quickly and easily by reducing the difficulty of programming in terms of programming education. The selection of a programming language, considering the students' cognitive level and the purpose of learning programming, is regarded as a key factor to increase the effectiveness of programming education. In this study, we derived the EPL selection criteria for pre-introductory computer science using the Delphi method of a 20-expert panels. Also, we selected RUR-PLE, a Python based programming learning environment, based on EPL selection criteria chosen through the Delphi method and applied the selected EPL to 26 students (20 males and 6 females) who participate in programming class to verify its usability. The objective of this study is to improve the possibility of selecting an appropriate EPL for novice programmers, considering the students' characteristics and the transition of programming knowledge from the EPL to a general-purpose programming language.
- Published
- 2016
28. Socratic Programming: An Innovative Programming Learning Method
- Author
-
Imad H. El-Zakhem
- Subjects
Computer science ,05 social sciences ,0211 other engineering and technologies ,Natural language programming ,021107 urban & regional planning ,02 engineering and technology ,Inductive programming ,Extensible programming ,Computer Science Applications ,Education ,Very high-level programming language ,0502 economics and business ,Pedagogy ,Programming language specification ,ComputingMilieux_COMPUTERSANDEDUCATION ,Programming paradigm ,Mathematics education ,Fifth-generation programming language ,First-generation programming language ,050203 business & management - Abstract
Abstract—In second language acquisition (SLA) environment, learner is a community member and communicates with others, whereas, in a foreign language learning, the practicing dimension is weaker. When it comes to programming, there is no community using a programming language, thus a SLA environment cannot exist. For this reason the most adopted way is teaching programming like a foreign language with all its drawbacks. In this paper we compare between programming language and natural language, knowing that the programming introductory courses have basic concepts without complex algorithms, in other terms more expressive than computational. We propose a new method of teaching programming based upon dialogues between a facilitator and students. The facilitator will be part of a communication between each student and the computer to make an environment suitable for a SLA. A Socratic way of learning is achieved with a teacher having few students and can participate with his students in their dialogue and helps through their guidance to express their ideas. We list 4 common programming problems and we showed that using dialogue and raising questions, students were able to resolve these problems.
- Published
- 2016
29. Modular language implementation in Rascal – experience report
- Author
-
Jeroen van den Bos, Atze van der Ploeg, Bas Basten, Paul Klint, Bert Lisser, Arnold Lankamp, Tijs van der Storm, Mark Hills, Jurgen Vinju, Centrum Wiskunde & Informatica (CWI), Netherlands Forensic Institute [The Hague], East Carolina University [Greenville] (ECU), University of North Carolina System (UNC), Analysis and Transformation based on rEliAble tool coMpositionS (ATEAMS), Inria Lille - Nord Europe, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centrum Wiskunde & Informatica (CWI), Xebia Nederland [Hilversum], Chalmers University of Technology [Göteborg], and Software Analysis and Transformation
- Subjects
language workbench ,Rascal ,Computer science ,Programming language ,020207 software engineering ,[INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] ,02 engineering and technology ,computer.software_genre ,Programming language implementation ,Extensible programming ,Very high-level programming language ,Language primitive ,High-level programming language ,language engineering ,Programming language specification ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,First-generation programming language ,computer ,Low-level programming language ,modularity ,Software - Abstract
International audience; All software evolves, and programming languages and programming language tools are no exception. And just like in ordinary software construction, modular implementations can help ease the process of changing a language implementation and its dependent tools. However, the syntactic and semantic dependencies between language features make this a challenging problem. In this paper we detail how programming languages can be implemented in a modular fashion using the Rascal meta-programming language. Rascal supports extensible definition of concrete syntax, abstract syntax and operations on concrete and abstract syntax trees like matching, traversal and transformation. As a result, new language features can be added without having to change existing code. As a case study, we detail our solution of the LDTA'11 Tool Challenge: a modular implementation of Oberon-0, a relatively simple imperative programming language. The approach we sketch can be applied equally well to the implementation of domain-specific languages. We present an extended language engineering case-study in the meta programming language Rascal.The case-study is the implementation of Oberon-0 (from the LDTA'11 tool challenge).The case-study illustrates the OO-like modularity features of Rascal, to support extensible syntax definition and extensible language operations.
- Published
- 2015
30. Kronos: A Declarative Metaprogramming Language for Digital Signal Processing
- Author
-
Vesa Norilo
- Subjects
Computer science ,Programming language ,Dynamic compilation ,computer.software_genre ,Metaprogramming ,Computer Science Applications ,Media Technology ,Programming paradigm ,Reactive programming ,Programming domain ,First-generation programming language ,computer ,Music ,Functional reactive programming ,Programming language theory - Abstract
Kronos is a signal-processing programming language based on the principles of semifunctional reactive systems. It is aimed at efficient signal processing at the elementary level, and built to scale towards higher-level tasks by utilizing the powerful programming paradigms of “metaprogramming” and reactive multirate systems. The Kronos language features expressive source code as well as a streamlined, efficient runtime. The programming model presented is adaptable for both sample-stream and event processing, offering a cleanly functional programming paradigm for a wide range of musical signal-processing problems, exemplified herein by a selection and discussion of code examples.
- Published
- 2015
31. ChucK: A Strongly Timed Computer Music Language
- Author
-
Perry R. Cook, Spencer Salazar, and Ge Wang
- Subjects
Computer science ,Programming language ,Concurrency ,Mobile music ,computer.software_genre ,Computer Science Applications ,High-level programming language ,Media Technology ,Programming paradigm ,Concurrent computing ,Computer music ,Programming domain ,First-generation programming language ,computer ,Music - Abstract
ChucK is a programming language designed for computer music. It aims to be expressive and straightforward to read and write with respect to time and concurrency, and to provide a platform for precise audio synthesis and analysis and for rapid experimentation in computer music. In particular, ChucK defines the notion of a strongly timed audio programming language, comprising a versatile time-based programming model that allows programmers to flexibly and precisely control the flow of time in code and use the keyword now as a time-aware control construct, and gives programmers the ability to use the timing mechanism to realize sample-accurate concurrent programming. Several case studies are presented that illustrate the workings, properties, and personality of the language. We also discuss applications of ChucK in laptop orchestras, computer music pedagogy, and mobile music instruments. Properties and affordances of the language and its future directions are outlined.
- Published
- 2015
32. Type inference for Python programming language
- Author
-
I.E. Bronshteyn
- Subjects
динамическая типизация данных ,Programming language ,Computer science ,Natural language programming ,Type inference ,Python (programming language) ,computer.software_genre ,lcsh:QA75.5-76.95 ,Very high-level programming language ,python ,вывод типов ,High-level programming language ,Scripting language ,статический анализ ,обнаружение дефектов ,General Earth and Planetary Sciences ,lcsh:Electronic computers. Computer science ,Fifth-generation programming language ,First-generation programming language ,computer ,General Environmental Science ,computer.programming_language - Abstract
The article presents type inference for programs written in Python programming language. At first, type inference algorithms for parametric polymorphism that were described in the scientific literature are reviewed. The algorithms evolved from “basic” algorithm (also known as Palsberg — Schwartzbach algorithm) to Cartesian product algorithm (CPA). It was shown that CPA is both precise and efficient, however it has to be modified to be used on Python code. Afterwards, we present a new algorithm (a modification of CPA) for Python. It is shown how type inference module using the new algorithm analyses various Python language structures: constants (literals), basic Python collections, variable names, assignments, function and class definitions, attribute and index expressions. It is also shown how the algorithm deals with external (non-Python) functions using special annotations that specify output types depending on input types of the function. Afterwards, the results of work on the prototype (module that implements described type inference algorithm) are presented. The paper is concluded by an overview of possible future work directions such as generating a defect trace, i.e. description that specifies how expression got its incorrect types.
- Published
- 2018
33. Teaching for transfer of assembly language concepts to C programming using computer-based instruction and traditional instruction
- Author
-
Hsiu-Mei Lin
- Subjects
Assembly language ,Computer science ,Programming language ,Transfer (computing) ,Computer-based instruction ,First-generation programming language ,computer.software_genre ,computer ,computer.programming_language - Published
- 2018
34. Toward a molecular programming language for algorithmic self-assembly
- Author
-
Matthew John Patitz
- Subjects
Symbolic programming ,Theoretical computer science ,Computer science ,High-level programming language ,Functional logic programming ,Programming paradigm ,First-generation programming language ,computer.software_genre ,Programming language implementation ,computer ,Programming language theory ,Living systems - Abstract
Self-assembly is the process whereby relatively simple components autonomously combine to form more complex objects. Nature exhibits self-assembly to form everything from microscopic crystals to living cells to galaxies. With a desire to both form increasingly sophisticated products and to understand the basic components of living systems, scientists have developed and studied artificial self-assembling systems. One such framework is the Tile Assembly Model introduced by Erik Winfree in 1998. In this model, simple two-dimensional square ‘tiles’ are designed so that they self-assemble into desired shapes. The work in this thesis consists of a series of results which build toward the future goal of designing an abstracted, highlevel programming language for designing the molecular components of self-assembling systems which can perform powerful computations and form into intricate structures. The first two sets of results demonstrate self-assembling systems which perform infinite series of computations that characterize computably enumerable and decidable languages, and exhibit tools for algorithmically generating the necessary sets of tiles. In the next chapter, methods for generating tile sets which self-assemble into complicated shapes, namely a class of discrete self-similar fractal structures, are presented. Next, a software package for graphically designing tile sets, simulating their self-assembly, and debugging designed systems is discussed. Finally, a high-level programming language which abstracts much of the complexity and tedium of designing such systems, while preventing many of the common errors, is presented. The summation of this body of work presents a broad coverage of the spectrum of desired outputs from artificial self-assembling systems and a progression in the sophistication of tools used to design them. By creating a broader and deeper set of modular tools for designing xii self-assembling systems, we hope to increase the complexity which is attainable. These tools provide a solid foundation for future work in both the Tile Assembly Model and explorations into more advanced models.
- Published
- 2018
35. Programming not only by example
- Author
-
Hila Peleg, Eran Yahav, and Sharon Shoham
- Subjects
FOS: Computer and information sciences ,Functional logic programming ,Computer science ,media_common.quotation_subject ,02 engineering and technology ,computer.software_genre ,Extensible programming ,020204 information systems ,0202 electrical engineering, electronic engineering, information engineering ,Constraint programming ,Reactive programming ,Fifth-generation programming language ,Programming domain ,Programmer ,media_common ,Declarative programming ,Symbolic programming ,Computer Science - Programming Languages ,Programming language ,Programming by example ,Higher-order programming ,020207 software engineering ,Inductive programming ,Concurrent object-oriented programming ,Debugging ,Procedural programming ,Programming paradigm ,First-generation programming language ,computer ,Functional reactive programming ,Programming Languages (cs.PL) - Abstract
In recent years, there has been tremendous progress in automated synthesis techniques that are able to automatically generate code based on some intent expressed by the programmer. A major challenge for the adoption of synthesis remains in having the programmer communicate their intent. When the expressed intent is coarse-grained (for example, restriction on the expected type of an expression), the synthesizer often produces a long list of results for the programmer to choose from, shifting the heavy-lifting to the user. An alternative approach, successfully used in end-user synthesis is programming by example (PBE), where the user leverages examples to interactively and iteratively refine the intent. However, using only examples is not expressive enough for programmers, who can observe the generated program and refine the intent by directly relating to parts of the generated program. We present a novel approach to interacting with a synthesizer using a granular interaction model. Our approach employs a rich interaction model where (i) the synthesizer decorates a candidate program with debug information that assists in understanding the program and identifying good or bad parts, and (ii) the user is allowed to provide feedback not only on the expected output of a program, but also on the underlying program itself. That is, when the user identifies a program as (partially) correct or incorrect, they can also explicitly indicate the good or bad parts, to allow the synthesizer to accept or discard parts of the program instead of discarding the program as a whole. We show the value of our approach in a controlled user study. Our study shows that participants have strong preference to using granular feedback instead of examples, and are able to provide granular feedback much faster.
- Published
- 2018
36. The New S Language
- Author
-
Richard A. Becker, Allan R. Wilks, and John M. Chambers
- Subjects
Interactive computing ,business.industry ,Computer science ,Programming language ,Fortran ,Data management ,Computation ,computer.software_genre ,Documentation ,High-level programming language ,Graphics ,First-generation programming language ,business ,computer ,computer.programming_language - Abstract
This book provides documentation for a new version of the S system released in 1988. The New S Language enhances the features that have made S popular: interactive computing, flexible graphics, data management and a large collection of functions. The New S language features make possible new applications and higher-level programming, including a single unified language, user-defined functions as first-class objects, symbolic computations, more accurate numerical calculations and a new approach to graphics. S now provides direct interfaces to the powerful tool of the UNIX operating system and to algorithms implemented in Fortran and C.
- Published
- 2018
37. ne-Course for Learning Programming
- Author
-
José Figueiredo, Natália Fernandes Gomes, and Francisco José García-Peñalvo
- Subjects
Computer science ,Teaching programming ,02 engineering and technology ,Extensible programming ,Very high-level programming language ,Programming education ,Cs0 ,programming education, introductory programming, cs0, cs1, learning programming, teaching programming ,020204 information systems ,Pedagogy ,Introductory programming ,0202 electrical engineering, electronic engineering, information engineering ,Mathematics education ,ComputingMilieux_COMPUTERSANDEDUCATION ,Fifth-generation programming language ,Cs1 ,Symbolic programming ,33 Ciencias tecnológicas ,05 social sciences ,050301 education ,Inductive programming ,Programming paradigm ,Learning programming ,First-generation programming language ,0503 education ,Programming language theory - Abstract
Difficulties in learning programming are a constant concern in engineering courses. In many research studies involving the learning programming must of the solutions presented, from the beginning of the first programming languages, was to apply different type of problems analysis. Literature relating to the understanding of nature of learning programming skills has been focused explicitly on the teaching methodology and few of them focus on abilities, characteristics and knowledge acquired over the life cycle of learning programming in each student. Most of the students enrolled in engineering courses, where programming is a crucial competence, never had the opportunity to develop skills of computational thinking. In this paper, we focus our work on the learning programming developing and applying a set of exercises where students with more difficulties can express and develop their skills in computational thinking. In order to understand some programming students difficulties we have create a set of exercises, and apply it to a pre-programming course, that allows teachers to understand how students analyse and comprehend aspects such as visualization, spatial interpretation and physical manipulation. This paper also reports on results obtained from a class experiment where Memory Transfer Language was used by students to learn programming. All the exercises must be resolved without any type of technology, designed as a ne-course (no electronic course) for learning programming.
- Published
- 2017
38. A Study on Pedagogy of Computer Programming using Programming Essay
- Author
-
Changbeom Choi
- Subjects
Symbolic programming ,business.industry ,Computer science ,Functional logic programming ,Computer programming ,Mathematics education ,business ,First-generation programming language ,Programming language theory - Published
- 2015
39. Programming Language Use in US Academia and Industry
- Author
-
Barry Cohen, Ali Mili, and Latifa Ben Arfa Rabai
- Subjects
lcsh:LC8-6691 ,lcsh:Special aspects of education ,Programming language ,Computer science ,academic institution ,Communication ,Natural language programming ,Second-generation programming language ,computer.software_genre ,programming language evolution ,Computer Science Applications ,Education ,Very high-level programming language ,academic trends ,Programming language specification ,Mathematics education ,Program Design Language ,Fifth-generation programming language ,programming language use ,First-generation programming language ,computer ,Programming language theory - Abstract
In the same way that natural languages influence and shape the way we think, program - ming languages have a profound impact on the way a programmer analyzes a problem and formu- lates its solution in the form of a program. To the extent that a first programming course is likely to determine the student's approach to program design, program analysis, and programming meth- odology, the choice of the programming language used in the first programming course is likely to be very important. In this paper, we report on a recent survey we conducted on programming language use in US academic institutions, and discuss the significance of our data by comparison with programming language use in industry.
- Published
- 2015
40. Neverlang: A framework for feature-oriented language development
- Author
-
Edoardo Vacchi and Walter Cazzola
- Subjects
Computer Networks and Communications ,Programming language ,Computer science ,computer.software_genre ,Programming language implementation ,Very high-level programming language ,Language primitive ,High-level programming language ,Programming language specification ,Fourth-generation programming language ,First-generation programming language ,computer ,Low-level programming language ,Software - Abstract
Reuse in programming language development is an open research problem. Many authors have proposed frameworks for modular language development. These frameworks focus on maximizing code reuse, providing primitives for componentizing language implementations. There is also an open debate on combining feature-orientation with modular language development. Feature-oriented programming is a vision of computer programming in which features can be implemented separately, and then combined to build a variety of software products. However, even though feature-orientation and modular programming are strongly connected, modular language development frameworks are not usually meant primarily for feature-oriented language definition. In this paper we present a model of language development that puts feature implementation at the center, and describe its implementation in the Neverlang framework. The model has been evaluated through several languages implementations: in this paper, a state machine language is used as a means of comparison with other frameworks, and a JavaScript interpreter implementation is used to further illustrate the benefits that our model provides.
- Published
- 2015
41. Improving problem-solving skills through logo programming language
- Author
-
Teddy Suparyanto, Evelyn, and Bens Pardamean
- Subjects
Very high-level programming language ,Language primitive ,Procedural programming ,Computer science ,Functional logic programming ,Programming language ,Programming paradigm ,Programming domain ,Fifth-generation programming language ,First-generation programming language ,computer.software_genre ,computer ,Education - Published
- 2015
42. Is Python an Appropriate Programming Language for Teaching Programming in Secondary Schools?
- Author
-
Eva Mészárosová
- Subjects
Computer science ,Programming language ,05 social sciences ,0211 other engineering and technologies ,050301 education ,Natural language programming ,021107 urban & regional planning ,02 engineering and technology ,Python (programming language) ,computer.software_genre ,Extensible programming ,Very high-level programming language ,ComputingMilieux_COMPUTERSANDEDUCATION ,Programming paradigm ,Fourth-generation programming language ,Fifth-generation programming language ,First-generation programming language ,0503 education ,computer ,computer.programming_language - Abstract
A variety of programming languages are used to teach fundamentals of programming in secondary schools in Slovakia. Nowadays, we observe a new trend, the Python language gaining ground. In our paper we evaluate the interviews, in which we asked teachers with years of pedagogical experience, what the reasons for selecting a particular programming language where. By analysing the responses we learn about their experience with teaching programming and create a list of the important elements in the selection of the most suitable programming language for secondary school students. We will seek an answer for the question whether the Python programming language is appropriate for all secondary school students.
- Published
- 2015
43. PEG-based language workbench
- Author
-
Yuriy Korenkov, Ivan Loginov, and Arthur Lazdin
- Subjects
language workbench ,Domain-specific language ,Parsing ,Syntax (programming languages) ,Computer science ,Programming language ,language-oriented programming ,computer.software_genre ,lcsh:Telecommunication ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,domain specific languages ,Extended Affix Grammar ,Affix grammar ,lcsh:TK5101-6720 ,parsing expression grammars ,Programming domain ,Fifth-generation programming language ,First-generation programming language ,computer - Abstract
In this article we present a new tool for language-oriented programming which provides to user convenient means to describe the domain specific languages in the form of language based on parsing expression grammars and helpful tools for grammar debugging. Also we consider the sample of using this toolkit as a part of an integrated development environment.
- Published
- 2015
44. The Application and Analysis of the Embedded Programming Education Based on UML and LabVIEW OOP
- Author
-
Hyuk-Gyu Cho, Young-Uhg Lho, Min-Po Jung, and Deok-Gil Jung
- Subjects
General Computer Science ,Computer science ,Functional logic programming ,Computer programming ,computer.software_genre ,Extensible programming ,Very high-level programming language ,System programming ,Unified Modeling Language ,ComputingMilieux_COMPUTERSANDEDUCATION ,Reactive programming ,Programming domain ,Fifth-generation programming language ,Protocol (object-oriented programming) ,computer.programming_language ,Declarative programming ,Visual programming language ,Object-oriented programming ,Symbolic programming ,Programming education ,business.industry ,Programming language ,Second-generation programming language ,Inductive programming ,Procedural programming ,Embedded system ,Programming paradigm ,business ,First-generation programming language ,computer ,Functional reactive programming ,Programming language theory - Abstract
The students who learn the computer languages think it very difficult to program using the text-based programming languages and also to learn the object-oriented programming. Therefore, we introduce the object-oriented visual programming into the programming education. And, to solve the this problem in the programming education, in this paper, we introduce the UML to support the object-oriented modeling and to teach the students using the LabVIEW OOP that supports the object-oriented visual programming. And, we propose to apply it on the embedded programming education. Also, we analyze the educational effect of the proposed education methodology of programming based on the student survey.
- Published
- 2015
45. A Programming Environment for Visual Block-Based Domain-Specific Languages
- Author
-
Azusa Kurihara, Hiroshi Hosobe, Ken Wakita, and Akira Sasaki
- Subjects
Domain-specific language ,Functional logic programming ,Computer science ,Comparison of multi-paradigm programming languages ,Computer programming ,computer.software_genre ,Extensible programming ,Very high-level programming language ,Third-generation programming language ,Block (programming) ,Reactive programming ,Domain-Specific Language ,Programming Environment ,Macro ,Programming domain ,Fifth-generation programming language ,General Environmental Science ,Visual programming language ,Declarative programming ,Symbolic programming ,プログラミング ,Programming education ,business.industry ,Programming language ,Second-generation programming language ,Basic language ,Visual Programming ,Inductive programming ,Procedural programming ,High-level programming language ,Programming ,Programming paradigm ,General Earth and Planetary Sciences ,Fourth-generation programming language ,First-generation programming language ,business ,computer ,Natural language - Abstract
Visual block-based programming is useful for various users such as novice programmers because it provides easy operations and improves the readability of programs. Also, in programming education, it is known to be effective to initially present basic language features and then gradually make more advanced features available. However, the cost of implementing such visual block-based languages remains a challenge. In this paper, we present a programming environment for providing visual block-based domain- specific languages (visual DSLs) that are translatable into various programming languages. In our environment, programs are built by combining visual blocks expressed in a natural language. Blocks represent program elements such as operations and variables. Tips represent snippets, and macro blocks represent procedures. Using Tips and macros make code more abstract, and reduce the number of blocks in code. Visual DSLs can be a front-end for various languages. It can be easily restricted and extended by adding and deleting blocks. We applied our programming environment to Processing, an educational programming language for media art. We show that the environment is useful for novice programmers who learn basic concepts of programming and the features of Processing.
- Published
- 2015
46. Simplified language reference
- Author
-
Tim J. Stevens and Wayne Boucher
- Subjects
Computer science ,Programming language ,Functional logic programming ,Scripting language ,High-level programming language ,Fourth-generation programming language ,Python (programming language) ,Fifth-generation programming language ,First-generation programming language ,computer.software_genre ,Relational operator ,computer ,computer.programming_language - Published
- 2014
47. Design and Implementation of the Web-based Learning System for C Programming Language
- Author
-
Jinyeong Yoo, Sangjun Lee, Yeomyeong Woo, Jiwoong Bang, and Jaemin Song
- Subjects
World Wide Web ,Very high-level programming language ,Multimedia ,Computer science ,Programming language specification ,Programming paradigm ,Service-oriented programming ,Fourth-generation programming language ,Fifth-generation programming language ,computer.software_genre ,First-generation programming language ,computer ,Extensible programming - Abstract
We now live in a society that is highly information-oriented, and as a result programming education has become more important and is emphasized day by day. Currently, there is strong support for carrying out programming education in early childhood, and various Web-based services have launched to provide programming education. Currently, Web-based programming education services have not yet launched in Korea. In particular, Web-based education services for C language programming, which is used in various areas in industry, are lacking due to limitations in the development environments. In this paper, we design and implement a Web-based programming learning system, 'ICANC', to provide the necessary information to learn and practice the C language.
- Published
- 2014
48. Choosing a first programming language
- Author
-
I. Nesterov and A. Chursanova
- Subjects
Very high-level programming language ,Language primitive ,Programming language ,Functional logic programming ,High-level programming language ,Computer science ,Programming language specification ,Aerospace Engineering ,Fifth-generation programming language ,Programming domain ,computer.software_genre ,First-generation programming language ,computer - Published
- 2014
49. Laboratory Automation in a Functional Programming Language
- Author
-
Rob. Harkness, Colin Runciman, and Amanda Clare
- Subjects
Automation, Laboratory ,Functional logic programming ,Programming language ,Computer science ,business.industry ,Second-generation programming language ,computer.software_genre ,Inductive programming ,Computer Science Applications ,Medical Laboratory Technology ,Programming paradigm ,Programming Languages ,Fifth-generation programming language ,First-generation programming language ,Software engineering ,business ,computer ,Software ,Functional reactive programming ,Declarative programming - Abstract
After some years of use in academic and research settings, functional languages are starting to enter the mainstream as an alternative to more conventional programming languages. This article explores one way to use Haskell, a functional programming language, in the development of control programs for laboratory automation systems. We give code for an example system, discuss some programming concepts that we need for this example, and demonstrate how the use of functional programming allows us to express and verify properties of the resulting code.
- Published
- 2014
50. Language Out There
- Author
-
Dick Smakman
- Subjects
Language arts ,Universal Networking Language ,Language assessment ,Object language ,Comprehension approach ,Language technology ,Second-language attrition ,Psychology ,First-generation programming language ,Linguistics - Published
- 2017
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.