Matematyka a programowanie

1

Witam, jestem na 3 semestrze studiów informatycznych i mam za sobą Algebrę liniową, analizę matematyczną, algorytmy i struktury danych oraz matematykę dyskretną.

Wszystkie te przedmioty uczyło się by po prostu to zdać(na 5).

Ale naszło mnie takie pytanie czy jako programista jest potrzebna znajomość tego? Czy się tego używa? Czy to po prostu matematycy wymyślili sobie by mieć coś do powiedzenia w informatyce?

Tak więc: granice, pochodne, całki, prawdopodobieństwo, notacja asymptotyczna, logika Hoare'a, drzewa binarne itd... czy to jest potrzebne programiście, który nie tylko chce klepać formatki?
Czy wy mieliście kiedyś powód by coś z tego użyć?

5

To zależy co chcesz robić. Do formatek i generic crudów się nie przyda, ale jak chcesz bawić się w jakieś big data, pisanie kompilatorów, machine learning etc to już inna sprawa. A znajomość matematyki dyskretnej, algorytmiki albo teorii złożoności obliczeniowej to akurat są zawsze przydatne kwestie, żeby nie pisać w 2n czegoś co da sie napisać w logn ;]

0

Wszystko to czego uczy się na studiach jest kompletnie niepotrzebne w pracy, studia są tylko po to by jak najbardziej zgnębić człowieka i zabrać mu mnóstwo czasu a więc i pieniędzy z przyszłej emerytury dla jakiegoś mało ważnego papierka bo na rozmowie rekrutacyjnej nie zapytają cie o studia tylko o to co potrafisz. Jak powiesz że potrafisz tylko obliczyć całke i zrobić drzewo bst to się tylko uśmieją.

0

Ja wyżej wymienione przedmioty też zdałem, choć nie wszystkie na 5. Traktuję je trochę jak naukę znaczenia słów, przed tworzeniem z nich wierszy. Co do przydatności, nie wszystkie słowa przydadzą ci się we wszystkich wierszach.

0

Czyli lepiej zamiast siedzieć 3/4 dnia nad matematyką lepiej uczyć się programować, zasad i frameworków? A matmę wolnym czasie?:)

0

Trzeba niestety przyznać szczerze, że większości studentom (a później absolwentom) informatyki matematyka z pierwszego roku zwykle nie przydaje się w przyszłej pracy albo przynajmniej nie w całości. O ile matematyka dyskretna jest przydatna- ify i elsy w zasadzie na tym bazują, o tyle analiza czy algebra przydadzą się jedynie koderom gier, a do tego, na co obecnie jest największy popyt- robienie aplikacji internetowych, nie będą potrzebne wcale.

3

zadne uczyc sie programowania. Pisac. Pisac programy do upadlego. A pozniej jeszcze wiecej pisac programow. A na samym koncu poprawic swoje napisane programy. Ogolnie pisac pisac pisac

0

Matematyka się może przydać jak chcesz robić coś przy jakiś algorytmach (tzn je implementować zamiast korzystać z bibliotek obiektowych języków), albo w grafice.
Najmniej analiza się przydaje,najbardziej chyba algebra,np. w html5 stosować można macierze

3

Matematyka uczy myślenia i rozwiązywania problemów, a to w programowaniu podstawa.

0
Shalom napisał(a):

big data

noo, problemy latency między serwisami to czyste pochodne, jak netfix klepał swoje api to całkował jerseya a rxjavie liczył granice :D

2

@Mały Kaczor vel @niezdecydowany big data to nie hft tylko analiza danych, dobieranie algorytmów, dobieranie parametrów dla nich etc. Jasne, można to robić na pałe licząc że może akurat przypadkiem sie coś uda zrobić, ale dużo wygodniej rozumieć co i dlaczego działa.
Weź zerknij sobie na przykład na https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation#Inference albo na przykład na https://en.wikipedia.org/wiki/Centrality#Eigenvector_centrality to są algorytmy stosowane dość powszechnie np. w systemach rekomendacyjnych, w sieciach społecznościowych, w systemach archiwizacji dokumentów etc. I to nie są algorytmy które można z dobrym skutkiem odpalić na pałe bo wymagają konfiguracji przez parametry. Jasne, możesz próować zgodnie z zasadą po co mi mózg, mam dres!, ale równie dobrze mozesz wbijać gwoździe czołem - kiedyś pewnie się uda... ;]

0

