This question is not quite appropriate for the community but at my low level of expertise, someone may have an answer. I am retired and using computing as a hobby. My main interest is in things like ant nest simulations, slime moulds, Euler Project, etc. Up until now I have been using javascript (self taught therefore some holes in my knowledge). To me javascript seems to have a text-orientation as opposed to mathematics, which appears to be a secondary concern, and it is very finnicky. I wonder if javascript is the most appropriate language for a hobbyist in my situation. Is there a more appropriate language? I presume other languages have equivalents to D3.js. My other languages are Fortran (1974) and a bit of Java. Thanks.

  • $\begingroup$ "Graphics" feels rather broad. What sort of graphics? How important is performance? JS doesn't seem very text-oriented to me, considering it has the best native support for visuals (i.e. the web browser) I've ever seen. D3 is great for data viz but if you want to efficiently crunch matrices to solve PE problems, JS is not particularly suited to heavy math. Could you provide more details about what nest simulations and slime moulds entail? Are those visual? Thanks and good luck on your programming projects. $\endgroup$
    – ggorlen
    Mar 15 at 5:32
  • $\begingroup$ I think the majority of languages are text-focused due to their history, some are more numeric-focused but I don't know of a graphics-focused one $\endgroup$
    – user253751
    May 5 at 3:43

2 Answers 2


In some ways, the language you know best is the best language, but there are some caveats. Or, at least a language with the same underlying paradigm as the one(s) you know: procedural, OO, functional,...

If you are willing to learn a new language, it is more likely to be the available libraries that already exist and that are useful to your needs that is more important than the language itself.

I do most everything in Java and find the existing libraries very useful. In other OO languages, I've had to work hard to incorporate other libraries, not built for the language at hand, but available to import. IIRC, Python had that issue in the past, but suspect that problem is solved.

In general, investigate available libraries that are part of the language "package". Perhaps look at some existing projects and see if they seem reasonably similar to what you want to do.


I concur with Buffy that the language you know is largely the best language to work with, particularly because you're not working on particularly specialized problems. There is a mathematical bent to what you are doing, but that is well within the capabilities of essentially any language.

If you want something more mathematically oriented, you could try Python (it has very good libraries), R, MATLAB, or (if you want a wilder adventure) Mathematica or Scheme, but I don't expect you'll find a significant speed-up in your work flow.

Now, that said, I wrote that list of languages in the order I expect you'd find most-to-least familiar. So if you are just looking to expand your programming horizons, take my list in reverse and go one some crazy, mind-expanding adventures.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.