Jak to jest z tą matematyką?

0

Witam
Zastanawia mnie w jakim stopniu matematyka przydaje się do informatyki. Gdziekolwiek spojrzeć w oferty pracy to nigdzie nie wymagają znajomości matematyki/algorytmiki natomiast stawia się głównie na konkretne techniki. Słyszałem takie argumenty, że warto uczyć matematyki bo można potem nowe algorytmy wymyślać, ale tak obiektywnie patrząc to wymyślenie nowego algorytmu to parę lat z życia, a zajmują się tym zazwyczaj tęgie głowy. Więc może ktoś mi wyjaśnić do czego ta matematyka się przydaje?

0

http://pl.wikipedia.org/wiki/Komputer :)

Aczkolwiek iżynieria wsteczna, bezpieczeństwo, pisanie sterowników i pare innych działów programowania nie wymaga stricte matematycznego podejścia, a płaca ludzi zajmujących się takimi rzeczami nie jest mała. Z drugiej strony samo programowanie opiera się logice, która może bardzo uprościć proces tworzenia aplikacji (nie wspominając o optymalizacji kodu), a jak wiadomo logika, to też matematyka :)

0

NIby logika to też matematyka, ale kto tak na prawdę korzysta z rozbudowanych dowodów i logiki algorytmicznej przy pisaniu programu? Wszystko i tak robi się na intuicję, a dowodzenie poprawności programu o średnim rozmiarze, pewnie nie było by dużo szybsze niż skorzystanie z intuicji a potem testowanie dla wielu danych (pomijam szczegół, że jeszcze nie wynaleziono metody na dowodzenie programów obiektowych).
A szczególnie mnie intryguje dlaczego pracodawcy w ofertach nigdy nie piszą o znajomości matematyki tylko konkretnych technik programistycznych.

0
odd-even napisał(a)

A szczególnie mnie intryguje dlaczego pracodawcy w ofertach nigdy nie piszą o znajomości matematyki tylko konkretnych technik programistycznych.

Bo zakladają ze skoro jestes programista to musisz matme umiec :-)

0

Z logiki korzystasz chociazby przy operacjach warunkowych. Jezeli Twoj program oparty jest tylko i wylacznie o intuicje, to wybacz, ale daleko nie zajdziesz. Intuicja to niezbadana cecha, wiec moze sie rownie dobrze mylic.

Testowanie dla wielu danych rowniez nie zalatwia wszystkiego. Slyszales kiedys o warunkach brzegowych? Wiesz dlaczego auta testuje sie na hamowni symulujacej dziurawe drogi, a nie plaskie jak stol?

'Dowodzenie programow obiektowych'... A jakaz to roznica miedzy obiektowym a strukturalnym - w sensie kodu wynikowego? Poza tym nie wynaleziono metody na 'dowodzenie' programu chocby z powodu problemu stopu.

Co do ostatniego Twojego zdania i calego tematu. Znajomosc matematyki w informatyce jest tak oczywista, ze sie o tym nie pisze. W jaki sposob narysujesz kolo nie znajac trygonometrii? Jak sformulujesz skomplikowany warunek logiczny nie wiedzac o prawach deMorgana?

Intuicja - nieswiadomie masz racje. To matematyka pozwala opierac na sie na intuicji. Matematyka wyksztalca w nas intuicje pozwalajaca zrozumiec dzialanie komputerow, opisac nasz problem i przekazac go za pomoca jezyka programowania. Nie uwierzylbys jak wielu 'programistow' ma problem z prostymi rzeczami (np. wyliczeniem odpowiedniego indeksu w tablicy na podstawie kilku danych) bo nie ma tej matematycznej intuicji.

0

Co do ostatniego Twojego zdania i calego tematu. Znajomosc matematyki w informatyce jest tak oczywista, ze sie o tym nie pisze.

Hmm równie dobrze można powiedzieć, że znajomość C jest oczywista, a jednak się o tym pisze. Z resztą patrząc na niektrórych z mojej uczelni sam nie wiem czy znajomość matmy po studiach informatycznych jest taka oczywista :\

0

Znajomosc C nie jest oczywista, bo to tylko jeden z wielu dostepnych jezykow.

Zrozum - nie uczysz sie matematyki tylko po to, zeby Cie w sklepie nie orzneli. Chociaz wielu zna matematyke tylko na tym poziomie. Matematyka to jezyk sluzacy do opisu abstrakcji - a czym innym jest programowanie jak nie obejmowaniem pewnej abstrakcji? Matematyka jest uniwersalna, dlatego zrozumienie jej pozwala wycwiczyc intuicje 'logiczna', ze sie tak wyraze. Tak samo jak za pomoca matematyki mozna opisac cokolwiek tak za pomoca jezyka programowania mozna opisac komputerowi co ma zrobic. Do tego glownie sie matematyka przydaje - do zrozumienia.

A poza tym do wszystkiego gdzie istnieje potrzeba obliczen matematycznych. Metody numeryczne chociazby. Nie obliczysz analitycznie calki czy rozniczki za pomoca komputera. Jak rozwiazesz rownania w programie ksiegowym bez znajomosci algebry? Jak napiszesz program graficzny nie znajac geometrii? Itp, itd, przyklady mozna mnozyc bez liku. Komputer oparty jest o matematyke, wiec jej znajomosc zdecydowanie ulatwia zrozumienie istoty programowania, a nie poznanie po prostu kolejnej technologii i pozostanie na etapie klikacza Delphi (bez obrazy dla programistow Delphi).

0
odd-even napisał(a)

