Język programowania dla matematyka

Mathematica, Matlab, Statistica, LaTeX i wszelkiego rodzaju oprogramowanie przydatne matematykowi w pracy. Miejsca w sieci poświęcone zagadnieniu.
XYZmat
Użytkownik
Użytkownik
Posty: 142
Rejestracja: 1 wrz 2017, o 11:39
Płeć: Kobieta

Język programowania dla matematyka

Post autor: XYZmat »

Witam, planuję zacząć naukę programowania w C++ lub Python, lecz potrzebuję porady, który z tych języków jest bardziej ceniony w późniejszej pracy matematyka, stąd proszę o porady w tej kwestii. Z góry dziękuję za odpowiedź
Awatar użytkownika
VirtualUser
Użytkownik
Użytkownik
Posty: 443
Rejestracja: 2 wrz 2017, o 11:13
Płeć: Mężczyzna
Podziękował: 113 razy
Pomógł: 15 razy

Re: Język programowania dla matematyka

Post autor: VirtualUser »

Jako zawodowy programista mogę powiedzieć, że C++ to wydajność petarda jednak jest dużo bardziej skomplikowany (co można traktować jako wadę i zaletę, kto co woli ). Python jest dużo prostszy, pisanie w nim przypomina pisanie po angielsku formułek, jednak ubolewa na wydajności, choć posiada wiele libów do analizy danych/matematycznych czarów (co wcale nie oznacza, że Cpp tego nie ma). Jednak co lepsze do pracy matematyka, to musi wypowiedzieć się jakiś zawodowy matematyk/wykładowca
Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4060
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 79 razy
Pomógł: 1391 razy

Re: Język programowania dla matematyka

Post autor: Janusz Tracz »

To zależy co chcesz robić. Przykładowo jako matematyka może interesować Cię wynik iloczynu macierzy. Jeśli chcesz pisać program który służy do obliczania iloczyny macierzy to C++ będzie odpowiedni. Tylko że jeśli interesuje Cię wynik to niekoniecznie musisz pisać cały program do ich mnożenia bo są środowiska które mają gotowe funkcje. W moim rozumieniu matematykowi potrzebne są gotowe funkcje a takie opcje umożliwiają języki wysokiego poziomu więc matematykowi polecał bym:

-Matlab
-wxMaxima
-Wolfram

Na Python się nie znam ale słyszałem że umożliwia już pokaźną bibliotekę funkcji matematycznych.
Awatar użytkownika
NogaWeza
Użytkownik
Użytkownik
Posty: 1481
Rejestracja: 22 lis 2012, o 22:24
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 147 razy
Pomógł: 300 razy

Re: Język programowania dla matematyka

Post autor: NogaWeza »

Jakbyś szedł bardziej w analizę danych czy finanse to R i Python są bestiami, polecam. Jeśli interesuje Cię programowanie funkcyjne (rachunek lambda i te sprawy) to python chyba umożliwia pisanie elementów kodu e sposób funkcyjny, więc pewnie byłoby to dobre wprowadzenie do tematu, ale nigdy tego nie robiłem w wężu, więc się nie znam.
enedil
Użytkownik
Użytkownik
Posty: 49
Rejestracja: 20 mar 2014, o 16:27
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 1 raz
Pomógł: 3 razy

Re: Język programowania dla matematyka

Post autor: enedil »

Jeśli natomiast masz na myśli algebrę (niekoniecznie liniową), to bezkonkurencyjny jest pakiet Sage, który jest zmodyfikowaną wersją Pythona wraz z niesamowitymi zasobami algorytmów, np o takie: ... group.html
Awatar użytkownika
Spektralny
Użytkownik
Użytkownik
Posty: 3976
Rejestracja: 17 cze 2011, o 21:04
Płeć: Mężczyzna
Lokalizacja: Praga, Katowice, Kraków
Podziękował: 9 razy
Pomógł: 929 razy

Re: Język programowania dla matematyka

Post autor: Spektralny »

Wszystko zależy co rozumiesz przez to kim jest matematyk - jeżeli masz na myśli człowieka, który pracuje naukowo w tzw. matematyce czystej to dowolny język oprogramowania wystarczy by okazjonalnie przeprowadzić jakieś symulacje (dlatego Python wydaje się dobrym wyborem ze względu na bogactwo bibliotek i prostotę). Jeżeli mają to być obliczenia numeryczne, to Matlab/Octave są idealne. Jeżeli zaś chodzi o statystykę R staje się standardem.

W przypadku pracy dla ludzi po matematyce, mamy dwa naturalne trendy: IT oraz finanse. W przypadku pracy IT rzeczywiście dobrze zainwestować w naukę C++ bądź Javy (która jest w Polsce bardzo popularna). W finansach język programowania nie ma aż tak dużego znaczenia (warto mieć biegłość w Maple + R), a do tego coś z pary Python/Java to już bajka.
ODPOWIEDZ