@Shalom vel Neil Armstrong, problem jest taki, że takich teamow które zajmują się takim maszin lerningiem jest ... na firmę, jeden(z mojej perspektywy tak to wyglada) ? i to nie jest big data ! big data to będą teamy które wystawiają consumtion layer dla takich implementujących te algorytmy serwisów.

0

Oj niedoczytałeś posta autora. On wyraźnie napisał

czy to jest potrzebne programiście, który nie tylko chce klepać formatki

:P

0
Shalom napisał(a):

Oj niedoczytałeś posta autora. On wyraźnie napisał

czy to jest potrzebne programiście, który nie tylko chce klepać formatki

:P

Czyli dla Ciebie zajmowanie sie przetwarzaniem wlasnie big data to klepanie formatek ?
wgl o czym ja chce gadać i z kim... przecież Ty piszesz w swingu.

6

Prawda jest taka, że programowanie stało się zbyt powszechne, a 90% programowania to pisanie po raz setny jakiś standardowych rzeczy.
Samo programowanie jest za trudne by uczyć tego wcześniej (technikum), a z drugiej strony w 90% jest na tyle powszechne i odtwórcze, że nie mieści się w starej definicji uniwersytetów.
Ci co uważają, że zaawansowana matematyka jest zbędna na studiach informatycznych zapominają, że są też inne działy informatyki poza tymi, w których oni pracują!
Ktoś w końcu pisze takie rzeczy jak:

  • silniki: 3d, fizyki, baz danych, kontroli wersji
  • kodeki audio i wideo
  • wszelkie symulatory
  • autocad-y
  • kompilatory
  • algorytmy szyfrowania
  • systemy nawigacji

I mnóstwo innych ciekawych rzeczy, do których z przynajmniej podstawową znajomością zaawansowanej matematyk,i nie ma co podchodzić.

Świetny Kot napisał(a):

Jak powiesz że potrafisz tylko obliczyć całke i zrobić drzewo bst to się tylko uśmieją.

Jeśli naprawdę uważasz, że ktoś chwali się takimi rzeczami (lub choćby pomyślał o takiej możliwości), na rozmowach kwalifikacyjnych, to coś z tobą nie tak.
Przecież nie uczą cie tego na studiach, byś zrobił kolejną implementację czegoś co jest już dawno dopracowane, tylko, żebyś nauczył się rozwiązywać pewne problemy i rozumiał jak działają pewne rzeczy, które są już zrobione i dopracowane. Tak samo powinieneś wiedziec jak pewne rzeczy działają i jakie są ich ograniczenia, gdy będziesz ich używał.
Jak widzę tę "mądrość ludową" to cisną mi się na usta różne szyderstwa, ale się powstrzymam.

0

Siema wszystkim. Zaintrygowal mnie ten temat bo sam wczoraj nad tym myslalem. Pisze/programuje od roku stronki (js,jquery,nodejs, laravel) przez ten czas nie widze zebym "stosowal matematyke", bo logiczne myslenie to chyba nie matematyka. Nie musze byc matematykiem, zeby troche pomyslec i zrobic sobie prosty rozklad. Jesli wcisne przycisk to zmienna globalna cos przyjmuje, a jesli nie to nie przyjmuje nawet jesli mam to zagalezic zeby tych ifow bylo duzo. Po prostu to wynika z pod tekstu co chce, ale trzeba to zapisac zrozumialy w sposob dla komputera, nie widze w tym matmy.

Takie mam wrazenie przez ten rok co sie ucze. Czy rzeczywiscie tak jest? Chodzi mi programowanie webowe, poniewaz chcialbym w ta strone isc. Mam takie wrazenie ze mozna to przyrownac do "koniecznosci" matematyki dla administratorów. Kazdy konczy te same studia, moze nawet ten sam wydzial i uczelnie, a jeden cisnie matme ostro bo programuje systemy jakies, a drugi jest adminem i tej matmy ma tyle, ze wystarczy mu bardzo malo, ze szkola srednia (podstawa) to wystarczy.

Mysle tez w ten sposob, ze osoba ktora tworzy jakies systemy administratorskie, rozwoj tego (od srodka) to na takiej osobie raczej stoi obowiazek ogarniania matmy zeby rozwoj szedl w dobra strone, rozwijal sie i szedl w minimalizacje.

Ja np. korzystam z gotowych rzeczy, nie stworzylem maszyny v8 i nigdy nie stworze, ale czy do budowania stron, zarabianiu na tym dosc konkretnych pieniedzy jest mi potrzebna matma? na razie nie widze takiej potrzeby. Moze to dlatego ze za krotko w tym siedze. Wypowiedzcie sie. ;)

