From: ilan on
Arved Sandstrom <dcest61(a)hotmail.com> writes:

<snip>

> The way Mono is moving along that's not strictly speaking true. In any
> case, being "locked into" a Windows-based network is not exactly a
> liability, not now and not for a few more decades.

Being locked into a Windows-based anything is liability. It is. And
in this case its simply not necessary.

> As it is, the majority of fellow developers and clients that I deal
> with do J2SE/J2EE on Windows.

So? How did the developers and clients you deal with suddenly become a
symbol of the entire wired world? Its your world. That's ok. But its not
everyone.

> Every job I've had there's always been a fair bit - often a majority -
> of other applications that have been on Windows.

Yes. Every job *you* have worked in. So what...? Really.

> So it may be a point of pride that your app in theory could run on
> many OS's, but since almost everyone will have Windows who really
> cares?

Almost everyone will not have Windows. And almost everyone does not have
Windows.

>
> AHS

--
ilAn
From: Arved Sandstrom on
ilan wrote:
> Arved Sandstrom <dcest61(a)hotmail.com> writes:
>
> <snip>
>
>> The way Mono is moving along that's not strictly speaking true. In any
>> case, being "locked into" a Windows-based network is not exactly a
>> liability, not now and not for a few more decades.
>
> Being locked into a Windows-based anything is liability. It is. And
> in this case its simply not necessary.

You know, being locked into a Linux distro or a flavour of UNIX is just
as much of a liability. I gotta tell you, I fail to see how being
"locked into" Windows is a problem.

>> As it is, the majority of fellow developers and clients that I deal
>> with do J2SE/J2EE on Windows.
>
> So? How did the developers and clients you deal with suddenly become a
> symbol of the entire wired world? Its your world. That's ok. But its not
> everyone.
>
>> Every job I've had there's always been a fair bit - often a majority -
>> of other applications that have been on Windows.
>
> Yes. Every job *you* have worked in. So what...? Really.

My statement was anecdotal, but I'm prepared to guess - damned if I know
why I believe something this outlandish - that a whole bunch of people
out there...maybe even a majority...use Windows. But if you think
different that's your prerogative.

>> So it may be a point of pride that your app in theory could run on
>> many OS's, but since almost everyone will have Windows who really
>> cares?
>
> Almost everyone will not have Windows. And almost everyone does not have
> Windows.

???

>> AHS
>
> --
> ilAn

--
It should be noted that no ethically-trained software engineer would
ever consent to write a DestroyBaghdad procedure. Basic professional
ethics would instead require him to write a DestroyCity procedure, to
which Baghdad could be given as a parameter.
-- Nathaniel Borenstein
From: Wanja Gayk on
Am 09.06.2010, 23:19 Uhr, schrieb JC <jjcardella(a)hotmail.com>:

> Off the top of my head, I am thinking of a Unix based version of Oracle
> for the DBMS.

Why?

> For the user interface I am thinking of something that is
> integrated with a web browser. And of course some sort of interface
> between the two.

Why would you want that? A proper Swing GUI gives you more freedom than
any browser based technology. If deployment is no problem, and with
Webstart it isn't, there is no point in using a web based GUI for a system
which is not intended to run on the web - and with webstart even that
would be no problem.
So in case you don't need to stay in the world wide web I don't see a lot
of reasons for that, apart from building your own knowledge.

In case you want to look for web based technology, check out the JBoss
Application Server and JBoss Seam as middlware. For the Database access an
object relational Mapper which is "JPA 2" compliant, like Hibernate,
should be something to look at.

You might like to set up a modern development environment for your project:

a) I assume you're using a source control system, Mercurial and Git are
the new kids on the block, Subversion is state of the art today, CVS is
simple, solid but pretty dated. In case you like to have a shot at the new
distributed Source control system, here is a good tutorial on Mercurial by
Joel Spolsky:
http://hginit.com/

b) Setup a proper IDE, a lot of people like Eclipse, there are plugins for
all major source control systems and it's free. IntelliJ IDEA is also very
good, I'm not sure if the free community edition has proper Git or
Mercurial Support though.

c) Get a decend continuous integration system, like Hudson or Cruise
Control. Hudson is pretty fun and supports a lot of build systems. Both
are free. These systems are great, because you get quick feedback if
you've broken anything with your latest change. They automatically get the
project from the source control system on a scheduled basis, build it, run
the test suites against it and mail you if anything failed.
https://hudson.dev.java.net/

d) You might like a proper bug tracker, like JIRA or Mantis. JIRA is king,
as far as I'm concerned, but it's also pricey. JIRA can be linked against
the Source control system (at least against CVS AFAIK) and if you comment
your submissions with a bug number, it can show you your
sourcecode-changes and the afected files under the bugreport. This is
great for your own orientation or for reviewing changes of a co-worker
(that you don't have).

e) In case you didn't use automated unit tests yet, go for it! JUnit loves
you. You will love JUnit.
http://www.junit.org/

f) JUnit is even greater when it's accompanied by a tool to create mock
objects, like EasyMock. EasyMock rocks!
http://easymock.org/

g) To check test coverage you will need a new girlfriend, her name is
"emma" and she likes to show you what you've been missing:
http://emma.sourceforge.net/
http://www.eclemma.org/

h) "findbugs" is a really great tool to find bug-patters in your code.
There is also an eclipse-plugin for that.
http://findbugs.sourceforge.net/
http://findbugs.sourceforge.net/manual/eclipse.html

g) The tool "Checkstyle" is great for keeping a good source quality. It
also allows to check some metrics like "Cyclomatic Complexity" to identify
code which is likely to be harder to test and to maintain.
http://checkstyle.sourceforge.net/
http://eclipse-cs.sourceforge.net/

i) you will love a Profiler like JProfiler or Yourkit for identifying the
bottleneck in your code, in case you notice a performance or memory
problem.

f) You might want to look at "Google Guice" for dependency injection, if
you like to improve the testability of your software.
http://code.google.com/p/google-guice/

Hope that helps.

Regards,
Wanja

--
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/

--- news://freenews.netfront.net/ - complaints: news(a)netfront.net ---
From: Wanja Gayk on
Am 10.06.2010, 23:53 Uhr, schrieb Arne Vajhøj <arne(a)vajhoej.dk>:

> On 10-06-2010 12:09, JC wrote:
>> 3. Interesting about the Vector class as I use java.util.Vector
>> extensively
>> in the app,
>
> You will just need to learn to type ArrayList instead.
>
> And you will probably not even notice any differences.

As long as he doesn't rely on synchronization.
I'd also propose to use the interfaces Iterable, List or Collection as
much as possible to keep a maximum flexibiltyt o exchange the actual
implementation later.

Regards,
Wanja

--
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/

--- news://freenews.netfront.net/ - complaints: news(a)netfront.net ---
From: Joshua Cranmer on
On 06/10/2010 06:42 PM, Arved Sandstrom wrote:
>> Almost everyone will not have Windows. And almost everyone does not have
>> Windows.

I'm pretty sure most mobile phones lack Windows.

--
Beware of bugs in the above code; I have only proved it correct, not
tried it. -- Donald E. Knuth