6 ms·
Julia 0.2 released
- carreau 13y agoCongratulation to all of you, thrilled to see all the new improvement that will arrive in next version !
- idProQuo 13y agoThis is a dumb question, but is Julia named after anyone in particular?
- johnmyleswhite 13y agoNo, it is not.
- riffraff 13y agoI always thought it was named for Gaston Julia :O http://en.wikipedia.org/wiki/Gaston_Julia http://en.wikipedia.org/wiki/Gaston_Julia
- grimgrin 13y agoFrom an interview: InfoWold: Why the name, Julia? Karpinski: That's everybody's favorite question. There's no good reason, really. It just seemed like a pretty name. http://www.infoworld.com/d/application-development/new-julia-language-seeks-be-the-c-scientists-190818?page=0,1 http://www.infoworld.com/d/application-development/new-julia...
- RivieraKid 13y agoAfter using it for smaller projects, one of the few things I don't like is multidimensional arrays. I would prefer if only arrays of arrays were possible and had some syntax sugar. Edit: And perhaps some special treatment by the compiler for optimization. I find multi-d arrays counter-intuitive and clumsy on some situations. Also, currently I'm forced to write ugly code like array[x,y][i].
- burntsushi 13y agoI haven't used Julia yet, but would be curious to hear more about your experience. Was it overall positive? How does it compare with your experience using other languages?
- RivieraKid 13y agoI'm on mobile so just a summary - I have tried tens of languages and Julia is the probably my second-most favourite (first is Ceylon). I'm really impressed by it and can highly recommend.
- StefanKarpinski 13y agoYou can of course use arrays of arrays if you like, but multidimensional arrays are indispensable for numerical work, especially linear algebra – matrices are 2D arrays after all. When doing numerical work in C, for example, you have to simulate multidimensional arrays by doing your own index calculations to translate back and forth between linear indexing and N-d indexing. Having language support for this is a must if you want to target numerical programming.
- RivieraKid 13y agoSo if I understand it correctly, it's for efficiency? What about some special treatment by the compiler, is something like that possible?
- StefanKarpinski 13y ago
- StefanKarpinski 13y agoTo quote the mailing list announcement [1]: > We will be supporting a 0.2 line of releases that maintains compatibility with 0.2 with minimally invasive bug fixes, so this is a good time to switch to 0.2 for production systems. This release was a fairly long time coming from the previous 0.1 stable release. If you've been considering trying Julia out but were worried that it was moving too fast (it's been moving pretty fast), this is a good time to try it out. Not only will the 0.2 release line be supported with minimally invasive bugfixes, but also the 0.3 release is going to largely consist of performance improvements. [1] https://groups.google.com/forum/#!topic/julia-users/-lh_g9eH4bk https://groups.google.com/forum/#!topic/julia-users/-lh_g9eH...
- aleandros 13y agoI cannot express how much I want this project to succeed! Congratulations and keep it going!
- andrewcooke 13y agojulia seems to be positioned as a kind of matlab / r replacement. but i'm finding it works very well as a faster python, for the kind of programs i am writing in my free time (learning about / analysing block ciphers, most recently). its big idea is multiple dispatch, like clos (oo-lisp) multimethods. where you would define an "underscores" method in python (ie to extend the language for a new class), in julia you define appropriate functions for that type - the cute thing being that the new type doesn't have to be the first parameter. so, for example, the equivalent of class Foo: def __repr__(self): ... would be function show(io, f::Foo) ... end and the end result is something that has more of a FP flavor than python. it's very appealing. if you're looking for a "dynamic scripting" language that takes some of the good bits from static typing, and has decent performance, it's worth a try.
- PuercoPop 13y agoI think another big advantage of CLOS that Julia took is that you can dispatch on the type of not just the first argument but on the combination of the types of all the arguments
- StefanKarpinski 13y agoMultiple dispatch is very powerful paradigm and Julia takes it a good bit further even than CLOS. There's a good comparison of Julia and CLOS in terms of parametric types and dispatch in Julia's Wikipedia entry: https://en.wikipedia.org/wiki/Julia_(programming_language)#Language_features https://en.wikipedia.org/wiki/Julia_(programming_language)#L... It also compares with Dylan and Fortress, which are the other major non-research multiple dispatch languages. The unique combination of features that Julia has is 1. a fully dynamic type system (code with type annotations is still dynamically typed) 2. functions are all generic by default, including all the built-ins and operators 3. support for parametric types that you can dispatch on. This combination of features working smoothly together turns out to be very powerful, especially when designed so that you don't have to talk about types except when you want to.
- 13y ago
- mlubin 13y agoFor anyone interested in using Julia for numerical optimization/mathematical programming, see http://juliaopt.org/ http://juliaopt.org/. We have pure-Julia implementations of standard unconstrained methods [1] as well as a domain-specific modeling language [2] for (integer) linear programming with links to open-source and commercial solvers. Julia's performance and advanced language features such as metaprogramming really make it a great language for optimization [3]. [1] https://github.com/JuliaOpt/Optim.jl https://github.com/JuliaOpt/Optim.jl [2] https://github.com/JuliaOpt/JuMP.jl https://github.com/JuliaOpt/JuMP.jl [3] http://www.mit.edu/~mlubin/juliacomputing.pdf http://www.mit.edu/~mlubin/juliacomputing.pdf
- idunning 13y agoHere are the slides for a recent talk we gave about JuliaOpt: https://docs.google.com/presentation/d/1FlHt245YxPXFwOHmxLYW1z5_QjdCYHVPjy5Zo12lx1I/edit?usp=sharing https://docs.google.com/presentation/d/1FlHt245YxPXFwOHmxLYW...
- jamesjporter 13y agoCongrats on the release to everyone involved; very excited about the future!
- dodyg 13y agoHow suitable is it to use for mainstream programming (building web app, etc)
- asg 13y agoWhile the focus of many of its contributors remain scientific computing, and its use in academia is growing, the language in itself is very amenable towards more mainstream programming. For example, there are packages (at varying level of maturity) for HTTP Servers, HTTP middleware, templating with Mustache, Redis, database access, Logging etc. So I'd say, the language itself is very suitable for mainstream programming, and the library ecosystem around it is growing and maturing quite well for such a young language. There is also a great interface to Python, giving you access to the wide range of its libraries.
- idunning 13y agoThat line of development hasn't been pushed very hard yet, but the fundamentals are good. For a example, check out http://iaindunning.com/2013/sudoku-as-a-service.html http://iaindunning.com/2013/sudoku-as-a-service.html where I make a nice little webservice.
- ViralBShah 13y agoAlso if you look through the package list, you will see people doing all kinds of stuff with Julia. http://docs.julialang.org/en/latest/packages/packagelist/ http://docs.julialang.org/en/latest/packages/packagelist/
- freyrs3 13y agoMainstream is a very context specific term. Julia is not a general purpose language, it's primarily for numeric computing. Within the domain of technical computing it's one of the most expressive languages.
- StefanKarpinski 13y agoI would strongly disagree with this. Julia is a general purpose language. In fact, part of the premise is that it is a numerical computing language because it doesn't special-case numerical programming. This is in stark contrast to Matlab and R, for which numerical things are extremely special-cased.
- Derbasti 13y agoDoes anyone know what the state of plotting is in Julia? I couldn't really find any convincing examples for that. For many applications, plotting really is a big requirement. That said, I look forward to a future where Julia will take over many use cases that are served by Matlab right now.
- ViralBShah 13y agoAlthough there is no definitive plotting option, we are exploring a number of avenues. See: http://julialang.org/downloads/ http://julialang.org/downloads/ With the IPython Notebook and Julia, you can use Gadfly to produce plots right in the notebook without any further installation.
- andrewcooke 13y agothere's a package (called gadfly) that works like r's ggplot2. i haven't used either a huge amount, so it's possible the julia version has gaps, but i could produce basic, very attractive graphs with ease in both languages.
- MSunds 13y agoYou can use the Plotly libraries: plot.ly/api/julia, and make interactive, browser-based graphs you can easily share and embed.
- keesvp 13y agoWith a plotting package that generates image files, like 'Winston', there is easy support in Julia Studio to get some interaction. When the image file is opened in an editor window, it is live updated with each run of the program. see: http://www.kees.cc/images/JSplot-big.png http://www.kees.cc/images/JSplot-big.png
- rcthompson 13y agoI'd love to switch to Julia, but I rely on a lot of packages that are only available in R (e.g. lots from http://bioconductor.org/ http://bioconductor.org/). Is there any way to call R code from Julia?
- pygy_ 13y agohttps://github.com/lgautier/Rif.jl https://github.com/lgautier/Rif.jl is what you're after. The code to call R is a bit ugly, but it looks straightforward to learn.