Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ddragon
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
28 ms
·
181.
▲
by
ddragon
7y ago
I think it's probably too early to say there is a trend. There are still traditional OOP languages being created such as Kotlin and Crystal, and not OOP languages have always been created including the ones that inspired this new wave
182.
▲
by
ddragon
7y ago
It would really still depend on the support libraries around the task you want to write, if you really need more performance for the parts that those support libraries don't cover (and beyond what you get with PyPy or Numba) and which
183.
▲
by
ddragon
7y ago
Julia's type system works to make the language more dynamic instead of more static, instead of one slow program in which types have to be checked at runtime a Julia program is a superposition of every optimized implementation of an alg
184.
▲
by
ddragon
7y ago
A JIT compiler could detect that an instruction sequence (or function) is pure (for some range of valid inputs) and auto-memoize them for performance gains. But if you want the JIT to evolve compiled representation by profiling some fitness
185.
▲
by
ddragon
7y ago
I guess it depends on the perspective and interpretation of soundness. If a JIT-compiler AoT compiles your entire program but infers that your function that implements logic that works for every number (as you defined it using the Number in
186.
▲
by
ddragon
7y ago
For example a JIT compiler can, based on the runtime information + inference, discard multiple branches of a function that are effectively pointless and possibly even just inline the results if given those inputs the function is determinist
187.
▲
by
ddragon
7y ago
Julia (as a "scripting" language for scientific purposes) also supports them natively, but defaults to normal int/float for performance reasons, which might create some gotchas for people who use the language but are not prog
188.
▲
by
ddragon
7y ago
For simulation there is also a library that reimplements the Modelica language in Julia using macros: https://github.com/ModiaSim/Modia.jl
189.
▲
by
ddragon
7y ago
Yes, there are already a couple. The most well known is a 100% Julia neural network library called Flux.jl [1], which aims to become what Swift for Tensorflow wants as well (to make the entire Julia language a fully differentiable language)
190.
▲
by
ddragon
7y ago
Can you explain it better? I do agree with Haskell due to laziness by default and arrow types for example, but against Scheme and Clojure the only aspect seels like it would be the more strict rebinding/shadowing rules (which doesn
191.
▲
by
ddragon
7y ago
I'm definitely not denying the worth of the particular skillset, just like of good DBAs. But as with any skillset, there are diminishing returns. You can get fairly easily someone at the point where they can merge data from multiple so
192.
▲
by
ddragon
7y ago
"AI" (or whatever rebranding it gets) always works in cycles, with a phase of excitement and overpromising followed by a phase of apparent underdelivering and skepticism. But what actually happens is that the innovations just beco
193.
▲
by
ddragon
7y ago
The flexibility might not just be in the tools themselves, but in the culture of the language. Elixir for example has really powerful macros, but one of the main books about metaprogramming says "the first rule of macros: don't wr
194.
▲
by
ddragon
7y ago
The latest release of DiffEq.jl seems to support it (and the creator commented on it), but I wouldn't know the details. http://juliadiffeq.org/2019/05/09/GPU.html https://news.ycombinator.com&
195.
▲
by
ddragon
7y ago
Numpy is mostly not much different from the matlab syntax (and therefore Julia and Scilab which it inspired, and octave which copies it) [1] outside of not being imported in the current namespace, a little more awkward multidimensional arra
196.
▲
by
ddragon
7y ago
I think it's more than a uniform language stack, after all C++ could be considered one as well but most people still use python to interface it as opposed to just using it (at least for exploratory data science). It's a combinatio
197.
▲
by
ddragon
7y ago
In the perspective of someone who writes Julia, which can also call directly any Python method (and R, Fortran, C and C++), that's a nice stopgap, but you really want a true native ecosystem. Not only there is more mental effort dealin
198.
▲
by
ddragon
7y ago
I upvoted it not because because I use Swift (or intend to use it) but because I find it interesting that the concept of differentiable programming is pushed further and further. Having a host language being used to write and compile a seco
199.
▲
by
ddragon
7y ago
I don't know if any language can exist solely as repackaged knowledge. Sure, a language can very well start that way, but you now have n features that need to be integrated with each other in a still unknown way, which brings new chall
200.
▲
by
ddragon
7y ago
Having to handle library versions and long library dependencies isn't a result of a programmable language, it's the result of having better tools for sharing and integrating code without having to reinvent and maintain independent
201.
▲
by
ddragon
7y ago
I'd say there isn't really a better general option. Some people may want to target the largest amount of people right out of the gate, some people might want to be a big fish in a (growing) small pound. Some projects might have so
202.
▲
by
ddragon
7y ago
Julia just got to 1.0 last year, and it does have areas where it's already between the best options in scientific computing such as differential equations solving and mathematical optimization. Regardless of not being the most popular
203.
▲
by
ddragon
8y ago
High performance numerical computing is one area that garbage collection doesn't really matter though, unlike real-time applications that needs consistency more than raw speed. Some occasional milliseconds (or even seconds) long stop-t
204.
▲
by
ddragon
8y ago
Certainly not as mature as most languages that focus on web (since it was not the priority), but it shouldn't be hard to create simple services. For example with: https://github.com/essenciary/Genie.jl https:
205.
▲
by
ddragon
8y ago
I agree with that. The interesting aspect of dynamic languages is that it's a living program, you can interact with, it can interact with itself and you could even effectively make it an entire new program without ever closing it like
206.
▲
by
ddragon
8y ago
Just * "a" * "b" == "ab" "a" ^ 3 == "aaa" Though the dot version is actually almost possible because of a special syntax in Julia called broadcasting, which applies any function element-wise
207.
▲
by
ddragon
8y ago
Multiple dispatch languages like Julia handle that example fairly easily: +(x::Real, z::Complex) = Complex(x + real(z), imag(z)) +(z::Complex, x::Real) = Complex(x + real(z), imag(z)) And you can call it in both infix or prefix forms. Thoug
208.
▲
by
ddragon
8y ago
Julia is a general-purpose programming language. The language itself is actually really good as a scripting language, including integrating well with shell, C, Fortran, R and Python, for example: https://docs.julialang.org/e
209.
▲
by
ddragon
8y ago
I think the answer is fundamentally: giving the compiler a lot of information at compile time so it can optimize the generated code for the runtime, be it explicitly by type annotations or implicitly by type inference. If the compiler is su
210.
▲
by
ddragon
8y ago
I didn't use offset arrays, but I don't expect lots of incompatible libraries if they implemented the proper array interfaces. Julia has duck typing, and thanks to multiple dispatch they can just specialize the few relevant method
More ›