From: ilan on 10 Jun 2010 18:16 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 10 Jun 2010 18:42 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 10 Jun 2010 19:09 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 10 Jun 2010 19:19 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 10 Jun 2010 19:27
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 |