TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why I am betting on Julia (2014)

142 pointsby sean_the_geekabout 9 years ago

14 comments

mahmudabout 9 years ago
<p><pre><code> CL-USER&gt; (defun f (x) (* x x)) F CL-USER&gt; (f 2.0) 4.0 CL-USER&gt; (disassemble &#x27;f) ; disassembly for F ; Size: 37 bytes. Origin: #x1002B10BDC ; BDC: 498B4C2460 MOV RCX, [R12+96] ; thread.binding-stack-pointer ; no-arg-parsing entry point ; BE1: 48894DF8 MOV [RBP-8], RCX ; BE5: 488BD3 MOV RDX, RBX ; BE8: 488BFB MOV RDI, RBX ; BEB: 41BBB0020020 MOV R11D, 536871600 ; GENERIC-* ; BF1: 41FFD3 CALL R11 ; BF4: 488B5DF0 MOV RBX, [RBP-16] ; BF8: 488BE5 MOV RSP, RBP ; BFB: F8 CLC ; BFC: 5D POP RBP ; BFD: C3 RET ; BFE: 0F0B10 BREAK 16 ; Invalid argument count trap NIL *</code></pre>
评论 #11518634 未加载
评论 #11517324 未加载
phantom_oracleabout 9 years ago
When I read this, all I can think about is the enormous amount of man-hours people have put in to make Python the go-to for Julias target market.<p>As the author says, the biggest drawback is libraries, and that is (1 of) the big attraction(s) towards languages.<p>Nobody wants to have to switch between C, Python, Assembly, etc. to make their code faster, but even fewer people want to write bindings to underlying C code. This also goes exactly against what the author doesn&#x27;t want to do, which is to yak-shave around the language to get things working.
评论 #11516657 未加载
评论 #11516719 未加载
评论 #11519167 未加载
muktabhabout 9 years ago
This was in 2014. Here is a more recent perspective (from a different blogger who used Julia in production) <a href="https:&#x2F;&#x2F;blog.staffjoy.com&#x2F;retro-on-the-julia-programming-language-7655121ea341" rel="nofollow">https:&#x2F;&#x2F;blog.staffjoy.com&#x2F;retro-on-the-julia-programming-lan...</a>
评论 #11517771 未加载
评论 #11518465 未加载
tanlerminabout 9 years ago
I think it will all come down to web assembly. Why?<p>Python has blaze, numba, dynd and dask going for it. These all ameliorate (and exceed Julia in some respects) many of the disadvantages of python (including fast user defined types). Then there are the libraries that while some can be used in Julia, you will never get full reliability, ease of use and compatibility.<p>On the other hand, Julia has amazing metaprogramming and much cleaner scientific syntax.<p>I think it will come down to whether Python can compile to fast LLVM regular standard lib programs.<p>Once (if?) Julia can be run in the browser with web assembly (using ahead of time compilation to produce small binaries), python has no chance if it doesn&#x27;t follow suit. Python has no advantage that can permanently match Julia&#x27;s potential ability to run on mobile, front end web, back end etc all from one beautiful codebase.<p>What does HN think?
评论 #11517158 未加载
评论 #11517364 未加载
评论 #11517239 未加载
评论 #11516797 未加载
评论 #11517335 未加载
riscyabout 9 years ago
&gt; Julia breaks down the second wall — the wall between your high-level code and native assembly [...] you can take a peek behind the curtain of any function into its LLVM Intermediate Representation as well as its generated assembly code — all within the REPL<p>While I agree with the author in &quot;betting on Julia&quot;, I do not think inspecting LLVM IR or assembly of individual functions in the REPL is as useful as a feature as the author thinks, because it gives an inaccurate picture of what the actual output will be.<p>Peeking at the code at the level of functions means a non-inlined version of the function must be produced at the REPL, and anywhere else this function is used in your actual code, it will probably be inlined (the author&#x27;s example certainly will) so it can be further optimized&#x2F;eliminated by later passes. Furthermore, for a non-trivial function&#x27;s dump, fundamental optimizations that increase code size (inlining, unrolling loops etc) would make the output confusing to compare with the Julia equivalents.<p>Thus, I imagine a lower optimization level is used to produce readable REPL dumps. For a performance minded person (the only type of person who would care about ASM&#x2F;LLVM dumps at a REPL) even this is not helpful.
评论 #11516891 未加载
lmmabout 9 years ago
Language design is vital for a language that can evolve. If you build a language for &quot;cowboys&quot; with the immediately-useful functionality that you can see, but without the &quot;language geeks&quot; insisting on the underlying principles, you end up with a language like perl - one that can dominate a particular use case for a while, but will be virtually impossible to evolve, and ultimately fall out of favour as it&#x27;s overtaken by languages with firmer foundations.<p>That&#x27;s why I&#x27;m betting on the strongly-typed functional tradition - OCaml&#x2F;Haskell&#x2F;etc. These language already have the killer feature from this article: they can be (almost) as expressive as Python and (almost) as performant as (naive) C++. But they also have really solid design with a lot of thought put into it that will let them evolve to meet the needs of the future.
评论 #11518600 未加载
mynegationabout 9 years ago
It needs (2014) in the title if for nothing else than for the fact that a lot could have changed since then, as Julia is pretty fast developing
评论 #11516881 未加载
ProAmabout 9 years ago
&gt; For me, code is like a car. It&#x27;s a means to an end. The &quot;expressiveness&quot; of a piece of code is about as important to me as the &quot;expressiveness&quot; of a catalytic converter.<p>Im a sculptor, but all I make is coffee cups and ashtrays so I dont need to worry about the minor details of things..... This is what abstraction gets us.
max_about 9 years ago
The founders of julia are geniuses. The only problem the language is facing is, marketing.<p>Juila is one of those great things that everyone should use, but are simply bot promoted enough.
评论 #11518152 未加载
评论 #11520217 未加载
rdtscabout 9 years ago
2014. Wonder if anything changed since then. How did author find using and developing in Julia since then. Has their opinion changed?
评论 #11517851 未加载
ones_and_zerosabout 9 years ago
Any thoughts on how it compares and will overcome the dominant enviromnent for technical programming, matlab?
评论 #11516716 未加载
评论 #11516591 未加载
tombertabout 9 years ago
All of Evan Miller&#x27;s programming reviews are good. I&#x27;m pretty sure it&#x27;s been posted on HN before, but I quite liked his take on Rust as well.
bleairabout 9 years ago
This review was really helpful to me when I was looking for more insight into Julia. <a href="http:&#x2F;&#x2F;danluu.com&#x2F;julialang&#x2F;" rel="nofollow">http:&#x2F;&#x2F;danluu.com&#x2F;julialang&#x2F;</a>
vfclistsabout 9 years ago
Spoiler alert. Use Nim.