The Artima Developer Community
Sponsored Link

Java Community News
Should We Strive to Only Have One Language in Our Development Efforts?

60 replies on 5 pages. Most recent reply: Aug 30, 2007 8:18 AM by nes

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 60 replies on 5 pages [ « | 1 2 3 4 5 | » ]
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 10:01 AM
Reply to this message Reply
Advertisement
> > all the casting. Why do you dislike it? Is it because
> of
> > something specific to the Java implementation of
> generics?

Probably

> I suspect he is against it because of this (from
> http://java.sun.com/j2se/1.5.0/docs/guide/language/generics
> .html ):

Not to speak for Cameron but erasure is really a minor complaint once you really get into Java generics. IMO, the biggest problem with generics isn't actually generics but arrays. Array assignment rules have always been broken in Java and generics exposes it in really nasty ways.

In general, generics are a bad addition to Java because they increased the complexity a great deal. What we get for this complexity is not worth it, AFAIAC. Java should have stayed very simple and let a new language start from a clean slate.

I like being able to have type information in collections but this should have been done from the start. I read somewhere that someone wanted to add generics and closures in the original language. I think we'd have a much different landscape if they had been.

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 10:05 AM
Reply to this message Reply
> For example, here's a quote from the interview: "The idea
> of programming as a semiskilled task, practiced by people
> with a few months' training, is dangerous. We wouldn't
> tolerate plumbers or accountants that poorly educated."

I don't disagree but I don't think it's a very good argument for C++ or any particular language. I want power and simplicity. I'm needy that way, I guess.

Alex Fabijanic

Posts: 71
Nickname: aleksf
Registered: Aug, 2006

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 3, 2007 10:38 AM
Reply to this message Reply
> I don't disagree but I don't think it's a very good
> argument for C++ or any particular language.

It is argument about the profession that writes programs. We should be sufficiently qualified before we sit down and start writing programs that are used in real world. what "sufficiently qualified" means is unclear at this point, but too many people programming today do not fall in that category.

> I want power and simplicity. I'm needy that way, I guess.

Everybody wants that. That's why people are trying to come up with new languages all the time. which is both good and bad. Good, because there is something worth learning in any language. Bad, because we never settle long enough to really perfect something but continuously search for "silver bullet" language. Many things are solvable through libraries. There's no reason why C++ can't have standardized GC and why GC would not be added as optional. With POCO ( http://poco.sourceforge.net ) project, we are trying to bring C++ on par with Java or C# when it comes to simplicity, user friendliness and ample functionality coverage. The WebWidgets project will use Javascript as its language because it is appropriate. We would also like to see a Script library for interfacing with and hosting various other languages, but as usual, time is a scarce resource.

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 11:42 AM
Reply to this message Reply
> > I don't disagree but I don't think it's a very good
> > argument for C++ or any particular language.
>
> It is argument about the profession that writes programs.
> We should be sufficiently qualified before we sit down and
> start writing programs that are used in real world. what
> "sufficiently qualified" means is unclear at this point,
> but too many people programming today do not fall in that
> category.

I recall this as being used as an argument for C++ in that interview but it's not really important.

> > I want power and simplicity. I'm needy that way, I
> guess.
>
> Everybody wants that. That's why people are trying to come
> up with new languages all the time. which is both good and
> bad. Good, because there is something worth learning in
> any language. Bad, because we never settle long enough to
> really perfect something but continuously search for
> "silver bullet" language.

I can see it being from a management perspective where languages are strange magical languages that developers use and argue about. It would be chaotic to allow everyone to program in their own pet language.

But I think that it's kind of crazy to think that less than 100 years into the art of computer programming that we will find and settle on a tool and never improve upon it. I imagine that in the future, most all of what we use now will be seen as very crude.

Cameron Purdy

Posts: 186
Nickname: cpurdy
Registered: Dec, 2004

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 3, 2007 12:38 PM
Reply to this message Reply
Basically, generics in Java required a set of compromises. The engineers made some great decisions about what compromises were necessary, but nonetheless they were severely limited by backwards compatibility requirements with the Java language and platform, as well as existing code written for it.

I have no doubt that had Java been designed to support generics, the decisions would have been infinitely more elegant. Hence the "lipstick" comment.

Peace,

Cameron Purdy | Oracle
http://www.oracle.com/technology/products/coherence/index.html

Chuck Allison

Posts: 63
Nickname: cda
Registered: Feb, 2003

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 6, 2007 12:16 PM
Reply to this message Reply
It doesn't make a whole lot of sense to master both C# and Java, or both Python and Ruby. The gain is not worth the overhead. What is important is that we understand different styles/paradigms: PolyParadigm (vs. PolyGlot)programming, if you will. So knowing Java and Python (or some other cross-style combination) is where the advantage is, don't you think? Isn't it the paradigm, even more than the language that implements the paradigm, that really affects our thinking?

Alex Fabijanic

Posts: 71
Nickname: aleksf
Registered: Aug, 2006

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 8, 2007 9:37 AM
Reply to this message Reply
> It doesn't make a whole lot of sense to master both C# and
> Java, or both Python and Ruby. The gain is not worth the
> overhead. What is important is that we understand
> different styles/paradigms: PolyParadigm (vs.
> PolyGlot)programming, if you will. So knowing Java and
> Python (or some other cross-style combination) is where
> the advantage is, don't you think? Isn't it the paradigm,
> even more than the language that implements the paradigm,
> that really affects our thinking?

It is, but some people would argue that Ruby is "better Python", just like Python was "better Perl" and Perl was "better shell". So, there is progress within a paradigm.

