[#35]
Re: Programowanie na A1200
@pokulan,
post #28
jak rozumiem C++ dlatego że uważasz że to taki najpopularniejszy język? Tak właśnie jest i jeśli upatrujesz swoją karierę w programowaniu to prędzej czy później musisz poznać tą abominację
Tylko fakt jest taki że
nie zaczyna się nauki od C++ tylko od C abyś nie ponauczał się idiotyzmów plus plusowego języka jakich w samouczkach i książkach cię nauczą. Assembler oczywiście też trzeba znać i nie jest nawet ważne że 68K to martwa architektura. Po to trzeba go znać choć trochę aby mieć pojęcie jak jest kod kompilowany. Zanim 'liźnie' się ASM człowiek ma dziwne założenia co do tego co dalej się dzieje z kodem napisanym czy to w C, C++, Pascalu czy jakimkolwiek innym języku...
Jednak zaczynanie od ASM jest bez sensu bo nie nauczysz się C, nauczysz się programować z samymi jumpami (niesławne GOTO) i generalnie nie będziesz miał żadnej wiedzy jak programować na nie-Amigi. No i słomiany zapał prędzej ucieknie. Poza tym pisanie 100% programu w Assemblerze to jakaś głupota by była. Tak na Amidze jak i nowych komputerach w ASMie pisze się tylko procedury gdzie wykonuje się wiele razy ten sam kod aby zmaksymalizować wykorzystanie procesora a sam program pisze się w C/C++ aby zminimalizować czas na pisanie programu. Np. pisząc grę assemblera używa się do elementów silnika czyli tworzysz procedury rysowania obiektów i efektów w Assemblerze a samą grę w C. Bo np. po co proces ładowania poziomu do pamięci pisać w Assemblerze? Oszczędność kilka cykli procesora które są niczym w porównaniu do opóźnień urządzeń I/O się nie opłaca i lepiej tą energię umysłową przeznaczyć na inteligentniejszy proces ładowania niźli na używanie swojego mózgu w charakterze kompilatora.
to było tak ogólnie jeśli chodzi o programowanie a jeśli chodzi o Amigę to możesz spokojnie pisać w C na Amidze, szczególnie A1200. Za assembler weź się jak dojdziesz do jakiegoś rysowania bardziej zaawansowanego które będzie zacinać. Wtedy raz że będziesz miał motywację a dwa że próbując rozwiązać problem wydajności zobaczysz naocznie ile daje piłowanie Assemblera.
Czyli na przykładzie gry pisz ją tak aby oddzielić grę od jej silnika tj. rysowanie obiektów, wykrywanie kolizji, itp. oddzielnie od samej logiki gry i najlepiej w zupełnie innych plikach i wszystko w C. Potem dopiero mając jakiś kawałek grywalnego i działającego kodu zmieniasz newralgiczne elementy na assembler. No chyba że jesteś assemblerowym guru (wiesz, ten co medytuje

) i lepiej rozumiesz assembler niż C ale że nie jesteś to lepiej pisać w C. Ba, nawet zmiany w kodzie Assemblera imho najlepiej równocześnie wprowadzać do kodu C i oba na raz testować. Trochę więcej roboty ale zawsze ale to zawsze pisanie ładnego czystego i zorganizowanego dobrze kodu jest optymalnym wykorzystaniem czasu bo zawsze ale to zawsze najwięcej czasu idzie na tzw. usuwanie bugów. Pisząc byle jak ten czas potrafi być o rząd wielkości większy niż pisanie samego kodu. Pisząc na raz w C i Asm jeśli się gdzieś pomylisz to raz że to prędzej wyłapiesz a dwa że raczej nie pomylisz się w dwóch miejscach na raz. Czasami podczas takiej operacji można wpaść na bardziej optymalną wersję procedury.