JStik

Last updated

The JStik is a microcontroller based on the aJile Systems line of embedded Java processors. It is novel in that it uses Java byte code as the native machine language. This makes it very fast at executing Java code while still maintaining the benefits of programming in a high-level language like Java.

Microcontroller small computer on a single integrated circuit

A microcontroller is a small computer on a single integrated circuit. In modern terminology, it is similar to, but less sophisticated than, a system on a chip (SoC); an SoC may include a microcontroller as one of its components. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

A Java processor is the implementation of the Java virtual machine (JVM) in hardware. In other words, the Java bytecode that makes up the instruction set of the abstract machine becomes the instruction set of a concrete machine. These are today the most popular form of a high-level language computer architecture.

Java (programming language) Object-oriented programming language

Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented,and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to "bytecode" that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them. As of 2018, Java was according to Github one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers.

Related Research Articles

JavaScript, often abbreviated as JS, is a high-level, interpreted programming language that conforms to the ECMAScript specification. It is a programming language that is characterized as dynamic, weakly typed, prototype-based and multi-paradigm.

An interpreted language is a type of programming language for which most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions. The interpreter executes the program directly, translating each statement into a sequence of one or more subroutines, and then into another language.

Java virtual machine runtime environment that can execute Java bytecode as a result of compiling computer programs written in the Java programming language

A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describes what is required of a JVM implementation. Having a specification ensures interoperability of Java programs across different implementations so that program authors using the Java Development Kit (JDK) need not worry about idiosyncrasies of the underlying hardware platform.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

A computing platform or digital platform is the environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

Adobe Dreamweaver Proprietary web development software

Adobe Dreamweaver is a proprietary web development tool from Adobe Inc.. It was created by Macromedia in 1997 and developed by them until Macromedia was acquired by Adobe Systems in 2005.

Mac OS Roman is a character encoding primarily used by the classic Mac OS to represent text. It encodes 256 characters, the first 128 of which are identical to ASCII, with the remaining characters including mathematical symbols, diacritics, and additional punctuation marks. It is suitable for English and several other Western languages. Mac OS Roman is a superset of the original Macintosh character set, used in System 1.

OpenLaszlo

OpenLaszlo is a discontinued open-source platform for the development and delivery of rich Internet applications. It is released under the Open Source Initiative certified Common Public License (CPL).

Scala (programming language) programming language

Scala is a general-purpose programming language providing support for functional programming and a strong static type system. Designed to be concise, many of Scala's design decisions aimed to address criticisms of Java.

Java (software platform) set of several computer software products and specifications

Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages. It's still possible to run Java in web browsers after most of them having dropped support for Java's VM.

SlickEdit, previously known as Visual SlickEdit, is a cross-platform commercial source code editor, text editor, code editor and Integrated Development Environment developed by SlickEdit, Inc. SlickEdit supports Integrated Debuggers for GNU C/C++, Java, WinDbg, Clang C/C++ LLDB, Groovy, Google Go, Python, Perl, Ruby, PHP, Xcode, and Android JVM/NDK. SlickEdit includes such features as built in beautifiers that can beautify code as you type, code navigation, context tagging, symbol references, third party tool integration, DiffZilla, syntax highlighting, and over 13 keyboard emulations.

Apache OpenJPA

OpenJPA is an open source implementation of the Java Persistence API specification. It is an object-relational mapping (ORM) solution for the Java language, which simplifies storing objects in databases. It is open source software distributed under the Apache 2.0 Licence.

Thrift is an interface definition language and binary communication protocol used for defining and creating services for numerous languages. It forms a remote procedure call (RPC) framework and was developed at Facebook for "scalable cross-language services development". It combines a software stack with a code generation engine to build cross-platform services which can connect applications written in a variety of languages and frameworks, including ActionScript, C, C++, C#, Cappuccino, Cocoa, Delphi, Erlang, Go, Haskell, Java, Node.js, Objective-C, OCaml, Perl, PHP, Python, Ruby, Rust, Smalltalk and Swift. Although developed at Facebook, it is now an open source project in the Apache Software Foundation. The implementation was described in an April 2007 technical paper released by Facebook, now hosted on Apache.

Google Closure Tools

Google Closure Tools is a set of tools to help developers build rich web applications with JavaScript. It was developed by Google for use in their web applications such as Gmail, Google Docs and Google Maps.

In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer.

<i>Oracle America, Inc. v. Google, Inc.</i>

Oracle America, Inc. v. Google, Inc. is a current legal case within the United States related to the nature of computer code and copyright law. The dispute arose from Oracle's copyright and patent claims on Google's Android operating system. Oracle had come into ownership of the Java programming language including its patents, documentation and libraries through the language's application programming interfaces (APIs), through its acquisition of Sun Microsystems. Oracle made this information freely available to developers to use, but licensed its standard implementation on various platforms including mobile devices. Google developed its Android operating system atop the Java language, including its APIs and a cleanroom version of the standard implementation, to build its own mobile device platform. While Sun had not taken action against Google prior to its acquisition, Oracle became concerned that the Android operating system was a competing product, and filed a lawsuit against Google, claiming both copyright and patent violations. Google claimed that it was unaware of any patent infringements and that its use of the freely available APIs was within fair use allowances. Oracle has sought upward of US$8.8 billion in damages due to the commercial success of the Android system.

Java bytecode is the instruction set of the Java virtual machine (JVM).