Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2015-05-10 Thread Scott Jones
The one thing where I think you should change a bit, is that I think you 
should be looking at the big picture already when making language design 
decisions... (for example, the operator for string concatenation ;-), using 
up back tic for commands, or ~ for DataFrames...).
It doesn't mean you have to address all of the issues to make Julia great 
for taking over all of computing right away, but just keep them in mind 
right at the start...

On Thursday, December 4, 2014 at 2:21:14 PM UTC-5, Stefan Karpinski wrote:
>
> This is an awful lot of stuff and I'd like to really make sure that we're 
> killing it in the technical computing niche before declaring that we want 
> to take over all of the computing. However, we were initially a little 
> surprised by how well Julia does as a C++ replacement:
>
>1. static operator/method overloading => multiple dispatch
>2. template-based generics => parametric generic types
>3. performance
>
> The two big C++ features that we're missing are multithreading, which 
> we're working on, and deterministic memory management, which I'd like to 
> tackle at some point in the future, although I have to admit I don't yet 
> have any firm sense of what that will look like. Rust's approach is quite 
> appealing, but hard to replicate in a dynamic language that doesn't enforce 
> type checking.
>
> On Thu, Dec 4, 2014 at 2:09 PM, > wrote:
>
>> I think I remember PL/1 (Programming Language number 1) was also a 
>> langage so much better than anything previously invented  that nobody could 
>> doubt of it replacing everything.
>>
>>
>> On Thursday, December 4, 2014 7:12:24 PM UTC+1, Páll Haraldsson wrote:
>>>
>>>
>>> Hi,
>>>
>>> This is my first post here and since I've gotten your attention, my 
>>> answer: Julia is (or seems to be) good at "everything".[*] But I'm just not 
>>> sure.. [You could stop reading here.]
>>>
>>> I think Julia could be the last language people need to learn (and 
>>> should be the first).[*] Maybe I'm being incredibly naive thinking no 
>>> *better* language will come along and I need to qualify that[*] but it 
>>> seems people here, when saying the Wired article has it wrong (e.g. 
>>> Bezanson), are being modest (or know better than I do). Maybe I just do not 
>>> have enough perspective on languages/paradigms out there. I'm probably 
>>> ignorant on (new) language/paradigm research..
>>>
>>> Is Julia ready for prime time (0.3.3 considered stable)? I see some talk 
>>> of breaking changes ("Array nirvana" and "staged functions" (for C++) will 
>>> they break anything?). I already recommend Julia for technical computing 
>>> (quant/financial) at least (to learn/try); there may be issues (especially 
>>> for those doing non-technical) - for now. That seems to be changing fast.
>>>
>>> I would be preaching to the choir saying Julia is great for its target 
>>> audience. But why do you just want to unify all of technical computing in 
>>> one language and not all of computing? "A fresh approach to technical 
>>> computing" might stop other people from considering Julia. I guess it's 
>>> good to have a niche but I hope other people do not get scared away.
>>>
>>> What is needed is to support all the important platforms so that people 
>>> will not overlook Julia as "it doesn't support my work or run on my 
>>> platform". This means the web (JavaScript as an "assembly language" 
>>> target), Android (and iOS..).
>>>
>>>
>>> At least Bezanson seems to like (love?) Scheme ("femtolisp"). I wander 
>>> if Scheme/Lisp (or any language) is *clearly* better than Julia for 
>>> anything? Or would he stop using Scheme except to maintain Julia's core.. 
>>> [Maybe femtolisp should be removed from Julia (e.g. to bootstrap Julia)..]
>>>
>>> While functional style is getting more popular, people seem to like 
>>> imperative and Julia isn't either or. Can/should !-functions be enforced? 
>>> It is only a recommendation?
>>>
>>> I know Lisp-syntax is "simple". Maybe non-infix notation is "better" in 
>>> a language but only for the interpreter it seems; or in regular math, had 
>>> it been used first/what people are used to. I and most people just don't 
>>> see it. I wander if there is anything to this other than preference. The 
>>> S-expressions that come with Lisp and infix, do they have an inherent 
>>> advantage that Julia can't match? In other words, I think that means, are 
>>> Julia's "Lisp-like" macros and its homoiconicity as powerful as Lisp's?
>>>
>>> As for the (linked) lists (L in Lisp), of course we need lists (and 
>>> trees) sometimes and Julia has them, but as a basic data structure of a 
>>> language, seems to me to be a performance killer. I do not see caches 
>>> (locality of reference) going away any time soon..
>>>
>>>
>>> As all (Turing-complete) languages are equivalent in a sense, one can't 
>>> be more "powerful" than another; "C can implement Lisp", but without that 
>>> exception ("Greenspunning"), programming a new runtime, lang

[julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2015-05-10 Thread Scott Jones
PL/1 (actually Cornell's PL/C, which had a simple REPL) was my very first 
programming language, back in 1973.  At the time, for commercial 
programming, it was much nicer (IMO) than either Fortran or COBOL... It 
supported binary floating point like Fortran and decimal floating point 
like COBOL... on the other hand, it was a very large language, and I don't 
think they ever matched the performance of Fortran for scientific 
programming, so it didn't replace Fortran there, and COBOL just had a huge 
amount of inertia (and IMO the COBOL programmers of the time were not the 
sort to be looking for new and interesting languages to replace COBOL).

On Thursday, December 4, 2014 at 2:09:31 PM UTC-5, Big Stone wrote:
>
> I think I remember PL/1 (Programming Language number 1) was also a 
> langage so much better than anything previously invented  that nobody could 
> doubt of it replacing everything.
>
>>
>>

Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Matt Gushee
On Fri, Dec 5, 2014 at 5:22 PM, ivo welch  wrote:
>
> On Fri, Dec 5, 2014 at 6:47 PM, Páll Haraldsson 
> wrote:
>>
>> what is it you want? Why is web-programming special? And wouldn't Julia be
>> as least as good a fit (for server side) as any other language?
>
> I do not want to hijack the julia list, so I will be short.

I don't either, so I'll be even shorter.
>
> imho, a web language should allow you to pretend that you are programming
> the GUI on a single desktop.

That's kind of the idea behind Node.js, isn't it? Sounds like the
mother of all leaky abstractions to me.

--
Matt Gushee


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread ivo welch
On Fri, Dec 5, 2014 at 6:47 PM, Páll Haraldsson 
wrote:

> All joking aside, you got me intrigued. If there is no good language, then
> what is it you want? Why is web-programming special? And wouldn't Julia be
> as least as good a fit (for server side) as any other language?
>

​I do not want to hijack the julia list, so I will be short.

imho, a web language should allow you to pretend that you are programming
the GUI on a single desktop.  the web is special: the app is not running on
one computer, but on one client and one server, and they are glued together
by many protocols, not just one [like X].  the (compiled) language output
should be transparent and generate all the html5/javascript/ajax/cgi/etc.
necessary to implement the tasks.think "intelligent Tk" that can work
server/client on the web, if you wish.  a GUI designer could itself then be
integrated to make it even better.

one should not have to write both server-side cgi programs and client-side
javascript for one application.  one should not even have to learn
javascript...


Ivo Welch (ivo.we...@gmail.com)
http://www.ivo-welch.info/


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Jeff Waller


On Friday, December 5, 2014 12:43:20 PM UTC-5, Steven G. Johnson wrote:
>
> On Friday, December 5, 2014 9:57:42 AM UTC-5, Sebastian Nowozin wrote:
>>
>> I find Julia great, but for the technical computing goal, my biggest 
>> grime with Julia (0.3.3 and 0.4.0-dev) at the moment is the lack of simple 
>> OpenMP-style parallelism.
>>
>
> See the discussion at:
>   https://github.com/JuliaLang/julia/issues/1790
> and the considerable work in progress on multithreading in Julia:
>   https://github.com/JuliaLang/julia/tree/threads
>
> There is DArray and pmap, but they have large communication overheads for 
>> shared-memory parallelism,
>>
>
> This is a somewhat orthogonal issue.  You can have multiple processes and 
> still use a shared address space for data structures.  See:
>
>
> http://julia.readthedocs.org/en/latest/manual/parallel-computing/#shared-arrays-experimental
>  
>
> The real difference is the programming model, not so much the 
> communications cost.
>

I think you're right that the interesting thing for a language is the 
model, but at the same time
for problems that are too big to reside on 1 machine, you can't ignore the 
communications.

I feel the grail here is to do map-reduce with the bare minimum of language 
elements and hosts
as first-class is too much.  

If I can draw an analogy for a 2-levels removed analogy, what language 
elements guarantee 
@simd will vectorize anything that could possibly be vectorized and what 
will it take to make
@simd completely unnecessary.  In the same way what will it take to make a 
problem
automatically decomposable across hosts in a reasonable way.  Assuming 
everything can
fit on 1 machine is too limiting, but it's so convenient.  

I seems like Julia as a language among other things is predicated on LLVM 
being able to figure
out how to vectorize, and introducing the minimum elements for LLVM to do 
its thing; in this
case typing and immutability and JIT, and from Jacob's graph, looks like 
that was a pretty good
idea.

How about multi-host parallelism?


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Steven G. Johnson
On Friday, December 5, 2014 9:57:42 AM UTC-5, Sebastian Nowozin wrote:
>
> I find Julia great, but for the technical computing goal, my biggest grime 
> with Julia (0.3.3 and 0.4.0-dev) at the moment is the lack of simple 
> OpenMP-style parallelism.
>

See the discussion at:
  https://github.com/JuliaLang/julia/issues/1790
and the considerable work in progress on multithreading in Julia:
  https://github.com/JuliaLang/julia/tree/threads

There is DArray and pmap, but they have large communication overheads for 
> shared-memory parallelism,
>

This is a somewhat orthogonal issue.  You can have multiple processes and 
still use a shared address space for data structures.  See:

   
http://julia.readthedocs.org/en/latest/manual/parallel-computing/#shared-arrays-experimental
 


The real difference is the programming model, not so much the 
communications cost.


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Jeff Waller


On Friday, December 5, 2014 5:47:15 AM UTC-5, Páll Haraldsson wrote:
>
>
>
> On Friday, December 5, 2014 1:11:12 AM UTC, ivo welch wrote:
>>
>>
>> there are no good web development language environments (server, browser) 
>> IMHO, and julia will not fit this bill, either.
>>
>
> You are forgetting PHP :)
>
> All joking aside, you got me intrigued. If there is no good language, then 
> what is it you want? Why is web-programming special? And wouldn't Julia be 
> as least as good a fit (for server side) as any other language?
>
> For client side, I was thinking of writing a separate post on that. Julia 
> could work..
>
> Is it a problem that you have separate languages on either side? Then 
> Julia or any language wouldn't be perfect (until Julia works client side, I 
> don't think JavaScript is better for server-side (than Julia) or best for 
> non-web..).
>
> As for server side I had this crazy idea that Julia and PHP could be 
> combined.. I'm not sure what the best way is to get people to stop using 
> PHP and rewriting from scratch isn't good..
>