2

@Pijany Kot do klikania formatek w htmlu nie jest ci potrzebna. Ale z tym logicznym myśleniem to chyba jednak u ciebie słabo skoro masz w kodzie zmienne globalne i dużo ifów :D

0

@Shalom daj mi konkretne oferty pracy ! linki, do jak wcześniej pisałeś big data, ja chce widzieć koło siebie cassandre, coś do wystawiania api + .. + twoją matme, bo na razie jęczysz, to pokaż mi palcem. I nie wciskaj mi tutaj tego twojego cernu, bo zabawa puszkami to nie żadne big data(stawiam dychę że przeciętny user na amazonie wygeneruje więcej danych niż te kontenery, potocznie zwane sondami), low latency, już swoją drogą klepanie kolejnych odlotów w node.js albo php było by ciekawsze. Ajem łejting.

Nie ze nie wierze, skąd, ciekawy jestm tylko.

0

@Pijany Kot do klikania formatek w htmlu nie jest ci potrzebna. Ale z tym logicznym myśleniem to chyba jednak u ciebie słabo skoro masz w kodzie zmienne globalne i dużo ifów :D

  • miszcz szyderca ;] Co masz na mysli mowiac formatki html? Chodzi ci o kolejne aplikacje crudowe, dashboardy tego typu rzeczy?
0
Pijany Kot napisał(a):

@Pijany Kot do klikania formatek w htmlu nie jest ci potrzebna. Ale z tym logicznym myśleniem to chyba jednak u ciebie słabo skoro masz w kodzie zmienne globalne i dużo ifów :D

  • miszcz szyderca ;] Co masz na mysli mowiac formatki html? Chodzi ci o kolejne aplikacje crudowe, dashboardy tego typu rzeczy?

Tak, według szaloma jak nie pracujesz z puszkami.. znaczy sondami jesteś zerem i klepiesz formatki.

2

@Mały Kaczor czemu odpowiadasz na posty których nie czytasz? Przecież on wyraźnie napisał:

Pisze/programuje od roku stronki (js,jquery,nodejs, laravel)

czy do budowania stron, zarabianiu na tym dosc konkretnych pieniedzy jest mi potrzebna matma

Czyli ewidentnie gośc klepie formatki w htmlu, bo nawet nie napisał ze to są webaplikacje tylko stronki. Nie rozumiem o co się znów czepiasz. @Pijany Kot tak, rozumiem przez to generic crudy i tego typu odtwórcze rzeczy.

@Mały Kaczor tym tyś widział big data :D :D
http://home.cern/about/computing
http://home.cern/about/computing/processing-what-record
tl;dr: 1-2 petabajty danych dziennie. Więc amazona musiałby używać każdy człowiek na świecie i generować codziennie przynajmniej 2MB danych. Powodzenia :D

Widać ze google ci obce więc pierwsze wyniki:
https://oracle.taleo.net/careersection/2/jobdetail.ftl?job=151558&src=JB-10145
https://us-amazon.icims.com/jobs/352106/applied-scientist--nlp/job?iis=Job+Posting&iisn=Indeed+%28Free+Posting%29&mobile=false&width=1399&height=1200&bga=true&needsRedirect=false&jan1offset=60&jun1offset=120
https://jobs.cisco.com/job/San-Jose-Data-Scientist-CA-95101/311758400/?feedId=90500&utm_source=Indeed&utm_campaign=JB_Indeed_Cisco
https://www.linkedin.com/jobs2/view/29943327?trk=jobs_jserp_job_listing_text
http://careers.microsoft.com/jobdetails.aspx?jid=208915&memid=996089694&utm_source=Indeed

I oczywiście także te o których nie chcesz slyszeć:
http://jobs.web.cern.ch/job/11523
http://www.esa.int/content/download/350047/15683758/file/ESA-YG-ESTEC(2015)045.pdf

0
Shalom napisał(a):

@Mały Kaczor czemu odpowiadasz na posty których nie czytasz? Przecież on wyraźnie napisał:

Pisze/programuje od roku stronki (js,jquery,nodejs, laravel)

czy do budowania stron, zarabianiu na tym dosc konkretnych pieniedzy jest mi potrzebna matma

Czyli ewidentnie gośc klepie formatki w htmlu, bo nawet nie napisał ze to są webaplikacje tylko stronki. Nie rozumiem o co się znów czepiasz. @Pijany Kot tak, rozumiem przez to generic crudy i tego typu odtwórcze rzeczy.

