The Artima Developer Community
Sponsored Link

Weblogs Forum
Threads, processes and concurrency in Python: some thoughts

15 replies on 2 pages. Most recent reply: Sep 3, 2010 9:21 PM by robert young

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 15 replies on 2 pages [ « | 1 2 ]
robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: I disagree Posted: Sep 3, 2010 9:21 PM
Reply to this message Reply
Advertisement
> More importantly, the average programmer will have access
> to parallel programming libraries like the stuff coming
> out of M$ for .NET. There's likely a spate of such
> libraries for Java and in the open source space as well
> (although none come to mind!)

Until Amdahl's law is repealed, or to put it another way, when client code is inherently parallel, all the libraries in the world won't make sequential code, chopped up into little bitty pieces, be any faster than running said sequential code on one of the cores. It's simple arithmetic.

>
> I think it is a matter of teaching and training. The world
> is parallel.

Servers, sure. Clients, not so much. If that were true, then the Connection Machines, et al would have taken over the world. They didn't.

The industry needs to move toward strategies
> to teach students and aged fogs like myself how to think
> about exploiting parallelism.

Again, read up on the fate of massively parallel machines of the past. Note too, that those writing about Erlang, and such, concentrate on writing servers. That's not a coincidence.

>
> I remember when Objects hit the corporate world (at least
> my corner of it). There were folk saying that the average
> programmer could not understand objects and could not
> effectively develop good object-based applications.

I've been in that world, too. The OO that goes on there ain't OO in any meaningful way. javBOL is the reality.

Yes,
> it's an open question as to whether or not the average
> programmer 'understands' objects but it's a fact that
> corporate America's IT shops are using object technologies
> - maybe poorly - to develop mision-critical apps.

Ain't no maybe about it. And it defeats the purpose of OO. Read Holub.

>
> I expect the same thing to happen with parallel
> programming in the near future.

Not likely. OO, both in theory and certainly in practice, is largely about syntax. Corporate java, certainly, is awash in Data Objects and Action Objects. That ain't no OO. Real OO is inherently event driven, message passing, among autonomous full fledged Objects.

Parallel programming (and concurrent programming, which may or may not be the same thing), which is more efficient than the sequential equivalent, requires parallel semantics in the Real World being coded to. Again, servers fully qualify; standalone/client applications (not the OS supporting the client machine) not so much.

Those who proclaim that client coders will/should be learning parallel/concurrent languages/paradigms need to step forward and state the classes of problems which *require* these paradigms. And offer up some specific examples for those classes.

Flat View: This topic has 15 replies on 2 pages [ « | 1  2 ]
Topic: What's new in plac 0.7 Previous Topic   Next Topic Topic: Memory debugging in Python -- fighting the GC


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us