JBuilder Foundation is Free - and for Linux
ZioPino writes "JBuilder Foundation is a free, fully functional Java IDE. It's available for download now at the Inprise Web site.
This version is 100% Java and runs on Linux, Solaris and Windows. There is also a very cool debugger.
"
Hé vi rulezzzz. :(. :)
Use it all the time; OK, only as long as I'm not forced to use Windhoze, like just now
Better than other socalled user-friendly editors.
And with gvim, one can make your own IDE.
It's actually often incredibly difficult to do anything important under win9x, unfortunately.
My guess on that --- and I don't _know_, because I work on Delphi, not JBuilder --- is that it was only _tested_ under RedHat, and so we aren't ready to claim in public that it works under anything else. (As a former tech support person, i'm very much in favor of narrow system requirements). I can't imagine any good reason that it wouldn't work under a different flavor of Linux that had a reasonable JDK, tho.
Yes and no --- the JDK is blackdown work, JBuilder isn't.
Looks like they have "web designers" working at Inprise. Got the same when using NS3.0x.
Pointers - EVERY object in Java is accessed by reference. Sure seems like a pointer to me. Of course, Java does not require you to use the &, *, jump to the left, lift your right leg and fart, method of referencing and dereferencing them. If it is passed by reference, why not have the language automatically do that shit for you?
More on Pointers - No pointer math -- THANK YOU! Array bounds enforcement -- THANK YOU!
#include - import only loads the classes you actually use in the code, not the entire package.
Strings - They SHOULD be a class. If you want to treat them like C++ strings, use the StringBuffer class. They should have overridden the == operator though.
Objects - DUH! Java is an OBJECT-ORIENTED language. What should it do, use procedures? Integer is an object, int is a primative. That is just what you should have learned the first day of class.
Java is a tool, like any other language. Learn to use it and use it for the right job and it is a great language.
Setting his threshold to 5, Sparky eliminated most of the trolls on /.
Looks like they have "web designers" working at Inprise. Got the same when using NS3.0x.
Unfortunately you have to learn to ignore all of the whiners here on Slashdot. They are not representative of the majority, or at least the significant minority.
Not to degrade your point, but ESR (Eric Raymond) didn't start the Open Source movement. That honor belongs more properly to RMS (Stallman). Both have done a great deal to promote Open (or "Free") Software, each in their own way, but it was Stallman who first came up with the idea of the GNU "Copyleft".
Your Servant, B. Baggins
Point: Java DOES NOT ALLOW operator overloading however, Java Natively does Operator Overload.
Example? +
1+1 = 2
1 + "2" = "12"
-- Note: These Comments are Generated by ME! Not You! ME!
Does anyone know if there are any alternative download sites? all of Borlands seem to be umm not very responsive. :P Fr05t --
No, the previous poster was correct. a[i] is the value of a plus the value of i. Because addition is commutative, i[a] is correct as well. (It is poor C, but legal)
--
Mike Mangino Consultant, Analysts International
Mike Mangino
mmangino@acm.org
Free in this context generally does imply Open Source
... so what is the correct way to denote something which is 'software you don't have to pay for'?
Err
I think it makes more sense to use either capitalization (Free=Open Source, free=no paying required), or distinct terms (Open Source = open source, free = no payment required), especially since to everyone _not_ in the Open Source community, "free" means "you don't have to pay for it."
I've had a major gripe with both Java and Object Pascal over the lack of operator overloading; this is a feature that I desperately miss every time I get out of C++.
Sure, you *can* write stupid code in C++.
;-))
You can write stupid code in any language.
1) No pointers - This is good. People abuse pointers.
Oh, I guess MacOS is better than Linux, because
you have no command line in MacOS and people
can abuse the command line. Linux is so crap,
all you have to do is type
# rm -rf /
and you'll screw up your entire system.
If you believe in disempowering people because
they *can* abuse something your argument makes
perfect sense.
To me this summarises the entire java/C++ debate. The whole philosophy behind java is you can't trust the programmer,
- no pointers, you might abuse them,
- no operator overloading because some people abuse it, too bad if code is twice as long and hard to read, we must protect people from themselves.
- we'll take care of the memory management because
stupid programmers can't handle it. But we'll do a half assed job of it so JBuilder grinds to a halt with less than 128M RAM. You better make sure you've taken care of all those dangling references though. If you can't even take care of whether you've deleted your objects or not, stay away from programming altogether.
- no templates, they're too complicated - we'll
just force people to cast all over the place or
write thousands of little utility classes.
- no multiple enheritance, its too complicated to use properly. We'll just give you a cut down version in interfaces (although I kindof agree
with this one
2) #includes - this has been covered, but just copying the code into one big lump file is not all that great of an idea.
WTF are you talking about
#include files are meant to define interfaces
3) Strings are a class - I think deep down they aren't, but this relates to
if (you == "bozo")
cout "I'll stick to C++ thanks\n";
if (!you.equals("bozo"))
System.out.println("but server side java works nicely\n");
4) Everything is treated like an object - great! now you can prove things about your program.
You can't prove anything useful about non-trivial programs. When you're ready to write some non-trivial programs, you might want to try C++. Just kidding, Java is not a bad langauge, C++ does have flaws, but this argument about protecting people from writing bad code just drives me crazy. A bad programmer is useless in any language. Designing interfaces for beginners only is bad enough, but designing programming languages for beginners only is too much.
http://rareformnewmedia.com/
I was using Java to build a GUI around a legacy C code program, and I was searching for IDEs to use. The best one out there that had a resource editor (which was necessary) was JBuilder. It was a nice environment, but it was filled with bugs. The editor was also not too customizable, so I had to keep manually tabbing myself a lot, and the tabs converted to spaces way too much, even though I selected the option to have it not do that. The resource editor is powerful, but unfortunately filled with bugs. It crashed on me so many times, and I lost so much work, that I decided to go back to MFC. But I can definately see it in the future as an excelent editor, once they work out some bugs.
I did a 10 week course on Eiffel as part of my BSc. It sucked large hairy ones IMHO. :)
I think the lowest point of that course was to be told in the 10th week that all the Eiffel compiler did was to translate your source into C, then it called CC on the intermediate file.
I dodged the Smalltalk sessions and got myself on the C/C++ course
And WTF is wrong with the Moderators today? Has a load of good, cheap crack started flooding the market? I've seen valid rants about Java dissed down to -1 Flamebait, regardless that they made good points, and piss poor attempts at sarcasm and humour ramped up to +3 Funny!
Boy, oh boy am I looking forward to metamoderate your lily white arses!
(Now watch this go to : Score -1: Made valid points but pissed off the 5krip7 k1dd13s doing the moderating today)
Strong data typing is for those with weak minds.
It seems already slashdotted... it's 1515h local time - the inprise-web-serber replies with tons of "access denied", the linux download-page is half empty, after I have fiddled out the three ftp/http servers not even one is either responding or letting me in! I tried it with good old "ftp" and also with "Webdownloader for X" - http/ftp. It's dead! Dead dead dead! Why do I have this dumb 2 MBit connection anyway?
[--- PGP key and more on http://www.root42.de ---]
Have you heard of the C++ Standard Library and at least strtok()?
If you're doing string-intensive work, you shouldn't even be considering Java - perl far outperforms Java in every dimension of text handling. They aren't even close.
Then you are lying about knowing any Java advocates. It has been posted here before, but here is an incomplete list of platforms supporting Java:
- Windows (all versions including 3.1)
- Solaris (duh)
- Linux
- OS/2
- OS/400
- OS/390
- AIX
- HPUX
- IRIX
- BeOS
- *BSD
- MacOS
- Palm Pilot
- JavaOS (again, duh)
One reason why Japhar and Kaffe are always behind is that there isn't a lot of motivation to hack a new JVM -- they are available for free (as in beer) on all of the popular platforms. Of course, if Sun tries to change that, expect Japhar to blossom as Java developers rally to bring it up to speed.Take a program written in Java, and try to get it to run on a dozen diverse platforms.
Does half a dozen count? Done it.
It's really pathetic that you, of all people, feel the need to boost Perl by tearing down Java. You can easily hamstring a Perl program's portability by using fork. Perl programs frequently make use of system calls, file system paths and modules that are not available for all platforms. You know this, Tom. It actually takes some effort to make a Java program that won't port (unless you include the Palm Pilot, which does have some limitations, but let's see it run any Perl program.)
I do disagree with a few things you've said, as well as understand that my post wasn't exactly clear, and I'd like to say a few things; perhaps, if you respond in turn, I may learn something.
By your own statement:
>The convention I use of capitalizing "Free" when I want to draw attention to the word and its meaning is by no means universal, the fact that ZioPino didn't capitalize it is an indication of nothing.
Since you chose to capitalize "Free" to "draw attention to the word" instead of italicizing it, you'll have to forgive me for not being familiar with your personal conventions. From what I've seen of common usage on Slashdot, free is free-of-cost, while Free is free in the "Free software" sense.
>I'm at a loss as to what the "nonpolitically stunted meaning" would be.
Sorry for the lack of clarity. That was a combination of missing my morning coffee and irritability. What I meant was the "whatever definition of free you may have that does not mean free in the monitary sense", or something like that.
>>All I'm saying is, there's no point in trying to start a flame war,
>Than why do you appear to be trying to?
To be an ass about it (meaning, don't take this seriously), I probably "appear to be trying to" because you're naturally defensive.
To answer honestly, that was not at all my intent. My point was (and is) that I have seen people on Slashdot chided for using free in the financial sense to feel that perhaps those who assume that the word free taken alone means anything other than financially free are perhaps missing something.
In short, it seems to me that Slashdot assumes that free means financially free, and that some of the most vocal Slashdot posters assume one of the other definitions.
It's Rob's baby, and if he prefers free to mean free in the financial sense, it's his right.
>>As such, what did you hope to contribute to the discussion with your post?
I'm glad that you did not take this as flamebait, as it was not meant as such.
Again, I'd like to thank you for responding in such a manner to my post, and I'd like to also say that if anything here sounds sarcastic/rude, that is not my intent.
-chet
Somebody get that guy an ambulance!
If this thing touches Qt, that means they have to give out the source code or pay $1550 per developer to the trolls for the "Professional License..."
However it may not be stable. I'm running the Sun/Inprise JDK on the LinuxGrrls site with JRunPro for the servlet engine, and it is faster than Blackdown's JDK1.2.1 prev2 (I can't run their 1.2.2RC3 until I get a glibc2.1.2 distro). It ran really well and seemed to be coping with a slashdotting too, but sometime this morning (GMT) died for no readily apparent (ie: logged) reason after serving nearly 90,000 hits in 36 hours, so I guess it's not ready for prime-time yet. It is only RC1 after all... It might be JRunPro of course, when I ran it with Blackdown it never got hit that much in so short a time, but other, quite large sites use JRunPro albeit probably not with Linux, so I expect it's not that.
1) They say you shouldn't use anything before 1.2.2, what about 1.3beta? Has anyone experienced problems with it?
2) All sites and mirrors appear to be very slow, not only for download, but also for the login. I once was able to see the login screen and click on 'new user', but it timed out again. Does one need different keys for Windows and Linux? What kind of information do they want from you?
I might decide not to download after all...
Umm - what? Do you mean to tell me that my Win95 notebook (don't hold it against me...) that I've been using to develop Java servlets with JBuilder is really running NT?
Anonymous Coward wrote:
First step - the download:
it was ok so far, but you have to be a community.borland member in order to get your license code.
...
Third step - starting it up
The first time you start it up you have to type in your license code.
I thought Roblimo said this was Free software? This doesn't sound Free at all to me. I can't get to the site to check for myself, it gives me a "Forbidden" error.
----
----
Open mind, insert foot.
just what is wrong with RedHat and what is better with other distros, and what are those?
Now, I'm not trying to defend RedHat, I am trying to find out why this preference exists.
Thanks.
Java needs a poll() function so we don't have to have one thread per connection.
2 years and no mod points. Join reddit. Because openness is good.
Java has spectacularly failed to live up to its promise. The main strength was to be "cross-platform" support, and here we have a product that doesn't support win9x machines. It doesn't support MACs. No BeOS. Should I go on? I for one have given up on Java. It: 1) Is buggy as hell. (CAIDA's GTracs is the only java program I've ever tried that *doesn't* crash (and it only runs UNIX). 2) Is slow and memory intensive. 3) Doesn't do what it's supposed to do (support multiple platforms. 4) Is thus far only good for web-sausages, which are inherently annoying. --Mark
I used the Borland C++ Builder in school and it was very nice. Been wanting to learn Java and now is as good a time as any. Cannot wait to try this out.
Things just keep getting better for Linux. Woo-hoo!
----------------
"Great spirits have always encountered violent opposition from mediocre minds." - Albert Einstein
Co-founder and designer at Music Nearby: http://musicnearby.com
First step - the download:
it was ok so far, but you have to be a community.borland member in order to get your license code. I already was, but newcomers should better be told that it's for free and doesn't come with any drawbacks.
Be sure to use a throwaway e-mail address, though, unless you want to get a LOT of spam. Inprise doesn't seem to have quite gotten the message yet and keeps flirting with the RBL.
Lacking <sarcasm> tags,
I love any sentence that includes the words "software", "windows", "fully-functional" and "free" since they're rarely ever together
The ABSTRUSE One
Jason Byrons
"You all laugh at me because I'm different
I laugh at you because you're a
javac just runs the compiler class in a new VM with munged classpaths. You can save the overhead and run the compiler proper in an existing VM, though cross-compiling (generating code that uses different java.* classes than the compiler itself is relying on) gets trickier. An ex-cow-orker (hi Doug!) wrote a tool that would take a manifest, make all the classes mentioned therein and all the classes they depend on (he walked the constant pool looking for class names), and package them in a jar, and it just called com.sun.tools.javac.Main.main() to do the work.
Well, I like to start developing the look of a GUI in an IDE, and then tweak the source to fit my needs. It's much quicker and generally easier. than doing it all "by hand." The problem with a text-based tool generating templates is that you don't get to see what the GUI looks like as you're progressing. Want to move or delete a widget? Simple in an IDE, but a text-based tool would require that you regenerate the code and run it every time you want to see what you've done.
> Imagine ints with no '+' operator. You'd have
> to call an 'add' member function (or similar)
> to do stuff with them.
Well, if Sun made ints objects I suppose they'd overload '+' to work with int objects just like they overloaded '+' to work with String objects.
- TicK of Openprojects.Net
Perhaps this should be moderated from Informative to Funny.
I've read most of the posts that preceed mine. One thing I find peculiar is why all the Inprise bashing? Inprise has had its share of problems in the past is and is finally turning itself around.
At the Inprise Developer's conference, PrimeTime was demonstrated on Linux (and Solaris). Yes, it was buggy (the Linux version, that is). And, that was direct result of the Blackdown VM being buggy at the time. The PrimeTime Chief stated at that time that they were working with Blackdown to solidify the VM. I didn't get the impression that they were trying to screw over anybody.
In retrospect, I recall a lot of praise was given to Linux and the whole Open Source movement. But, you have to remember, Inprise is a for profit corporation. The fact they are giving JBuilder Foundation away is nothing short of miracle. And, the provided a JIT and bug fixes for Blackdown. So, why all the long faces?
I hear people complaining that its an IDE or that it uses this Linux or that enviroment and not mine. The argument is analogous as to why they don't support JBuilder on OS/2 or VAXVM or CPM. Hey, they have to draw the line somewhere, right? Why else do you think they are also working in conjuction with Corel? The fact that Corel and Redhat at the most popular Linux distributions (according to a recent study) just might have something to do with that?
All programs have certain hardware/software requirements. As developers, we know that is the case. The survey taken by Inprise earlier this year clearly showed that RedHat Linux and KDE were the most prevalent in the community. Is this not so? Or, are the figures they used askew? I'd bet that Inprise did its market research this time (other than just the survey). They can't afford to be wrong again. They made some choices. You don't have to agree with them. But, they made their choices based upon reliable information and business accumen and not on personal bias.
Now, all I want for Christmas is the forthcoming Kylix platform so I can move my legacy Win32 Delphi apps to Linux. To me, my belief is that RAD is GOOD and INPRISE is GOOD for the Linux community on the whole. I may be mistaken about some things, but I don't think so in this case.
It seems like Slashdot of all places should know better than to call something "free" without specifying whether they mean it in the beer sense, or the speech sense. I'm now seeing why ESR started the "Open Source" movement. I got all excited when I saw that Borland was releasing something "free" -- it's still great news, but I got my hopes up.
A bit more on the subject at hand, I'm glad to see two huge Java announcements for linux in the last 2 days -- it's great news for Java developers. I intend to try out JBuilder as soon as I can
Ben
I suppose this release will boost Inprise's stock even more. I was lucky enough to get in on 400 shares whe it was about 4, and now it's at 17 and a half. Wow.
burn the computers. go back to the abacus.
Don't forget Visual Age, which is written mostly (entirely?) in Smalltalk, as was pointed out on here many months ago.
will anyone mirror this thing while they /.ed !? Please!
are being
So perhaps they are just putting it in their because their installer wants to put an icon on the KDE desktop? Its interesting to note that the README file packaged with the new JDK also mentions a need for the KDM for no apparent reason.
The problem is that he's apparently trying to re-write the English Language. My dictionary lists 27 definitions of the word free, one of which is "without charge". This software *is* free. Is it free in every possible sense? No, but it is free. Should Borland have released it as free (ie. Open Source)? Well, it would have been nice, but it's certainly hard to criticize them for what they have done. Maybe free isn't as good as free, but it's certainly better then not free...
note the word "part" ?
JBuilder works with, depends on and I think incorporates the JDK.
--= Isn't it surprising how badly I spell ?
You need two things to run a java IDE:
- a pentium II 300MHZ 128+ MB or better
- a fast jdk (IBM, suns jdk 1.3 beta, inprise?)
I've installed jdk 1.3 beta a few days ago on my NT PC (PII 350 mhz, 192 MB) and the result is very satisfying. The first thing I loaded was the swingset demo application. This is a good test since it contains a sample of all the swing components and forces the jdk to load just about all the classes in the swing package.
In short it was substantially faster. It loaded very fast and once loaded there was no lag when you clicked on a GUI element, unlike all the previous versions of the JDK. It loaded in about 9 seconds on my PC and responded as fast as a native app after that.
Next on my list was forte (used to be netbeans), this is a IDE comparable to what borland released today. It ran fast. It used to be a bit too slow with previous JDKs but all the lag seems to have disappeared. Switching between different workspaces is as fast as you could want it to be.
Next was togetherJ, a UML 1.3 compliant modeling tool. Very nice app and once again performance problems have mostly disappeared.
Then finally a swing application I wrote myself, again major speedup, faster loading time and very decent response.
Seems like the java is slow argument has become obsolete. Now you only can claim it is memory intensive, but hey what's the price of a 128 MB upgrade?
Needless to say that I'm not going back to 1.2.2. I managed to download jbuilder but have been unable to obtain a key so its just sitting there. I also tried to run it with jdk1.3 beta but jbuilder didn't like that. Apparently there are some hardcoded dependencies on borlands version of the JDK, so I don't think they can claim it is 100% java.
If they don't fix that, I'll probably won't use it because being able to use the latest jdk is a must for me.
In short, I can recommend the jdk 1.3 even though it is still beta. I have not encountered any crashes or anomalies and it sure is much faster than 1.2.2.
Jilles
Last time I used java last year. SDK's were free, and you could use them to create commercial apps if you wanted. I maybe wrong, but I don't think so.
I am now trying to download this thing. After 10 attempts I managed to guess my uid/password. I want 1.2.x for linux, so I click on it. Then, I get the license agreement. In it we have the following (quote):
3.4 Licensee shall have no right to use the Licensed Software for productive or commercial use.
If I am getting it right, I am not at liberty to use jdk to e.g. develop a commercial application in java and sell it (not a derivative of jdk, just an applet or something).
Does that mean that only way to build commercial apps on Java these days is to BUY an IDE?
Productive use, does that cover even school work?
So let's get this straight, I can't use jdk for school projects, can't use it for writing commercial stuff, so then, what *can* I use it for? To learn java? (Isn't that "productive" use as well?)
Someone please correct me here.
Or is this just because it's a release candidate, and restrictions will be lifted for non-beta?
Actually, I'm complaining about the fact that a supposedly "pure-Java" application is platform-specific. Isn't this what landed Microsoft in the fire a few months back? If you gave a car, I wouldn't bitch at the colour. I'd bitch if it only took left-exits onto prime-numbered freeways, though. I think you misunderstand me. I'm a Borland/Inprise fan from way back. My first C environment, my first Pascal environment, my first Windows development environment, and my first relational database environment all came from Borland. I've a lot of respect for them. I've subsequently switched to MS Visual C on Windows (and gcc everywhere else) because Borland^H^H^H^H^H^H^H Inprise got too caught up in the "radpid development" craze to release a decent C compiler for Windows that could keep up with Platform SDK changes. That said, it is excusable for neither Sun nor Borland nor Microsoft to stamp "100% Pure Java -- Write once, Run anywhere" on an application that only runs on three very specific hardware/software combinations. Wasn't the whole point of Java platform independence? Assuming it is 100% Java, shipping the app as a JAR file would solve this. I'm calling their bluff, which is why I'm bitching. This is especially bad form for Borland, who had a pretty decent Windows->OS/2 PM cross-compiler a few years back. It would actuall translate Windows API code into the appropriate OS/2 PM calls. Cross-platform used to be a breeze for them to do very well.
Pining for the days when The Glorious MEEPT!!! graced SlapDash with his wisdom.
Not nearly as much as a Java or C++. VB is also generally for simple or poorly managed projects leaving it at the bottom of the pay scale.
I'm having the same problem. I've tried to install as a regular user (yes, I have read/write permissions in the install directory), I tried to do 'su', which gave the same result and I also tried to do 'su -' which froze totally. (The window never opened.) This is strange. I'm also on a RedHat6.1 system. Have *anyone* installed this yet??? What's the secret?
A few comments...
I think the argument generally goes that operator overloading hides the complexity of an operation. I don't really buy this argument, and I think Java probably should have it. Don't get used to me agreeing with you, it won't last long...
Well, maybe they are right =) How often do you run a program which leaks memory or crashes (*ahem* netscape)? Besides, I hate to bust up your precious belief system, but garbage collection is a very good thing.
Wow, this is just plain wrong. For one, people who design really important systems (ie, space shuttle systems) often have to go through and prove things about their programs. Secondly, Java actually *does* prove that your program does not break type safety (that is what we are really talking about here). A few elements of Java actually prevent it from being able to do this correctly (eg, allowing references to be null), but it does for the most part. Check out ML if you are interested. It is a strongly typed language, and you can't run a program if its type checker cannot prove that it is type safe.
To me this summarises the entire java/C++ debate. The whole philosophy behind java is you can't trust the programmer,Even if this is what you believe, it may not be a bad thing. I don't really trust the people writing much of the software I use, because they have proven again and again to be unworthy of my trust (with a few notable exceptions, of course).
Of course, this is only part of the story. Languages with real types (C++ types aren't worthy of the name) and a real type soundness theorem allow the type checker to prove that data actually is what you say it is. This in the end benefits the programmer by making designing and debugging faster and easier.
Software engineering is in a pretty sad state today. Programs crash all the time, or just plain don't work, and we accept that as standard. This is just wrong. There is no reason for people to use languages that make it harder for them to write good programs, which C/C++ often turn out to be. Now, don't get me wrong, I think both C and C++ have a place, and some people are able to use them effectively. I don't think they deserve the great respect and widespread use they currently have however.
Therefore, "D" is obviously Diethelamine.
;^)
Robert August Vincent II root@picus.com, hostmaster@pillars.net What will YOU be doing on 1/1/3000?
As I recall, the JDK uses Motif as a wrapper for much of X.
How can one WM be "very compatible" with JDK and another "not be very compatible" with the JDK?
Is this really the Sun/Inprise position, that the Linux JDK works best with KDE?
You know what I mean.
Almost everything written specifically for linux is incomplete and still in beta after what...3 years?
And it's not just a matter of version numbers and calling it "beta". They really are incomplete - which gives them an excuse when bugs come up (like they ever would eh?).
Well, I installed the package just fine on my Digital Unix 4.0f system, using the no_vm Linux distribution and things installed just fine. All I needed to do was point it to my jdk1.2.2 distribution and all was fine. So, I must say that the claim of it being a binary distro is positively false! I just got my activation key (!!!), after trying nearly all day to get one.... :(
The published portions of the Java spec include the language syntax, the entire VM (all opcodes, the class file format, etc), all the classes under the java. packages and the Java Native Interface. It's all covered in the Java series from Addison Wesley. Off hand, I can't think of any other info that would be needed to build a fully compatible Java 2 standard edition. Of course it would be extremely difficult in practice, but isn't this exactly what Kaffe and Japhar are doing?
Is it me, or is JBuilder30 a Windows NT only app because the JBUILDER.BAT file uses directory/file names of characters longer than 8 characters (which can be resolved if you install the IDE to a safe directory name like C:\JBUILD30\) and the fact that the batch file runner cannot handle long strings of characters to store in its environment variables. Couldn't it be the simplest thing to do to write a small program in C++ say that does all that for you? Or does anyone know any betteer
Since their website is unresponsive here is an activation key:
For the JBuilder Foundation download, please use:
Serial Number: xa33-?5t58-kqmn3
Installation Key: n75-ek2
I'll never understand why these companies force users to click through pages of bullshit just to try a product. Don't they realize we just lie to screw their data?
No more so than does gcc incorporate the linux kernel. :)
You need a 1.2 version of the JDK. I don't think 1.1.X will work, at least it didn't for me.
I like InstallAnywhere, but I hate how it doesn't get you any feedback on errors(like class not found). A simple "Coun't find class swing.x" would be nice
(appended to the end of comments you post, 120 chars)
Oh, and when you finally got through the (badly designed) form, it gets denied because they are running an open relay. Sheesh.
It may be that it runs on win 9x, but if you look at the specs on the web site, they specify NT as the doze os.
In a place beyond time and space, in a land far better than this, look for me there...
Throwing a cap on free does not make it have a special meaning.
The zealotry issue arises in part because people foam at the mouth about ideology. When a public corporation invests time and money, and then offers the result without charge, it should be applauded, not disparaged.
Tossing negative comments at a free offering such as this is a great way to dry up the well. And how stupid might that be?
Besides, you may have noticed that the DoJ has some odd views on the subject of free.
Finally, JBF seems a good deal freer than RH.
--- Bill
Pining for the days when The Glorious MEEPT!!! graced SlapDash with his wisdom.
and windows is buggy, clumsy and still crashes after what, 15 years??
I have not used JBuilder 3 but the compiler with JBuilder 2 is absolutely terrible. It is sloppy, missing lots of coding errors. JBuilder has also been know to miss giving an error for the use of an uninitialised reference, missing imports and defining constructors with return types. Personally I would use Jikes which is very strict.
The latest IBM JDK for Linux has a built in JIT, and it is the fastest one available right now.
Do you have NFS mounted dirs ? Sometimes InstallAnywhere has problems with that. Try unmounting the NFS share and then install.
--
Paolo "ZioPino" Ciccone
Imprise wold never have tuched Blackdown's code if they didn't nead it. Sending it to Sun for releas as some new JDK was an afterthoght.
:)
( after thinking about the money Sun offerd
--= Isn't it surprising how badly I spell ?
Since things worked so well on my DEC, I'm going to give my SGI a try tomorrow!! The only problem with the SGI is that their swing support was less than stellar in their 1.2.1 beta release. They have a new version of 1.2.1, but this JDK release had 217 bugs that were fixed by Sun in 1.2.2. I'm doubtful as to the success of running jbuilder on this platform at present.
That license was enough for me to say "whatever".
Java is still so slow that I'm not terribly interested in it. Beautiful language in an abstract sorta way. Looking forward to native Linux compilers, but Linux will probably have to bring Sun and MSHAFT to their knees before that will progress.
Also, some of the "official" responses from the Borland people smack of lameness. "It runs better under KDE" -- anyone care to benchmark that? I suspect X is still X, and Motif (which is the toolkit the JDK/AWT use) is still just good ol Motif.
There is someone in Italy (Motta?) making something called "VdkBuilder" -- C++, GPL, looks kinda like the Borland IDE.
I've only been using it a couple days, but no crashes yet (at least not in the IDE).
This "Jbuilder" could be cool at some point, but the gc, speed and pricing/licensing issues will have to become clearer before I bother with the hefty D/L.
I mean, some of Borland's tools are priced at something like $2500 -- that's a far cry from what made their company strong : Volume sales of low-cost tools (Turbo Pascal, Assembler, etc).
This seems informative to me. Why was it moderated: Troll?
1000 SlashDot sigs
I was under the impression that we were discussing jbuilder here. As far as I know a native compiler is provided with that product but I'm not sure. Anyway there are plenty of native compilers. I used to run the symantec compiler when I was programming for jdk1.1. It was much faster and usually compiled my stuff in a second or so.
The standard JDK from sun comes with a java implementation of the compiler (I wish they shipped jikes or something else instead). The speed loss it suffers is mainly due to the constant overhead of starting the VM.
Jilles
There seems to be a lot of confusion over this. JBuilder does work in windows 95/98. I've been using it for a while. JBuilder Foundation, which is what the original article was about, only works in NT.
I'm running RH 6.1 on an i386. I installed the jdk that inprise linked to from their website, and I added it to my path, and the installer sees it. The installer happily prompts me to choose the virtual machine that it found (at /usr/local/bin/jdk/bin/java) and then pauses for a moment and exits. No error message, no x activity.
I have no nfs mounts, and I'm running as root. No matter how many times windows crashes on me, programs install themselves so easily...
Just click on the dialog box.
--
Paolo "ZioPino" Ciccone
Freebuilder is cool, but still in very early beta, unfortunately... You can also try another free IDE :Netbeans at http://www.netbeans.com , recently acquired by Sun, far more stable and powerful.
The code name of this project was PrimeTime to clarify that Java is finally ready. That's why we need JDK 1.2.2 and we cannot use previous versions of it. Anybody that tried JBuilder Foundation or JBuilder Solaris will tell you that this version is significantly faster than the previous ones that were written partially in native code.
:)
Time to take a second look at Java
--
Paolo "ZioPino" Ciccone
JBuilder dev.team
--
Paolo "ZioPino" Ciccone
Except for the installation kit, which bombed on my machine
Kinda generic uh ? We can help if you give a little more details.
Only if you're an x86-user running RedHat (eck, yech, blechhh) and have KDE installed. If you run an Alpha, MIPS, or S/Linux box, you're S.O.L.
Have you tried ? The installer and JBuilder themselves have no native code. The JDK is a different story but then if you're writing about Java you probably already have a JDK for the platforms you mentioned.
The installer is written in Java with a loader written in Unix shell. It should run on any Unix system. KDE is not required.
--
Paolo "ZioPino" Ciccone
JBuilder dev.team
--
Paolo "ZioPino" Ciccone
Now if you cannot make the difference between a Java frame and one created from a javascript, you had better not use JBuilder anyway, or any other Java tools...
Do you or anyone else know what the differences are between the JBuilders? I'm a software engineer new to Java and I'm looking for a good IDE.
I love MS's (no boos please) Developer Studio, but it doesn't seem to have very good integration with SUN's SDK.
Basically, I'm looking for an IDE, with an editor, compiler, and debugger and not use MS's extensions.
If anybody can get it, put it somewhere on the web for download ! Those guys at Borland should learn about mirrors !
In some AI book written in the late 80's/early 90's, I saw the claim that much AI (and, presumably, natural language processing) work was moving to languages like C that can be, for some coders, speedier. This was just prior to the recent academic renaissance of LISP/Scheme, so the claim probably isn't very true today.
I assume you meant "elegantly" instead of "accurately." All sufficiently general programming systems are ultimately equal in power, if not elegance.
Which "useful components" of both have been removed?
Well, in my opinion, the strong typing of both languages is a flaw. It's become trendy in this decade to design one's languages with hardcore typing, when this often does not truly help the programmer. (It can even lead to a loss of expressivity: \x.xx(\x.xx).)
Text processing in C is a remarkably painful experience...
Ah! But there is no text processing in C itself, is there? No, that's specifically part of the standard library, which itself is part of the POSIX standard (POSIX.1). But looking at other layers of POSIX (or of any complete UNIX system layer), we see definitions for things like sed, awk, and yacc. Are these part of the system or the language? Is string.h part of the system or the language? In my opinion, true C programming is tied to its system -- one is not really programming with all of C without access to a UNIX layer. C was built that way. With that in mind, C has fantastic text processing abilities, much better than LISP (well, Common Lisp, anyway; was that the LISP you meant?), by virtue of its supporting utilities.
Thanks for that, after umounting all the nfs stuff it installs fine. And this is on Enlightment which shows the KDE requirement is not necessary!
The Webpage will be corrected asap. KDE is not a requirement. On our testing of the two Dektop managers available for Linux, GNOME+Enlightenment 0.15 and KDE+kwm, we found the latter more stable. Not a terrible surprise since Enlightenment is at development stage. My personal system is Mandrake 6.1 + E0.16.2 + KDE and JBuilder runs just fine. The icon on the desktop, and personal menu, is installed only optionally.
We tested JBuilder on RedHat but it should run on any system that can run our JDK (kernel 2.2.x + glibc 2.1.1 or higher).
--
Paolo "ZioPino" Ciccone
JBuilder dev.team
--
Paolo "ZioPino" Ciccone
Unfortunately JBuilder only works on Windows NT, not on 95/98. NT is probably a better platform to run this on, but for those of us who just want to try it out, it would have been nice if there were a 95/98 version. Or, I could just reboot and switch to Linux, but I'm in the middle of something now.
I quote from the licence.txt file:
"You are not, of course, restricted from distributing source code or byte code that is entirely your own. Source code which you generate with an Inprise source code generator, such as the Application Wizard, is considered by Inprise to be your code."
Since pretty much all that will be produced by JBuilder is bytecode or source code, looks like you can distribute pretty much whatever you write.
~Cederic
After literally spending hours getting through all the steps to get JBuilder due to the servers being clogged I finally got to try this tool. I created a new project and attempted to added java files to it. Guess what? The stupid file picker widget doesn't work in Inprise on Linux! It doesn't allow me to open a subdirectory by clicking on it with any imaginable combination of buttons or double versus single click. It simply opens up the name so I could presumably rename it. I'm sorry. Perhaps I'm just in a ticked off move toward things Java. But this sort of utter lack of quality in the simplest things does not make me at all happy or interested in this tool.
I'm happy to see this released and maybe I'll try it out.
Maybe I'm missing the point but besides a debugger, what real advantages is any IDE going to have over my favorite text editor with syntax coloring and a console with a history?
Citrix
Leknor
http://Leknor.com
"So many idiots, so few comets"
Uhm.. let me think now...
There is no difference. Only I don't know of any C compiler that compiles to assembler - they normally compile to machine code, which is very different to assembler.
No compiler is perfect. I think we can accept that as a given. Sometimes you need to debug the output of the compiler to see what's going on. So you've got machine written C compiled into machine code. Debug that, then! Oh yeah, Eiffel & OO weenies can't get that close to the metal...
As far as reliability of software, what do you really think the problem is? Is it crap CS people, or the ridiculous pressures placed on them by PHB's to deliver?
Take WinNT. Thousands of developers, goes down more often that a £10 whore. Because the PHB's say deliver, deliver, deliver the next version ASAP. Then look at Linux. No presures to get it out the door quickly, just get it out the door _right_.
Strong data typing is for those with weak minds.
Java is a great language for rapid development. Its multitude of APIs(networking, databases etc.) make it ideal for high level coding. Now you probably wouldn't want to right a device driver in ....
java
BTW: No pointers is GOOD. Most programmers can't handle pointers adequately, hence memory leaks and other problems. I mean they may THEORETICALLY know how to handle pointers but in PRACTISE we get memory leaks. If you are 133t then good for you, but often they are more trouble than they are worth.
The only reason all cover-ups appear to fail is that you never hear about the ones that succeed.
ISE's IDE opens windows for classes, routines, etc. The windows show different views of their contents. The class views, selectable with a mouse click, include editable source, short (showing signatures with preconditions, post conditions, and invariants), clickable (source with class names, feature calls, etc., clickable so they can be dropped on other windows or used to open new windows), flat (complete source including all ancestor classes as if the class had been defined without inheritance), ancestor class tree, descendent class tree, client class list, and supplier class list. The window for routines is similarlarly powerful. All of this is tightly integrated with an incremental compiler and an elegant object oriented source level debugger.
There are many buttons, many capabilities, but all designed consistently. I could teach any skilled object oriented programmer (ie, one who doesn't confuse C++ syntax with OO programming) how to use this IDE in less than 1/2 hour.
This anonymous coward is Tom Morrisette, aka eiffelpgmr@excite.com
Disclaimer: I have been friends with the people at ISE since the first edition of Bertrand Meyers Object Oriented Software Construction deeply changed my approach to software in 1988, and I worked on a consulting contract with them in 1994. My only contact with ISE since 1994 has been as a customer.
http://www.borland.com/jbuilder/foundation/product info/sysreq.html
And what's this thing with Redhat again? Can someone tell these boys Redhat is not the only Linux distribution in town. Cheers
Why not Win95/98? Or...*gasp*...Win3.1? =)
Yes, but can you debug...
What stopped you to use AnyJ (www.netcomputing.de) on Linux in IBM 1.1.8 before? It still easily tops the speed of JBF for Linux, NOW.
Sorry to disagree, but it seems you havent used AnyJ (http://www.netcomputing.de/) before. In IBM 1.1.8 it tops JBuilder in completion and editing by levels
java on linux sucks. I remember the last time I
tried to do anything in java under linux. (a month ago) It was a nightmare. I downloaded the latest jdk and tried to compile jessie. I also had jikes installed on my computer. first I tried jikes. when that failed I used javac. when that failed I went back to jikes. Eventually it compiled half of the classes with one compiler the other half with the other compiler. Then I ran the thing. It was not worth the trouble. The UI was slow.
The whole program was slow. Java is still a bitch to install and use correctly. There is no reason for it as there are plenty good free applications written in c/c++.
It has been statistically shown that helmets increase the risk of head injury.
People don't take me so seriously, it was meant to be toungue-in-cheek!
OFTC: By the community, for the community
What's the difference between compiling to C and compiling to assembler? If only CS people were as smart as they think they are, computers might actually work properly!
My class just finished a the senior project using JBuilder3 in the Windows environment. The people using 95 or 98(1st edition) had some trouble using it. the people using 98(2nd edition) had major problems using it. The people using NT and 2k had barely any trouble with it. So, yes it does work in win95/98/nt/2k, but not very well in 98. I would not recomend using it in 98SE at all.
You need 2K environment space - you have to manually reset your dos window environment and then you are happy. :)
1. In Java, *everything* is a pointer/handle. The difference is that you can't extract a machine address from them. 2. 'import' controls namespaces, not transclusion 3. Strings are a class? Who needs this "object oriented" crap? 4. Ditto. Learn the difference between 'int' and 'Integer'. IM(ns)HO you sound like a poorly trained C kiddie.
1) uhuhh 2) import is nothing like #include! 3) it's BRILLIANT that String's are classes! And nothing prevents you from writing a function like: public boolean strcmp(String a, String b) { return a.equals(b); } 4) Not true. Integer is a wrapper class for int's, which are NOT objects. So when you write a loop, you can do "for (int i = 0;....." and i will NOT be an object. Maybe you should read up on your Java? And the same goes for the moderators which moderated that post to a score of 2!
> 1. No pointers. It can't possibly be a programming language.
Why not? Even though it doesn't have pointers per say, it handles all of its objects pretty much like C handles pointers, albeit more cleanly.
> 2. People say it has no #includes, yet there continues to be this funny, mystical command called 'import'...
Useless gripe, IMHO. "import", unlike #include (which just inserts code from a seperate file) loads up a library of functions. Again, cleaner.
> 3. Strings are a class!!! Whose dumb idea was it to take a string, call it a class, and make stringVariableName.equals(someOtherString); be a strcmp(a,b);?
I don't know about you, but a.equals(b) seems more intuitive to me then strcmp(a, b). Again, cleaner.
Don't get me wrong, I luv C and C++ as much as Java, but one thing I must agree to is the fact that Java is a much cleaner implementation of most of the functionality found in C and C++.
------------------
Loban Amaan Rahman ==> Anagram of ==> Aha! An Abnormal Man!
Can some kind soul please tell me the proper incantation to invoke tar to uncompress it from BASH?
Thanks in Advance!!
I am not completely sure on the validity of this post! Not to say that I am an expert on the topic of programming languages, BUT :
...
1. No pointers. It can't possibly be a programming language.
Exactly what gave you this idea? If you have used languages such as Scheme or Lisp, you will appreciate the clean code that can be written without pointers! True, you would not go and write device drivers with Scheme, but the point of the matter is that a languages such as Scheme are REAL PROGRAMMING LANGUAGES!! And if you ever used one you would know that the availability of pointers DOES NOT make a language!
3. Strings are a class!!!
Ok, now if you are thinking in the Object Oriented paradigm, it had better be a class, much like integers and everything else. I mean did you even learn about the idea behind the paradigm ? ? Its interesting that you seem to see making integers as OBJECTS to be "evil"!!
All in all, you need to understand that C/C++ and Pascal DONT describe what a language should be (which is the view I am getting from your post! )
ALSo, please moderators this post really IS NOT interesting/informative or anything. If at all it should be in the category :
little knowledge is dangerous
Non-Deterministic Finite Automata
before site gets /.ed
and stop saying bad about java - it makes money!
1. Who cares? When do you need pointers in a truly object-oriented language? 2. Learn to use packages; they are your friend. 3. It's an object oriented language. This is a Good Thing (TM). No more fscking void pointers. 4. This is why you don't need pointers. Primitives are not objects but have Object wrappers which you can use, if you want. (No one would use an Integer object wrapper in a loop) Java is not the toy applet language you were taught; it is a robust, modern, object-oriented distributed enterprise application development platform. I'm sorry your class failed to demonstrate this. If you ever do enterprise-level development, you'll see Java shine. (And I don't work for Sun.)
As my friend Jean put it, take C++, remove a bunch of complicated crap (multiple inheritance, templates) then add in some goodies (garbage collection, exceptions that work, javadoc) C++--++
Free refers to the your liberty to do as you wish with the code. I couldn't find a license file, but... you have to get an 'activation key' - I really doubt that it's free like we mean it.
1. Everything in java is a pointer, when you call smth. with System.out.println( Object foo) there is only a reference passed to System.out but not the full object.The thing java is missing is pointer arithmetic.
2. I would love pre-processor directives like #include, but import is just some strange language construct, on the other side, i think that import might be easier to optimize for compilers and thus allow faster compilation.
3. Yes that is one cool thing about java, in fact the thing i hate most about java is that there exist native types like int, this can be a pain in the ass, this is the one thing (well o.k. among others) that kept Smalltalk alive for so long.I believe Java is quite cool, but it has definately lost movement it had when it was young(so much younger than today...). But Java is here to stay so you might get a nice book on Java and try to find out if can come to like it, after you understand it.
cyberm_acc@hotmail.com> 1. No pointer.
Well, yes and no. Yes, there are no pointer, but via proper code you can accomplish the same thing.
> 3. Strings are a class!!!
This was done so they can be extensable. It is part of the java programming paradigm.
> 4. Java treats everything like an object.
OOP
Java is an interesting attempt at highly portable language with strong internet potential. Microsoft has done a great job at befouling the water, but so has Sun and other big players like HP. It still has not reached its goal of being a safe/cross-platform solution. (Just try any healthy sized code under windows)
C is a good core language. The paradigm shift which C++ trys to bring about does fine. The only thing lacking is a simple UI developement piece (which I think python fills the bill for the cross platform arena).
In a place beyond time and space, in a land far better than this, look for me there...
You tryin' to start a flamewar, boy?
--bogey
Initially (based on what I found at the sight), I thought it was going to be a good tool which I could use under both windows and linux to do my coding. But when you get to the point of downloading, NT is the platform rather than plain win 9x and above.
I would like a tool which I can run the same way in both linux and win 9x. I develope for both, but only having the ide in one is a bit of a drag while debugging.
In a place beyond time and space, in a land far better than this, look for me there...
--
Divec
perl -e 'fork||print for split//,"hahahaha"'
Anybody see the system requirements say 'REDHAT LINUX' ?
I haven't been around the block much as far as Java is concerned, but from what I've seen in the last few months as I taught myself to code in Java, the freejava IDE (http://www.freejava.co.uk/) has proven to be incredibly satisfactory.
I read another comment posted in regards to this topic as to what a Java IDE had over a text editor besides color context, etc -- but it seems to me that freejava, coupled with the latest JDK and Franck Allimant's winhelp versions of Sun's JDK help files (available free at http://www.confluent.fr/javadoc/indexe.h tm) becomes to Java what I remember Turbo C++ for Windows to be -- a sleek, simple developing environment with enough functionality to satisfy both hobbyists and serious codehackers at the same time. (I won't claim to be more than a quasi-serious codehacker though, so don't come to me if freejava doesn't have enough oomph for your projects!)
(freejava can even be configured to use those winhelp files at the touch of the F1 key -- by far the most useful of its features for someone like me.)
enmity.
Do you do this on purpose or are you just a stupid fool. Obviously half a year wasn't enough for you to learn some very basic information about a simple language like Java. Lets go by your points one by one
1 every reference to an object is a pointer. The difference here is that everything is treated as a pointer.
2 #include is a preprocessor directive, java has no preprocessor. This means that you can't extend the language in unsafe (not compiler checked) ways and you don't have the chance to obfuscate your code.
3. You can use a simpler object that wraps around an array of Chars if you need to. The String provides flexibility but obviously you like reinventing the wheel so that is wasted on you.
4. Nope, ints, chars, booleans and floats are not objects. There exist object wrappers for them should you need them (just to prevent idiots like you from writing them yourself).
Of course you got your final statements wrong as well, the compiler is a native program. An IDE is not a compiler. The pretty widgets you click in VB are not part of the compiler.
Try www.disney.com for a change it might suit your abilities better than slashdot.
Jilles
:P
Just a couple of comments to your comments on Java. Note that I am not saying that Java is the best language in the world. My philosophy is choose the language best for the job. But I think that maybe you should expand your horizons a bit with programming languages. C isn't all roses either. (C has it's place, but again choose the language for the job).
First your complaints:
1. No pointers. It can't possibly be a programming language.
Well, what can I say about this thought provoking comment (yes there is sarcasm there). First of all it could be decently argued that Java does have pointers (just not in the sense that C does). Excluding the primitive types (int, char, etc.) variables are references to objects. These references are pointers, although they are a bit restrictive. The reference is type bound to a specific object type so you have to cast it either explicitly or implicitly to have it point to a object that is not it's type, but C pointers have this issue also. IMHO typeless references to objects like found is Squeak (based on Smalltalk ) is much better.
But even if you don't count references as pointers many good languages don't really have a pointer and we consider them good. From my (very limited) experience in functional languages there really isn't pointers. Just lists and atoms. So not having pointers is not a bad thing depending on how the rest of the language is implemented.
2. People say it has no #includes, yet there continues to be this funny, mystical command called 'import'...
I see why you would think these are the same since they seem like they have similar functionality. But they are actually pretty different. #includes are pre-processor commands that actually insert the text in that place before the code is run through a compiler. imports are more like namespacing in C++. You don't have to import a object or set of objects before using them. If those objects are in your classpath then java will already know about them. The only thing that importing does for you is allow you to not have to type the fully qualified name. This is vastly different than #including. Go back to your class if you don't understand this becuase any class should have made this clear.
3. Strings are a class!!! /* snip the rest of this complaint */
This is a good thing. It gives a string a formal defination instead of merely being a pointer to a bunch of characters (like C does). Given the equals method isn't exactly intuitive. A actual == would have been much better, but in order to do that Java would have to allow operator overloading which I don't believe it does. You could argue that it should have operator overloading, but as we have seen this can easily lead to abuses of operators (see C++ for a good example of this. Yea, lets use the bit shift operator to output to a stream). So what I am saying is that by having a string as an object makes it better because it makes a string more formally defined, and it allows it to be more uniform with the rest of the language. AKA a good thing.
4. Java treats everything like an object./* snip the rest of this complaint */
Another good thing. Actually one of my biggest complaints is that it doesn't treat everything as an object. It still also has primitives. This causes confusion by having both and Integer object and an int type. (there are also other primitives that are duplicated as objects). I'm not saying all languages should be all objects, but my thought is that you should choose one or the other. Either all primitives or all object. This mixing just causes confusion and inconsistancies in the language. That said, Java treating most everything as an object comes from Smalltalk. Smalltalk (such a great language) literally did treat everything as an object. This provided a very easy, simple, yet powerful language. The grammer of the language is basically just [object] [message] [period]. Very simple, very elegant. By Java treating most everything as an object they are creating a very small consistant environment. C has forty million types (although maybe I'm exaggerating a bit), Java (minus those annoying primivates) just has one. A reference to an object (although as stated earlier these reference to the object are to a specific type of object basically voiding this great feature).
As to your comment of Java being a cross between C and Pascal I would disagree. I would best describe it as the syntax of C crossed with the design of Smalltalk. The only major annoyance that I see is that they didn't take enough of the Smalltalk design and use some of the C design causeing inconsistancies in the language.
As to the java compilers written in java I see no problem with this. GCC is very cross platform, but it pays a price for that by have a bunch of code to deal with platform issues. A java compiler will work under any platform without the extra code. There is the speed issue, but this could be removed by compiling the compliler to native code (GCC and I think the symantic compiler will do this).
So, yes Java has some faults, but IMHO I think it is still a pretty nice language (although you can probably tell that I am partial to Smalltalk when it comes to OO languages). The complaints you bring against it are pretty much unfounded and if I were you I would consider doing two things:
Also please note that I am not trying to offend you in any way. Just trying to correct some things you asserted. Feel free to do the same to me as I'm sure their will be many false assertions :)
Eric Anderson
Is anyone working on a Linux port?
Oh give me a break you humourless moron. My post was thoroughly sarcastic and fully toungue-in-cheek. Go back to sleep.
OFTC: By the community, for the community
No, a recent study in Advanced Quantum Mechanic has concluded that there are quantum time wraps in linear information chains that only exist when they are measured. So on any given moment of time any third post is simultaneously the first and also the last post.
Chilli
-=- Just a random lambda hacker
I know you've said in a later post that this was tongue-in-cheek, but I thought I'd add my 2 cents here, anyway, since a lot of people vehemently feel that Java (among other languages, e.g., Scheme) is the worst thing to (dis)grace the programming scene.
The really nice thing about Java and its object-oriented system is that you can mathematically prove that your answer will be of a certain type (a.k.a object), assuming you've written proper code. There is no such guarantee in languages like C++ or C. By giving you the right to directly access memory (via pointers), you lose any chance of definitively predicting the output of your program.
In C, you're told upfront about this - Kernighan and Ritchie explicitly state in the C reference that "types" merely encode the amount of memory you need to allocate for a specific piece of data.
In C++, you are promised real types, but C++ is a superset of C, and you still get all of the direct memory access and other low-level functions that ruin a real typing system. In C++, everything is bits when you get right down to it - even memory addresses.
Let's say you write some code that makes a list of some sort where each node refers to the next node on the list as a node. You finish the code and hand it off. Now some other programmer is called to extend your code. This programmer finds that (s)he can speed up an insertNode(...) function by bypassing your setNext(), etc. functions and directly rewriting the "next" field with some numerical memory address that the new code calculates. By doing this monkeying around, you sacrifice
(a) readability - the next coder to extend the program is going to have a tough time trying to figure out what "blah.next = 0xfff + calcAddr()" means.
(b) predictability - by not working with the list as a whole, i.e., as a list, you can no longer make assumptions about its "listness" and how that affects the outcome of the program.
(c) maintainability - this really is pretty much the same as (a), but it extends a little further. Once you start down the dark path, the code you write to fix the hacks become a hack itself, until you have extremely bloated software.
To reiterate:
1) No pointers - This is good. People abuse pointers.
2) #includes - this has been covered, but just copying the code into one big lump file is not all that great of an idea.
3) Strings are a class - I think deep down they aren't, but this relates to
4) Everything is treated like an object - great! now you can prove things about your program.
For reference, read Luca Cardelli's paper on type systems. It is extremely well-written and I think it is suitable for the layperson.
You can download a PS or PDF file from
http://www.luca.demon.co.uk/Bibliogra phy.html.
The paper is aptly titled "Type Systems" and more concretely nails down the points I am trying to make here.
Btw, if you mean vasectomy, that is the process of removing a man's ability to produce sperm... I'm not sure how that fits into a description of a programming language, or I could be reading the word wrong.
-Y
"There is no culture in computer science, only cults." - M. Felleisen
Of course you got your final statements wrong as well, the compiler is a native program. An IDE is not a compiler. The pretty widgets you click in VB are not part of the compiler.
The sun compiler, javac, is in fact written in java, which is why it is dog slow. Fortunately, the bytecode spec is public, so we can have native fast compilers (like jikes).
1. No pointers. It can't possibly be a programming language.
No, no pointers. Instead you use references to objects. What's the difference you ask? Really, none. You can't do math on them, I guess, but that's not important.
I've you've actually done any OO C++ programming and then some Java programming, I think you'll find that the two languages are fairly similar to write in, in many important aspects, although Java tries harder to disallow you doing Dumb things.
Strings being a class is great. there is also a string class in C++. It's great there too. I HATED having do mess around with allocating and freeing memory just to do simple string operations in C.. (I have a filename, but want to append an extension to it? Well, that's like 4 or 5 lines of C code! AUGH! With a string class it's easy!)
Java does not treat integers, floats, or chars as objects - these are special cases. I would say this is a flaw more than a feature - why SHOULD'T everything be an object? If no complicated logic is needed to manipulate that object, it won't contain complicated logic.
You're complaint seems to be Java is not C and I can't do things the way I do them in C, so it's bad! Sheesh.
Trees can't go dancing
So do them a big favor
Pretend dancing stinks!
And would it be possible to run JBF with any other distros than RedHat?
"Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
I have found this new release coupled with the new Sun/Inprise JDK is very usable. Java on linux is an option now, the blackdown JDK was so slow it was unusable. Now I can actually switch my development from NT. This is GREAT. I'm developing a small vertical app using java servlets. Under NT, I was looking at paying $2000 or more for the servlet runner, the JDBC driver, and SQL server. Now with Linux, Apache, Sun JDK, Jbuilder, JServ and MySql, I have everything I need, and its free. Way to go inprise.
No pointers. It can't possibly be a programming language Agreed. Given: char a[10]; int i; a[i] = 'x' is equivalent to *(a+i) = 'x'; ...is equivalent to *(i+a) = 'x'; ...is equivalent to i[a] = 'x'; I want - no, I need - a language that lets me write: for(int i=0; i100; i++) { i[a] = 'x'; }
Um, never make technical satire on Slashdot; nobody will get it, they'll just spam the crap out of the board with indepth corrections to your every word. I chuckled, though. :) Of course, I detest java myself, although I will concede that it does have its place in making pretty little, slow moving applets. The more I learned about making applications however... amazing how similar it is to C++, yet the applications run so much slower. *shrug* But hey, language of preference is always a personal choice; my opinion means dick in the overall scheme of things. Perhaps with several more years of practice, I will be able to make a java app that runs fast, works great... but then I'll have to learn Java 7.243... grrr, forget it.
Deosyne
nah
should be moderated -300 (Dumb)
Thanks, I hadn't heard of a 200MHz PII and thought I didn't know my Intels. If they made that error, I wonder if they mean a "classic" Pentium. Requiring a PII and 128MB memory seems like a big horsepower requirement just to run an IDE. If someone has to have an IDE, then Sun's no-cost downloadable Java Workshop IDE runs on less machine. I'll stick with my text editor and command line - works equally well from my old 486 to my PIII.
OTOH, it is the documented part that matters, because undocumented features are not usable anyway. Hmmm... I'm lost. Moderate this down (-1, Unintelligible)
And by the way, moderate the parent post up. It is informative.
--
Industrial space for lease in Flatlandia.
The editor is useless, at least for those used to using the automagic indention in Emacs or even used to see visual clues for matching parantheses. On the other side, the syntax highlighting is excellent and the java-awareness is high (you get help with classnames, method names and signatures, members etc.) The project editor is nice, but doesn't offer the possibility to view the java packages hierarchically... The "navigator" (name?) is quite nice but not all the way there. I've reverted to NT-emacs and use only the debugger (usless for my work), source browsing and project handeling features. (Some of these days I'll learn my /. password)
Honest truth, I think you didn't get as much out of your Java class as you should've. Whether this is due to your performance or your prof's teaching skill is something I'm not qualified to comment on. With that said, here we go:
:)
1. No pointers. It can't possibly be a programming language.
PROLOG and LISP were developed as languages to emulate human intelligence with, and they steadfastly avoid pointers. Both of them are really cool languages, too; when was the last time you saw natural-language written in C?
Computer science is, at heart, about information. A computer science education should teach about ways to store and represent information, different paradigms of information, and the ways in which information oftentimes cannot be accurately represented using only one scheme. Pointers are one scheme, but they are not the only scheme.
Now, strictly speaking you're right in that Java doesn't have pointers; it has references. Everything you want to do with a pointer you can do with a reference, though, with the exception of pointer arithmetic. While I admit that it took me a while to get over the mental block of not being able to juggle pointers the way I do in C, I can't honestly say that it's a major hindrance.
2. People say it has no #includes, yet there continues to be this funny, mystical command called `import'...
import != #include. Import is analogous to a `using' statement in C++ -- `using namespace std' is the C++ version of `import java.lang.*'. An #include is a preprocessor directive which prepends the contents of the listed header files to your program code. An import statement just makes it possible to refer to Java objects and methods without using their fully-qualified names.
3. Strings are a class!!! Whose dumb idea was it to take a string, call it a class, and make stringVariableName.equals(someOtherString); be a strcmp(a,b);?
Short answer: must've been Bjarne Stroustrup's -- you know, that C++ guy? -- because they're objects in C++, too. It's one of C++'s strengths. C is a beautiful language for a lot of things, but text processing is not one of them. Text processing in C is a remarkably painful experience -- and if you think otherwise, I can only remark that you must not have encountered the joyous and elegant way in which LISP handles it.
Remember, information exists independent of paradigm. C's paradigm for handling string information is pretty poor. Better paradigms exist, and while Java's implementation of a String class isn't perfect, it's a definite improvement.
4. Java treats everything like an object. Everything, Integers used in a for loop do not need to be objects! (ok so i'm exagerating a little)
Well, barring the fact that the primitive data types in Java are not objects, you're right. This is viewed as a strength of Java by a lot of people, myself included. Lots of truly elegant languages, such as Smalltalk, treat everything as objects. I've used Smalltalk only a little, but there's a reason why it's still around today.
To hammer a point home: information exists independent of paradigm. Procedural paradigms, object paradigms, list paradigms -- they all have the same ultimate goal, and that is to permit us to productively manipulate information. The wise hacker, instead of dwelling purely on one paradigm, will adapt to whatever paradigm best suits his/her needs at the moment. There are instances in which procedural languages (C, Pascal, Ada83) are best. There are instances in which procedural-object hybrid languages are best (Ada95, C++). There are instances in which list-based languages are best (LISP). There are instances in which set-based languages are best (PROLOG). There are instances where object-based languages are best (Java, Smalltalk).
The wise hacker uses whichever is best suited to the situation. Holy wars over "my language is better than your language" belong to the lamers and lusers. We're hackers; we know better.
IM(ns)HO java is C with a vesectome (in the words of a friend), or best described as a cross between Pascal and C, with the useful components of both removed, but portability up the wazoo...and down the other side.
Which "useful components" of both have been removed? Pascal, remember, was never intended to be a real language. Niklaus Wirth is on record as saying that "if I had known people would take Pascal so seriously, I would have been more careful with its design". Wirth intended for Pascal to be a teaching language, first, foremost and only. Java is a very good teaching language; the syntax is simple, the language is fairly self-consistent, and its crossplatform nature means that when students write their programs at the college on UNIX boxes, they can take their programs home and show it off to Mom and Dad on their Macintosh. You'll probably look down your nose at those people -- but those people are beginning the long road to hackerdom, and anything which will spark their interest and make them think "this is cool" is a Good Thing(tm).
Insofar as throwing away the useful components of C, the only thing that it threw out was pointer arithmetic. Which, as I already showed, isn't a big deal at all.
Java's portability is not a major issue for a lot of programmers. Even if Java wasn't as rabidly crossplatform as it is, it would have a lot to recommend it.
And now...they have java compilers written in...well...java. Wonderful, next thing you know linux kernel will be ported to QBasic!
Did you know that GCC is written in C, and they use one version of GCC to compile the next version of GCC? Really. This isn't at all uncommon; in fact, it's usually a sign of a well-designed language if you can write a compiler for the language in the language.
If anyone wants to discuss these things further, either reply to the message or use my EMail address listed at the top. It's there for a reason, folks.
Wouldn't it be:
char a[10];
int i;
a[i] = 'x' is equivalent to (a+i) = 'x';
...is equivalent to (i+a) = 'x';
The last one makes no sense. If it were allowed by the compiler it would be accessing some random bit of piece of memory. (*i+a)
Your other two examples are wrong because a is already a pointer, so a+i would already be accessing the memory address.
Sig goes here
Must be pointers there somewhere!
All popular Java IDEs at the moment are written in C/C++. IIRC, Visual J++ is the only example of a successful IDE Isn't it wonderful to see so much misinformation? a) JBuilder 3 for Windows is 80% Java with 20% Delphi - aka Object Pascal. C/C++ - nothing. b) Visual J++ the only successful IDE, that...? Numbers please?
I've just downloaded the new JBuilder Foundation (I choose the Windows version) and did a quick evaluation. I use "native" JBuilder Enterprise all day for a living, so I might probably know what I'm talking about:
;-)
First step - the download:
it was ok so far, but you have to be a community.borland member in order to get your license code. I already was, but newcomers should better be told that it's for free and doesn't come with any drawbacks.
Second step - installation:
no problem here
Third step - starting it up
The first time you start it up you have to type in your license code.
Start-up itself is fast, I didn't believe it, but it's well faster than my "native" JBuilder3!
Lastly - checking it out
People used to "native" JB3 will feel home from the beginning. It's pretty similar, but a lot of details are unique. And it's very responsive! I didn't have time enough yet to check everything out properly but I'm _very_ impressed so far! And hey, the online-help loads up by a blink of an eye - try that with "native" JB3
BTW - IMO it's pretty clear that JB3 Foundation blows away NetBeans by order of magnitudes, but then again I'm long INPR, so you may discount my opinion as somewhat biased.
Do your own research!
It is very overdue. And if Solaris just used BlackDown's port, there won't be JIT will there?
Just add a Button and dispose() when you hear it's ActionEvent.
:
I'm trying for about 30 minutes to get a Foundation Activation Key, but without succes. Slashdotted already?
Hehe that about sums it up.
SEAL
Inprise takes the Blackdown jdk port, adds the things they need to implement JBuilder and give it away, and gives the jdk back to Sun. Cool.
Sun totally disses blackdown by ignoring them in the press release, not giving them any info about what Inprise was doing, and so far at least not offering to share the code.
After years of promising an open java standard, Sun once again withdraws java from the standards process.
When RMS calls for an open source alternative, Sun proudly states that it can't be done because the current public spec doesn't describe enough of the system
( http://www.techweb.com/wire/stor y/TWB19991208S0022)
I'd say Sun as pretty much shown their true colors this week.
... they just don't tell you about it. :) No, really. While it's not possible for a Java programmer to overload operators, the JDK absolutely does overload operators from time to time. As a case in point, consider the addition (+) operator. It's been overloaded to allow the concatenation of strings.
:)
Java is plagued with tiny inconsistencies like that.
In the end, Java is just a tool in a programmer's toolbox. Use the right tool for the job. If Java makes your life simpler for task X, use it. If Java complicates your life for task Y, use something else.
But above all else, code.
that's awesome. i want it SO bad! can you make one with you naked too?
as in "free beer"
Except for the installation kit, which bombed on my machine
Only if you're an x86-user running RedHat (eck, yech, blechhh) and have KDE installed. If you run an Alpha, MIPS, or S/Linux box, you're S.O.L.
but only on UltraSPARC hardware
Well, Windows NT, anyway.
So... let's see. If I'm running an Intel chip, I can choose between Windows NT (slow) and RedHat Linux (why? When there's so much better to be had?) with KDE installed. If I've got a SPARC-based computer, I can only use it on Solaris.
Yay! Let's hear it for "write once, run anywhere!". Distributing a binary installation kit, I can understand (for newbies), but what would be wrong with a huge-ass JAR file and a tarball of HTML documentation? I mean, if you strip away all the installation kits and things, it should run on my platform, right? I mean, it is 100% Java, right?
I think I'll stick with Blackdown on my S/Linux box for now.
Pining for the days when The Glorious MEEPT!!! graced SlapDash with his wisdom.
I just forgot to try out the escape button on the About dialogue in JBuilder for Linux. :-)
I don't think the JBuilder source is available, so it's hard to patch it with a close button.
-- Tov Are Jacobsen
Have i missed something cuz last time i checked things up, this sun's "new" jdk, is in fact, based on Blackdown's port with few bugfixes and patches by Borland and Sun. And what ive heard newer blackdown (RC2) kicks butt compared to Sun/Borland cooperation release.
Do i hear Native threads, anyone ? =)
--
yush
I think that having a non-object 'int' primitive is A Good Thing. Especially as Java doesn't implement operator overloading.
Imagine ints with no '+' operator. You'd have to call an 'add' member function (or similar) to do stuff with them.
Also, you want to add all the 'Object' base class stuff, and reference counting/garbage collection overhead to a temp var that's only going to be used as a loop counter?
No, IMO int primitives are definitely a plus.
K.
Why doesn't the gene pool have a life guard?
What about all the bug fixes you can download from microsoft? Don't those qualify? Oh right, I forgot about the "fully-functional" part.
If I understand the announcement, this is an IDE written entirely in Java. This has been done before, by Sun among others, with little success.
Java is good for quite a few things, but it is unfortunately less than ideal for performance-intensive, client-side applications such as an IDE. At least so far. All popular Java IDEs at the moment are written in C/C++. IIRC, Visual J++ is the only example of a successful IDE with large chunks written in Java, and that's because those chunks just called standard Windows OS UI controls directly (via J/Direct), rather than being "Pure Java".
I look forward to hearing how this Java-based JBuilder stacks up against the C/C++-based JBuilder 3.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Sun: What can we .com for you? Inpr.: Go .com yourself.
Roblimo, and the rest of the Slashdot crew, be careful to list them by name on any story that mentions Sun or Borland Java software on Linux.
--= Isn't it surprising how badly I spell ?
Umm, if you had read the JDK API reference, you would find that the class java.lang .String is in fact declared as final, so it cannot be extended. (This is for security reasons).
I would also suggest the term "source viewable", as opposed to "open source" for software where you can get the source, but there are restrictions e.g. modified versions return to the owner ala APSL, SCSL, Mozilla etc.
${YEAR+1} is going to be the year of Linux on the desktop!
How can a couple of questions be "informative"? Oh, a link to the download page? Is that all it takes to be moderated up these days?
1. Important:
Save the project you are working on first!
2. Select help->About
As you type, you see your letters floating around.
3. Type 'primetime' and you get a message from the developers.
You'll get a message from the development.
Now, does anyone know how to make the close button appear? The dialog is modal, and there isn't a close box anywhere.
-- Tov Are Jacobsen
In case some people don't know it exists, there is a free (as in speech) Java IDE over at www.freebuilder.org.
I'm sure "SlashdotMedia" will improve on all the wonders that Dice Holdings blessed us all with
Doesn't seem to install on my RedHat 6 system - winges about there being 0MB disk space available for whatever director I choose to install it in.
Anyone had this and know of a workaround?
At Slashdot moderation is used to supress "incorrect" or unpopular ideas.
As for myself, I believe that Java has problems but my critique is opposite of the original post. My opinion is that Java is a half-way measure and that languages such as Eiffel are a better choice to achieve Java's goals.
As of 0810 EST I'm getting HTTP 403 - Forbidden Access at the download site. Wassup?
No sig? Sigh...
Since the Eiffel specification belonged to a nonprofit standards organization, Sun could have achieved the claimed goals for Java by writing an Eiffel virtual machine. Instead, they implemented a proprietary degradation.
I could go on and on, but let me close with Eiffel is to Java as Java is to C++
This Anonymous coward is Tom Morrisette, aka eiffelpgmr@excite.com
The dependencies are on fixes in the JDK beyond the current public release...
the entire Inprise site is responding with a forbidden message. I guess companies should appoint Slashdot monitors regularly to verify postings about them in /. Very few companies are ready for the sea of /. surfers, who engulf their site regarding any postings. /. should mail an advance warning to companies they post info about. That way they will have all their support personnel on call :)
Or maybe
This would of been great news if a.)I used linux b.) java ever lived up to the hype and c.) those stupid bsd guys were not allowed to use java.
Real men dump cores! Read my journal, I am neat.
Yes, you are wierd, but many people here admire the trait.
NetBeans is a similar product to JBuilder (in fact, they're competing and Sun's giving it away with less strings than Inprise). Under the IBM JDK at least, the NetBeans app seems to be as snappy as any other RAD i've seen. The reason for the failures of applications like IDE/RAD builders and office suites in the past have been that the JVMs were just too damn slow. That's a little different now.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
So much for the much-vaunted portability story. It's just that--a story. But they've hyped it enough to trick the public into believing it. Please don't just blindly take my word for this. Believing without seeing is what got us into this. Stop listening to stories and try it yourself. Take a program written in Java, and try to get it to run on a dozen diverse platforms.
So much for Java being "portable", eh?
..when I tried to get the Activation Key, I get
"Forbidden
Your client is not allowed to access the requested object. "
The download is surprisingly slow. Probably a lot of Linux users trying to get their hands on a JDK that works.
Anyone got an activation key from Borland through their download page?
Sigged!
Of course you got your final statements wrong as well, the compiler is a native program. An IDE is not a compiler. The pretty widgets you click in VB are not part of the compiler.
Ummm, no. The compiler is written in Java. Have you ever looked at it? The JVM is native, but the compiler and debugger are not. Take a look at the wrapper script for javac from the Blackdown port.
--
Mike Mangino Consultant, Analysts International
Mike Mangino
mmangino@acm.org