It is not going to happen any time soon. There are several reasons.
- The user interface would have to be rewritten completely, which isn’t a trivial thing to do. EMT uses the Windows API heavily, and thus a deep knowledge of the target OS is required. Spawning processes with pipes, handling images and files, DLL loading on runtime etc. are not easily translated to Macs, even if you know how to do that in Unix. So, it is not only about the user interface itself.
- I could adapt a web interface to EMT, like the one that Sage and IPython are using. In fact, someone did a Sage interface for the numerical part of EMT before. This would lead to some restrictions, but might be the best route on the long run. I will show you in the next postings how this is working in the case of IPython. A port would require a deeper knowledge of this kind of web service. But that should be manageable.
- Maxima is currently not available on M1 in precompiled form. In fact, I failed to get it to run following complicated instructions I found in the net. Without the symbolic part, EMT makes much less sense.
- There is no TinyC compiler. One of the outstanding features of EMT is the option for the user to easily compile critical parts of the code. EMT, Matlab or Python are relatively slow in comparison to native code. I am going to discuss the issue of speed in later postings in more detail.
To replace EMT, your best free option on MacOS is currently Python, together with Numpy, Sympy and Matplotlib. The learning curve is steep, but Python is Interactive and can be approached by trial and error. Moreover, it is heavily supported in the net. You will find an answer to almost any question in some forum, web site, or on sites like StackOverflow. I aim to give you some hints in subsequent postings.
Besides Python, there are some more options for MacOS.
- Geogebra (free). This is meant to be an advanced do-everything calculator for schools. It is not designed to be a scientific tool. The program originated as a program for dynamic geometry, much like my program C.a.R., but less advanced (allow me to add). Geogebra now got options for symbolic math and even statistics. I still do not think it is the right tool to start with, although it has built up a big community around the world. It is too restricted in the end.
- R (free). This is a nice choice and is used on a scientific level in universities. There is a version for Macs with M1. The statistical part is state of the art and can be used on a professional level. The syntax is much like Matlab or Euler Math Toolbox, although specialized for doing statistics and statistical plots. The tool is command line oriented, but there are GUIs like Shiny and R-Studio to allow a more comfortable editing, mostly free for academic use.
- Matlab (payware). This software is most famous for the Simulink toolbox, which allows fast data analysis of analogue input. If you are not using an academic license or participate in the license of your institution, Matlab is rather expensive at around 800€ yearly. Consequently, it is mainly used in the industry where it is paid by the company. I have never really understood why companies trust Matlab so much, and probably they don’t. They might have contracts with third-party developers who use Matlab, but are responsible for the delivered software. Matlab seems to be available in student labs too. But I do not think that is a good idea. It is better to use open and fast software and a good programming language instead.
- Octave (free). That’s a Matlab clone. It is Gnu software and thus open and free. It is good choice if you have to learn Matlab. But it does not offer all the toolboxes that Matlab offers.
- Mathematica (payware). This would be my choice of software if I had to buy one. The alternative is Maple, but it is not yet fit for M1 processors. Mathematica costs 420€ for home use, and 200€ for students, in one time payment. It probably does the best all-in-one job for mathematics of those packages. There is also an online version, and many problems can be handled by the free Wolfram Alpha service.
So far about other software. I omitted a lot of smaller packages which are not much more than a calculator or a plotter.
The next postings will be about Python, Numpy, Sympy and Matplotlib, and how it can be used to replace a software like Euler Math Toolbox on Mac OS with M1.