Stefan, Thanks for the reply.

I am happy to see the core team will continue to push the envelope forward
for technical computing while keeping an eye on Julia as a general purpose
language.  It seems like for the time being it is up to the community
(nothing wrong this) to promote and develop Julia as a general purpose
language. I am up for the challenge!

Another quick comment:

You said: "This is a very different problem from writing highly concurrent
servers, which Clojure and Go are doing a great job of tackling." They are
doing a great job. But, I also believe with the Julia's libuv networking
substrate, Julia is in a great position to be pretty darn good at this area
too.


On Tue, Feb 18, 2014 at 11:41 AM, Stefan Karpinski <[email protected]>wrote:

> Julia is definitely a general purpose language - but one that has been
> carefully designed to be expressive and efficient enough to be really
> excellent for technical computing. This is a surprisingly hard problem, as
> evidenced by the large portion of the core specification and code for many
> languages that consists of special cases for numbers and arithmetic. This
> is true even for "simple" languages like C and Scheme (numerics account for
> about 20% of the specification of each). As to the focus on technical
> computing, I think it's better to solve one major problem really well
> rather than trying to solve all problems at once. Computer science is doing
> pretty well at general computing these days, whereas technical computing -
> especially at scale - is still a significant challenge area where new
> technologies and approaches really stand to improve things.
>
> Domain-specific languages (DSLs) are in vogue these days, but personally I
> believe that we need a few very powerful, general-purpose languages, not a
> lot of weak, special-purpose ones. I suspect that what drives the DSL
> school of thought is the idea that we've already pushed linguistic
> expressiveness and power as far as it can go and it hasn't solved our
> problems. This appears to suggest that we need to go in the other direction
> and make more limited and specialized languages. But I believe, instead,
> that the premise that we've taken programming language expressiveness and
> power as far as it can go is incorrect. We need to be pushing linguistic
> power even further, rather than restricting it.
>
> The most obvious deficiencies in the expressiveness of typical languages
> lie in the area of numerical work. You can't, for example, define a new
> kind of integer in most languages and have it be both efficient and
> seamlessly integrated with the rest of the system. In other words, the
> built-in numerics are qualitatively superior to anything a user can define
> for themselves. One of the major driving goals behind Julia's design was
> that user-defined numerical types be just as good as the built-in ones. We
> took that to its logical conclusion and made Julia's built-in numeric types
> like Int and Float64 just user-defined types that happen to be defined
> before your program starts.
>
> To the extent that you can define your own efficient and completely
> integrated types for numerical work, Julia has already succeeded in pushing
> the power and expressiveness of general purpose languages further than it
> typically is. But technical computing in general still has so many
> challenging problems that need to be solved - many of which need more power
> from the underlying language. For example, we're only beginning to figure
> out all the language features that are necessary for doing array work
> really well. Making distributed technical computing really productive is
> also a huge unsolved problem. (This is a very different problem from
> writing highly concurrent servers, which Clojure and Go are doing a great
> job of tackling.) Until we've solved these and other problems in the
> technical computing domain, I think it's premature to lose our focus.
>
> It is great that people are writing excellent general purpose packages and
> applications in Julia, and that definitely needs to continue and increase
> with our blessing and support. But the core focus of the language has to
> continue to be on technical computing - until we can honestly say that
> technical computing is as much of a solved problem as string processing or
> writing desktop applications. That is still a long way off.
>
>
> On Tue, Feb 18, 2014 at 11:27 AM, Dave Bettin <[email protected]> wrote:
>
>> If anybody is interested, I did find these two comments about Julia and
>> its part in the general purpose language world:
>>
>> 1. http://stackoverflow.com/a/17434967/632756
>> 2.
>> http://www.wired.com/wiredenterprise/2014/02/julia/?cid=co18025234#comment-1229330714
>>
>> On Monday, February 17, 2014 10:22:38 AM UTC-8, Dave Bettin wrote:
>>>
>>> Julia is promoted as a technical computing language. However, there is
>>> this beautiful general purpose language waiting to be unleashed onto the
>>> masses.
>>>
>>> Why is this aspect of the language not communicated/marketed more?
>>>
>>> Additionally, is there currently anyone using Julia outside of the
>>> technical computing space?
>>>
>>
>

Reply via email to