Coding
Posted on Sun 26 June 2022 in Scientific software/Coding
Since i didn’t really spend much time with anything but Python lately I will limit myself to this language. The IDE and editors are chosen for multi functionality with many languages:
Python:
One of the strength of python is its packaging of modules (besides many more). Under Linux and Mac packages can be easily installed on the fly. For windows this is a bit more complicated.
In general I would recommend to use one of the two big packed distributions as your base installation. These contain usually all the modules you will and much more, like advanced consoles like Ipython…
Recently Anaconda has become a strong package for python uses. It contains pretty much everything that you need to get started: https://www.continuum.io/downloads
Enthought EPD is a commercial package that is free for educational use. Some of their 3d modules are non free but the rest is just a nice package https://www.enthought.com/products/epd/
Pythonxy is a free package for scientist and was before anaconda my first choice. It contains spyder (see below) and a nice small launching platform for scripts https://code.google.com/p/pythonxy/
Editors:
Some people swear on IDE (integrated developing environments), others on an simple editor as notepad. I personally like a mixture of them. Here a few suggestions sorted towards more IDE:
-
Notepad++ is my number one editor under windows, code completion, indention handling, backup, multi window support, portable are just a few of the functions. http://notepad-plus-plus.org/
-
There is a whole bunch of plugins for it. usefull is for example the function listing for python https://sourceforge.net/p/notepad-plus/discussion/482781/thread/515001cd/#31ae
-
Geany I discovered recently and i really start to like it, editor with some IDE functions worth a look http://www.geany.org/
-
Another full fletched IDE editor is Synwrite http://www.uvviewsoft.com/synwrite/
-
Eclipse is a powerful multi language IDE with module for python. Nice to play with and perfect for large projects (important install the pydev http://pydev.org/ front on it to gain IDE support for pyton). http://www.eclipse.org/
-
Spyder is developed to look like matlab (or at least close) so for data munging this could be your choice. https://code.google.com/p/spyderlib/
-
A recent discovery is the IDE from PYCHARM. It is very powerfull for bigger projects. I highly recommend to print the shortcut list. Only by using keyboard shortcuts can one really appreciate its power. Observe, everybody with an university email address can get the pro version for free. https://www.jetbrains.com/pycharm/download/#section=windows
Data over lines (new category, just started)
- Usefull tool to send and receive serial communication: https://freeserialanalyzer.com/
Data Scientist - AI
There is a whole bunch of books and packages that make working in python nicer. An important one to check out is Jupyther. It is part o of the packages that I recommended above. Jupyter notebooks with datananalysis for chemists
For scientists learning AI here a nice free resource:https://www.elementsofai.com
Important packages to cast an eye on:
Scipy: https://scipy.org/ This new page give a nice overview of the currently available packages that make working with data nice in python
Pandas http://pandas.pydata.org/
numpy http://www.numpy.org/
It happened quite often that ascii files you retrieve are strangely separated. this CSVeditor has helped me often to clean up data http://csved.sjfrancke.nl/
A nice tool for data munging is also the pure python environment http://www.reinteract.org/ it pretty much behaves like an integrated console mathematica/maple style like. but with python, you can alter previously calculated things and recalculate everything. very usefull for data munging