top of page
  • tecqusition

Gilad Bracha (Newspeak and Reflection)


What is Newspeak?

Newspeak is a programming language and platform in the tradition of Smalltalk and Self being developed by a team led by Gilad Bracha. The platform includes an IDE, a GUI library, and standard libraries.


Foundation of Newspeak

Gilad Bracha is the creator of the Newspeak programming language, a software engineer at Tensyr, and a former software engineer at Google where he worked on the Dart programming language team. He is a co-author of the second and third editions of the Java Language Specification, and a major contributor to the second edition of the Java Virtual Machine Specification. The language icon is supposed to be Big Brother's eye.

Newspeak is a class based language. Classes may be nested, as in BETA. This is one of the key differences between Newspeak and Smalltalk. All names in Newspeak are late-bound, and are interpreted as message sends, as in Self that types do not affect the semantics of the language is challenging to fulfill; for example, constructs like type-based overloading are disallowed.

In practice, pluggable type systems are variously called optional typing, type hinting, type annotations or gradual type checking. They tend to be constructed by adding a static type system to an existing dynamically typed language without changing its semantics and usually keeping the syntax unchanged as well. Examples include Smalltalk, Python 3, Ruby, Clojure, and PHP 5, For most of the languages there is only one implementation of the type system. The exception is Python 3 where the type system is truly pluggable, because there are several implementations and the programmer can use the one that is the best fit. The only language designed with pluggable type system in mind from the beginning is Newspeak. Java 8 provides the ability to extend the type system but does not allow flexibility in the basics of the type system, such as choosing between static and dynamic typing.


What is Reflective programming ?

In computer science, reflective programming or reflection is the ability of a process to examine, introspect, and modify its own structure and behavior

Foundation of Reflection

Reflection helps programmers make generic software libraries to display data, process different formats of data, perform serialization or deserialization of data for communication, or do bundling and unbundling of data for containers or bursts of communication.

Effective use of reflection almost always requires a plan: A design framework, encoding description, object library, a map of a database or entity relations.

Reflection makes a language more suited to network-oriented code. For example, it assists languages such as Java to operate well in networks by enabling libraries for serialization, bundling and varying data formats. Languages without reflection (e.g. C) have to use auxiliary compilers, e.g. for Abstract Syntax Notation, to produce code for serialization and bundling.

Uses

Reflection helps programmers make generic software libraries to display data, process different formats of data, perform serialization or deserialization of data for communication, or do bundling and unbundling of data for containers or bursts of communication.

Effective use of reflection almost always requires a plan: A design framework, encoding description, object library, a map of a database or entity relations.

Reflection makes a language more suited to network-oriented code. For example, it assists languages such as Java to operate well in networks by enabling libraries for serialization, bundling and varying data formats. Languages without reflection (e.g. C) have to use auxiliary compilers, e.g. for Abstract Syntax Notation, to produce code for serialization and bundling.


FOLLOW US ON INSTAGRAM,FACEBOOK AND PINTEREST


DISCLAIMER The information is provided by Tecquisition for general informational and educational purposes only and is not a substitute for professional legal advice. If you have any feedback, comments, requests for technical support or other inquiries, please mail us by tecqusition@gmail.com.


9 views0 comments

コメント


Post: Blog2_Post
bottom of page