Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [vjet-dev] Intested in joining Eclipse for GSoC 2013

Catalin -

Hello and welcome!  I am Mark and am also on this project.  I have
worked with Justin in the past and was one of the original VJET
authors.  You can see some of my background via LinkedIn at
http://www.linkedin.com/in/markpalaima

The idea behind the "type library" is to create definitions which
describe other JavaScript libraries.  JavaScript is a huge area today
thanks to Client and Server-side libraries such as jQuery and Node.js.

Those Type Library "descriptions" are defined in a structured
definition format called VjO.  VjO is JavaScript itself (which is kind
of nice - JavaScript describing other JavaScript).

We can think of the VjO as being similar to Java Interfaces and Class
declarations.  We can "describe" the coding contracts only but not
their implementation.  The implementation is always the real runtime
library that would physically be included in your webpage like jquery
(<script src="http://code.jquery.com/jquery-1.9.1.min.js";></script>)
or server-side Node module being used via require(...).

The Type Library is read in by the Eclipse IDE and provides the
necessary information for it to provide authoring assistance and
validations.   Authoring assistance would be things like type
completion and proposals which are concepts we generally enjoy with
typed languages like Java.

Also, those definitions help VJET do validation on your code as well.
For example your function takes a String and Number argument but
someone passed in an Array or Date.  In raw JavaScript this is just
tough luck and bad things happen at runtime.  With VJET, this scenario
is caught and flagged as an error for the developer to correct.

JavaScript is a simple language on the surface and provides very
limited types (Object, Function, Array, Date, Boolean, String, Number
and RegExp) only.  However, JavaScript can create very complex
functions and types that benefit from more type support and that's
where VJET comes into play.

I have a Alpha version of the Node.js 0.8.18 (which is very close to
the latest version and thus more interesting to us, you, and people we
hope will adopt our ideas/approach).  It is mostly complete but has
alot of testing to be done on it and some incremental work on the type
lib itself - both areas that we are hoping you are interested in and
can help the project with.

I generally take the node.js documentation/examples and others I find
via Googling and try to validate that code using the Node.js Type
Library.  I also have some sample/example projects as well for
Node.js.

Let me talk to Justin and see what is the best way to get you the
latest code/examples.  In the mean time I am writing up the
directions/approach I have been using to develop the typelibs, and
then create samples/examples and use them to test how well the typelib
is working (gives me good proposals/completions and validates that
code).

This is a interesting project because we also have typelibs for
jQuery, MongoDB and many other Node.js related Modules like Async.js,
Underscore.js, Optimist.js, etc...  We can build very cool
client/server apps all in JavaScript and do it safely, quickly and
with great tooling support from VJET.

Looking forward to working with you!

    MrP



On Sun, Mar 3, 2013 at 1:19 PM, Catalin Ramascanu <catalin.rmc@xxxxxxxxx> wrote:
> Hi Justin!
>
> Yes, I am still interested in the project and I am sorry for not responding
> very quickly.
>
> I have some questions for you.
>
> How can I try out that support? I have VJET installed but I can not test
> what is written in the support.
>
> Also, I've looked over the type library that you sent but I am having a hard
> time trying to understand it. What is the purpose of that library?
>
> Thanks,
>
> Catalin
>
>
>
>
> _______________________________________________
> vjet-dev mailing list
> vjet-dev@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/vjet-dev
>


Back to the top