Welcome, Guest. Please login or register.

Author Topic: Any Java Programmers here?  (Read 2254 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline uncharted

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1520
    • Show only replies by uncharted
Re: Any Java Programmers here?
« Reply #14 from previous page: January 25, 2008, 07:18:23 AM »
Quote

nyteschayde wrote:
Asking a site full of Amiga programmers, err I mean users, if they like Java is the same as asking for punishment. Java, as a language, is a good one. Most modern computers can run Java well enough to use it as a substitute for most types of applications.


Couldn't have said it better myself.  Why is it always the most clueless that are the loudest and most opinionated? :headwall:
 

Offline Ohno

  • Full Member
  • ***
  • Join Date: Apr 2002
  • Posts: 176
    • Show only replies by Ohno
Re: Any Java Programmers here?
« Reply #15 on: January 25, 2008, 08:17:19 AM »
I am a Java developer by profession, so yes, I like it. Wouldn't be doing it otherwise  :-D
Creating a program in Java usually means it'll be pretty easy to get it running on Windows, Linux and Mac (although some issues might require more thinking through because of differences in the way those systems work).

If you want to go mobile, Write-Once-Run-Anywhere doesn't apply anymore. Every device and every manufacturer seems to support a different set of API's and profiles. Blackberry has it's own graphics API for example (no AWT), while others do depend on AWT but have different implementation bugs. That's what Amiga-Anywhere tried to fix (and it worked quite well) and it's also what Google Android tries to fix. Android, again, uses their own custom API's but they hope to cover a huge number of mobile devices with their platform.

Sun has recently been paying a lot of attention to a better user-experience, which is especially important if you want your program to work in a webbrowser. Soon those updates will be released, but you can already download update N.

Writing games is also perfectly possible, but usually you'll end up using native libraries for hardware accelleration and those libraries don't always work inside a browser (Java applets). For writing games I'd advise you to take a look at Slick.

My favorite browser is also IntelliJ IDEA, but if you're just getting started, one of the Open Source IDE will probably do just fine for you. Or maybe just JCreator. It's a great high-performance IDE with less bells and whistles, so it'll be easier to get started (less stuff to work through). They offer a light-edition for free, but it'll only work on Windows.
 

Offline Caius

  • Sr. Member
  • ****
  • Join Date: Nov 2007
  • Posts: 294
    • Show only replies by Caius
Re: Any Java Programmers here?
« Reply #16 on: January 25, 2008, 09:18:12 AM »
Quote
Quote

nyteschayde wrote:
Asking a site full of Amiga programmers, err I mean users, if they like Java is the same as asking for punishment. Java, as a language, is a good one. Most modern computers can run Java well enough to use it as a substitute for most types of applications.

Couldn't have said it better myself. Why is it always the most clueless that are the loudest and most opinionated?

That's a very good point. The choice is programming language should always depend on context. Which tool is right for the job? If you're just knocking up a simple command line tool an interpreted language (scripting language) is a valid choice. Java would be overkill in that case. While I don't care much for Java, it doesn't mean I'd never use it if it was the most obvious choice.

My personal preference is C/C++, but I'm well aware of the inherent problems with these languages. You need to spend time, carefully planning a strategy for resource handling because of the lack of garbage collection. Another problem is that it's easy to introduce subtle bugs that the compiler doesn't pick up, for example implicit type conversions that you didn't really intend. C++ is slightly better here.

As for portability it's already been mentioned that the standard libraries are sometimes implemented in different ways. A good example is the BSD socket library (while not part of the C standard library, it's still THE standard network library in C/C++). In one implementation a function may take a 'char' as an argument, while under another implementation the same function may take an 'int'. Because a C compiler allows implicit type conversions (as noted above), you'll often not even be warned about your mistake. The socket library under Win32 is based on BSD sockets, but it's full of these subtle differences.

So the answer to the question if C and C++ is portable, is "Yes, and no.".
Theology is just a debate over who to frame for creating reality.
 

Offline Waccoon

  • Hero Member
  • *****
  • Join Date: Apr 2002
  • Posts: 1057
    • Show only replies by Waccoon
Re: Any Java Programmers here?
« Reply #17 on: January 25, 2008, 09:22:17 AM »
Like most languages, Java is a mixed bag.  Java is slow if you're doing anything related to graphics, though it's very usable for processing.  It's also very, very picky about structure, so if you're used to something like shell or script programming, Java will appear quite bloated and annoying.  If you know basic C first, picking up Java is a lot easier.  In Java, you must use booleans for conditions, type conversion can be a real pain, and everything must be a class, so even simple programs can be big, confusing, and have a lot of variables.  It does have excellent documentation, tons of good books available, and the compiler is fairly intelligent, so you tend to run into fewer newbie mistakes when you're starting out.  Applets can be easy or infuriating, depending on what you're doing (especially when Sun once again changes their mind about security policies).

The portability of Java is questionable, since it depends what APIs you use, but if you know enough about Java so portability is an issue, chances are you already know what to do.  I really have no idea what Java is like on the Amiga -- I mostly work with applets.

You need to learn OOP principles if you want to code in Java.  Unlike other languages, Java really doesn't like doing things procedurally.  Unfortunately, few books really teach OOP well, or even provide good reasons for doing things that way.  I think that's why there's such a backlash against OOP.  It's a different way of thinking, designed to solve specific problems.  Some people love it, some hate it.  Java loves it, and lets you know it constantly.

