James Watson
Posts: 2024
Nickname: watson
Registered: Sep, 2005
|
|
Re: Should We Strive to Only Have One Language in Our Development Efforts?
|
Posted: Aug 3, 2007 6:49 AM
|
|
> > > Three other reasons to have multiple languages: > > > > > > 2) J2EE (=Java + XML) is a good example of crappy use > > of > > > two languages > > > > > > For me the bottom line is that if we use two or more > > > languages each should contribute something > distinctive > > to > > > the mix. > > > > Are you suggesting that Java and XML do not offer > anything > > distinct or something else? > > James, > > I have this unfortunate habit of writing with the > assumption that others can read my mind ..
No problem. I do it all the time. I'm just overjoyed to not be 'yelled' at for asking for clarification.
> I think that Java is a superb language that has changed > the programming landscape immensely for the better. It is > probably the most influential language to date, and I am > very grateful to Sun for giving us Java. Today Java is the > obvious choice for most infrastructure and high > performance programming, and is a fine, if expensive > choice for general application development. I hope that as > it's successor emerges (Ruby, Scala?) that Java doesn't > repeat the path of Fortran 90 where new language features > were grafted on.
[psst, that's already happened and I think it's going to get worse]
> I think that the sweet spot for XML is much narrower. I > think it is a great choice for architecture independent > APIs exposed to the world (e.g. google maps, Amazon API, > etc). Unfortunately someone had the idea that if a little > XML is good, a lot must be better, so we see XML being > used in places where it adds complexity, opacity, and > degrades performance with no value add. An example of this > would eb the rush to use XML as configuration property > file format for J2EE and other components. A property > file, or a nested property file, would be simpler and more > readable but is less "buzzword-compliant".
Get out of my head, you!
> Whenever technical decisions get made because of their > fashionableness rather than their suitability people end > up in tears. Developers spend years building mental models > of imperative and object oriented programming languages. > Moving complexity out of these and pushing it into XML > configuration is rarely a win, and leads to bloated, > poorly understood, over complex applications.
I wish there was a solution for this. People tend to get so tied to one way of doing things. In a way, working with Java for so long kind of shocked me out of that. So much of what we were told to do in Java is now considered bad practice.
> I think J2EE is a great example of combining two languages > (Java and XML) where the result is less than the sum of > the parts. I like to wonder what would have happened if > either YAML or JSON were viable choices and had been > selected instead of XML? A lot of what I see in J2EE is > what I call complectification - the desire that some smart > people have to wallow in complexity to the detriment of > their users and development team.
Part of the problem is that Java lacks any feature that would make it a good language for writing parsers. Personally, I think SAX is the best thing going in Java for XML but you almost have to think like a functional programmer to make it work. Most Java programmers don't even know what functional programming is, in my experience.
In any event, to make the Java and XML combination work, I think you need to add the XPath family of languages.
|
|