Nah, man, Javascript!  But of course I'm going to say that.

The main problems with PHP

It's not cool.
It's perceived as slow.

The language elements or lack of language elements can be argued, but those 
things eventually get fixed so long as people remain interested.  I think 
there is value in having the same language on both sides not for technical 
reasons, but because mostly it promotes freedom and free flow of ideas, but 
at the same time, only Sauron was able to fashion the One to Rule Them All, 
and he was a villain. It's not all just a popularity contest either, but 
that's part of it.  It's no good to have a perfect but unpopular language. 
 And anyway who wants just one language for everything? too dull!


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Sebastian Nowozin

Hi,

I find Julia great, but for the technical computing goal, my biggest grime 
with Julia (0.3.3 and 0.4.0-dev) at the moment is the lack of simple 
OpenMP-style parallelism.
There is DArray and pmap, but they have large communication overheads for 
shared-memory parallelism, and also, quite frankly, an unintuitive 
parallelism model and lack of documentation.

I often have code of the OpenMP-style type:



for i=1:N
  # (i.e. all memory-writes are disjoint)
end

Doing this cheaply on a multicore shared-memory machine is currently 
difficult in Julia (on Windows at least), so I only use one out of my 12 
cores.
With C++ I have to add one line of "#pragma omp parallel for 
schedule(dynamic)" to use 12 out of 12 cores.

Sebastian

On Thursday, 4 December 2014 19:38:20 UTC, Stefan Karpinski wrote:
>
> Wow, that's a pretty interesting graph – I'd like to start using something 
> like that in presentations. Of course, it's bound to be contentious because 
> no one has really spent any effort on making the benchmark codes terser. In 
> fact, I was pretty cut-and-paste happy with the initial versions in other 
> languages because I just wanted to bang out something that worked in each 
> language, rather than take lots of time to figure out the most elegant way 
> to time things, for example.
>
> On Thu, Dec 4, 2014 at 2:25 PM, Simon Danisch  > wrote:
>
>> Hi,
>> Recently I made a graphic, plotting code length vs speed from the Julia 
>> benchmarks and I was surprised how strongly it favors Julia: 
>> 
>>
>> 
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> (I removed comments, newlines an normalized the length. For the speed I 
>> simply took the average of the benchmarks. Fortran has some weirdly high 
>> values in the csv on JuliaLang though.)
>>
>> Well using code length as a metric is a difficult issue, but I was happy 
>> about the nice, empty area around Julia ;)
>> This could be strongly biased though, maybe someone with more knowledge 
>> about the benchmarks can immediately point out, that Julia is simply the 
>> most polished one.
>>
>>
>> Am Donnerstag, 4. Dezember 2014 19:12:24 UTC+1 schrieb Páll Haraldsson:
>>
>>>
>>> Hi,
>>>
>>> This is my first post here and since I've gotten your attention, my 
>>> answer: Julia is (or seems to be) good at "everything".[*] But I'm just not 
>>> sure.. [You could stop reading here.]
>>>
>>> I think Julia could be the last language people need to learn (and 
>>> should be the first).[*] Maybe I'm being incredibly naive thinking no 
>>> *better* language will come along and I need to qualify that[*] but it 
>>> seems people here, when saying the Wired article has it wrong (e.g. 
>>> Bezanson), are being modest (or know better than I do). Maybe I just do not 
>>> have enough perspective on languages/paradigms out there. I'm probably 
>>> ignorant on (new) language/paradigm research..
>>>
>>> Is Julia ready for prime time (0.3.3 considered stable)? I see some talk 
>>> of breaking changes ("Array nirvana" and "staged functions" (for C++) will 
>>> they break anything?). I already recommend Julia for technical computing 
>>> (quant/financial) at least (to learn/try); there may be issues (especially 
>>> for those doing non-technical) - for now. That seems to be changing fast.
>>>
>>> I would be preaching to the choir saying Julia is great for its target 
>>> audience. But why do you just want to unify all of technical computing in 
>>> one language and not all of computing? "A fresh approach to technical 
>>> computing" might stop other people from considering Julia. I guess it's 
>>> good to have a niche but I hope other people do not get scared away.
>>>
>>> What is needed is to support all the important platforms so that people 
>>> will not overlook Julia as "it doesn't support my work or run on my 
>>> platform". This means the web (JavaScript as an "assembly language" 
>>> target), Android (and iOS..).
>>>
>>>
>>> At least Bezanson seems to like (love?) Scheme ("femtolisp"). I wander 
>>> if Scheme/Lisp (or any language) is *clearly* better than Julia for 
>>> anything? Or would he stop using Scheme except to maintain Julia's core.. 
>>> [Maybe femtolisp should be removed from Julia (e.g. to bootstrap Julia)..]
>>>
>>> While functional style is getting more popular, people seem to like 
>>> imperative and Julia isn't either or. Can/should !-functions be enforced? 
>>> It is only a recommendation?
>>>
>>> I know Lisp-syntax is "simple". Maybe non-infix notation is "better" in 
>>> a language but only for the interpreter it seems; or in regular math, had 
>>> it been used first/what people are used to. I and most people just don't 
>>> see it. I wander if there is anything to this other than prefe

Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Páll Haraldsson


