When comparing TypeScript vs Rebol, the Slant community recommends TypeScript for most people. In the question“What is the best programming language to learn first?”TypeScript is ranked 20th while Rebol is ranked 45th. The most important reason people chose TypeScript is:

Typescript has optional static typing with support for interfaces and generics, and intelligent type inference.
It makes refactoring large codebases a breeze, and provides many more safeguards for creating stable code.

Pro

Strong typed language

Pro

Strict superset of Javascript

Every existing Javascript program is already a valid TypeScript program giving it the best support for existing libraries, which is particularly useful if you need to integrate with an existing Javascript code base.

Pro

Polyfill for ES6 fat-arrow syntax

Typescript implements the fat arrow syntax, which always maintains the current context for this and is a shorter/more convenient syntax than traditional function definition.

Pro

First party Visual Studio support

As a Microsoft developed project, it has first party Visual Studio support that's on par with its C# support with features like syntax sensitive statement completion.

Pro

Clear roadmap

TypeScript has a clear and defined roadmap with rapid and constant releases.

Pro

Has a repository of high quality TypeScript type definitions for popular libraries

There are many ready to use and high quality TypeScript definitions for popular libraries including jquery, angular, bootstrap, d3, lodash and many-many more.

Pro

Ability to do functional programming

Pro

Human friendly

Pro

Homoiconic

Code is data, and data can be code. Rebol is based on a simple block data structure, used both for data and for the code itself. Blocks can be manipulated programmatically, and then evaluated as code. This makes metaprogramming easy in Rebol.

Pro

Graphical user interface

Beginners are usually stuck making command-line applications in other languages, because GUIs are too hard. Rebol GUIs are easy enough to start with.

Pro

Very simple syntax

Rebol's name came from "Relative Expression Based Object Language". Rebol is a functional language and everything is an expression that returns a value. Things that have to be baked into the grammar in other languages are simple function calls with block arguments in Rebol.

Pro

Domain specific languages

Rebol's simple homoiconic syntax makes it easy to create "Rebol dialects"--domain-specific languages optimized for a particular purpose. The Rebol distribution includes many of these, and users are free to create more. These DSLs make tasks that would be complicated to express in other languages easy.

Ad

Cons

Con

No support for dead code elimination

Typescript compiler does not remove dead code from generated file(s), you have to use external tools to remove unused code after compilation. This is harder to achieve, because Typescript compiler eliminated all type information.

Con

Too similar to Javascript

Presents some advantages compared to Javascript, but because it is designed to be a superset of Javascript, it means all the bad parts of Javascript are still present.

Con

No support for conditional compilation

There is no clean way to have debug and release builds compiled from the same source, where the release version removes all debugging tools and outputs from the generated file(s).

Con

Type checking not enforced by default

You have to use compiler flags to make sure it catches flaws like usage of implicit any, etc.

Con

Type inference coverage is incomplete

The default type when declaring and using a variable is any. For example, the following should break but does not:

Far less typed libraries than Dart (and TSD are never up to date).

Con

Syntax is too verbose

Con

No Java-like package structure

If you prefer a Java-like approach of partitioning your code into different packages, the module system of typescript will confuse you.

Con

Small community

Con

No separators

A function call expression has no parentheses, and there are no separators between sequenced expressions, not even newlines. This means that you have to know the arity of every function in an expression to know how to parse it. It also means you can run into subtle, hard-to-find bugs if you don't provide enough arguments, since the result of the next expression will be passed instead.

Con

Not (yet?) Free Software

Rebol 2's core is free (gratis) for commercial use, but the license prohibits modification, a violation of the DFSG. Rebol 3 is Free Software (Apache 2.0), but isn't production ready.

Alternative Products

Each month, over 2.8 million people use Slant to find the best products and share their knowledge. Pick the tags you’re passionate about to get a personalized feed and begin contributing your knowledge.