Czy informatyka, matematyka stosowana, inżynieria, sztuka, filozofia? "Inny"?
Aby zapewnić tło, oto blog Stevena Wartika dla Scientific American zatytułowany „ Nie jestem prawdziwym naukowcem i to jest w porządku ”. Artykuł obejmuje kilka dobrych tematów na to pytanie, ale pozostawia więcej otwartości niż odpowiedzi.
Jeśli potrafisz wymyślić dyscyplinę, w jaki sposób informatyka pasuje do jej definicji? Czy dyscyplina informatyki powinna opierać się na tym, co robią programiści , czy co robią naukowcy ? Jakie odpowiedzi otrzymujesz od osób, które zdawały się głęboko o tym myśleć? Jakie podają powody?
computer-science
philosophy
Macneil
źródło
źródło
Odpowiedzi:
Istnieją dwie odrębne dyscypliny informatyczne:
Informatyka - to dyscyplina komputerowa i obliczeniowa z wykorzystaniem metody naukowej.
Inżynieria oprogramowania - jest dyscypliną projektowania i wdrażania oprogramowania zgodnie z odpowiednimi zasadami inżynierii.
Obie pokrywają się nieco, ale tak naprawdę różnica polega na pożądanych wynikach nauki w porównaniu z inżynierią. Pożądanym rezultatem dyscypliny naukowej jest wiedza. Pożądanym rezultatem dyscypliny inżynierskiej są rzeczy, które działają.
Aby odpowiedzieć na twoje pytanie:
Informatyka jest nauką ... jeśli jest właściwie wykonana. Jednak, podobnie jak inne dyscypliny, CS nakłada się na matematykę, inżynierię, nauki fizyczne, nauki społeczne, filozofię i tak dalej.
Dodałbym również, że większość programistów nie jest ani informatyką, ani inżynierią oprogramowania. Bardziej przypomina to, co robi rzemieślnik.
I przykro mi to mówić, ani akademicka informatyka, ani zawód inżyniera oprogramowania nie są tak rygorystyczne, jak starsze dyscypliny nauki i inżynierii. (Istnieją dziedziny informatyki, które są tradycyjnie rygorystyczne; na przykład te o silnych podstawach matematycznych. Ale dla wielu dziedzin po prostu zbyt trudne / kosztowne jest przeprowadzenie odpowiednich badań naukowych w kwestiach, które naprawdę mają znaczenie.)
źródło
Programiści rzadko „zajmują się informatyką”. Oni głównie wykorzystywać wyniki „inżynierii oprogramowania”, która jest dyscypliną inżynierii, oczywiście.
Poza tym informatyka to matematyka stosowana. Jeśli porównasz CS z czymś, co niewątpliwie należy do stosowanej matematyki, zauważysz duże podobieństwo.
Informatycy projektują i badają sposoby obliczeń (algorytmy), czerpiąc większość teorii z matematyki (logika, teoria grafów, kombinatoryka itp.) - i jednocześnie wnoszą do niej swój wkład. Podobnie jak reszta matematyki stosowanej.
Teoretycznie oceniają właściwości tych modeli i algorytmów i przeprowadzają eksperymenty modelowania (pisz programy testowe). Podobnie jak zastosowani matematycy symulują przepływ cieczy w tubach na klastrach, informatycy wykorzystują komputery do eksperymentowania z implementacjami swoich algorytmów. Wyniki tych eksperymentów trafiają bezpośrednio do produkcji: do rafinerii ropy naftowej lub do oprogramowania do analizy zapasów.
Na uniwersytecie, które ukończyłem, nie ma nawet specjalnego wydziału informatyki: między innymi domenami nie komputerowymi krzesło informatyki jest częścią Wydziału Matematyki Stosowanej.
źródło
Informatyka to termin, który obecnie obejmuje wiele, wiele rzeczy:
Zwróć uwagę, że wszystkie powyższe mają wyraźne nazewnictwo zamiast po prostu „informatyków”. Różnica polega na tym, że informatyka jest zbyt nowa, aby nazewnictwo mogło się rozstrzygnąć.
źródło
Przede wszystkim jest to informatyka . Dotyczy to matematyki obliczeniowej.
Istnieją inne dyscypliny, które są bardziej zorientowane na inżynierię.
Różnica jest taka sama, jak w przypadku innych powiązanych dziedzin nauki i inżynierii. Jedna dotyczy dokładności, druga precyzji. Informatyka jest teoretyczna, inne dotyczą nauki stosowanej do problemów: inżynierii.
źródło
Informatyka stosowana i matematyka eksperymentalna .
źródło
Informatyka to dziedzina matematyki stosowanej, która zajmuje się projektowaniem i stosowaniem automatów obliczeniowych. Inżynieria oprogramowania to właściwy podzbiór informatyki, który zajmuje się sformalizowanym projektowaniem i budową kodu dla architektury von Neumanna. Architektura von Neumann jest tylko jednym sposobem na wdrożenie maszyny obliczeniowej. Na przykład maszyna używana do łamania wiadomości zakodowanych w Enigmie nie była maszyną von Neumanna.
Inżynieria oprogramowania jest dyscypliną praktyków. Informatyka to dyscyplina badawcza. Większość licencjatów z informatyki kończy się na tworzeniu oprogramowania, ponieważ badania wymagają posiadania co najmniej stopnia magistra, co potwierdza przekonanie, że informatyka jest uwielbionym certyfikatem programistycznym.
źródło
Dyscyplina najdokładniej nazywana „informatyką” jest, na większości uniwersytetów, które sprawdziłem, nauką stosowaną, podobną do dyscyplin inżynierskich; jeśli się na tym specjalizujesz, otrzymasz „BS” lub „MS”. Dyplom CS Texas Texas Tech otrzymał inżynierska. Dyscyplina, zgodnie z nauczaniem, jest głównie teoretyczna; poznajesz koncepcję maszyn Turinga, DA / NDA i inne podstawowe koncepcje, których „codzienny” programista nie musi tak naprawdę grzechotać w głowie. Dostajesz również ładunek wyższej matematyki; tytuł Texas Tech CS, i założę się także o wiele innych, prawie wręczam ci drobne matematykę. Do tego większość dyplomów uniwersyteckich dodaje ogromną szczyptę praktycznej aplikacji na niskim poziomie; uczysz się języka asemblera, języka 3. generacji,
Jednak większość ludzi, którzy kodują życie, nie jest „informatykami”; są ściśle mówiąc „twórcami oprogramowania” lub (po dodaniu do analizy / projektu) „inżynierami oprogramowania”; zadanie to jest znacznie mniej na poziomie sprzętowym (choć musisz znać podstawy tego), znacznie więcej analizy systemów, projektowania i prostego kodowania. Wiele uniwersytetów ma po temu inną ścieżkę; w Texas Tech nazwano go „Zarządzanie systemami informatycznymi” i był to stopień naukowy (BBA / MBA). Ścieżka ta była lżejsza na wyższych poziomach matematycznych (to, co trzeba wiedzieć o algebrze i obliczeniach różnicowych / całkowych, została ściśnięta na dwa semestry „matematyki biznesowej” i nie obejmowała obliczeń wektorowych / tensorowych, algebry liniowej itp.), Znacznie cięższa na matematyka finansowa (semestr każdy ze statystyk i finansów, po dwa rachunki i ekonomia). Lżejsze w systemach operacyjnych, w większym stopniu w technologiach „stosowych”, takich jak bazy danych, serwery sieciowe, sieci i ogólne administrowanie systemami. Lżejsze w przypadku języków niskiego poziomu, projektowania obwodów i sztucznej inteligencji, cięższe w przypadku języków 3. i 4. generacji, analizy systemów i zarządzania projektami. Uzyskałem ten tytuł w Texas Tech i zanim opuściłem szkołę, miałem przynajmniej semestr w języku Java, VB, C # i językach internetowych (HTML / CSS / PHP), a także rok OOA & D i różne inne kursy w zarządzaniu projektami informatycznymi.
Co jest lepsze w prawdziwym świecie? Mam MIS BBA, mój brat dostał CS BS i oboje jesteśmy zatrudnieni na mniej więcej tym samym poziomie wynagrodzeń (dostosowując się do kosztów utrzymania) jak starsi inżynierowie oprogramowania. Musiał nauczyć się wielu wymaganych OOA i D w pracy, a także dość szybko rozkręcać w C # / Java ze swojej podstawowej znajomości C ++. Ze swojej strony chciałbym mieć dwa semestry analizy algorytmu pojęciowego, które dostał, gdy utknąłem na kursach zarządzania biznesem (tak, MIS to stopień zarządzania, ale odkryłem, że 99% mojej wiedzy o tym, jak na przykład nauczyłem się zarządzać innymi osobami i nimi nie zarządzać).
źródło