Awesome Sauce Java: Not Just Another Language

What is Awesome Sauce Java?

It's a programming language.  But it's not like any other programming language.

I can hear you now, saying, "Yeah, right."

I know.  It's hard to believe any programming language is better than any other.  We're so used to the marketing checklists, and the modern features, different syntax, more expressive, concurrency(!) and all the academic arguments for or against language blah-blah-blah, that we forget that languages are tools that empower us to do work.

I see Awesome Sauce Java as a programming language that is demanding I use it as the basis of an Operating System.  Why?  It's crazy fast, dynamic, insanely stable, and provides scads of Java libraries, from within the JDK and third party libraries, that empower programmers to build tools that don't blink, but stay running while they're editing them.

It's surreal to me, and I'm building it.  Notice I'm not crowing about how I wrote it, just how fast it is.  I'm kind of freaked out at what the language is.

How'd it happen?  Call it a happy accident, like stumbling into vulcanized rubber, without the "almost burned the house down" insanity, because it's software, not whacky and explosively flammable experiments on a wood-burning stove conducted at home.

Awesome Sauce Java is different because it isn't different.  You don't have to learn a new language.  Your bucka-bucka-bucka, clunky old Java is suddenly turned into a rocket.

Trust me, it's so subtle you could easily dismiss the whole premise as total bs.  But it's such a radical reality that if you stick it out and look at it, you'll laugh at just how much faster and more productive this language is. I knew it was cool, but I thought it was the Lisp part that made it cool.

Then I started using the language to build a prototype math function.  And I blinked and it was done.  Then I started using it to explore Java, and was able to explore about 20 classes I didn't even know ever existed - after 20 years of Java coding.  Then I started building interfaces.

Each new exploration into Awesome Sauce Java caused my eyes to bug out a little bit more as I slowly came to understand that a new language that was only new because it was faster and didn't foist a new set of names, syntaxes and idioms on me, was frickin' awesome sauce.  So I changed the name from that name that was controversial, even though it had Lisp in it, to reflect what it truly is: Awesome Sauce Java.

Because you can't call it awesome sauce if it isn't awesome sauce.  That's been the rule since we were kids.

One Minute Syntax

It's Java, but it alters things just a little bit.  Trust me, you'll get it in about 1 minute.

Java calls look like:

<instance>.<method>( <args> );

Awesome Sauce Java looks like:

(<method> <instance> <args>)

There.  Now you know Awesome Sauce Java.

JFrame frame = new JFrame( "Boogers" ); // in Java

Becomes:

(setf frame (new JFrame "Boogers"))  ; in Awesome Sauce Java

Awesome Sauce Java is even shorter.  The difference is that the Java example needs to be compiled, then run interpreted at the JVM, where the Awesome Sauce Java code gets run as soon as it's entered.  The other difference is that every single edit to the Java JFrame requires you quit that application, add some new code, build it, run it, test it, quit it, edit it, build it, run it, test it, quit it...

With Awesome Sauce Java, you just keep editing your program because it simply stays running.  It's like a bored teenager staring at you, begging you to go die, or go faster.  Teen years are awful like that.

If you need to restart your application, it restarts in a split-second.  It's surreal fun.  Plus, since it's Java as Java, with a small modification in the call structure, you don't have to learn sixteen million new things, wonder about how you're going to make something work, or worry that you're going to get boxed in by a language that claims it can, when it can't.  Java may be a lot of things, but it works.  And that JVM!  It runs your code anywhere.

What about packages you ask?  I'm not ready to talk about packages, yet.  Not because they're not part of the system; every aspect of the language is ready to be implemented just like it's implemented in Java and/or Lisp.

I'm being obtuse because I have a design that plants a metalanguage in the Editor which allows the language to stay very terse, puts package details in specific places, and all that mystery and subtle metalanguage blah-blah-blah keeps the syntax extremely clean.  As in, none of that package/import declaration stuff at the head of the file

I want total dynamic, flexible Java.  Not cement dried into blobs that prevent my mind from using details as data that can be altered, modified, squished, sent, or something'd to make your programs flexibly dynamic at runtime.  I want to build smart programs that make us more knowledgeable and capable of managing earth's resources.  We need good smart software.  We've had enough darkness crap.

This is a quick introduction to Awesome Sauce Java that's intended to give you a little different perspective into what makes it different.  It's weird that it's different because it's the same.  But hey, it works.  And all that weird gives us self-modifying code, hot-swappable functions, and a whole lot more.  Check out my Indiegogo campaign.  It's kind of old school geek, but I honestly find it difficult to explain how a language that's not different is different in any way, except how radically fast it makes you at building software.

Comments

Popular posts from this blog

I Was Studying Exceptions, But Got Confused, So I Luckily Designed The Code Editor Instead

Just a Short Update

A Day Away From a Glowing Screen