On Friday, December 5, 2014 1:11:12 AM UTC, ivo welch wrote:
>
>
> there are no good web development language environments (server, browser) 
> IMHO, and julia will not fit this bill, either.
>

You are forgetting PHP :)

All joking aside, you got me intrigued. If there is no good language, then 
what is it you want? Why is web-programming special? And wouldn't Julia be 
as least as good a fit (for server side) as any other language?

For client side, I was thinking of writing a separate post on that. Julia 
could work..

Is it a problem that you have separate languages on either side? Then Julia 
or any language wouldn't be perfect (until Julia works client side, I don't 
think JavaScript is better for server-side (than Julia) or best for 
non-web..).

As for server side I had this crazy idea that Julia and PHP could be 
combined.. I'm not sure what the best way is to get people to stop using 
PHP and rewriting from scratch isn't good..

Best regards,
Palli.


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-05 Thread Tamas Papp
On Fri, Dec 05 2014, ivo welch  wrote:

> the most immediate problems for using julia in teaching (instead of R) are 
> (a) the lack of local experts and (b) the lack of books.  perl won out 
> around here because of two books: Learning Perl and the Perl Cookbook.  I 
> can't emphasize enough how much these two books did for perl adoption.  R 
> is tolerable only because it has such a terrific and deep support group 
> (mailing list) on the internet.

I wanted to switch to Julia (from R) for a teaching course
(computational methods in economics), and decided against it for now,
for the following reasons:

1. plotting is not (yet) comparable,
2. debugging in Julia is currently more difficult than R,
3. the library syntax is a moving target.

Still, given the pace the master branch is moving at, I guess a year
from now Julia will be ready for teaching a course to non-CS students. I
am very much looking forward to this, R has a lot of quirks and traps
that distract students from the course content, Julia has a much more
consistent design.

Best,

Tamas


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread ivo welch

there are no good web development language environments (server, browser) 
IMHO, and julia will not fit this bill, either.

I hope julia will wipe out my need for c++, perl/python, and R.

our school is planning to offer a data analytics masters program in a year 
or two.  this does not require "production-ready" in the sense that we are 
wiring our emergency hospital procedures into code and someone dies if it 
crashes, but it does require enough polish so that the students won't 
revolt.  I would love to abandon R, which is our current plan.

the most immediate problems for using julia in teaching (instead of R) are 
(a) the lack of local experts and (b) the lack of books.  perl won out 
around here because of two books: Learning Perl and the Perl Cookbook.  I 
can't emphasize enough how much these two books did for perl adoption.  R 
is tolerable only because it has such a terrific and deep support group 
(mailing list) on the internet.

/iaw



Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread cdm

excellent !!!

now i am off to "google" the term:

   benchmark bounties


other interesting dimensions in
benchmarking might include:

   OpenSource-ness
   human readability
   cost of system performing the benchmark
   public accessibility of system performing the benchmark


be well,

cdm


