Page 2 of 2

Re: Good languages that are elegant and fast executing

Posted: Sun Dec 28, 2008 2:15 pm
by alex.barylski
Erlang combines ideas from the world of functional programming with techniques for building fault-tolerant systems to make a powerful language for building the massively parallel, networked applications of the future.
That is the only part that interested me. I'm curious to know what they mean by fault tolerant exactly.

Developing multi-threaded applications is pretty complex, so if the language simplified that I could see that being useful if you were interested developing for multi-core.
for clustered, process intensive number crunching applications that need to "run in the cloud"
Not sure any language would be better or worse in this regard as the seperation of processes is physical.

You might want to check out: http://setiathome.berkeley.edu/

Cheers,
Alex

Re: Good languages that are elegant and fast executing

Posted: Sun Dec 28, 2008 3:28 pm
by josh
PCSpectra wrote:You might want to check out: http://setiathome.berkeley.edu/
Seen it, I'd rather see people run the one that helps solve cancer, as I've lost family to that, and never seen an alien, personally ;-)

Also apparently its not only better on multiple "cores" but multiple nodes in a cluster as well. Its more fault tolerant, for one because if you tell it a=1; you can't come back and say a=2; later, what are you some kind of lier? I'm sure there's more to functional programming then this but this is what I learned from reading up about it. I want to learn all these languages now, just to see what they're all about.

Re: Good languages that are elegant and fast executing

Posted: Sun Dec 28, 2008 5:59 pm
by josh
I found this. http://www.linux.com/feature/57073
If you don't happen to have on hand a cluster of locally present computer systems, you can use BOINC to set up a single Linux server for your project, and volunteers from around the globe can allow you to use their system resources by joining your project. Everyone who wishes to provide resources to your project has to download and set up a BOINC client, which acts as the communicater between the server and resource provider.

Originally developed out of the SETI@home project, BOINC now runs on more than 400,000 computers worldwide, which operate at the massive aggregate speed of 613.851 TeraFLOPS, according to BOINCstats.

BOINC programs can be linked to and used on a multiple platforms such as Microsoft Windows (95 or later) and Linux running on an Intel x86-compatible processor, Mac OS running on Motorola PowerPC or Intel, and Solaris 2.7 or later running on a SPARC-compatible processor.

The flow of data between BOINC server and client is carried out through commercial Internet connections, which can be slow and thus not suitable for application that produce or consume more than a gigabyte of data per day.
For secure applications you could even "tokenize" the data where a node only crunched symbolic numbers like PIDs instead of client names, that got looked up in the main node when data was commited back, like how the session architecture in PHP works, where the secure data is kept on the "server" and the clients only have a pointer to it. Or potentially one could modify this to allow for geographically disperse servers that were under a trusted care taker's control

* Edit: hmm I just realized that is the difference between a "grid" and a "cluster". Interesting.

Re: Good languages that are elegant and fast executing

Posted: Thu Jan 08, 2009 9:40 am
by josh
http://www.nytimes.com/2009/01/07/techn ... .html?_r=1
R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca partly because data mining has entered a golden age, whether being used to set ad prices, find new drugs more quickly or fine-tune financial models. Companies as diverse as Google, Pfizer, Merck, Bank of America, the InterContinental Hotels Group and Shell use it.

Re: Good languages that are elegant and fast executing

Posted: Thu Jan 08, 2009 11:38 am
by Jenk
PCSpectra wrote:That is the only part that interested me. I'm curious to know what they mean by fault tolerant exactly.
They mean if a processor (machine) goes down in a farm, it's tolerated, and won't prevent the overall operation from completing.

Re: Good languages that are elegant and fast executing

Posted: Thu Jan 08, 2009 12:03 pm
by josh
Is that more difficult to build in than it seems? Seems straight forward but I'm sure theres value to the language

Re: Good languages that are elegant and fast executing

Posted: Thu Jan 08, 2009 5:39 pm
by alex.barylski
Is that more difficult to build in than it seems? Seems straight forward but I'm sure theres value to the language
I would imagine that is handled at the kernel level, I would think you would maybe work with a SDK to make your application multie-core(CPU) aware.