4 ms·
There are probably a few reasons. Julia has roots with MIT which immediately lends it some cachet, and probably made it easier to grow a vibrant community. Lu
by ElectronCharge 12y ago
There are probably a few reasons.
Julia has roots with MIT which immediately lends it some cachet, and probably made it easier to grow a vibrant community.
Lush (which is an unfortunate name btw) used Lisp syntax, which has never been favored by math, science and engineering types. It seems obvious that equations as expressed in the language should closely resemble those used in actual math - thus the syntax of languages like Fortran, Matlab and Julia.
Writing (or reading):
(setq vx (+ vx (* ax deltat))) ; update velocity
is much more awkward than:
vx += ax * deltat # update velocity
This issue gets worse with more complex examples.
Lush also allowed inline C, which was probably a bad design choice. Julia allows painless C library calls, which is much cleaner.
Those are just a few thoughts off the top of my head...
- lispm 12y agoWhich, btw., is written in Lisp as: (incf vx (* ax deltat)) The equivalent of += is INCF.
- ElectronCharge 12y agoI'm not sure that syntax was available in Lush. The line I cited was from a Lush example program. http://lush.sourceforge.net/lander04.txt http://lush.sourceforge.net/lander04.txt
- lispm 12y agoIn Lush a similar construct is called INCR. See its documentation. INCF in Common Lisp might be more general, since it supports a concept called place.