Skip to main content

Post 1: Background Information and Resources

Language Background

Fantom is an object-oriented programming language designed to work in both the Java Runtime Environment and in the .NET Common Language Runtime while providing a more refined API that maintains much of the same functionality. 

Fantom's syntax is relatively similar to that of Java and C# while refining certain aspects of the syntax for functionality and simplicity. 


System.out.println("Hello world!");
becomes 
echo("Hello world!")

Fantom is designed to be portable between the Java and .NET VMs while also holding support for being compiled to JavaScript for browser use, making Fantom versatile. 


Creators

Fantom was created in 2005 by Brian Frank and Andy Frank and was originally named Fan. When the language began to gain some popularity, the name was changed to Fantom in order to address concerns about the ability to search for resources on a language named "Fan".

The creators say that Fantom was created in order to solve problems they perceived within Java and C# and to create a more "elegant" API that maintains most of the same functionality. Fantom was designed from the ground up to be portable in order to leave room for the ability to port to more platforms in the future. The creators describe this as the main advantage of Fantom over other object-oriented programming languages.

Resources

The official website for Fantom is fantom.org which contains the official documentation for the language. 

The community based site fantom-lang.org provides many more resources for the language including recommended IDEs and community links to various help pages and forums that can provide support for the language.

Steve Eynon's website alienfactory.co.uk provides a few resources regarding the popular Fantom IDE F4 which is built off the popular Eclipse platform. Eynon also has resources for comparing the syntax or Java with Fantom or the syntax or C# with Fantom.

Comments

  1. If portability is the main advantage over other languages, why didn't they just take an existing language and implement for greater portability?

    ReplyDelete
    Replies
    1. The creators set out to create a new language that was built from the ground up with portability in mind. Fantom source code compiles into 'fcode' which is bytecode that is easily translated into Java or CIL. The main advantage is portability but the language was created for other reasons as well, such as fixing what the creators saw as flaws or inconsistencies within Java, C#, and .NET while also building a language that is easier to adapt to other languages in the future if needed, such as Javascript.

      Delete

Post a Comment

Popular posts from this blog

Post 5: Repeated Action Syntax

Loops While Loops While loops execute while the given conditional remains true. While loops use the same syntax as while loops in C# and Java.  The code will cease to execute once the given conditional is no longer true. For Loops For loops execute for a set, given length. A for loop will iterate through a range of given integers until the end of that range is reached. For loops are written the same was as in Java and C#.  For loops have the benefit of being able to keep track of how far something has looped through without the need for a separate variable by using the 'i', or however it may be named. For loops do not need to strictly follow hard coded numbers and could loop through the length of an array or size of a list or to any integer value. Iteration Iteration is a key function of lists in Fantom. By using the 'listName.each' method, you are able to iterate through the length of the list and execute code for each item in that list. This c...

Post 4: Conditional Statements

Conditionals Conditionals in Fantom are comprised of if-statements, if-else statements, and switch statements. If-statements If-statements in Fantom remain virtually the same to if-statements in it's parent languages, Java and C#. The if-statement takes some form of conditional and will only perform the block of code inside of it IF the condition stated is true. Every if-statement will be checked if performed in a sequence, however if-else statements will stop once the first true condition is met and perform the nested code. Else will only be performed if none of the previous conditionals have been satisfied. Switch Statements Switch statements remain very similar to Java and C# as well, however with some syntax differences. A switch condition is declared at the start and is compared to the list of case labels below it, executing code when a condition is met. If none of the conditionals are met, there is a default condition that works like the else of and if-statement....