IDEA & JRE

After reading all the messages concerning inclusion of JRE into IDEA zip
file we've found only one argument which makes sense: download size.

So, the question is: is it really such a big deal to have download size
increased by 7Mb?

--
Best regards,
Mike Aizatsky.
-


JetBrains, Inc / IntelliJ Software
http://www.intellij.com
"Develop with pleasure!"



49 comments
Comment actions Permalink

I guess we have a fix in 658

0
Comment actions Permalink


"Mike Aizatsky" <mike@intellij.com> wrote in message
news:ao4anr$1ui$1@is.intellij.net...

Richard,

>

IDEA supplied JRE has the tools.jar so you have full compiler inside.

>

When I say tools I meant jarsigner, keytool, javadoc etc.. our ant build
needs to make jars and sign them for use by webstart.. under the bundled jre
these scripts suddenly fail when as they can't find these tools.. so I have
to install jdk1.4.1 anyway, them add it to IDEA - which appears as 1.4.1
(1), and then modify the ant properties to run under a custom jvm.. like I
said messy and not altogether obvious.

--
Richard Osbaldeston
(http://www.osbald.co.uk)


0
Comment actions Permalink

this I would say is the strongest technical argument to date (aside from
download size). It really confirms the gut feeling I had against the
notion of a Java development tool coming with a bundeld JRE. You always
need an additional JDK.


Richard Osbaldeston wrote:

"Mike Aizatsky" <mike@intellij.com> wrote in message
news:ao4anr$1ui$1@is.intellij.net...

>>Richard,
>>
>>IDEA supplied JRE has the tools.jar so you have full compiler inside.
>>


When I say tools I meant jarsigner, keytool, javadoc etc.. our ant build
needs to make jars and sign them for use by webstart.. under the bundled jre
these scripts suddenly fail when as they can't find these tools.. so I have
to install jdk1.4.1 anyway, them add it to IDEA - which appears as 1.4.1
(1), and then modify the ant properties to run under a custom jvm.. like I
said messy and not altogether obvious.

--
Richard Osbaldeston
(http://www.osbald.co.uk)



0
Comment actions Permalink

Two java.exe processes will not share code or data in
memory.


The VMs will not share classes or objects, of course.
But real operating systems such as Solaris or Linux store the read-only "text segments" of binaries and shared libs only once in RAM, and make them visible to the address spaces of all using processes.

Also, any distinct file (jars!) is cached only once in the file cache, but two equal files are cached twice because the OS expects nobody's dumb enough to store and use the same multi-megabyte file multiple times. It's not feasible to compute hash values for them.

I suggest you look into the Linux kernel sources, read some good literature about OS design, or just try it out.

The only thing I want is separate downloads of their required JRE and the latest IDEA build so that we don't have to download the JRE over and over again.


Agreed: only this will solves ALL our problems.

Can you tell me that, as a developer, you don't mind your users wasting your time with spurious bug reports because they can't be bothered to ensure that their software installations and configurations are correct?


That's never been too much of a problem with our customers.

Cheers, Oliver

0
Comment actions Permalink

An installer that puts another JRE on disk, no matter
if the same version is already there - is not a good
installer.

Of course, it is a bit of a bikeshed question,
and most important is IDEAs functionality,
not its installer - but, espacially for completely
new users the first impression counts.

0
Comment actions Permalink

Nischkaa Kovacs wrote:
>>Can you tell me that, as a developer, you don't mind your users wasting your time with spurious bug reports because they can't be bothered to ensure that their software installations and configurations are correct?


That's never been too much of a problem with our customers.


You're lucky.

Ciao,
Gordon

--
Gordon Tyler
Software Developer, R&D
Sitraka -- Performance is Mission Critical

0
Comment actions Permalink


...a bit of a bikeshed question...

>

Bikeshed question? Please 'splain so I can add this to my repertoire... ;)

0
Comment actions Permalink

http://www.intellij.org/twiki/bin/view/Main/TheColorOfOurBikeShed

--
Best regards,
Mike Aizatsky.
-


JetBrains, Inc / IntelliJ Software
http://www.intellij.com
"Develop with pleasure!"


0
Comment actions Permalink

http://www.intellij.org/twiki/bin/view/Main/TheColorOfOurBikeShed


Duh...of course (insert sound of open palm slapping forehead here...)

0
Comment actions Permalink


"Nischkaa Kovacs" <nischkaa@gmx.de> wrote in message
news:4957991.1034331743616.JavaMail.jrun@is.intellij.net...

Two java.exe processes will not share code or data in
memory.

>

The VMs will not share classes or objects, of course.
But real operating systems such as Solaris or Linux store the read-only

"text segments" of binaries and shared libs only once in RAM, and make them
visible to the address spaces of all using processes.
>

Also, any distinct file (jars!) is cached only once in the file cache, but

two equal files are cached twice because the OS expects nobody's dumb enough
to store and use the same multi-megabyte file multiple times. It's not
feasible to compute hash values for them.
>

I suggest you look into the Linux kernel sources, read some good

literature about OS design, or just try it out.
>

The only thing I want is separate downloads of their required JRE and

the latest IDEA build so that we don't have to download the JRE over and
over again.
>

Agreed: only this will solves ALL our problems.

>

Can you tell me that, as a developer, you don't mind your users wasting

your time with spurious bug reports because they can't be bothered to ensure
that their software installations and configurations are correct?
>

That's never been too much of a problem with our customers.

>

Cheers, Oliver



0
Comment actions Permalink

I am sorry, what is the reason for all activities you you mentioned in your
messages? Why should you care what JDK uses IDEA for its internal purposes
or may be it is just a native application. It doesn't impede in any way your
ability to develop your project under any JDK you like (at least in ideal
case). I don't see also how addition of jre directory to the distribution
hinders your ability to switch intellij versions. What am I missing here?

AlexO
"Remigius Stalder" <remigius.stalder@descom-consulting.ch> wrote in message
news:3821590.1034272611227.JavaMail.jrun@is.intellij.net...

I have not read all the messages, but besides download time (which is

already an important issue if we are expected to dowonload a new version
every other day), the following (important to ME) come to my mind:
>

- ability to use the same package on every platform
- ability to switch to new JDK versions if they become available (which

also allows us to give you feedback on our experiences with it)

- ability to downgrade from a JDK if the new version does not work on a

configuration which you may not have tested

- transparency of the install process (guaranteed no registry entreies

etc., i.e. only modifications to the system is the archive extraction)

- very easy switch of intellij versions (remember, this is all still beta,

which means there must be a fallback possibility)
>

I have seen somebody who suggests spending more time on new nifty

features. I don't mind that, but I'd actually prefer to get the current
features stable before adding new ones. Even if this is beta software, we
are not able to test it thoroughly if we can't work with it. Currently I'm
still at 651 and VERY reluctant to switch to a newer version (unless it's
again an archive distribution).
>

Best regards, Remigius.



0
Comment actions Permalink

I'm a Mac OS X user who has been responsible for the purchase of about 10 licenses for Idea because I think it's such a great product and evangelize it wherever and whenever I can. That's not a lot, but it shows that I'm serious in my appreciation and support of the company.

By my read here, you are now going to stop supporting me.

I know that the Windows and Linux crowd is going to say that OS X is a marginal system to have to support, but think about how you would feel if it happened to you. I think OS X is a great developers platform. I switched from linux about 15 months ago and have never looked back.

Eclipse just started supporting OSX. I guess I'll have to go take a look now. I had no interest or reason before, but it seems you given me no choice.

Thanks for the product while it was useful.

geir

P.S. You might as well stop calling it a Java based IDE if you require your own custom interpreter.

0
Comment actions Permalink

> I know that the Windows and Linux crowd is going to say that OS X is
> a marginal system to have to support

nobody will say that! We love you ;-).

Now that they have decided to bundle a JRE with their product (and bind
the product to just that JRE), it is clearly their task to provide the
JRE for all conceivable target platforms. Otherwise, I agree that the
term "Java based", which implies the WORA principle, is not applicable
any more.

regards

0
Comment actions Permalink

I'm with Geir. He and I started using IDEA at the same time. I don't remember if he told me about it, or if I told him, but either way, we both use it and we both love it. We even deal with the occassional crashes of build 629 under OS X, simply because it is so great. I too try to tell people about IDEA when I can... but not anymore.

My company owns 4 or 5 licenses of IDEA. Some of us use OS X, some of us use Windows. We are all now in the process of evaluating other development environments.

I really hope JetBrains decides to keep OS X in the loop, custom JRE or not, but until then, like Geir said, thanks for what was a useful product.

eric

0
Comment actions Permalink

The second paragraph of the following document may well be the clincher (but not necessarily in the short term):

http://developer.apple.com/techpubs/macosx/Java/JavaDevelopment/overview/The_Virtual_Machine.html

The enhancement introduced by Apple allows java archives to be shared across applications running on the same system.

Now Apple is a special case as it is highly likely that there will be only one VM installed (and it is also unlikely that IntelliJ will include a MacOS JRE in their MacOS download).

However, the technology to allow the JARs to be shared between applications has apparently been contributed by Apple to Sun for inclusion in future JRE releases (sorry, I don't have a reference to this fact at hand) - this means that future JRE implementations for Windows and Linux may include these enhancements making it more efficient to use a common JRE to execute multiple applications (note that I am assuming the technology relies somewhat on using the same JRE install to result in a benefit, I may be wrong, but this would seem reasonable to me).

I would argue that this is a good justification for making every attempt possible to execute all java applications on a single macheine from a common JRE.

Regards,

Scott Eade
--
Backstage Technologies Pty. Ltd.
seade@backstagetech.com.au

0
Comment actions Permalink

Hello Mike,
I guess that the arhive size does not significan matter, but the way of intelliJ downloads point to Live Update tool. That do you think about a small part of IntelliJ - a plugin, for downloading and installing (remove some) updates from intellij network.
I can help to make this plugin, but you must provide some functionality on server-side servlets.
For example, you can return cached XML page at request somethink like: http://updates.intellij.net/updateXML:
]]>
where,

  • action - is to do action for file after upload

  • timestamp - is flag with time stamp for this file, if existing file have the same file size, but smaller creation time that this time stamp, file is mark for downloading, otherwize - file is ignored.

  • size - file size in bytes

