Name for programming language

5 views
Skip to first unread message

dkurashvili

unread,
Feb 20, 2010, 12:18:53 AM2/20/10
to JForce Development
I have a good name for our programming language: "Spin". Why is this
name good? Well, first of all it's close to the name LISP (it's length
is the same and 3 characters are matching). Also it associates with
rotation (spin of electron) what seems to be a good association taking
into account that our language should be functional in many directions.

dkurashvili

unread,
Feb 20, 2010, 12:20:39 AM2/20/10
to JForce Development
if anybody have a better name, send here!

Arthur Buliva

unread,
Feb 20, 2010, 12:52:07 AM2/20/10
to jforc...@googlegroups.com
Just reading through these email threads and wondering if we are developing a new programming language or a platform based on Java? Or is it that we are developing a Java platform using a new programming language?

--
Arthur

dkurashvili

unread,
Feb 20, 2010, 6:50:29 AM2/20/10
to JForce Development
Hi Arthur!

You are right. It's not obvious what we are doing. I'm just writing
that part of my proposal which explains implementation details. Many
questions may be answered there. Nevetheless I'll try to make some
clarifications here.

Again, thanks for question. I'll try to make things as clear as I can.

First of all, there are two main goals in this project.

The main idea is to treat each platform natively; i.e. use JavaScript
on the web, Obj-C on Macs, PL/SQL on Oracle and whatever is the best
choice for any given platform. But we should use one custom language
to implement each platform. LISP has highly customizable syntax, what
makes it the best choice, from my point of view.

Another important target is productivity. I think that the gain in
productivity can be fulfilled by using some predefined framework with
wide range of functionality. Wizards also should improve workflow.
Even non-programmer should be able to create simple application.

So the goals are: NATIVE speed and PRODUCTIVITY. Another question is
how we are going to implement them.

We (me and nik...@dev.java.net) already have experience in
implementing something similar. We started work on a prototype of the
JForce project (the name was different) in the fall 2009. Then we had
only one of the goals defined above: productivity. In 3-4 month time
we developed some kind of framework based purely on Java. What we
obtained is simple to use and gives ability to create applications
very quickly. For instance, I completed several projects in my company
in a few days using it. Same work before took several months.
Unfortunately this work is licensed to another company and I cannot
provide further details about it.

Then we decided to improve what we already achieved. The main issues
we had in previous project were that security is not built-in (so you
need implement security yourself) and UI is based on Swing. Then we
decided to open-source our project. And the second goal (native
support) appeared by that time.

Now about how we can implement all the said above.

As I think Java would be the central part of the system and key
component in implementation. It will run on the application server and
provide communication between client and database server. There are
three main aspects of using application server.

1. The first is related to the fact that we are not going to use
Hibernate. Therefore SQL optimization, quering, caching and many other
common tasks should be done from the start. That will be one of the
hard thing to be done.

2. Application server itself provides huge infrastructure, which
should be managed. But in the Milestone 1, I think, we should not
focus on that. While it gives not so much in terms of the main goals.

3. And the third, most important aspect of using application server
(and Java therefore) will be providing translation from our custom
language into platform specific code (whatever platform) and
compilation of this code, if necessary. Delivery of compiled code is
also provided by application server.

Procedure of translation and compilation looks as follows. Program in
our programming language (named Spin, for example) is parsed by Java
to some intermediate AST (abstract syntax tree) using ANTLR or javacc
(I think ANTLR is more convenient). Intermidiate AST is futher
transformed to the AST specific for the platform. In my proposal,
several examples are already given on how to transform intermediate
language into target language. Compilation phase, if required, also
should be done.

If you ever programmed in SAP/ABAP that help you understand better our
goals. Another example is Force.com platform which uses APEX language.
Everything in these platforms are saved in database, even IDE is in
database. And client uses either web or some desktop client to access
programs and data. Both frameworks are very productive and SAP is
expensive too. I think it makes a lot of sence to try to make them
free and much better.

dkurashvili

unread,
Feb 20, 2010, 7:03:50 AM2/20/10
to JForce Development
I started some experimental project (not a real development yet) here:

http://code.google.com/p/jforce-platform/source/browse/#svn/branches/org.jforce.spin

It uses ANTLR for parsing LISP based syntax. The part related to
creation of intermediate AST is almost done.

Shortly I'll provide experimental code for translation into MySQL
code. If anybody likes to join this playground before real development
starts, just send me a message with your request.

Arthur Buliva

unread,
Feb 20, 2010, 10:27:07 AM2/20/10
to jforc...@googlegroups.com
Noted. I hope things get clearer though as time goes by.


-----Original Message-----
From: dkurashvili <dkura...@me.com>

dkurashvili

unread,
Feb 20, 2010, 10:38:53 AM2/20/10
to JForce Development
I would recommend you (and others) to join me on Google Code
http://code.google.com/p/jforce-platform/ to try everything yourself.

I'm just starting prototype for MySQL translator. We can try to do
something that will be useful later in real development.

> Date: Sat, 20 Feb 2010 03:50:29 -0800 (PST)
>
> Hi Arthur!
>
> You are right. It's not obvious what we are doing. I'm just writing
> that part of my proposal which explains implementation details. Many
> questions may be answered there. Nevetheless I'll try to make some
> clarifications here.
>
> Again, thanks for question. I'll try to make things as clear as I can.
>
> First of all, there are two main goals in this project.
>
> The main idea is to treat each platform natively; i.e. use JavaScript
> on the web, Obj-C on Macs, PL/SQL on Oracle and whatever is the best
> choice for any given platform. But we should use one custom language
> to implement each platform. LISP has highly customizable syntax, what
> makes it the best choice, from my point of view.
>
> Another important target is productivity. I think that the gain in
> productivity can be fulfilled by using some predefined framework with
> wide range of functionality. Wizards also should improve workflow.
> Even non-programmer should be able to create simple application.
>
> So the goals are: NATIVE speed and PRODUCTIVITY. Another question is
> how we are going to implement them.
>

> We (me and niko...@dev.java.net) already have experience in

mochisoft

unread,
Feb 24, 2010, 4:10:16 AM2/24/10
to JForce Development
Thanks for this new development. I believe the name spin is
appropriate for our programming language in that it involves a lot of
transformation. Otherwise am on board and keenly following this new
development in the code.google.com.

On Feb 20, 6:38 pm, dkurashvili <dkurashv...@me.com> wrote:
> I would recommend you (and others) to join me on Google Codehttp://code.google.com/p/jforce-platform/to try everything yourself.

Reply all
Reply to author
Forward
0 new messages