If you're looking for a good starter's book, I'd recommend Head First Java.  The presentation is a bit silly, but in terms of content, it really is a terrific book.  OOP is explained well, and it gives you a lot of tips early on that most books tend to save for later, which saves you from having to un-learn informalities and shortcuts from previous chapters.  The book prefers to teach Java, rather than endlessly praise it.  I'm at odds with Java, but I love this book.

Eclipse is a popular IDE, but I haven't used it.  IntelliJ IDEA is the one I use, and it is very good if you value the best auto-complete and code inspection features -- so long as you're not fussy about navigation and indentation.  A friend of mine also uses JEdit, which is good for converting code to Java, though it's pretty slow.  Personally, I prefer EditPlus as an all-around text editor with some useful IDE features.  It's slim on features, however, for the sake of being fast and lightweight.
 

Offline ChrisH

  • Jr. Member
  • **
  • Join Date: Jun 2007
  • Posts: 92
  • Country: 00
    • Show only replies by ChrisH
    • http://cshandley.co.uk/email
Re: Any Java Programmers here?
« Reply #18 on: January 25, 2008, 09:28:11 AM »
@trekiej who said
Quote
I want to see if the Write Once Run Anywhere Pardigmn is any good.

Critics of Java have often said that Java is a "Write Once, Test Everywhere" language, because each JVM has different bugs (especially outside of the main desktop OSes).
Author of the PortablE programming language.
It is pitch black. You are likely to be eaten by a grue.
 

Offline balrogsoft

  • Full Member
  • ***
  • Join Date: Jan 2006
  • Posts: 186
    • Show only replies by balrogsoft
    • http://www.amigaskoolnet
Re: Any Java Programmers here?
« Reply #19 on: January 25, 2008, 09:42:43 AM »
I used intelliJ and netbeans for mobile games development on my previous work, intelliJ seems to be more powerfull ide, but i found a little confusing for some tasks, at least when i tried two years ago. Netbeans is very clean and easy to work with.
Balrog Software · http://www.amigaskool.net
Mac Mini G4 1,5ghz · MorphOS 2.7 · Ati Radeon 9200 64Mb · 1 Gb RAM · 80 GB HD
Efika · MorphOS 2.7 · Ati Radeon 9250 128Mb · 120 Gb WD HD
Amiga 1200T · OS 3.9 · Voodoo3 · Blizzard 603e/240mhz 060/50mhz · 98 Mb RAM · 40 GB HD
Amiga 600 · OS 3.1 · ACA 630/25mhz 32 Mb RAM · 4Gb CF
 

Offline Caius

  • Sr. Member
  • ****
  • Join Date: Nov 2007
  • Posts: 294
    • Show only replies by Caius
Re: Any Java Programmers here?
« Reply #20 on: January 25, 2008, 09:47:11 AM »
I'll probably get flamed for this, but the best IDE I've used is M$ Visual C++... That is one product they actually got right.
Theology is just a debate over who to frame for creating reality.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Any Java Programmers here?
« Reply #21 on: January 25, 2008, 10:23:08 AM »
@trekiej
Quote
In the end I would like to write software for the Amiga/Aros platform and may do it from another machine

Java is out of question then, unless if you'll only use console. Even then, the amiga java implementatins are quite lacking.
 

Offline Crumb

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1786
  • Country: 00
    • Show only replies by Crumb
    • http://cuaz.sourceforge.net
Re: Any Java Programmers here?
« Reply #22 on: January 25, 2008, 11:08:33 AM »
@trekiej

Then you'd better check out C/C++ :)
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline trekiejTopic starter

Re: Any Java Programmers here?
« Reply #23 on: January 25, 2008, 01:56:24 PM »
I admit I am not completely decided on what to do.
I will do my best to learn both c++ and Java.
I do not guess it will hurt to learn one and then the other.
I have not gotten deep enough into Java to see the complete difference its point of view of OOP is to C++.
I believe it should not be too difficult to use both when the differences are known.  I say not in the same prog. of course. :-D
edit:
check this out.
http://www.opencores.org/projects.cgi/web/jop/overview
it is a java processor.
Amiga 2000 Forever :)
Welcome to the Planar System.
 

Offline Speelgoedmannetje

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 9656
    • Show only replies by Speelgoedmannetje
Re: Any Java Programmers here?
« Reply #24 on: January 25, 2008, 02:26:59 PM »
Both C++ as well as Java are OOP.
And the canary said: \'chirp\'
 

Offline jj

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4051
  • Country: wales
  • Thanked: 2 times
  • Gender: Male
    • Show only replies by jj
Re: Any Java Programmers here?
« Reply #25 on: January 25, 2008, 03:32:05 PM »
Quote
I'll probably get flamed for this, but the best IDE I've used is M$ Visual C++... That is one product they actually got right.


I think Visual Studio is a brillaint IDE. only used VB but its all the same
“We don't stop playing because we grow old; we grow old because we stop playing.” - George Bernard Shaw

Xbox Live: S0ulA55a551n2
 
Registered MorphsOS 3.13 user on Powerbook G4 15"
 

Offline trekiejTopic starter

Re: Any Java Programmers here?
« Reply #26 on: January 26, 2008, 12:56:56 AM »
Something that interested me in learning Java is a project called YADRA.  It is Yet Another Distributed Render Application.  It uses Java to pass the files around from Master to Slave.

While on the Render subject there is also a project that uses HTTP to do the work.  One difference is that you download a script for master and then a script for client.  It has different requirements and one is it does not need Java.
http://columbiegg.com/httpov/
Amiga 2000 Forever :)
Welcome to the Planar System.