l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
October 7: Social gathering
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2011 Jun 18 23:55

The following is an archive of a post made to our 'vox mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox] Who thinks Java is cool?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox] Who thinks Java is cool?



On Wed, Jun 15, 2011 at 08:49:37PM -0700, Bill Broadley wrote:

> Been busy, but I couldn't represent throwing out a few (er, well it
> started that way) thoughts.

Thanks for the essay, very interesting.

> Python has very nice combination of easy to use, powerful, yet
> structured enough so non-trivial sized programs don't turn into a mess.
> I'm not a big fan of the lack of types, but that's not a major issue
> for me.  I like how the language is growing, still well designed, and
> willing to depreciate the old approach and keeping thing coherent and
> well designed.  While the GIL is gross, python seems relatively unique
> in providing multiprocess safe pipes and queues as part of the language
> standard.  Suddenly having 1-N producers and 1-M consumers safely
> communicating to keep that fancy multicore phone/tablet/laptop/server is
> rather straight forward.

Python is my favorite language for general-purpose programming (R for
data/statistical stuff), but the GIL continues to be a major issue.
They did add the "multiprocessing" package which helps a bit, but only a
bit.

> Oh, for anyone interested in learning python google has a cool 2 day
> class that has 7 lectures, laps, and is rather well done.  You'll
> definitely have a good grasp of the basics by the end if you have any
> familiarity with any programming language.  Hopefully folks can figure
> out how to find said online class.

Or see my own Python tutorial :-) .  It's at

   http://heather.cs.ucdavis.edu/~matloff/python.html 
 
The first unit is on the general language, then there are units on
networks, threading and so on.

> I've recently been tinkering with Go.  It's strongly typed (which I
> like), has a nice clear syntax, and is available compiled or
> interpreted.  It seems to be the most multi-processing friendly language
> I've tried.  I wrote a multithreaded mandlebrot solver that was the
> fastest go implementation for the debian alioth benchmark last I
> checked.  It was shockingly easy (a single sitting) to write a producer
> of chunks, asynchronously talk to N clients that got variable sized
> chunks of work and talk to a single consumer to take the out of order
> chunks of finished work and write them in order to a file.
> Disappointingly my first implementation while elegant, was a bit
> overkill for the example program provided with not much I/O and a fair
> bit of work per pixel.  No points for more efficient I/O, higher
> parallelism, or less sensitivity to highly variable CPU per chunk.
 
> I kind of think of Go as a second generation C designed to be more OO
> and multicore friendly.  I particular I'm really fond of channels.

Unfortunately, I have the opposite point of view.  Thanks for pointing
us to Go (I'd been vaguely aware of it), but the use of channels would
be a big negative for me.  It's generally believed in the parallel
processing community that the shared-memory paradigm makes for clearer
code than does message-passing, and I personally agree.

It's too bad, because I really like coroutines, which I see Go includes
and indeed highlights.  (Python can set them up too, using generators.)
But lack of shared-memory would be a big drawback for me.

Or have a misread the Go Web page?

What is your opinion of the Cilk language?

By the way, thanks to Alex for the info on Sun/Oracle.  Again, this is
something I had only been vaguely aware of.

Norm

_______________________________________________
vox mailing list
vox@lists.lugod.org
http://lists.lugod.org/mailman/listinfo/vox



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Sunset Systems
Who graciously hosts our website & mailing lists!