@Mały Kaczor tym tyś widział big data :D :D
http://home.cern/about/computing
http://home.cern/about/computing/processing-what-record
tl;dr: 1-2 petabajty danych dziennie. Więc amazona musiałby używać każdy człowiek na świecie i generować codziennie przynajmniej 2MB danych. Powodzenia :D

Widać ze google ci obce więc pierwsze wyniki:
https://oracle.taleo.net/careersection/2/jobdetail.ftl?job=151558&src=JB-10145
https://us-amazon.icims.com/jobs/352106/applied-scientist--nlp/job?iis=Job+Posting&iisn=Indeed+%28Free+Posting%29&mobile=false&width=1399&height=1200&bga=true&needsRedirect=false&jan1offset=60&jun1offset=120
https://jobs.cisco.com/job/San-Jose-Data-Scientist-CA-95101/311758400/?feedId=90500&utm_source=Indeed&utm_campaign=JB_Indeed_Cisco
https://www.linkedin.com/jobs2/view/29943327?trk=jobs_jserp_job_listing_text
http://careers.microsoft.com/jobdetails.aspx?jid=208915&memid=996089694&utm_source=Indeed

I oczywiście także te o których nie chcesz slyszeć:
http://jobs.web.cern.ch/job/11523
http://www.esa.int/content/download/350047/15683758/file/ESA-YG-ESTEC(2015)045.pdf

Data Scientist :D dzięki. Nie tam słowa o developmencie.

3

Ależ ciebie kisnę @niezdecydowany, nie wiem czy ty zwyczajnie nie umiesz czytać ze zrozumieniem, czy te formatki juz ci padły całkiem na mózg ale proszę, z linków podanych wyżej:

As part of our speech and language team, you will work alongside internationally recognized experts to develop novel algorithms and modeling techniques to advance the state-of-the-art in spoken language understanding.
(...)
Familiarity with programming languages such as C/C++, Python, Java or Perl.
(...)
Experience in building speech recognition and natural language processing systems (e.g., commercial speech products or government speech projects)
(...)
Solid software development experience

We are looking for senior software engineers who are passionate about big data technologies
(...)
You will also participate in architecting, designing, developing and deploying software components on Azure
(...)
Excellent software development skills with 5+ years of experience Strong experience with one or more of the following: C#/.NET, Java, Python.
(...)

Write server-side code for web-based applications
(...)
Extensive programming experience in C/C++ and/or Java (strong OO skills).

Masz racje, to są wszystko pozycje dla hydraulików a nie developerów :D

Może którys link podałem zły, bo przecież to co wkleiłem to był random wygooglany w 10 sekund, ale uznałem że rozmawiam z kims o IQ >80 i sobie poradzi...

0

Nie musze byc matematykiem, zeby troche pomyslec i zrobic sobie prosty rozklad. Jesli wcisne przycisk to zmienna globalna cos przyjmuje, a jesli nie to nie przyjmuje nawet jesli mam to zagalezic zeby tych ifow bylo duzo

Trochę jak "nie muszę znać się na biologii, żeby być chirurgiem. Wystarczy trochę pomyśleć. Jak nakłuję w brzuch, to poleci krew, nawet jeśli muszę zrobić dużo nacięć, żeby pokazały się flaki. Jak nie ma flaków, to muszę głębiej kłuć" ;)

Programowanie nie kończy się na ifach. Może nie tyle matma, co umiejętność myślenia abstrakcyjnego jest przydatna (żeby nie musieć robić setek zagnieżdżonych ifów).

0

Czyli ewidentnie gośc klepie formatki w htmlu, bo nawet nie napisał ze to są webaplikacje tylko stronki. Nie rozumiem o co się znów czepiasz. @Pijany Kot tak, rozumiem przez to generic crudy i tego typu odtwórcze rzeczy.

Nie wiem jak ty ale ja raczej stron w nodejs albo phpie bym nie pisal.

Trochę jak "nie muszę znać się na biologii, żeby być chirurgiem. Wystarczy trochę pomyśleć. Jak nakłuję w brzuch, to poleci krew, nawet jeśli muszę zrobić dużo nacięć, żeby pokazały się flaki. Jak nie ma flaków, to muszę głębiej kłuć"