The plugin get this XML, parse it and follow by instructions - download, delete, replace and show a list of replaced, deleted and downloaded files with some statictics (as time and size of downloads). This plugin must also notify user for somethink checks in files as idea.bat, becose the file have been overwriten.

Maybe you can see in this some usefull, maybe you can get me instruction to create a plugin, in any case i'll glad to help you.


Thanks.

PS. I think - this is more real that put diferents kings of distributives for downloading.

0
Comment actions Permalink

Well actually the JRE download is an extra 14.7MB, which is about 2 hours on our tired modem. And it appears to be the same version that comes with JDK 1.4.1 which I already have downloaded and installed. IntelliJ just doesn't seem to run unless the JRE is installed under its installation directory.

And whilst its all fine to argue that the included JRE as a static library (aka C) its not. Java is "standard" right? That's one of the arguments for coding Java as opposed to other languages.

In theory, IntelliJ should simply specify the acceptable version(s) of the JVM that it can work with and support only those. Supplying one in a separate download is a good way to win friends, make sourcing this easier. Going to the extent that they have is too far.

Its a bit like every VB app requiring a separate "supported" version of the VB libraries? How would you like it if every Windows app required you to download and install their "supported" version of Windows under the application directory?

Won't be long before I need separate JREs for tomcat, jboss, ant, intellij, and every other pure Java application and browser plugin.

