<p>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,...</p>
<p>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.</p>
<p>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.</p>
<p>In general, investigate available libraries that are part of the language &quot;package&quot;. Perhaps look at some existing projects and see if they seem reasonably similar to what you want to do.</p>

CC BY-SA 4.0
2023-03-01T11:53:25.710Z
2023-03-01T11:53:25.710Z
Buffy
<p>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 <em>specialized</em> problems.  There is a mathematical bent to what you are doing, but that is well within the capabilities of essentially any language.</p>
<p>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.</p>
<p>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.</p>

CC BY-SA 4.0
2023-03-01T17:28:31.597Z
2023-03-15T10:42:29.070Z
2023-03-15T10:42:29.070Z
Ben I.
<p>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.</p>

CC BY-SA 4.0
2023-03-15T05:32:17.043Z
"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.
ggorlen
CC BY-SA 4.0
2023-05-05T03:43:48.907Z
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
Criticize SE actions means ban
<self-learning><language-choice>
Best language for graphics and general math problem solving for amateur
# Best language for graphics and general math problem solving for amateur

(Asked by: username_0 on 2023-03-01)

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.

**Tags:** self-learning, language-choice

> **Comments:**
> **username_1**: "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.  
> **username_2**: 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  

---

## 2 answers

### Answer by username_3 on 2023-03-01. Score: 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.


---

### Answer by username_4 on 2023-03-01. Score: 0

I concur with username_3 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.


---