Moim zdaniem to bardzo zly przyklad. Popatrz sobie na mechanikow. Mechanika to dzial techniczny. Wszedzie matma a nie musze jej znac zeby umiec bardzo dobrze naprawiac samochody i zarabiac konkretne pieniadze.

Nawet jesli to klepanie formatek, to co z tego? Nie kazdy ma takie ambicje, poluzuj.

0

Z matematyką i informatyką jest mniej więcej tak jak z historią i literaturą.
Część literatury da się bez problemu przeczytać bez historii. Ale jak zaczniesz czytać Mickiewicza czy Słowackiego to bez historii nic nie zrozumiesz.

Podobnie jest z informatyką. Pewne zagadnienia nie wymagają wyższej matematyki (Wordpress, gry dla dzieci, klient pocztowy, fv, apka na fona), ale są zagadnienia przed którymi będziesz się musiał zatrzymać (wyliczenia aktuarialne, predykcja szeregów czasowych, bardziej złożone algorytmy) i prosić o pomoc analityka funkcjonalnego (jeśli taki jest) bo nic nie zrozumiesz z opisu dziedzinowego.

2

@Pijany Kot mechanika z naprawianiem samochodów ma tyle wspólnego co informatyka ze składaniem komputerów. Nic. Jak ktoś kończy studia z mechaniki a potem naprawia samochody to zmarnował 5 lat życia. Ale jak taki mechanik ma zaprojektować np. skrzydło samolotu albo niezawodny mechanizm rozkładania paneli słonecznych na satelicie to się nagle okazuje że ta matma, fizyka i obliczenia numeryczne okazują się potrzebne.

Nawet jesli to klepanie formatek, to co z tego? Nie kazdy ma takie ambicje, poluzuj.

Pytanie było czy do klepania formatek trzeba matmy i odpowiedź brzmi: nie trzeba. Ale twierdzenie że w ogóle matematyka nie jest do niczego potrzebna jest po prostu głupie, bo jest wiele pozycji gdzie jednak potrzebna jest. I tak się składa że to są zwykle te "ciekawsze pozycje".
Ale przecież każdy robi w życiu to co lubi. Jeden chce być stolarzem, inny piekarzem, inny klepie formatki w htmlu a jeszcze inny buduje w garażu gwiazdę śmierci.

0

@Shalom Oczywiście ze głupie bo gdyby nie matma to nie mielibysmy tego co teraz mamy. Technika to matma i o tym wiadomo, nie bede podważał tego co mówisz.

Wkurza mnie jedynie takie podejscie szydercze z twojej strony.

Dla przykładu. Spotify to tez formatka? Instagrama?

0

A jak wyglądają zarobki takich programistów np. AI, CAE/CAD, symulacji fizycznych/fizyków programistów? Poza tym, w Polsce chyba nie ma zbytnio pracy na takich pozycjach? Kiedyś szukałem to jeszcze do rozwijania różnych nakładek do CADów by się coś znalazło, ale jakieś poważniejsze CAE to bez szans.

O zarobki pytam bo takie pozycje są często oblegane i dla przykładu w takim SpaceX strasznie narzekają na pieniądze i nadgodziny. Stawki np w CERNie już widziałem ale interesuje mnie jak jest w innych miejscach.

np info o pracy w SpaceX - https://www.reddit.com/r/engineering/comments/26k4b0/why_is_pay_at_spacex_so_low/

0

Kurcze tak czytam i się dziwie nad czym wy tak ludzie się rozwodzicie...

Matematyka zawsze się przydaję niezależnie od tego kim jesteśmy, zarówno dla programisty jak i prawnika, w końcu umiejętność logicznego myślenia nie szkodzi.

Natomiast kiedy matematyka jest niezbędna (wypowiem się w kontekście programisty dla uproszczenia):

Można to bardzo skrótowo powiedzieć - jeżeli ktoś ma w dużym stopniu do czynienia z teoretycznymi sferami informatyki (https://en.wikipedia.org/wiki/Theoretical_computer_science) takimi jak kryptografia, machine learning i wieloma innymi to wtedy istnieje duże prawdopodobieństwo, że matematyka jest dla kogoś takiego niezbędna aby był w stanie sobie poradzić z pewnymi problemami. Tyle.

Praktyczne aspekty informatyki jak klepanie jakichś formatek czy inne sprawy to kwestia praktyki. Mógłbym napisać, że przecież znajomość matematyki nawet w takim wypadku nie zaszkodzi, ale wtedy bym się powtarzał...

1 użytkowników online, w tym zalogowanych: 0, gości: 1