[brailleblaster] Re: Why Java

  • From: "John J. Boyer" <john.boyer@xxxxxxxxxxxxxxxxx>
  • To: brailleblaster@xxxxxxxxxxxxx
  • Date: Thu, 4 Nov 2010 23:33:56 -0500

John,

I was wondering where you had disappeared to this time. 

Many Java JVMs have just-in-time colmpiling, which translates byte code 
to machikne language. This considerably increases speed. C compilers 
have automatic optimization which can be turned on and off. When I test 
liblouis in both conditions there is a considerabloe difference in 
speed. A good JVM will run a program so quickly that it appears almost 
instantaneous, unless the progrram does a really large amount of data 
manipulation. In that case, it would be slow in any language.

With Java you get the advantages of compile-once run anywhere.

Well, I think this has been a good discussion, especially for making us 
re-examine our assumptions.

John B.

On Thu, Nov 04, 2010 at 09:01:03PM -0700, John Gardner wrote:
> Hello Alex, well you have certainly stirred up a lot of questions and
> comments.  That's good, and I have had private conversations with several
> listers to develop a consensus on whether we should seriously consider
> changing course as you suggest.  The consensus is "no".
> 
>  
> 
> Quick summary is that isn't necessarily true that C will be faster, since it
> really depends on how well it is optimized.  Java has many automatic
> optimizations and can often run lots faster than C.  It strikes many people
> that it really doesn't make sense to time-optimize this program, because it
> really runs on (very slow) human time anyhow.  Java is considerably faster
> to write and debug code, so the price for using C would be longer
> development time.  Strike 1.
> 
>  
> 
> BrailleBlaster has always been intended to be a desktop application.  To be
> useful, it needs to have drivers for embossers, and these are available for
> Windows, some for Macs, and some for Linux.  It is not very likely that any
> will be written for an iPhone, iPad, or any other embedded device, so it
> makes no sense to write a Braille translator for those devices either.
> Strike 2.
> 
>  
> 
> You say that Microsoft and Apple no longer support Java.  To my knowledge,
> Microsoft has never supported Java per se, but Java has always worked on
> Windows.  Apple's Java support has been, well peculiar at best, so many Java
> lovers seem pretty happy that Apple has abandoned that support.  There are
> plenty of Java run-time aps that work on the Mac, so there seems to be no
> problem using Java.  Just have to install a JRT whether it's Windows or Mac.
> Strike 3.
> 
>  
> 
> Thanks for making us examine our assumptions however.  I appreciate your
> thoughts.  One should always be looking for something better.  C is better
> for lots of things, but as far as several of us can tell, not for
> BrailleBlaster.
> 
>  
> 
> John Gardner
> 
>  
> 
>  
> 
>  
> 
>  
> 
> From: brailleblaster-bounce@xxxxxxxxxxxxx
> [mailto:brailleblaster-bounce@xxxxxxxxxxxxx] On Behalf Of Alex Jurgensen
> Sent: Thursday, November 04, 2010 7:46 PM
> To: brailleblaster@xxxxxxxxxxxxx
> Subject: [brailleblaster] Re: Why Java
> 
>  
> 
> Hi John,
> 
>  
> 
> C programs run nativvely on all major OS's.
> 
>  
> 
> WX-Widgets is like SWT for C and for sure works on the Mac with the Mac's
> screen reader.
> 
>  
> 
> The compilers are not included on the Mac and as far as I know on Windows,
> but those need to be run only once to compile the code.
> 
>  
> 
> What you walk away with by using C is faster exicution, and more memory
> efficient code, which is important to screen reader users running on low
> specification machines.
> 
>  
> 
> Just my $0.02 cents worth.
> 
>  
> 
> Regards,
> 
> Alex,
> 
>  
> 
>  
> 
> On 2010-11-04, at 5:57 PM, John J. Boyer wrote:
> 
> 
> 
> 
> 
> BrailleBlaster is intended as a desktop application. There is no reason 
> why it couldn't be used on a tablet. It would not be suitable for small 
> devices, such as phones, because these could not accommmodate the GUI 
> which is part of its design and a  large part of its appeal. How would 
> you fit usable braille and print windows on a small screen?
> 
> The core libraries of BrailleBlaster are already in C. liblouis and 
> liblouisutdml will be the braille engine of BrailleBlaster and they can 
> be used without it via the file2brl command-line interface. They are the 
> engine; BrailleBlaster is the rest of the car.
> 
> Java was picked because of SWT, which has native C libraries that 
> support the UI requirements of different platforms. wxwidgets is 
> problematical. I have heard that it really works only for Windows. Java 
> provides wuicker software development and indeed a great number of 
> libraries that do things like display MathML.
> Microsoft doesn['t provide C at the installation of its operating 
> systems. With Apple, you have to install the Developer tools to get C. I 
> think both decided that maintaining their own Java runtimes just wasn't 
> worth it, because there are so many third-party JREs already available.
> 
> I may be wrong on some of this, but I'm hoping we will see some messages 
> from More Java experts and from other decision-makers.
> 
> Yuemei said she is experienced mostly in C and Visual Basic. She did 
> mention Swing, but not that she had used it a lot. I think straight SWT 
> is the way to go.
> 
> John
> 
> On Thu, Nov 04, 2010 at 05:45:02PM -0500, qubit wrote:
> 
> 
> 
> Perhaps because there are java libraries available that are tempting to use
> as a base?  As for Apple and Microsoft, the java runtime is not being
> supported by them any longer, but third parties may still develop such
> support to be distributed with java programs.
> 
> Any other things I have missed?
> 
> --le
> 
>  
> 
>  
> 
>  ----- Original Message ----- 
> 
>  From: Alex Jurgensen 
> 
>  To: Brailleblaster@xxxxxxxxxxxxx 
> 
>  Sent: Thursday, November 04, 2010 2:25 PM
> 
>  Subject: [brailleblaster] Why Java
> 
>  
> 
>  
> 
>  Hi All,
> 
>  
> 
>  
> 
>  I mention this now, at the relative beginning of the project, so as to
> avoid unnecessary work.
> 
>  
> 
>  
> 
>  Why are we using Java and not writing most of the code in C, with a true,
> native UI on top, such as WX-Widgets for C. Because the code would not need
> to be exicuted in a virtual machine, we would avoid many of the slowdowns
> associated with Java.
> 
>  
> 
>  
> 
>  We must also think about embeded devices, where the overhead of Java is
> either too much for hte battery to tolleratte acceptably or there is no Java
> Virtual Machine available.
> 
>  
> 
>  
> 
>  Furthermore, both Microsoft and Apple have dropped support for Java within
> their Operating Systems, it doesn't seem to make sense to continue coding in
> Java because we may one day soon need to rewrite all of our code to aadapt
> to a whole new class of machines that don't have Java Available.
> 
>  
> 
>  
> 
>  I feel that if we write the core of our code into C libraries, we should be
> able to bring about new UI's, such as a Cocoatouch UI for IOS devices, OR an
> QT UI for Nokea and Intel's new project.
> 
>  
> 
>  
> 
>  Just my two cents.
> 
>  
> 
>  
> 
>  Regards,
> 
>  Alex,
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  Alex Jurgensen,
> 
>  VoiceOver Trainer,
> 
>  ASquared21@xxxxxxxxxxxxxxxxx 
> 
>  
> 
>  
> 
>  Visit us on the web at: www.vipbc.org
> 
>  
> 
> 
> -- 
> John J. Boyer; President, Chief Software Developer
> Abilitiessoft, Inc.
> http://www.abilitiessoft.com
> Madison, Wisconsin USA
> Developing software for people with disabilities
> 
> 
> 
>  
> 
> Alex Jurgensen,
> 
> VoiceOver Trainer,
> 
> ASquared21@xxxxxxxxxxxxxxxxx                                       
> 
>  
> 
> Visit us on the web at: www.vipbc.org <http://www.vipbc.org/> 
> 
>  
> 

-- 
John J. Boyer; President, Chief Software Developer
Abilitiessoft, Inc.
http://www.abilitiessoft.com
Madison, Wisconsin USA
Developing software for people with disabilities


Other related posts: