Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Thinking About Star
Thinking About Star
Thinking About Star
Ebook58 pages35 minutes

Thinking About Star

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This short booklet will introduce you to the Star programming language, what is novel about it and why you should know more.

Star is a modern functional first programming language that has a rich set of features. It is readable, safe and extensible. It supports multiple paradigms including actor based programming, query based programming, and concurrent programming.

The booklet highlights some of the key features of the language and gives extended examples including showing how a semi-conductor factory can be scheduled using Star.

It is intended to showcase some of the features of the language but it is not a full introduction to programming in Star.

LanguageEnglish
Release dateJun 8, 2014
ISBN9781310816017
Thinking About Star
Author

Francis McCabe

Frank McCabe is a Senior Architect at Instart Logic Inc. Educated in England at Manchester University and Imperial College he has been involved in many research areas, in Europe, Japan and in the US. In the 1980's he co-founded a small startup LPA that developed logic programming solutions for many thousands of customers. During the 1990's he was active in the European scene for multi-agent systems. He participated in several European research projects. In the 2000's, he was active in Standard Settings Organizations (including W3C) focussing on areas such as the architecture of Service Ecosystems, Inter-agent communication, Java interfaces, Web services and Business Process Modeling Language. Recently he has been working on a new programming language – called Star – that aims to combine modern concepts from functional programming, best practices for software engineering and to permit straightforward extensibility. Star is a multi-paradigm language that can equally well tackle intensive real-time calculations and complex AI planning tasks such as scheduling the flow of material through a factory.

Related to Thinking About Star

Related ebooks

Programming For You

View More

Related articles

Reviews for Thinking About Star

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Thinking About Star - Francis McCabe

    Abstract

    Star is a functional, multi-paradigm and extensible programming language that runs on the Java platform. It is a full-scale language, capable of expressing many kinds of program. As such it is a rich language with many features.

    Star was originally developed as part of a framework for processing a range of real-time business applications such as factory scheduling and data analytics.

    This white paper explores some of the basic features of the language and shows by example how it can be used to solve problems.

    Why Star?

    Star is first of all a general purpose programming language. You can use it to effectively solve problems in many domains. Star was developed to help write analytical and statistical applications. However, it has evolved into a general purpose problem-oriented programming language.¹ Many of the features and functionalities of the platform are expressed in a way that is consistent with Star. As such, it plays a key role in enabling the different elements of an application built on the platform to work smoothly together.

    Like any programming language, Star represents a distinct view point on what programming languages should be. Star is a rich functional-first language with extensibility capabilities. Star is designed to be readable, powerful, safe and extensible.

    In the spectrum of high-level and low-level programming languages, Star is at the higher end of the range. But, importantly, it's extensibility features enable it to support even higher level constructs.

    Performance is also important, of course. However, we view performance as being guided by the principle of `fast enough is good enough'. In practice, since the compiler is based on the JVM, many Star programs have a performance profile that is commensurate with comparable Java programs.

    Functional Programming

    Functional programming has roots that go back to the origins of programming itself. However, it has been recently gaining in prominence because of some of the inherent advantages in the paradigm:

    Its ‘declarative’ nature makes reasoning about functional programs easier than for ‘procedural’ programs.

    This benefits programmers in a surprising number of ways. Of course, the most obvious one is that correctness and type safety are easier to establish than for a program built out of assignment and for-loops.

    A subtler but equally critical benefit is that it can make programming itself easier: the programmer is free to focus on sub-problems without unnecessary entanglement with other sub-problems.

    The impact of this benefit can be quite dramatic: similar in effect to the introduction of garbage collected memory compared to managed memory allocation.

    It’s verbs as well as nouns

    Object oriented languages have a very finely developed sense of the noun. An object is intrinsically a noun; objects reference concrete or abstract things that a programmer is manipulating. The notation of classes, interfaces, inheritance and so on represents a powerful set of concepts for organizing the application’s nouns.

    However, just as in spoken languages like English, verbs are also important: what you do with objects is at least as important as the objects themselves. Most OO

    Enjoying the preview?
    Page 1 of 1