Two things I miss when working with Mathematica: refactor-rename variables and a usable object-oriented programming support.
Refactor-rename is available via Eclipse-based IDE; however math typesetting is not available there (it makes a difference for large equations/expressions).
There are a lot of community-developed approaches to OOP. I tried a number of these, sticking with a particular approach, but it also leave a lot to be desired. OOP is useful in that it ties together data and functions which act on the data. Inheritance/composition are useful if you compute properties of similar objects.
Mathematica is mostly used for relatively small, notebook-style, applications. Both features, while probably useful for some people, don‘t seem to be necessary for the more popular use cases.
Two things I miss when working with Mathematica: refactor-rename variables and a usable object-oriented programming support.
Refactor-rename is available via Eclipse-based IDE; however math typesetting is not available there (it makes a difference for large equations/expressions).
There are a lot of community-developed approaches to OOP. I tried a number of these, sticking with a particular approach, but it also leave a lot to be desired. OOP is useful in that it ties together data and functions which act on the data. Inheritance/composition are useful if you compute properties of similar objects.