The Artima Developer Community
Sponsored Link

Artima Developer Spotlight Forum
Where is Software Development Heading in 2007?

61 replies on 5 pages. Most recent reply: Jan 4, 2007 10:47 AM by John C. Walker

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 61 replies on 5 pages [ « | 1 2 3 4 5 | » ]
James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 6:19 AM
Reply to this message Reply
Advertisement
> :-) i think that this is an hot topic
>
> The most part of nowadays programmers ignore things like
> "data parallelism" or "processors scalability" or
> "processors load balancing". They are hard stuff!

I keep hearing all this about how hard parallel programming is. It's definitely more difficult than single-threading but I feel like this is a little exaggerated. Maybe if I still used C++ I would feel differently.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 6:35 AM
Reply to this message Reply
James, must everything be an excuse to put down C++? Threading in C++ (currently) is done by using the native threading of the OS it is running on. What language do you think makes it easier to perform parallel programming than using native methods and why?

Dick Ford

Posts: 149
Nickname: roybatty
Registered: Sep, 2003

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 6:49 AM
Reply to this message Reply
- The limitations of AJAX will cause a growing number of developers to look at solutions that are not provided by the stock browser

- Maybe not in 2007, but WPF/E will force Adobe to make changes to Flash in the RIA space

- Java will continue to be a mostly server-side phenomena.

- New languages for the JVM get traction because of Java developers backlash to new language construct proposals

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 6:57 AM
Reply to this message Reply
> James, must everything be an excuse to put down C++?
> Threading in C++ (currently) is done by using the native
> threading of the OS it is running on. What language do you
> think makes it easier to perform parallel programming than
> using native methods and why?

My point isn't to put down C++. My understanding is that multi-threading is hard in C++ partly because it's all platform dependent. People who love C++ readily admit this. I'm just hypothesizing that perhaps this is why I keep seeing all these statements about how hard multi-threading is.

I use parallel programming in Java often. I don't think it makes it as easy as it could be but after I understood the basic concepts, I haven't struggled much. Most of the multi-threading errors I see can be traced back to a poor approach. Usually these approaches are rooted in premature optimizations and a procedural style.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 7:04 AM
Reply to this message Reply
> Usually these approaches are rooted in
> premature optimizations and a procedural style.

Also, I find that a lot of developers don't understand how threading works in general. Which leads to some interesting approaches.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 8:20 AM
Reply to this message Reply
> My point isn't to put down C++. My understanding is that
> multi-threading is hard in C++ partly because it's all
> platform dependent

But nobody said anything about platform-independent parallel processing and given that the vast majority of software isn't platform-independent, it's not as if it's a given. In any case, I'm glad you that you clarified that your comments were restricted to a special case.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 8:33 AM
Reply to this message Reply
> > My point isn't to put down C++. My understanding is
> that
> > multi-threading is hard in C++ partly because it's all
> > platform dependent
>
> But nobody said anything about platform-independent
> parallel processing and given that the vast majority of
> software isn't platform-independent, it's not as if it's a
> given. In any case, I'm glad you that you clarified that
> your comments were restricted to a special case.

I'm not restricting it to a special case. I'm not claiming that C++ makes it hard to thread either. I've heard that it is the case from C++ developers. I just don't understand why I keep seeing these comments about how hard threading is. Perhaps it has nothing to do with which language is being used. I was thinking that maybe the thread abstractions in Java make it easier and I might find it more difficult if I didn't have that to help me. Maybe it's just that most developers don't really understand threading. I've had to explain to many developers that Objects and methods don't execute code and that 'synchronizing an Object' is kind of nonsensical.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 8:50 AM
Reply to this message Reply
> I'm not
> claiming that C++ makes it hard to thread either.
I've
> heard that it is the case from C++ developers.

I don't understand how the above can be reconciled with the below:

>I keep hearing all this about how hard parallel programming is. It's definitely more difficult than single-threading but I feel like this is a little exaggerated. Maybe if I still used C++ I would feel differently.

It's this kind of back-pedaling that makes me suspect that you just wanted to get some digs in against C++.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 9:13 AM
Reply to this message Reply
> > I'm not
> > claiming that C++ makes it hard to thread either.

> I've
> > heard that it is the case from C++ developers.
>
> I don't understand how the above can be reconciled with
> the below:

