Modifying Java, Explained!


I need to clarify an important aspect of Awesome Sauce Java with regards to method names and evolving Java.  Awesome Sauce Java can offer (at least) three different types of method signatures with regards to the name of the method and the return type.  There are many aspects of Java that can be modified, but the first that makes sense to present is with regards to method names and return types.  Here are the three types of method signatures I'm going to offer in Awesome Sauce Java:
  1. Standard Java calls
    1. Nothing changed in any part of the method signature.
  2. Standard Java methods altered to become Functional Java calls
    1. Returning a value that makes sense in the context of functional programming.
  3. Upgraded/renamed Java calls that either preserve the Standard Java method signature, or offer a Functional method signature.
I'd like to take a minute to show what it means to evolve Java, because without clarification, it could sound like the Awesome Sauce Java language is all over the map, when it's actually well-structured.  Each type of method call signature is going to be available to set within the the tools of Awesome Sauce Java.  That way users work with the type or types of methods they want to see.

I'm going to present how a method can evolve to offer different signatures using an example from the javax.swing.JTable.TableColumnModel class, which I happen to have open in Javadoc right now.  I'll show how one function can be associated with each category listed above:
  1. Standard Java call (unchanged)
    1. void removeColumnModelListener(TableColumnModelListener x)
  2. Functional Java call (returns a value that makes sense in the context of functional programming)
    1. TableColumnModelListener removeColumnModelListener( TableColumnModelListener x)
  3. Upgraded/renamed Java call (can offer either type of method described in #1 and #2 above)
    1. void remove(TableColumnModelListener x)
      1. new name, same return type as standard Java
    2. TableColumnModelListener remove(TableColumnModelListener x)
      1. new name, returning a value in support of functional programming.
The three functions listed are all potential candidates to make available to a working Awesome Sauce Java runtime. I've bold-faced the elements that define the function or the modification.  The Standard Java and Functional Java calls are mutually exclusive, so a user would have to configure their system to use one or the other. The upgraded or renamed method can coexist with either the Standard Java or Functional Java, because it shortens the name of the method to something potentially more rational.

Reworking Java For Sure, For Sure

I'm going to upgrade the names of the methods where it makes sense.  Because in my 34 wildly all over the place years of writing code, I've noticed that when code is clean, terms are clear to divine, and there are few contextual hiccups or gotchas, it's easier to write code.  Java is a nice language that's very mature and stable, but some of the names could be reduced to make the language a little easier to work with.  I'll write more on this later

As far as using new names, but needing to output Standard Java?  The Awesome Editor can be used as a prototyping tool, to assist with rapidly prototyping a method or class.  If a user needed to wanted to use the renamed Java method names in Awesome Sauce Java, they would still be able to generate Standard Java from their prototype code.  The Awesome Editor will be able to convert any form of the calls above to pure, standard Java, for import into a standard Java application.  Freedom is about choice and I'm working to put the choices in the right place.

The point of this presentation has been to show how Awesome Sauce Java provides options to evolve Java method signatures by offering a choice of (at least) three types of method calls:
  1. Standard Java methods, unchanged.
  2. Standard Java names converted to Functional signatures.
  3. Renamed method names that either preserve the Standard Java method signature or present a Functional method signature.
Awesome Sauce Java is a dynamic and fun environment for working with Java.  I hope you'll consider contributing to my crowdfunding campaign on Indiegogo.

Have a great day!

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