Of course, I'm making the assumption that the IntelliJ JRE package is standard and not a custom job...

Rick

0
Comment actions Permalink

I'm not happy with any opinion that is for bundling the JRE with Idea. If IntelliJ want to use just one version of a JRE then it should pick one that is readily available and state that this one must be used.

If it insists on JRE 1.4.1 then add a link to where it can be downloaded for people who don't already have it.

There has been no explanation on why a separate JRE is needed, the standard JRE 1.4.1 doesn't work with build 661 and I haven't been able to download the required JRE because the service is temporarily unavailable (temporary being about 15 hours so far).

I'm interested in how the required JRE differs from the standard JRE and would like to know why Sun's JRE is not suitable, its hardly a good advertisement for Java as a whole if the official JRE release isn't good enough for an IDE to code Java.

0
Comment actions Permalink

Er, regarding my last past, it turns out you don't need to download the JRE if you don't want.

Eugene Zhuravlev posted a message about using the standard JDK1.4.1 instead. Search the forums for Eugene's name and maybe also tools.jar and javac.exe.

It appears the JRE is a standard JRE with the tools.jar and javac.exe included so if you have the 1.4.1 JDK you can use the files in those to make the JRE expected by IntelliJ build 661.

Maybe as well as RTFM, we should also have STFF (Search the f'in forums).

Mike

0

Please sign in to leave a comment.