Really? I don't know what to tell you. Look up the definition of 'maybe'?

> It's this kind of back-pedaling that makes me suspect that
> you just wanted to get some digs in against C++.

And you overreacting over this makes me suspect you are trying to get in some digs at me. Why do you care? Are you married to C++? Did you have some hand in the creation of C++? This is like getting angry at me for thinking a santoku is better than a chef's knife for chopping celery. I'm not really sure how this kind of emotional attachment to a language helps anyone. You haven't actually explained why threading in C++ is just as easy as it is in Java. I'm completely open to that being the case.

Look, instead of saying 'threading is easy and if you think it is hard, you are incompetent' I thought I'd try to be diplomatic and leave the door open for some other factor that might explain why this is perceived as being difficult. C++ was named because it's popular and supports threading but not at a language level. I can't name another language where threading is commonly used and not part of the language.

Leandro Oliveira

Posts: 21
Nickname: lao
Registered: Aug, 2003

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 9:22 AM
Reply to this message Reply
> I keep hearing all this about how hard parallel
> programming is. It's definitely more difficult than
> single-threading but I feel like this is a little
> exaggerated. Maybe if I still used C++ I would feel
> differently.

Not all developers have the luxury of solving trivially parallelizable problems. IMO, that's why you keep hearing that parallel programming is hard.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 9:42 AM
Reply to this message Reply
> > I keep hearing all this about how hard parallel
> > programming is. It's definitely more difficult than
> > single-threading but I feel like this is a little
> > exaggerated. Maybe if I still used C++ I would feel
> > differently.
>
> Not all developers have the luxury of solving trivially
> parallelizable problems. IMO, that's why you keep hearing
> that parallel programming is hard.

Maybe that's part of it. I don't think that the majority of it. I see gui applications that 'go gray' on me during long operations. Windows XP explorer doesn't multi-thread it's network lookups. These are not difficult problems to solve.

It seems to me that most problems that are going to benefit greatly from parallel processing are going to be fairly simple to thread. At the very least, a lot of this low-hanging fruit is still out there to grab. Perhaps if you could give an example of what you would consider a non-trivial threading problem the discussion might be more illuminating.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

The "maybe" defense? Posted: Jan 3, 2007 10:12 AM
Reply to this message Reply
> Really? I don't know what to tell you. Look up the
> definition of 'maybe'?

Be honest, James. If somebody had made the same statements as you but used "java" in place of "C++", you'd be on it like white on rice and you wouldn't let them weasel out of it by invoking the "maybe" defense.

> And you overreacting over this makes me suspect you are
> trying to get in some digs at me. Why do you care? Are
> you married to C++? Did you have some hand in the
> creation of C++? This is like getting angry at me for
> thinking a santoku is better than a chef's knife for
> chopping celery. I'm not really sure how this kind of
> emotional attachment to a language helps anyone.

I hardly know where to begin. Why do you consider "calling" you on your unsubstantiated statements overreacting? I don' have any emotional attachment to C++, I'm not even using it (by choice) on my current project.

You
> haven't actually explained why threading in C++ is just as
> easy as it is in Java. I'm completely open to that being
> the case.

This is a common ploy, but I'm I'm wise to it. I have no hypothesis to prove, I'm just challenging yours.

>
> Look, instead of saying 'threading is easy and if you
> think it is hard, you are incompetent' I thought I'd try
> to be diplomatic and leave the door open for some other
> factor that might explain why this is perceived as being
> difficult. C++ was named because it's popular and
> supports threading but not at a language level. I can't
> name another language where threading is commonly used and
> not part of the language.


The fact that you were even thinking that only an incompetent would consider threading difficult speaks volumes about your way of thinking. To paraphrase Shakespeare "There are more things in the world of programming, James, than are dreamt of in your philosophy."

We all have experience only in a small subset of the programming world. Don't make too many assumptions about those parts you know nothing about.

Leandro Oliveira

Posts: 21
Nickname: lao
Registered: Aug, 2003

Re: Where is Software Development Heading in 2007? Posted: Jan 3, 2007 10:13 AM
Reply to this message Reply
> It seems to me that most problems that are going to
> benefit greatly from parallel processing are going to be
> fairly simple to thread. At the very least, a lot of this
> low-hanging fruit is still out there to grab.

I agree.

> Perhaps if
> you could give an example of what you would consider a
> non-trivial threading problem the discussion might be more
> illuminating.

