Wpis z mikrobloga

Mirki, co to znaczy, że język programowania jest zorientowany obiektowo? W ogóle od lat próbuję zrozumieć na czym polega programowanie, w se sie, gdzie tam (i jak) jest miejsce na kreatywność, i skąd komp wie, że do niego w ogóle mówimy. Jest to dla mnie totalnie czarna magia. Ktoś poleci jakieś źrôdła, gdzie mogę coś poczytać, ale żeby bylo napisane jak dla humanisty xd

#programowanie #programista15k
  • 19
@noitakto: najłatwiej to zrozumieć bottom-up. Komputer wykonujący program to maszyna Turinga. W zasadzie jedyne co robi, to czyta dane (np. z karty sieciowej, klawiatury, pamięci RAM, dysku), podejmuje na ich podstawie decyzje i zapisuje dane w różnych miejscach.

Na tym poziomie "operacyjnym" nie ma już obiektowości, bo ta jest konceptem wyższym i dotyczy kodu pisanego przez programistę. Jest tylko pisanie po pamięci i czytanie z niej.

Teraz w zależności od języka
@wpoldokomina: Ja tego nie rozumiem na takim poziomie: w jaki sposób w ogóle maszyna „podejmuje decyzje”? W sensie, człowiek widzi auto, słyszy auto, sygnały płyną do ośrodka decyzji, stamtąd idzie decyzja o nie wchodzeniu na jezdnię, nogi nie niosą. Żeby to zadziałało, to człowiek musi jeść i pić oraz spać. Dostarczając białka, tłuszczu i węglowodanów człowiek ma siłę, żeby znaleźć się w ogóle przy pasach. I tak dalej. Ale maszyna? Ja
@noitakto Za działanie komputera tak w uproszczeniu odpowiada procesor, który wykonuje bardzo szybko operacje matematyczne na bitach. Są to bardzo proste operacje: dodawanie, odejmowanie, mnożenie, dzielenie. Zapisuje też te bity w różnych miejscach pamięci i może je przemieszczać. To co robi programista to za pomocą języka programowania wydaje polecenia (pisze program) w stylu: "Ej, weź mi liczbę z adresu x i dodaj do niej 2. Zapisz wynik do y." Język programowania jest
@grayjedi: A czy na przykład jesteś w stanie wytłumaczyć od początku do końca (od strony programistycznej), dlaczego jak nacisnę w na klawiaturze, to widzę na monitorze wiedźmina idącego do przodu? Tak od początku. Naciskam „power” na kompie. Prąd uruchamia procesor, czyli w zasadzie co robi? Itd itp. W sumie, pewnie gdzieś w sieci jest jakieś kompendium „1 milion gupich pytań na temat komputerôw”
@noitakto Wytłumaczenie co się dzieje od uruchomienia komputera, a chodzącego wiedźmina to trudne zadanie. Ogólnie można powiedzieć, że uruchamia się ogromna liczba programów od BIOS, który startuje system operacyjny, który później startuje grę wiedźmin. Moje zrozumienie działania komputera jest bardzo ogólne, ale w Internecie jest nieskończona liczba informacji na ten temat. Co do wiedźmina, to jest to po prostu kolejny program, który działa w pętli i co jakiś czas sprawdza, czy nacisnąłeś
@noitakto: Informatyka opiera się na systemie binarnym - jest sygnał, albo nie ma sygnału. Na najniższym poziomie mamy bramki logiczne zbudowane z tranzystorów. Przykładowo bramka AND przepuszcza przez siebie sygnał tylko wtedy, gdy wchodzą do niej dwa sygnały(dwie jedynki).
W dodawaniu mamy coś takiego jak przeniesienie, czyli jak w podstawówce dodałeś 1+9 to wpisywałeś 0 i 1 przeniesienia, tak samo tutaj, z bramki AND mamy przeniesienie, gdy jest 1 i 1.
dlaczego jak nacisnę w na klawiaturze, to widzę na monitorze wiedźmina idącego do przodu


@noitakto: tak tylko dorzucę że w to zaangażowane są minimum 3 'komputery'.
Naciśnięcie na klawiaturę zamyka obwód elektryczny co wykrywa specjalnie zaprogramowany mikroprocesor zarządzający klawiaturą. To jest tzw. aplikacja embedded więc może on mieć malutko ramu i mocy obliczeniowej ale sprawdza się w takich zastosowaniach i do tego jest względnie tani. Więc biedny jest tak zaprogramowany że
@keton22: fascynujące. To wszystko brzmi jak fragment książki sci-fi. Ja jestem typowym humanistą - po rozwiązaniu prostego równania czuję się jakbym osiągnął czwartą gęstość xd, więc tym bardziej dzięki za uchylenie rąbka tego szaleństwa. Będę szukał i zgłębiał. W zasadzie to się zastanawiam, czy hobbystycznie nie zacząć się uczyć jakiejś javy czy coś w tym stylu. Jakieś porady, opinie w tym temacie?
@noitakto: ucz się programować a nie języka programowania, to tylko narzędzie. I używaj dużo google. Z odpowiednim samozaparciem każdy jest to w stanie do pewnego poziomu ogarnąć własną pracą dużo szukając w necie. A tam jest w obecnych czasach wszystko - całe kursy na każdy temat, narzędzia, dokumentacja i społeczność która poradzi i pomoże. A co konkretnie będzie w googlach i mówię to bez szydery. Ja nie nadążam który z kilkunastu
@keton22: Z tego, co piszesz, póki co wniosek prosty, niby oczywisty, ale jak sobie uświadomić, jak bardzo „impaktowy” to maskara: przeciętny człowiek nie ma pojęcia, jak funkcjonuje świat dookoła niego i to w najbliższym otoczeniu…