That being said, multiple languages from different paradigms are fine co-existing together, when needed. But within one paradigm, co-existence should be temporal more than spatial, i.e. we should stick to a language as long as is reasonable and switch to a better one when it really makes sense. Too often languages are over hyped and falsely presented as "silver bullets". Ultimately, it is not before one starts using it in real world that it becomes clear whether this language really delivers.

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 9, 2007 12:19 PM
Reply to this message Reply
> languages are showing superiority. However, still
> unanswered question is why the functional languages, being
> around for so long, did not get more traction.

Because they offer a degree of complexity not required by most applications.

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 9, 2007 12:23 PM
Reply to this message Reply
> This does not make me a bigot. C++ was my #1 choice until
> Java came along, and Java would not have been so great a
> success if it were not for the things it learned from C++.
> Similarly something will replace Java, and I will hardly
> be a bigot if I adopt that new thing.
>
> Peace,
>
> Cameron Purdy | Oracle
> http://www.oracle.com/technology/products/coherence/index.h
> tml

Well, I agree with you, except when I use Qt. I somehow am more productive with C++/Qt than Java.

What Qt teaches us is that programming is all about libraries after all...

Jeroen Wenting

Posts: 88
Nickname: jwenting
Registered: Mar, 2004

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 10, 2007 1:49 AM
Reply to this message Reply
any programmer worth his salary should be able to pick up enough of whatever language something's written in (given it deals with a problem domain he's familiar with) to at the very least understand it within hours or days at best (depending on how close the language is to one he knows).

Alex Fabijanic

Posts: 71
Nickname: aleksf
Registered: Aug, 2006

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 10, 2007 4:10 AM
Reply to this message Reply
> Well, I agree with you, except when I use Qt. I somehow am
> more productive with C++/Qt than Java.
>
> What Qt teaches us is that programming is all about
> libraries after all...

I agree completely. Many issues can be addressed by libraries and there is no need for language proliferation as we see it today. Let me quote Stroustrup once again:

"Without a good library, most interesting tasks are hard to do in C++; but given a good library, almost any task can be made easy."

That being said, did you ever try Poco ( http://poco.sourceforge.net ) ?

Here are some testimonials from the library users:

http://www.appinf.com/poco/info/testimonials.html

Alex Fabijanic

Posts: 71
Nickname: aleksf
Registered: Aug, 2006

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 10, 2007 4:12 AM
Reply to this message Reply
> any programmer worth his salary should be able to pick up
> enough of whatever language something's written in (given
> it deals with a problem domain he's familiar with) to at
> the very least understand it within hours or days at best
> (depending on how close the language is to one he knows).

True, but to become really productive means to familiarize yourself with language, available libraries, coding styles etc... Some languages have steeper curve than others and most people choose the least resistance path, which may not always be optimal from a long-term standpoint.

Alex Fabijanic

Posts: 71
Nickname: aleksf
Registered: Aug, 2006

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 10, 2007 6:11 AM
Reply to this message Reply
> > languages are showing superiority. However, still
> > unanswered question is why the functional languages,
> being
> > around for so long, did not get more traction.
>
> Because they offer a degree of complexity not required by
> most applications.


Possible. I think that the degree of complexity of the functional languages is obstacle to their widespread use due to our "least resistance path" inclination. Along that line, there is also the "paradigm shift" component - we are trained to think of 1+1, rather than +(1,1). In theory, functional languages are better and tidier. And theory and practice are the same. In theory. But not in practice ;-)

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 10, 2007 7:56 AM
Reply to this message Reply
> Possible. I think that the degree of complexity of the
> functional languages is obstacle to their widespread use
> due to our "least resistance path" inclination. Along that
> line, there is also the "paradigm shift" component - we
> are trained to think of 1+1, rather than +(1,1). In
> theory, functional languages are better and tidier. And
> theory and practice are the same. In theory. But not in
> practice ;-)

It seems to me that functional languages suffer because of an element of elitism in the functional community. Pragmatism is frowned upon as a bourgeois attitude. Theoretical performance trumps actual performance etc. etc.

It's unfortunate because functional languages clearly offer a lot, especially as a paradigm for resource management and threading. There's a lot more but these are very pertinent issues that developers in imperative languages struggle with on a daily basis.

One thing to note is that one functional language family has flourished and is used very widely by otherwise imperative development efforts: XPath. But it almost seems like the functional community basically disowns it.

Isaac Gouy

Posts: 527
Nickname: igouy
Registered: Jul, 2003

Re: Should We Strive to Only Have One Language in Our Development Efforts? Posted: Aug 13, 2007 10:19 AM
Reply to this message Reply
- It seems to me that extending Haskell with SQL-like "group by" "order by" does not suggest "elitism".

Comprehensive comprehensions: comprehensions with "Order by" and "Group by"
http://research.microsoft.com/~simonpj/papers/list-comp/index.htm


- It seems to me that pragmatism is abundantly present in the design, development and use of Erlang.

20 Years of Commercial Functional Programming
http://www.erlang.se/workshop/2004/ulfwiger.pdf


- It seems to me that concern for actual performance is the only reasonable explanation for generating specialized C code with a Haskell program.

"Generative Code Specialisation for High-Performance Monte-Carlo Simulations"
http://www.cse.unsw.edu.au/~dons/papers/SCKCB07.html


Real examples not unsupported generalizations.

Flat View: This topic has 60 replies on 5 pages [ « | 1  2  3  4  5 | » ]
Topic: Spring Web Flow 2.0 Milestone 1 Released Previous Topic   Next Topic Topic: Alberto Savoia on Testing the Untestable

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use