scholarly journals Development of Kotlin / Native Intermediate Representation and Optimizations

2020 ◽  
Vol 18 (2) ◽  
pp. 15-30
Author(s):  
Sergey S. Bogolepov

Kotlin is a statically typed programming language that supports object-oriented and functional programming. It supports JVM, JS and native platforms via LLVM (Kotlin / Native). The first two targets are backed with well-developed virtual machines that can perform advanced program optimizations at runtime. However, for native platforms, all optimizations must be performed at compile time. Currently Kotlin / Native lacks many optimizations, which is why the performance of the generated code is poor in many cases. This paper describes a way to solve this problem by introducing an additional SSA-based intermediate representation and implementing escape analysis using it. Experimental results have shown that this approach can significantly improve performance.

2015 ◽  
Vol 6 (2) ◽  
pp. 6
Author(s):  
Cristian González García ◽  
Jordán Pascual Espada B. ◽  
Cristina Pelayo G-Bustelo ◽  
Juan Manuel Cueva Lovelle

Hace unos meses Apple presentó un nuevo lenguaje de programación para sus plataformas: Swift. Con Swift, Apple pretende atraer a los programadores de los lenguajes de programación basados en la sintaxis de C++ y darles una mayor abstracción, que con Objective-C, para que sea más fácil programar para las plataformas de Apple. Por estas razones, se hace necesario contrastar lo pretendido por Apple y realizar un estudio del lenguaje de programación a fin de contrastar su objetivo. Para ello, se hicieron dos evaluaciones, una cualitativa y otra cuantitativa, con el propósito de verificar en qué medida Swift es un avance respecto a Objective-C.DThe Future of Apple: Swift Versus Objective-CABSTRACTFew months ago, Apple presented a new programming language: Swift. With Swift, Apple pretends to attract the programmers of the programming languages based on C++ syntax and gives them a higher abstraction than with Objective-C for being easier to programme to Apple’s platforms. For these reasons, it is necessary to contrast what is intended by Apple and do a study of the programming language to ascertain their goal. For this purpose, we did two evaluations, firstly a qualitative evaluation and after, a quantitative evaluation to verify in how much Swift is an advance with respect to Objective-C.Keywords: computer languages, computer programming, functional programming, object oriented programming, programming, software.


2004 ◽  
Vol 14 (4) ◽  
pp. 365-378 ◽  
Author(s):  
MATTHIAS FELLEISEN ◽  
ROBERT BRUCE FINDLER ◽  
MATTHEW FLATT ◽  
SHRIRAM KRISHNAMURTHI

Twenty years ago Abelson and Sussman's Structure and Interpretation of Computer Programs radically changed the intellectual landscape of introductory computing courses. Instead of teaching some currently fashionable programming language, it employed Scheme and functional programming to teach important ideas. Introductory courses based on the book showed up around the world and made Scheme and functional programming popular. Unfortunately, these courses quickly disappeared again due to shortcomings of the book and the whimsies of Scheme. Worse, the experiment left people with a bad impression of Scheme and functional programming in general. In this pearl, we propose an alternative role for functional programming in the first-year curriculum. Specifically, we present a framework for discussing the first-year curriculum and, based on it, the design rationale for our book and course, dubbed How to Design Programs. The approach emphasizes the systematic design of programs. Experience shows that it works extremely well as a preparation for a course on object-oriented programming.


1987 ◽  
Vol 16 (229) ◽  
Author(s):  
Bent Bruun Kristensen ◽  
Ole Lehrmann Madsen ◽  
Birger Møller-Pedersen ◽  
Kristen Nygaard

<p>The BETA programming language is a modern language in the SIMULA 67 tradition. It supports the object-oriented perspective on programming and contains comprehensive facilities for procedural and functional programming. BETA replaces classes, procedures, functions and types by a single abstraction mechanism called the <em>pattern</em>. Patterns may be organized in a classification hierarchy by means of <em>sub-patterns</em>. The notion of virtual procedure is generalized to virtual pattern. Virtual patterns combined with sub-patterns make it possible to delay the specification of an attribute in a pattern. Attributes may then have different bindings in different sub-patterns. BETA also provides a unified framework for sequential, coroutine and concurrent execution.</p><p>This paper is a tutorial introduction to BETA.</p>


1996 ◽  
Vol 25 (504) ◽  
Author(s):  
Rene Wenzel Schmidt

Object-oriented programming techniques allow the construction of reusable and extensible code. However, class-based languages have poor support for implementing type-orthogonal behaviour and extending nonleaf classes, which result in implementations with poor performance or limited functionality. This paper presents dynamic slots, a mechanism used to build efficient implementations of type-orthogonal abstractions. Dynamic slots can be statically type-checked and have been integrated into the BETA programming language. Measurements of a persistent store show that they significantly improve performance.


Author(s):  
Vaishnavi Gupta

: We all are not new to the fact that data is increasing exponentially. It is increasing more than ever before, from 2 zetabytes in 2010 to 59 zetabytes in 2020. Not only this, it is predicted to be 149 zetabytes by 2024. As the data is growing and that too how the traditional methods like SQL, Excel, etc., would not be enough and feasible to analyze or store huge amount of data as they have storage and processing restrictions. It was important to use tools which are much more efficient and much more effective. To handle this ‘Big Data’ various tools were created E.g.: Hadoop, Spark, NoSQL, etc., not only this various programming languages also came into picture. Scala is just one of them. In this paper we are trying to highlight the importance of Scala, and how it is so unpopular and under-rated as compared to other programming languages; despite the fact that it is a strong statically typedgeneralpurpose programming language which supports both object oriented language and functional programming. Also, it is easy to understand and use as compared to other programming languages. In this paper we will see and discuss how Scala has been beneficial and why do we want it to gain more popularity in the industry. We will also see the cons associated and if it’s worthy enough given its cons.


2017 ◽  
Vol 2 (11) ◽  
pp. 1-7
Author(s):  
Izay A. ◽  
Onyejegbu L. N.

Agriculture is the backbone of human sustenance in this world. With growing population, there is need for increased productivity in agriculture to be able to meet the demands. Diseases can occur on any part of a plant, but in this paper only the symptoms in the fruits of a plant is considered using segmentation algorithm and edge/ sizing detectors. We also looked at image processing using fuzzy logic controller. The system was designed using object oriented analysis and design methodology. It was implemented using MySQL for the database, and PHP programming language. This system will be of great benefit to farmers and will encourage them in investing their resources since crop diseases can be detected and eliminated early.


2007 ◽  
Vol 17 (1) ◽  
pp. 131-143 ◽  
Author(s):  
DAVID WAKELING

AbstractThe functional programming community has shown some interest in spreadsheets, but surprisingly no one seems to have considered making a standard spreadsheet, such as Excel, work with a standard functional programming language, such as Haskell. In this paper, we show one way that this can be done. Our hope is that by doing so, we might get spreadsheet programmers to give functional programming a try.


Sign in / Sign up

Export Citation Format

Share Document