Of the top of my head, real-time simulation, like physics in games. There are lots of dependencies. You can parallelize things, sure, but it's not as simple as lauching a thread.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: The "maybe" defense? Posted: Jan 3, 2007 10:48 AM
Reply to this message Reply
> > Really? I don't know what to tell you. Look up the
> > definition of 'maybe'?
>
> Be honest, James. If somebody had made the same statements
> as you but used "java" in place of "C++", you'd be on it
> like white on rice and you wouldn't let them weasel out of
> it by invoking the "maybe" defense.

No. I wouldn't. Honestly. If they used Erlang or some other language with really good enhanced threading support it would be a quite sensible thing to say.

I don't have any special bond with Java. It's a tool that happen to know well. That is all. It's actually quite lacking in many ways.

> > And you overreacting over this makes me suspect you are
> > trying to get in some digs at me. Why do you care?
> Are
> > you married to C++? Did you have some hand in the
> > creation of C++? This is like getting angry at me for
> > thinking a santoku is better than a chef's knife for
> > chopping celery. I'm not really sure how this kind of
> > emotional attachment to a language helps anyone.
>
> I hardly know where to begin. Why do you consider
> "calling" you on your unsubstantiated statements
> overreacting?

No, all the accusations that I am lying and your insistence on psychoanalyzing me is aggressive and insulting.

> I don' have any emotional attachment to C++,
> I'm not even using it (by choice) on my current project.

Then why do you jump to the conclusion that 'I am getting my digs in'? Your interpretation of my statement clearly shows that you gave it an emotional context.

> You
> > haven't actually explained why threading in C++ is just
> as
> > easy as it is in Java. I'm completely open to that
> being
> > the case.
>
> This is a common ploy, but I'm I'm wise to it. I have no
> hypothesis to prove, I'm just challenging yours.

I said that I might feel differently about the ease of threading if I used C++ instead. I can't prove or disprove this. I don't use C++. I was really hoping that the person who made the statement would either verify that they do use C++ exclusively or that they did not. I'm trying to understand whether people struggle with the mechanics of threading or the concept of threading.

You've fundamentally misjudged me and I don't care to bicker with you over what I was thinking. You can't possibly know what was or is in my head so stop pretending you do.

> The fact that you were even thinking that only an
> incompetent would consider threading difficult speaks
> volumes about your way of thinking. To paraphrase
> Shakespeare "There are more things in the world of
> programming, James, than are dreamt of in your
> philosophy."

Again you misunderstand me.

> ...Don't make too many assumptions about
> those parts you know nothing about.

Maybe you should consider your own advice. You don't know me.

Jeff Ratcliff

Posts: 242
Nickname: jr1
Registered: Feb, 2006

Re: The "maybe" defense? Posted: Jan 3, 2007 11:09 AM
Reply to this message Reply
> No. I wouldn't. Honestly. If they used Erlang or some
> other language with really good enhanced threading support
> it would be a quite sensible thing to say.
>
Of course, your statement didn't say anything about Erlang or any other language, you just implied that it was a C++ problem, so your example is irrelevant. Nevertheless, I'll take you at your word.

> No, all the accusations that I am lying and your
> insistence on psychoanalyzing me is aggressive and
> insulting.
>
It was you who started talking about my alleged "emotional attachment" to C++. Apparently you have a different standard for your own behavior than for others.

> > I don' have any emotional attachment to C++,
> > I'm not even using it (by choice) on my current
> project.
>
> Then why do you jump to the conclusion that 'I am getting
> my digs in'? Your interpretation of my statement clearly
> shows that you gave it an emotional context.

We weren't talking about C++ at all, and suddenly you made a critical statement about it that you weren't able to support. Look back at your many, many posts and you'll see a guy who has made a lot of criticism of C++. I'm not jumping to conclusions, I'm just drawing the most probable conclusion based on the facts.

> > ...Don't make too many assumptions about
> > those parts you know nothing about.
>
> Maybe you should consider your own advice. You don't know
> me.

All I know about you is based on what you say here

Flat View: This topic has 61 replies on 5 pages [ « | 1  2  3  4  5 | » ]
Topic: It's Official: Jini = Apache River Previous Topic   Next Topic Topic: Rebooting Java Media

Sponsored Links



Google
  Web Artima.com   

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