newlisp as a General Purpose java front end.

Started by Tim Johnson, March 20, 2010, 02:50:10 PM

Previous topic - Next topic

Tim Johnson

I do not currently code in java, but I can see it on the horizon. There is a growing list of scripting languages that are front

ends for java and are in part or in whole in java. See http://java-source.net/open-source/scripting-languages">http://java-source.net/open-source/scripting-languages



I've looked at clojure for the last couple of days, but I'm going to have to pass.

Reason: lots of problems installing. I believe I could overcome those issues myself, but  the thought

of trying to convince a system adminstrator to install it on a remote server for web deployment made me

want to weep!



I think it is likely there is going to be a very large niche for a scripting languages that can "talk to" or be

a "front end" for java. And I don't think it is filled yet.



Now, with the guiserver, I see some possibilities: I haven't really played with any of the sample scripts

(on my machine at usr/local/share/newlisp/guiserver). I've looked at guiserver.lsp and it is very thoroughly

documented. And as I understand it, guiserver.lsp is a "front end" for guiserver.jar.

So the possibilities of using newlisp as general-purpose front end for java would entail

1)Jar files being built on java

2)A newlisp interface designed specifically for the jar file?

Am I correct?

I'd welcome any and all comments on this topic.

thanks

tim
Programmer since 1987. Unix environment.

xytroxon

#1
A it's simplest, a "newLJSP" front end would convert newLISP code to Java source code (middle end) that would then be compiled to Java byte code that then would run on the JVM back end...



Problems include:



o Getting newLISP's C programming paradigm to conform to the Java programming paradigm...



o Performace problems with the JVM byte code often being slower executing than native newLISP code...



o Problems using a (very) lot more memory to run the Java bytecode...



o Features like the built in server or tacking newLISP code on the end of the interpreter .exe file would have to go...



o Hoping the compiled mess actually works as expected without surprise side effects from the newLISP translation to Java...



o Oracle buying Java creator Sun and Oracle's commitment to quality professional engineering support for Java... Java was job #1 for Sun's survival... I know it's open source now, but so is PHP (and anarchy ;p)



o Oh yes, and don't forget Microsoft's CLR C# .net strategy...



It's a lot easier for Clojure being designed for Java from the very start than it is for newLISP trying to force it's design into the Java framework... Also Python's Jython project languished in incompletion limbo for many years...



-- xytroxon
\"Many computers can print only capital letters, so we shall not use lowercase letters.\"

-- Let\'s Talk Lisp (c) 1976

Tim Johnson

#2
I agree with you on all of this.

I have no interest in a newlisp written in java. None.

However

The newlisp guiserver component is what interests me.

Let me rephrase what I said earlier:



1)There is a "java library". It is a file called guiserver.jar

2)There is a "newlisp interface". It is a file called guiserver.lsp

3)Following this paradigm, what other possibilities can use 1) and 2) as guides.



Here's a real-world example.

I'm a web programmer. To deploy newlisp for my business, I need a newlisp module

that will render an html form with embedded mysql data from a record and customized javascript data validation.

I've done this functionality in rebol and python, and I need to implement it in newlisp.

I've written some code, I can make it work in newlisp, but suppose there is a java

.jar file that does it already and can I write a newlisp interface to that (hypothetical)

jar that get it done without re-inventing the wheel a second time.



Here's another example: My business partner and my brother both have blackberries.

Blackberries have a java interface. ( at least I think they do and this is just an example, okay?)

I want to write an application that keeps them in touch 24/7.

(In the real world not a good idea, because one is a republican and the other is a democrat, but

bear with me here).

Javas assets (jar files) exist to accomplish this. I use newlisp as the glue to bind

it all together. After all, I know newlisp, I don't know java, newlisp is less verbose and

more "fun" to use.



So how am I doing? Am I any clearer?

Cheers

tim
Programmer since 1987. Unix environment.

Tim Johnson

#3
Frankly, I'm surprised that there isn't more interest in this topic. But I think that the simplicity

and practicality of newlisp just might attract a different "crowd" than what would be attracted

to java. But, hey I gotta eat and there's a market for java resources.



After looking thru the code in guiserver.lsp, I can see that what Lutz has done is similar to what

my business partner and I talked about doing years ago. That is:



Write a gui server in python or perl using the TCL/TK (as an example) libraries available for both

perl and python and implement it by talking to it on a dedicated port from either rebol or

perl scripts.



:) Great minds run in the same gutter.

cheers
Programmer since 1987. Unix environment.

cormullion

#4
I suspect that part of the silence is to do with the fact that topics in this forum don't appear in the RSS feed or the Active topics list. I only noticed it because I happened to look at the  Dragonfly section after seeing a tweet...

Tim Johnson

#5
Quote from: "cormullion"I suspect that part of the silence is to do with the fact that topics in this forum don't appear in the RSS feed or the Active topics list.

I only noticed it because I happened to look at the  Dragonfly section after seeing a tweet...

Why is that?

Is there something in my settings configuration that I can change?

thanks
Programmer since 1987. Unix environment.

xytroxon

#6
QuoteThe Struggle To Keep Java Relevant

http://slashdot.org/palm/8/10/04/03/0147255_1.shtml">http://slashdot.org/palm/8/10/04/03/0147255_1.shtml



from the onions-on-your-belt dept. posted by timothy on 2010-04-03 03:36:00



snydeq writes "Fatal Exception's Neil McAllister questions Oracle's ability to revive interest in Java in the wake of Oracle VP Jeet Kaul's announcement at EclipseCon that he would 'like to see people with piercings doing Java programming.' 'If Kaul is hoping Java will once again attract youthful, cutting-edge developers, as it did when it debuted in 1995, [Kaul] may be in for a long wait,' McAllister writes. 'Java has evolved from a groundbreaking, revolutionary language platform to something closer to a modern-day version of Cobol.' And, as McAllister sees it, 'Nothing screams "get off my lawn" like a language controlled by Oracle, the world's largest enterprise software vendor.


I would never get a piercing...

It would detract attention away from my newLISP tattoo...



-- xytroxon ;p)
\"Many computers can print only capital letters, so we shall not use lowercase letters.\"

-- Let\'s Talk Lisp (c) 1976

Tim Johnson

#7
Of the two other members of my family that are programmers, they are

both java programmers. One of them full-time, the other splits her time

about 60-40 between java and php.



I don't like java, and it is as verbose as C, which I used for 12 years, even for CGI programming.

I would hate to have to learn java. I see a trend toward scripting languages written in

java. It is that trend that interests me, not java itself.



See http://java-source.net/open-source/scripting-languages">http://java-source.net/open-source/scripting-languages, as an example. Jython and clojure are both very active communities.

I also belong to the jython mailing list (I am a python programmer). I have seen references in the jython ML to Javascript as

the "cobol of the 21st century" I would suggest that it may become another C of the 21st century.



And FYI :) I'm not going to be  coding in java the next few days, I'm going to be coding in newlisp.

Any job postings for newlisp programmers? Send them my way if you see any.

cheers
Programmer since 1987. Unix environment.