In a move designed to attract more developers to its vision of Web services and application development, Sun Microsystems Inc. is developing enhancements to the Java language that provide a more Visual Basic-like experience. Read the article at eWeek.
What exactly do they mean by “Visual basic-like experience”?
To me, a Visual Basic exprerience is something really bad, close to traumatic. But perhaps this is a good thing?
The only think they could add to java would be some sort for drag and drop gui tools. Other than that I don’t think VB has anthing to offer java.
>> What exactly do they mean by “Visual basic-like experience”?
I think what they are focusing on is the RAD environment… an application that allows less techno-savvy users to create Java solutions quickly.
——
They also say that Swing is hard to use? I don’t think so… it was an overwhelming concept for me at first (I was learning to program and have never really used AWT either)… but once I used it for a very short time it just made sense. I think it’s slow but that’s another matter.
Also… I assume with this new Visual Basic-ish approach the application (IDE) will automate some of the code… this is BAD!! Not only is Java fundamentally slow because it’s interpretted but the code apps like this generate is hardly ever even close to being efficient. People complain now of how Java is slow… how can you justify using yet another IDE and also one that will generate inefficient (slower) code?
There are many RAD tools for java. Forte for java, JBuilder, etc.
IMHO there is only two important thing missing: propteries and operator ovlerloading.
If you are trying to do anything that is in the realm of “business processes” that usually means in Java world you have go into that giant quagmire called J2EE.
Visual BASIC is much simpler when it comes to doing business processes. You can create components, SOAP modules, etc., without the giant J2EE framework and its conceptual and sheer magnitude of code complexities.
Sounds like Sun is doing some smart things realizing that Java is way overkill for many developers.
Sun’s work does not stop there. John Fowler, Sun’s CTO for software, said simplicity is a major focus for the company. “How do we drive simplicity?” he asked. “With Java, how do we have a single development language and development environment?”
In the face of .NET, is a single language really what we need at this stage? Java (the language) is great IMO, but how about making the platform more accessible to other languages? A single development environment sounds like a good idea, (where that leaves BEA and IBM I don’t know) but we already have a good Visual Studio like tool – it’s called Eclipse and it’s loosely based on VisualAge for Java.
That said, Sun do have the capability and expertise to develop a cross platform intehrated environment. In 1998, they purchased Forte Software, the developers of just such an environment. Forte Software were producing a big enterprise application/integration system, called Forte. The idea was to strip out Fortes proprietary language, called TOOL, and replace it with Java. It never happened. Sun purchased NetBeans and rebranded it as Forte for Java and bolted some enterpise features onto the back.
JBuilder and NetBeans/Forte are not RAD environments in the same way VB is. They do nothing to really alleviate the complexity of Java, which for many apps, is needless and overkill. Sure, they make life easier for a *regular* Java developer by providing integrated facilities and a GUI builder, but systems like VB or REALbasic are far more than the sum of their parts.
Casey Winans:
Simply using a GUI builder or other RAD setup does not guaruntee that the resulting apps would be slower. Heck, they may even end up faster- a RAD with a well-built GUI builder would produce simpler GUI code than many human developers. A lot of Swing’s slowness is people not knowing how to use it properly. Granted, a lot is also that Swing is slow as mollasses, which means that it wasn’t designed and/or implemented well. Hell, even Squeak’s GUI- Morphic- feels a lot faster than a Swing app on the same machine. And Squeak’s Morphic has seen relatively no optimization compared to what they pour into Swing. It is not because of Java’s “fundamental slowness” that makes Swing slow- it is Swing. Look at SWT for example. Java done much better.
I’ve heard that Java 1.5 will offer generics at long last?!
I’ve used them in C++, back when I was in college.
I’ve also heard they are to be added to the C# language and even read an article that explained what that meant for the language itself.
http://www.gotdotnet.com/team/csharp/learn/Future/VCS%20Languag…
I can see where it would definitely help Java but I think the inclusion of this concept would demand a version bump to 2.0… they could improve (simplify) their API a lot with this concept. And improve performance quite a bit also.
Also (forgot to mention) they could do some serious housecleaning and provide an improved API that has dropped all the cruft (deprecated junk from the early 1.x days) and provide an much improved non-compatible API to move forward with.
I know it would be slow to adopt but would pay for itself in the long run.
This can be good or bad. I’ve used JBuilder its way too big for me to get into.
What I would like to see is something very small and light weight like BDK. This ran fantastic on my 200Mhz 32MbRAM PC.
Don’t even bother with Tom!!
I am a VB developer and there is an issue with pluggin in 3rd party ocx controls, becuase of the registry, we had major issues with this yeah I know its all good if you can remember where you kept those registry keys!!
Whereas with BDK you just select the component or just place in the folder and presto you can use it! I hope Sun keep it nice and small no bull with brokers and uml whiteboards that overload…I’ll just make my own one, and publish that. What about Jamba!
Whats the point of this anyway? Isn’t Forte RAD?
If you have a grasp of OOP then no language that is OOP should be difficult. If you can’t write java then a RAD isn’t going to help you. If you can write Java then it will be handy to let you write a generic piece of code like Flash did with it’s new “components” so that you can write code once and then drop that into any project.. although this is kinda what the whole point of JavaBeans is IIRC. I’m not much into java right now. I am doing a project using Tapestry on Tomcat and that is really sweet! Java has a lot to offer on the server side.
If It Were Me, I think the thing to do that would make Java a bit easier in a more VBesque way would be to come up with a meta layer to build on top of Swing.
The thinking is that you’d have some kind of Form with its attributes stored in a resource (undoubtedly in XML). The meta layer loads the Form, builds the control, and then dispatches appropriately the methods within the Form.
No rocket science here, and it can be done fairly easily without mucking about with the Java runtime or language.
The biggest problem with Swing is that it’s a bit too fine grained for most folks, I think. It’s really flexible and robust but once you poke your head under the surface to make it do something beyond the default, it gets intricate and complicated (and poorly documented).
Also, the modern Swing GUI builders are basically code writers that create ugly code. Just bury all of that into this meta file. The tool can then either create Java code at build which is then compiled, or it can cheat and create byte codes directly.
Delphi sort of works this way with its form files. I think.
The basic idea is to have a layer that helps flatten the event model of a classic Swing form into something folks are more used to rather than making a bunch of anonymous classes and what not. Hide the code that makes the GUI.
The Swing Tutorial has a simple button application that’s 66 lines. ( http://java.sun.com/docs/books/tutorial/uiswing/start/example-swing… )
It could easily be something like this:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SimpleVBForm extends VBForm {
private static String labelPrefix = “Number of button clicks: “;
private int numClicks = 0;
private JButton button1;
private JLabel label1;
public String getFormFile()
{
return “JavaVBForm.frm”
}
public void onButton1Click()
{
numClicks++;
Label1.setText(labelPrefix + numClicks);
}
public void onWindowClose()
{
System.exit(0);
}
}
Q. What became of Visual Cafe? I know it was bought by a company I never heard of before & I think they jacked up the price. Does it still have any market share?
What is the prefered lowish cost tool that also can generate native x86?
One can understand OOP well and still gain a lot from a good RAD. Anyone that dismisses RAD has never used a good RAD environment! Java could really benefit from a good RAD tool. Not just another regular IDE like JBuilder or Forte/NetBeans- that would be rendundt and not impressive. Anyone who has actually used a real RAD system knows how easy it can be to whip up, quickly, an app that is stable, nice-looking, usable and feature-complete. No matter how much you understand Java or OOP, that will always take longer to do when you do it in straight code. I am a big Smalltalk user, a person with a better grasp on OOP than most Java programmers do, but a good RAD is sometimes the best tool for the job. And a really good RAD gives you the ability to extend your app in a regular language- that is, use this Java RAD for the original app, but down the line, if you needed to, you could break out the regular Java to add some new feature that couldn’t be done easily within the framework of the RAD.
The Visal Cafe group (Internet Tools Division of Symantec) was spun off as Webgain (I quit just before this happened).
Recently Webgain ceaced to exist – but they sold some of their IP to Togethersoft… which was recently bought by Borland.
Visual Cafe is no more.
Thanks for the bad news.
Shit.
Every piece of SW I ever supported except from MS, Adobe is gone.
being able to start a form, assign labels and buttons and simply attach code to those buttons and so forth. For many cases VB is more than adequate front end for Jane or Joe secretary/call centre operator to interact with the back end database.
At the end of the day, SUN needs to get more developers on board and if it means making the programming “eXPerience” easier for some, then so be it. Making something easier doesn’t necessarily saying that you’re dropping the standards. For example a new programmer may look at the easier version of Java, gradually get the feel of it and once confident enough then starts to learn the hardcore aspects of java. Why force a person to learn the hardcode aspects of a language which can result in the person loosing confidence and giving up?
In my (otherwise unsupported) opinion, one of the great secrets to MS’s success, especially with dev tools, has been the fact that they make first 20% of any environment’s functionality drop-dead, shaved-monkey, pork-from-a-congressman simple, no matter what the cost for the next 80% of your project. For the first three days or a week, your project seems to fly together of its own accord. The feeling of progress is heady and addictive. Then, as soon as the real meat of the project becomes visible, the continental shelf drops out from under you, and your project is completely underwater. But, by this time, you’ve deeply bought into the tools and solution, and everyone’s first thought is to blame themselves. (I must be doing something wrong! It was all going so well! What the hell is an API declare?)
Obviously, this is a greatly successful strategy. I hope Sun successfully emulates it, even though I personally consider it a design-deal with the devil.
Joe