exceed_er: (Default)
[personal profile] exceed_er
Following [livejournal.com profile] ivan_ghandhi's posting, I feel like joining the gang.

1. How did you begin programming in Java? Did you choose it or did Java "happen" to you because of your educational or work environment? If you were starting today, would you choose Java again?

My first Java experience was in 97, I was doing some kind of feature-rich internet applet with tons of graphis. It was for a "Sparkasse"'s web appearance, but I was doing it as a generic template for such things. Today I would definitely do it with Flash, but back then Java 1.1 was a better choice. My first experience didn't even scratch Java language features, it was more of annoyance, since my primary work was a CMS for banks and financial sector - aligned towards web and touchscreened public terminals. It was written in Delphi, which is a very powerful language, with many metadata features mostly untouched by developers (yes, it has full reflection the way Java has, but no GC and no bytecode). I miss some of its features in Java. Java is still bad for what I like to do most: computer graphics programming. Mostly because GC can't run in background without distorting the dynamics of the graphics engine. But it makes up on the backend - big time. I would choose Java for any kind of server-side development anytime.

2. How well has Java executed on the promise of "write once, run anywhere" (WORA)? Has the importance of WORA changed at all over time?

This is why I started using Java in the first place. It has not really executed well on the promise, but the job was good enough. Adapting the code to the particular platform was kind of cosmetic job, rather than re-designing the app. As long as it was properly laid out in the first place. But Java's WORA has always been Write Once, Test On Each Platform, Fix, Run Anywhere.

The importance of WORA diminishes with the time - partially because of the shift towards web-based solutions. Partially because no one uses applets anymore, while other Java UIs lack the features native apps have.

3. What percentage of your production code would you say is Java? Do you expect that percentage to increase, decrease, or stay the same in the foreseeable future?

Maybe 90%. I would say it will stay the same, I need scripting languages for the infrastructure and fixtures, SQL & Co. (stored procs too) to support the business logic, but the core is Java and it will be Java. It might happen that I will do more with C# on the client side, though.

4. What percentage of your Java applications are desktop apps versus server apps? If you write desktop applications, do you prefer SWT or Swing, and why?

60% - design and development of the server side frameworks
20% - JSP + servlets (tag libs) for some web based tools
19% - other things - Flash, JavaScripts, XMLs, C#, C++ etc.
1% - desktop apps

I would still prefer Swing. SWT is nice, but it was done for one single purpose: Eclipse. It is simply not the right choice for usual desktop app. For me, it is "apples and oranges". BTW, Swing is fast enough in JDK 1.4.2 and 1.5.

5. What are your platform, framework, and IDE of choice for Java development? What makes each o these your favorite?

Win32, XP pro - I need Adobe and Macromedia tools handy, MS Office + Visio save me some time on presentations. But I keep watching Linux. And will probably buy iBook at some point in time.

JDK 1.5 + Tomcat 5.5 + axis. Possibly Spring+Hibernate, depends on a job. Nothing against JSF or Struts on the frontend for the standard stuff, but I prefer to keep it simple with JSPs and a set of own taglibs. If there is no need for 50+ views with dynamic dialogs, of course.

IDE: IDEA. I used to JBuilder, but the bugs (classes and caches were constantly out of sync with the code) were killing me. IDEA is just faster and more supportive, especially for framework development with lots of refactoring. Eclipse is ok too, though.

6. During its evolution, which have been responsible for more Java innovations: Java Community Process specifications or open-source implementations? Why do you believe that is?
So far JCP. But experience with Apache libs (take Log4J), Hibernate, Spring and to some extent with JBoss shows that it might change. I would say, in J2EE area open source did more than all JCPs together during past two or three years. But before 2000, it was definitely JCP.

7. Should Sun open-source Java? Why or why not?
Doesn't matter, really. These are two different things, of course, and Java will go two different ways, but they will be equally good. Java has a huge community and some heavyweight will definitely look after it, even open-sourced. However, Sun did a good job so far as well. Just a little sluggish.

8. If you could change one thing about Java, what would it be?
This is a tough one. I would say, I would allow passing methods as parameters, C#-style. Anonymous classes annoy me. Checked exceptions too, BTW.

9. What has been Java's single greatest gift to the software community?
Tomcat.

10. Looking ahead, will the Java language remain as vital as it has been the past 10 years or will it reach a level of stability at which a newer, more powerful language could overtake it?
Predictions are bitch in this area. I would say Java will become more and more a legacy language with a time. But "a newer, more powerful language" has yet to come out at least in form of vague ideas, let alone working implementations. Nothing new really happens with OO idiomatics and it will change soon. It has to. Aspects are biting into the flesh of OO programming, scripting languages tear it aparat, concurrency chokes over complexity of the code and new processors don't add more speed - they add more processing units. On top of that languages don't care for metadata - so integration of systems becomes an agony.
This account has disabled anonymous posting.
(will be screened if not on Access List)
(will be screened if not on Access List)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Profile

exceed_er: (Default)
exceeder

November 2016

S M T W T F S
  12345
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 16th, 2025 04:32 am
Powered by Dreamwidth Studios