On Thursday, December 4, 2014 12:07:23 PM UTC-8, Jacob Quinn wrote:
>
> I actually put together this graph about a year ago for a presentation 
> here at Carnegie Mellon. I took the data from the [great computer shootout 
> benchmarks](http://benchmarksgame.alioth.debian.org/), so the idea is 
> that everybody is crowd-sourcing the best solution for their language.
>
>

Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread Jacob Quinn
I actually put together this graph about a year ago for a presentation here
at Carnegie Mellon. I took the data from the [great computer shootout
benchmarks](http://benchmarksgame.alioth.debian.org/), so the idea is that
everybody is crowd-sourcing the best solution for their language.



On Thu, Dec 4, 2014 at 3:02 PM, cdm  wrote:

>
> definitely an interesting plot ...
>
> i am firmly in the *"Hell Yes, Use It ..."* camp for the following reason:
>
>program length is at the core of information theory
>(see work from G. Chaitin ...)
>
>
> if proponents of other languages wish to occupy space near the
> origin with Julia, then they ought to get busy coding and put forth
> their best benchmark ...
>
> best,
>
> cdm
>
>
>
> On Thursday, December 4, 2014 11:38:20 AM UTC-8, Stefan Karpinski wrote:
>>
>> Wow, that's a pretty interesting graph – I'd like to start using
>> something like that in presentations. Of course, it's bound to be
>> contentious because no one has really spent any effort on making the
>> benchmark codes terser. In fact, I was pretty cut-and-paste happy with the
>> initial versions in other languages because I just wanted to bang out
>> something that worked in each language, rather than take lots of time to
>> figure out the most elegant way to time things, for example.
>>
>


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread cdm

definitely an interesting plot ...

i am firmly in the *"Hell Yes, Use It ..."* camp for the following reason:

   program length is at the core of information theory
   (see work from G. Chaitin ...)


if proponents of other languages wish to occupy space near the
origin with Julia, then they ought to get busy coding and put forth
their best benchmark ...

best,

cdm



On Thursday, December 4, 2014 11:38:20 AM UTC-8, Stefan Karpinski wrote:
>
> Wow, that's a pretty interesting graph – I'd like to start using something 
> like that in presentations. Of course, it's bound to be contentious because 
> no one has really spent any effort on making the benchmark codes terser. In 
> fact, I was pretty cut-and-paste happy with the initial versions in other 
> languages because I just wanted to bang out something that worked in each 
> language, rather than take lots of time to figure out the most elegant way 
> to time things, for example.
>


Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread Stefan Karpinski
Wow, that's a pretty interesting graph – I'd like to start using something
like that in presentations. Of course, it's bound to be contentious because
no one has really spent any effort on making the benchmark codes terser. In
fact, I was pretty cut-and-paste happy with the initial versions in other
languages because I just wanted to bang out something that worked in each
language, rather than take lots of time to figure out the most elegant way
to time things, for example.

On Thu, Dec 4, 2014 at 2:25 PM, Simon Danisch  wrote:

> Hi,
> Recently I made a graphic, plotting code length vs speed from the Julia
> benchmarks and I was surprised how strongly it favors Julia:
> 
>
> 
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> (I removed comments, newlines an normalized the length. For the speed I
> simply took the average of the benchmarks. Fortran has some weirdly high
> values in the csv on JuliaLang though.)
>
> Well using code length as a metric is a difficult issue, but I was happy
> about the nice, empty area around Julia ;)
> This could be strongly biased though, maybe someone with more knowledge
> about the benchmarks can immediately point out, that Julia is simply the
> most polished one.
>
>
> Am Donnerstag, 4. Dezember 2014 19:12:24 UTC+1 schrieb Páll Haraldsson:
>
>>
>> Hi,
>>
>> This is my first post here and since I've gotten your attention, my
>> answer: Julia is (or seems to be) good at "everything".[*] But I'm just not
>> sure.. [You could stop reading here.]
>>
>> I think Julia could be the last language people need to learn (and should
>> be the first).[*] Maybe I'm being incredibly naive thinking no *better*
>> language will come along and I need to qualify that[*] but it seems people
>> here, when saying the Wired article has it wrong (e.g. Bezanson), are being
>> modest (or know better than I do). Maybe I just do not have enough
>> perspective on languages/paradigms out there. I'm probably ignorant on
>> (new) language/paradigm research..
>>
>> Is Julia ready for prime time (0.3.3 considered stable)? I see some talk
>> of breaking changes ("Array nirvana" and "staged functions" (for C++) will
>> they break anything?). I already recommend Julia for technical computing
>> (quant/financial) at least (to learn/try); there may be issues (especially
>> for those doing non-technical) - for now. That seems to be changing fast.
>>
>> I would be preaching to the choir saying Julia is great for its target
>> audience. But why do you just want to unify all of technical computing in
>> one language and not all of computing? "A fresh approach to technical
>> computing" might stop other people from considering Julia. I guess it's
>> good to have a niche but I hope other people do not get scared away.
>>
>> What is needed is to support all the important platforms so that people
>> will not overlook Julia as "it doesn't support my work or run on my
>> platform". This means the web (JavaScript as an "assembly language"
>> target), Android (and iOS..).
>>
>>
>> At least Bezanson seems to like (love?) Scheme ("femtolisp"). I wander if
>> Scheme/Lisp (or any language) is *clearly* better than Julia for anything?
>> Or would he stop using Scheme except to maintain Julia's core.. [Maybe
>> femtolisp should be removed from Julia (e.g. to bootstrap Julia)..]
>>
>> While functional style is getting more popular, people seem to like
>> imperative and Julia isn't either or. Can/should !-functions be enforced?
>> It is only a recommendation?
>>
>> I know Lisp-syntax is "simple". Maybe non-infix notation is "better" in a
>> language but only for the interpreter it seems; or in regular math, had it
>> been used first/what people are used to. I and most people just don't see
>> it. I wander if there is anything to this other than preference. The
>> S-expressions that come with Lisp and infix, do they have an inherent
>> advantage that Julia can't match? In other words, I think that means, are
>> Julia's "Lisp-like" macros and its homoiconicity as powerful as Lisp's?
>>
>> As for the (linked) lists (L in Lisp), of course we need lists (and
>> trees) sometimes and Julia has them, but as a basic data structure of a
>> language, seems to me to be a performance killer. I do not see caches
>> (locality of reference) going away any time soon..
>>
>>
>> As all (Turing-complete) languages are equivalent in a sense, one can't
>> be more "powerful" than another; "C can implement Lisp", but without that
>> exception ("Greenspunning"), programming a new runtime, languages with real
>> macros can be more powerful. I used to associate macros with Lisp, are
>> there (m)any other "ALGOL-like"/non-S-expression/not-list-based
>> languages with real macros? Is Julia a first? I understand macros are the
>> key 

[julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread Simon Danisch
Hi,
Recently I made a graphic, plotting code length vs speed from the Julia 
benchmarks and I was surprised how strongly it favors Julia: 




































(I removed comments, newlines an normalized the length. For the speed I 
simply took the average of the benchmarks. Fortran has some weirdly high 
values in the csv on JuliaLang though.)

Well using code length as a metric is a difficult issue, but I was happy 
about the nice, empty area around Julia ;)
This could be strongly biased though, maybe someone with more knowledge 
about the benchmarks can immediately point out, that Julia is simply the 
most polished one.


Am Donnerstag, 4. Dezember 2014 19:12:24 UTC+1 schrieb Páll Haraldsson:
>
>
> Hi,
>
> This is my first post here and since I've gotten your attention, my 
> answer: Julia is (or seems to be) good at "everything".[*] But I'm just not 
> sure.. [You could stop reading here.]
>
> I think Julia could be the last language people need to learn (and should 
> be the first).[*] Maybe I'm being incredibly naive thinking no *better* 
> language will come along and I need to qualify that[*] but it seems people 
> here, when saying the Wired article has it wrong (e.g. Bezanson), are being 
> modest (or know better than I do). Maybe I just do not have enough 
> perspective on languages/paradigms out there. I'm probably ignorant on 
> (new) language/paradigm research..
>
> Is Julia ready for prime time (0.3.3 considered stable)? I see some talk 
> of breaking changes ("Array nirvana" and "staged functions" (for C++) will 
> they break anything?). I already recommend Julia for technical computing 
> (quant/financial) at least (to learn/try); there may be issues (especially 
> for those doing non-technical) - for now. That seems to be changing fast.
>
> I would be preaching to the choir saying Julia is great for its target 
> audience. But why do you just want to unify all of technical computing in 
> one language and not all of computing? "A fresh approach to technical 
> computing" might stop other people from considering Julia. I guess it's 
> good to have a niche but I hope other people do not get scared away.
>
> What is needed is to support all the important platforms so that people 
> will not overlook Julia as "it doesn't support my work or run on my 
> platform". This means the web (JavaScript as an "assembly language" 
> target), Android (and iOS..).
>
>
> At least Bezanson seems to like (love?) Scheme ("femtolisp"). I wander if 
> Scheme/Lisp (or any language) is *clearly* better than Julia for anything? 
> Or would he stop using Scheme except to maintain Julia's core.. [Maybe 
> femtolisp should be removed from Julia (e.g. to bootstrap Julia)..]
>
> While functional style is getting more popular, people seem to like 
> imperative and Julia isn't either or. Can/should !-functions be enforced? 
> It is only a recommendation?
>
> I know Lisp-syntax is "simple". Maybe non-infix notation is "better" in a 
> language but only for the interpreter it seems; or in regular math, had it 
> been used first/what people are used to. I and most people just don't see 
> it. I wander if there is anything to this other than preference. The 
> S-expressions that come with Lisp and infix, do they have an inherent 
> advantage that Julia can't match? In other words, I think that means, are 
> Julia's "Lisp-like" macros and its homoiconicity as powerful as Lisp's?
>
> As for the (linked) lists (L in Lisp), of course we need lists (and trees) 
> sometimes and Julia has them, but as a basic data structure of a language, 
> seems to me to be a performance killer. I do not see caches (locality of 
> reference) going away any time soon..
>
>
> As all (Turing-complete) languages are equivalent in a sense, one can't be 
> more "powerful" than another; "C can implement Lisp", but without that 
> exception ("Greenspunning"), programming a new runtime, languages with real 
> macros can be more powerful. I used to associate macros with Lisp, are 
> there (m)any other "ALGOL-like"/non-S-expression/not-list-based languages 
> with real macros? Is Julia a first? I understand macros are the key to 
> Lisp's power and Lisp is said to be the most powerful language.
>
>
> In short is there any area where another language (which one and for what) 
> would be (*clearly*) better (not just slightly, see my metric below)? Maybe 
> I'm not asking the right people.. I can assume people here have language 
> theory covered (the basic three (more?) categories including logic 
> programming/Prolog) that I know (and, I guess, a deeper understanding than 
> I do).
>
>
> If course which language (syntax) is best, is partly a value judgment; 
> maybe somewhat a personal taste and objectively there may be no best 
> langua

