Skip to content
This repository has been archived by the owner on Apr 25, 2024. It is now read-only.

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
hydroper committed Mar 9, 2024
1 parent 1c8d312 commit ae64c2e
Showing 1 changed file with 13 additions and 17 deletions.
30 changes: 13 additions & 17 deletions misc/motivation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,30 @@ The Jet project is primarily influenced by the following projects:

* ActionScript 3
* ECMAScript 4th edition
* SpiderMonkey ECMAScript for XML (E4X)
* ECMAScript for XML (E4X)
* Cargo for Rust

About platforms:

* **AIR**: Futurely, once the base compiler is completed, I would support the Samsung HARMAN AIR and Node.js platforms, which I'm familiar with. For AIR, I would like to support XML components, similiar to Apache Royale, Adobe Flex or Apache Flex.
* **UE**: I have interest in supporting Unreal Engine if I could figure out a way to magically translate Jet bytecode into hidden C++ and do a lot of internal tricks, but I'm not really that experienced with C++ nor do I've any experience with Unreal Engine.
* **AIR**: Once the base compiler is completed, I would support the Samsung HARMAN AIR and Node.js platforms, which I'm familiar with. For AIR, I would like to support XML components, similiar to Apache Royale, Adobe Flex or Apache Flex.
* **Unreal Engine**: I have interest in supporting Unreal Engine if I could figure out a way to magically translate Jet bytecode into hidden C++ and do a lot of internal tricks, but I'm not really that experienced with C++ nor do I've any experience with Unreal Engine.
* **Browser**: Another interesting platform is the browser, as websites could be developed, usually through XML components similiar to Apache Royale or Apache Flex.

Although I'm strenghtening myself to implement the base language compiler, it's being too stressful. I'd like to continue doing it open-source and free, despite the efforts...
The language is not fully featured as TypeScript as it does not include a throughout type system and type inference:

The language is not fully featured as TypeScript as it does not include a throughout type system and type inference; rather it relies more on explicitness in certain contexts where required to take advantage of ahead-of-time verification (including `T(v)` for either conversion or indicating a context type), but it does support basic type inference anyway, including for the object initializer, the array initializer, string literal for enumerations, among others.
* Rather it relies more on explicitness in certain contexts where required to take advantage of ahead-of-time verification
* Including `T(v)` for either conversion or indicating a context type
* It does support basic type inference in miscellaneous contexts

Jet goes beyond ActionScript 3 in different places and brings lots of advantages. It is not totally compatible with ActionScript, but I have experienced that existing ActionScript code is left unmaintained and bug prone, even though Adobe AIR, the derivative of Flash Player, is in the hands of Samsung HARMAN, a company that keeps improving and moving forward with the technology.

## Why Jet

Now... why Jet when you can simply setup a TypeScript project?
Why Jet when you can simply setup a TypeScript project?

<blockquote>

...

I don't like the TypeScript ways. I've just experienced a small version break and disliked it.
I've just experienced a small version break with TypeScript.

...

Expand All @@ -45,14 +45,10 @@ I don't like the nature of TypeScript at all, even if I could reinvent all the N

I don't feel like using Haxe as I find it complex.

</blockquote>

(Not mentioned: .NET languages)

Simply, there's no language that satisfies me. Jet aims to improve on ActionScript 3 and not implement everything of TypeScript, Haxe or ECMAScript 4 (although I find ECMAScript 4 less complex than TypeScript or Haxe, although it did have different features such as three dimensional properties and units).
...

It might be a waste of time as I could be implementing a game or something else, but I'm not really happy to develop something with these existing technologies and I'm sure many of you like the language design and art.
I do not feel like using .NET languages at all.

So I invite you to visit several parts of the progress specification to see if it suits your needs:
</blockquote>

* https://hydroper-jet.github.io/lang/spec/1.0/live/overview.html
Jet aims to improve on ActionScript 3 and not implement *everything* of TypeScript, Haxe or ECMAScript 4 (although I find ECMAScript 4 less complex than TypeScript or Haxe, although it did have different features such as three dimensional properties and units).

0 comments on commit ae64c2e

Please sign in to comment.