#1868 Roadmap

andrewc Mon 2 Apr 2012

Hi Fantom team,

I'm curious to learn more about the Fantom roadmap. Looking at the Roadmap page, it seems the primary roadmap elements are not language features, e.g. more tooling/IDE, crypto APIs, more backends (OK this is a language feature). I'm curious to know where things like extension functions and user defined generics fit in.

-Andrew

brian Mon 2 Apr 2012

Hi Andrew,

We probably aren't all that diligent about keeping Roadmap page up to date. The forum is the best place to take the pulse of what is going on.

Extension functions have been talked about quite a bit, I'm not sure if/when they might happen.

Generics have been discussed a lot, and will almost certainly happen. Don't know when, but maybe sometime this year. There seems to be pretty strong consensus on a basic generics type system.

LightDye Thu 18 Jul 2013

All,

I just want to bring this discussion back to focus because after following the forum for several months I can't figure out what the current roadmap is. The Roadmap page looks very out of date. Long ago there were frequent discussions about user generics but no so much recently. I'm not particularly interested in user generics, though. I'd rather like to see efforts on making Fantom a competitor in the mobile development arena where I see a lot of potential due to its ability to run on diverse virtual machines and the fwt and gfx pods, but this is just my opinion anyway. I'd like to know what other Fantom programmers expect from the language and where Brian and Andy want to take it to.

SlimerDude Fri 19 Jul 2013

User defined generics would be handy, even if it's simple 1 level deep functionality similar to what Lists and Maps give, as when using afIoc (more often in tests) I find I write a lot of casts:

bob := (PipelineBuilder) registry.dependencyByType(PipelineBuilder#)

But as to what industry or arena Fantom leans towards is largely driven by us, the developers. It's up to us to create quality 3rd party libraries in what ever area we see fit. It can be difficult to find the time, but while Fantom is still young, it really is a case of:

Ask not what Fantom can do for you, but what you can do for Fantom!

I try myself. As I do a lot of web development work there's heroku-buildpack-fantom and more recently, afBedSheet (which I feel is coming alone nicely).

brian Fri 19 Jul 2013

So from my perspective Fantom is our workhorse and it is what we use in our daily software development. It is robust, stable, and gets the job done. We are constantly fixing bugs and making minor enhancements, but right now there isn't new big features on the horizon - more just fine tuning. While I'd love to spend some time targeting mobile, I don't see that our businesses will have a need for that short term, so it will be hard to justify us doing that work. But then again its hard for us to see 6 months out what we might be doing with Fantom :)

ikhwanhayat Sun 21 Jul 2013

Regarding the decision to not supporting generics, the only common annoyance that I experienced is casting need to be done everywhere. Cast operators are kind of disturbing the flow. Often time I start with typing the variable/object, then I realize that I have to cast it. So I move my cursor at the start and put (SomeClass)obj and then move back to the end.

Using as operator has the same effect too since most of the time we need to enclose it in parens.

It might be better if Fantom can introduce a better casting syntax that doesn't break the code flow. Maybe something like:

a := obj(SomeClass).someMethod()

That, or make dynamic invokes execute as fast as static invokes :)

LightDye Tue 30 Jul 2013

Hi Brian,

So from my perspective Fantom is our workhorse and it is what we use in our daily software development.

Fantom can be seen as a byproduct of SkySpark, but I think Fantom is so good it should live its own life.

While I'd love to spend some time targeting mobile, I don't see that our businesses will have a need for that short term, so it will be hard to justify us doing that work.

It could be a business on its own right. Developing for mobile sucks mainly because Objective C is cumbersome, Java + XML is too verbose and Javascript + HTML5 + CSS3 is fragmented due to the myriad of browsers and frameworks. It would be so much fun if one could write code in a succinct but eloquent language and run it on Dalvik or LLVM accessing native APIs. Just thinking.

Bob147 Tue 30 Jul 2013

I for one certainly agree with LightDye on this. To have it running on Dalvik would be awesome.

Bob

SlimerDude Tue 30 Jul 2013

I've not tried it, but the sidewalk thread Java byteCode on Android seems to suggest it works already. Is this not the case?

Bob147 Wed 31 Jul 2013

Hi Steve,

I have tried to work through that and associated threads but not had any real luck. If it did work we really need an idiots guide as part of the Fantom documentation. I was also concerned that the thread ended with a set of reported test failures so there is no clear indication as to what the final result was. Historically I am primarily a C/C++/C# programmer so all the talk of various Java issues in the sidewalk thread is way over my head at present.

BTW sorry I haven't been back in touch about afBedsheet and Fanquery etc but I am now just getting back onto that project after a short(ish) digression

Regards Bob

SlimerDude Wed 31 Jul 2013

The reported test failures mentioned Cannot create dir: /temp/test so I figured it was more an environment issue. It would be good to hear what the exact problems are though. (And at which step / stage.)

Login or Signup to reply.