@crimart,
post #22
Jeżeli coś jest napisane np. w C/C++ z zachowaniem zasad przenośności i na każdej z platform są potrzebne do danego projektu biblioteki to nie ma większych problemów z przenośnością. I nie ma znaczenia czy to jest ARM, PPC, x86, x64 oraz 32 czy 64-bit. Makowy kod nie ma tutaj żadnych ani zalet ani wad. Często jest bardziej "zjadliwy" do portowania, bo sam powstał z czegoś co już ktoś przystosował do portowania. Jeżeli ktoś coś robi tylko na intelową Windę to zwykle ma w nosie cały świat, uważa że inne architektury i systemy nie istnieją i kod jest pełen drobiazgów utrudniających przenośność. Przeciętny kod z Linuxa/Unixa dlatego jest przyjemniejszy do portowania, bo źródła są tworzone przez ludzi, którzy zdają sobie sprawę z istnienia różnych architektur i nie są im straszne takie drobiazgi jak little/big endian.
Generalnie MorphOS nie ma absolutnie żadnych związków z macOS (ani Classic ani OSX). Kilka rozwiązań czysto GUI-owych w Ambiencie może nieco przypominać te z macOS (Preferencje, rozszerzenia górnej belki, Cmd+Tab). Poza tym od pewnego czasu można pisać programy dla MorphOS w języku Objective-C (i to nawet z tzw. ARC co jest naprawdę sporym osiągnięciem). To w nim powstały tak ogromne projekty jak klient poczty Iris i browser Wayfarer. Język ten nie istnieje specjalnie dla Apple ale przez długie lata był podstawą programowania pod macOS/iOS. Lata temu Apple go trochę "odkopało" z niszowego dołu i znacznie pchnęło jego rozwój do przodu. Chociaż w tej chwili na applowych platformach pisze się raczej w Swift i Objective-C jeszcze jest wspierany z rozpędu i dla kompatybilności z istniejącymi projektami. Dlatego pod tym względem coś z macOS pod Objective-C może być znacznie łatwiej portowalne na MorphOS. Ale z kolei coś w Swift jest nieportowalne wcale. Chociaż gdyby patrzeć tylko pod kątem języka to portowanie czegoś w Objective-C jest pewnie tak samo przyjemne jak z FreeBSD, którym macOS od wielu lat przecież jest.
Na pewno w portowaniu bardzo sprzyja fakt, że MorphOS SDK ostatnio bardzo bardzo mocno poszedł do przodu (mamy naprawdę nowe wersji kompilatorów). Natomiast bardzo dużym hamulcem (jeżeli chodzi o gry) jest fakt, że TinyGL nie obsługuje shaderów (czyli OpenGL 1.x). Ale i tutaj od niedawna coś się rusza i jest jakiś cień szansy, że coś ciekawego się pojawi. To otworzy świat wieeelu otwartym projektom, których z tego względu przenieść się nie da albo wyglądają "trochę" inaczej w wersji dla MorphOS. Ale wszystko co wymaga OpenGL bez shaderów portuje się bardzo ładnie. Co nasi nadworni "porterzy" mocno wykorzystali.
Problemy z kolejnością bajtów (little/big endian) to trochę pieśń przeszłości. Jeżeli jakiś kod dzisiaj ma z tym problem to znaczy, że albo pochodzi z dawnych czasów, zależy od czegoś co pochodzi z dawnych czasów, albo jest pisany przez kogoś kto jest przekonany o tym, że inne architektury nie istnieją (w skrócie mówiąc - przez lamera).
Ostatnia aktualizacja: 02.05.2022 19:32:39 przez MDW