Re: [julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread Stefan Karpinski
This is an awful lot of stuff and I'd like to really make sure that we're
killing it in the technical computing niche before declaring that we want
to take over all of the computing. However, we were initially a little
surprised by how well Julia does as a C++ replacement:

   1. static operator/method overloading => multiple dispatch
   2. template-based generics => parametric generic types
   3. performance

The two big C++ features that we're missing are multithreading, which we're
working on, and deterministic memory management, which I'd like to tackle
at some point in the future, although I have to admit I don't yet have any
firm sense of what that will look like. Rust's approach is quite appealing,
but hard to replicate in a dynamic language that doesn't enforce type
checking.

On Thu, Dec 4, 2014 at 2:09 PM,  wrote:

> I think I remember PL/1 (Programming Language number 1) was also a
> langage so much better than anything previously invented  that nobody could
> doubt of it replacing everything.
>
>
> On Thursday, December 4, 2014 7:12:24 PM UTC+1, Páll Haraldsson wrote:
>>
>>
>> Hi,
>>
>> This is my first post here and since I've gotten your attention, my
>> answer: Julia is (or seems to be) good at "everything".[*] But I'm just not
>> sure.. [You could stop reading here.]
>>
>> I think Julia could be the last language people need to learn (and should
>> be the first).[*] Maybe I'm being incredibly naive thinking no *better*
>> language will come along and I need to qualify that[*] but it seems people
>> here, when saying the Wired article has it wrong (e.g. Bezanson), are being
>> modest (or know better than I do). Maybe I just do not have enough
>> perspective on languages/paradigms out there. I'm probably ignorant on
>> (new) language/paradigm research..
>>
>> Is Julia ready for prime time (0.3.3 considered stable)? I see some talk
>> of breaking changes ("Array nirvana" and "staged functions" (for C++) will
>> they break anything?). I already recommend Julia for technical computing
>> (quant/financial) at least (to learn/try); there may be issues (especially
>> for those doing non-technical) - for now. That seems to be changing fast.
>>
>> I would be preaching to the choir saying Julia is great for its target
>> audience. But why do you just want to unify all of technical computing in
>> one language and not all of computing? "A fresh approach to technical
>> computing" might stop other people from considering Julia. I guess it's
>> good to have a niche but I hope other people do not get scared away.
>>
>> What is needed is to support all the important platforms so that people
>> will not overlook Julia as "it doesn't support my work or run on my
>> platform". This means the web (JavaScript as an "assembly language"
>> target), Android (and iOS..).
>>
>>
>> At least Bezanson seems to like (love?) Scheme ("femtolisp"). I wander if
>> Scheme/Lisp (or any language) is *clearly* better than Julia for anything?
>> Or would he stop using Scheme except to maintain Julia's core.. [Maybe
>> femtolisp should be removed from Julia (e.g. to bootstrap Julia)..]
>>
>> While functional style is getting more popular, people seem to like
>> imperative and Julia isn't either or. Can/should !-functions be enforced?
>> It is only a recommendation?
>>
>> I know Lisp-syntax is "simple". Maybe non-infix notation is "better" in a
>> language but only for the interpreter it seems; or in regular math, had it
>> been used first/what people are used to. I and most people just don't see
>> it. I wander if there is anything to this other than preference. The
>> S-expressions that come with Lisp and infix, do they have an inherent
>> advantage that Julia can't match? In other words, I think that means, are
>> Julia's "Lisp-like" macros and its homoiconicity as powerful as Lisp's?
>>
>> As for the (linked) lists (L in Lisp), of course we need lists (and
>> trees) sometimes and Julia has them, but as a basic data structure of a
>> language, seems to me to be a performance killer. I do not see caches
>> (locality of reference) going away any time soon..
>>
>>
>> As all (Turing-complete) languages are equivalent in a sense, one can't
>> be more "powerful" than another; "C can implement Lisp", but without that
>> exception ("Greenspunning"), programming a new runtime, languages with real
>> macros can be more powerful. I used to associate macros with Lisp, are
>> there (m)any other "ALGOL-like"/non-S-expression/not-list-based
>> languages with real macros? Is Julia a first? I understand macros are the
>> key to Lisp's power and Lisp is said to be the most powerful language.
>>
>>
>> In short is there any area where another language (which one and for
>> what) would be (*clearly*) better (not just slightly, see my metric below)?
>> Maybe I'm not asking the right people.. I can assume people here have
>> language theory covered (the basic three (more?) categories including logic
>> programming/Prolog) that I know (and, I guess, a

[julia-users] Re: What is Julia bad for - currently? Practically (or theoretically) - any other language more "powerful"?

2014-12-04 Thread stonebig34
I think I remember PL/1 (Programming Language number 1) was also a langage 
so much better than anything previously invented  that nobody could doubt 
of it replacing everything.

On Thursday, December 4, 2014 7:12:24 PM UTC+1, Páll Haraldsson wrote:
>
>
> Hi,
>
> This is my first post here and since I've gotten your attention, my 
> answer: Julia is (or seems to be) good at "everything".[*] But I'm just not 
> sure.. [You could stop reading here.]
>
> I think Julia could be the last language people need to learn (and should 
> be the first).[*] Maybe I'm being incredibly naive thinking no *better* 
> language will come along and I need to qualify that[*] but it seems people 
> here, when saying the Wired article has it wrong (e.g. Bezanson), are being 
> modest (or know better than I do). Maybe I just do not have enough 
> perspective on languages/paradigms out there. I'm probably ignorant on 
> (new) language/paradigm research..
>
> Is Julia ready for prime time (0.3.3 considered stable)? I see some talk 
> of breaking changes ("Array nirvana" and "staged functions" (for C++) will 
> they break anything?). I already recommend Julia for technical computing 
> (quant/financial) at least (to learn/try); there may be issues (especially 
> for those doing non-technical) - for now. That seems to be changing fast.
>
> I would be preaching to the choir saying Julia is great for its target 
> audience. But why do you just want to unify all of technical computing in 
> one language and not all of computing? "A fresh approach to technical 
> computing" might stop other people from considering Julia. I guess it's 
> good to have a niche but I hope other people do not get scared away.
>
> What is needed is to support all the important platforms so that people 
> will not overlook Julia as "it doesn't support my work or run on my 
> platform". This means the web (JavaScript as an "assembly language" 
> target), Android (and iOS..).
>
>
> At least Bezanson seems to like (love?) Scheme ("femtolisp"). I wander if 
> Scheme/Lisp (or any language) is *clearly* better than Julia for anything? 
> Or would he stop using Scheme except to maintain Julia's core.. [Maybe 
> femtolisp should be removed from Julia (e.g. to bootstrap Julia)..]
>
> While functional style is getting more popular, people seem to like 
> imperative and Julia isn't either or. Can/should !-functions be enforced? 
> It is only a recommendation?
>
> I know Lisp-syntax is "simple". Maybe non-infix notation is "better" in a 
> language but only for the interpreter it seems; or in regular math, had it 
> been used first/what people are used to. I and most people just don't see 
> it. I wander if there is anything to this other than preference. The 
> S-expressions that come with Lisp and infix, do they have an inherent 
> advantage that Julia can't match? In other words, I think that means, are 
> Julia's "Lisp-like" macros and its homoiconicity as powerful as Lisp's?
>
> As for the (linked) lists (L in Lisp), of course we need lists (and trees) 
> sometimes and Julia has them, but as a basic data structure of a language, 
> seems to me to be a performance killer. I do not see caches (locality of 
> reference) going away any time soon..
>
>
> As all (Turing-complete) languages are equivalent in a sense, one can't be 
> more "powerful" than another; "C can implement Lisp", but without that 
> exception ("Greenspunning"), programming a new runtime, languages with real 
> macros can be more powerful. I used to associate macros with Lisp, are 
> there (m)any other "ALGOL-like"/non-S-expression/not-list-based languages 
> with real macros? Is Julia a first? I understand macros are the key to 
> Lisp's power and Lisp is said to be the most powerful language.
>
>
> In short is there any area where another language (which one and for what) 
> would be (*clearly*) better (not just slightly, see my metric below)? Maybe 
> I'm not asking the right people.. I can assume people here have language 
> theory covered (the basic three (more?) categories including logic 
> programming/Prolog) that I know (and, I guess, a deeper understanding than 
> I do).
>
>
> If course which language (syntax) is best, is partly a value judgment; 
> maybe somewhat a personal taste and objectively there may be no best 
> language.
>
>
> People focus much on the speed of Julia. My metric is not (just) the 
> speed. I see basically just that dimension (parallel is part of that) and 
> then readability as important. And that means how short the programs can be 
> (without getting cryptic). I could maybe go with programming fault rates as 
> a third or safety/fault-tolerance (see Erlang or hard real-time) as some 
> third/fourth metric but fault rate is stated as being (roughly) independent 
> of lines of code. So let's just stick with how short you can make code 
> (while keeping readability) as a metric. Is there a reason Lisp or Prolog 
> (or Haskell or other language I know less about) should