Hmm równie dobrze można powiedzieć, że znajomość C jest oczywista, a jednak się o tym pisze.

a niby dlaczego??? C - to jest KONKRETNY język programowania a matematyka to matematyka. Jak wyobrażasz sobie napisanie programu graficznego, engine'u do gry, programu kasowego czy co tam sobie wymyślisz bez znajomości matematyki? Nawet takie duperele jak np. gradientowany przycisk czy przycisk a'la gałka do pogłaśniania wymaga znajomości matematyki i to nie na poziomie podstawówki...

0

@Misiekd: Heh, podalismy podobne przyklady :) [soczek]

0

Z C się nie zgodzę - C uczy się właściwie na każdej uczelni informatycznej, ale ok, nie o to mi chodzi.
Czy pracodawca w jakiś sposób sprawdza znajomość matemtyki w czasie rozmowy kwalifkacyjnej?

0

Uczy nie znaczy posluguje plynnie. Sa w programowaniu w jezyku C lepsi i gorsi. Uczy sie go, bo to podstawa, ale nie wszyscy go rozumieja. Matematyka, ktora programista musi znac to tez nie jest jakis super wysoki poziom. Ta prawdziwa matematyka wysokich lotow pozostaje dla czystych matematykow, tak jak znakomita znajomosc C tez nie jest domena wszystkich programistow.

Znajomosc matematyki w czasie rozmowy? Nie sadze, bo byloby to dziwne. Pracodawca szuka dobrego programisty, dobry programista nie istnieje bez znajomosci matematyki. Wniosek? Wystarczy sprawdzic umiejetnosci programistyczne, zeby wiedziec, ze matematyka jest u niego na przyzwoitym poziomie. Np. bez dobrej wyobrazni ( a to domena matematycznego umyslu) ciezko sobie wyobrazic bardziej skomplikowane struktury danych (drzewa powiazane z listami i tablicami, itp) i je zaimplementowac.

0

Intuicyjnie teoria wzgęldności nie istnieje, a jednak dzięki Albercikowi jesteśmy jej świadomi.

0
CyberKid napisał(a)

Intuicyjnie teoria wzgęldności nie istnieje, a jednak dzięki Albercikowi jesteśmy jej świadomi.

Nie za bardzo rozumiem co to ma z tematem wspolnego...

0

<url>Właśnie (przypadkowo) czytałem też inny wątek na forum 4p:
http://4programmers.net/Forum/389780#id389780</url>

Autor posta miał problem związany z matematyką, może jednak ów przedmiot jest bardziej potrzebny niż się wydaje... :)

0

Informatyka, tudzież dziedzina zwana programowaniem zawiera w sobie matematykę mniej lub bardziej zamaskowaną. Rysowanie wykresów, logika Boola, grafy, liczby, działania arytmetyczne. Dosłownie wszystko opiera się na matmie przy czym zdajemy sobie z tego sprawę dopiero jak wyjdą braki w wykształceniu. Co do pytania - generalnie koder nie musi mieć doktoratu z fizyki (chociaż podczas tworzenia matlaba, autocada, solida to przyda się). Niemniej średnio-zaawansowany poziom baaardzo Ci ułatwi życie. Ponadto jak wspomniano o warstwach abstrakcji - procesor de facto nie robi nic tylko wykonuje and, or not, xor na bramkach tranzystorów (czyt. przetwarza kod jedynkowo-zerowy).

P.S. Matmę można olać przy pisaniu hello world, ale podczas pisania tego w pętli z postojem co 25 wierszy to już trzeba ruszyć analityczno-matematyczną półkulę naszego mózgu.

0
johny_bravo napisał(a)
CyberKid napisał(a)

Intuicyjnie teoria wzgęldności nie istnieje, a jednak dzięki Albercikowi jesteśmy jej świadomi.

Nie za bardzo rozumiem co to ma z tematem wspolnego...

Fakt, powinienem zacytować ;)

johny_bravo napisał(a)

Jezeli Twoj program oparty jest tylko i wylacznie o intuicje, to wybacz, ale daleko nie zajdziesz. Intuicja to niezbadana cecha, wiec moze sie rownie dobrze mylic.

Chodziło mi o to, że intuicja ... hmmm... teraz to się pogubiłem. W każdym razie miał to być argument przeciw intuicji ale chyba coś sknociłem :D

0

właśnie piszę interpreter prostego języka programowania, dla mnie programowanie = logika... i są języki których chyba nie da się zrozumieć i używać bez pojęcia : system dowodzenia,( np. Prolog i podobne), albo bez matematycznej intuicji : haskell, gdzie posługujesz się właściwie językiem predykatów I rzędu.

0
CyberKid napisał(a)

Chodziło mi o to, że intuicja ... hmmm... teraz to się pogubiłem. W każdym razie miał to być argument przeciw intuicji ale chyba coś sknociłem :D

Dobra, juz wiem o co Ci chodzilo :) Ja chcialem rozroznic intuicje po prostu, a intuicje wyksztalcona dzieki matematyce. Pierwsza dziala na zasadzie 'cos mi sie wydaje, ze to tak powinno byc', druga oparta jest na solidniejszych podstawach. Bo nawet jak zgadujemy, ze dzialanie powinno tak wygladac, to zawsze mamy swiadomosc na ile to nasze zgadywanie jest 'pewne', a po drugie zawsze mozemy sobie wziac kartke do reki i dla swietego spokoju sprawdzic dokladnie :) W pierwszym przypadku pozostaje oddac projekt klientowi i modlic sie, zeby zapomnial nasz numer telefonu :)

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