@Prince,
post #16
z otwieraniem bibliotek, ale nie sądzę że by w C było tak łatwo jak w assemblerku.
No masz rację, tak łatwo nie jest. Jest łatwiej ;)
Po pierwsze w Amidze nie ma czegoś takiego jak "przepisz". Bo brak edytora Jedyne co można zrobić to zapakować CEDa i wklepać, zapisać do pliku i dopiero wtedy wrzucić do kompilatora.
A o clipboardzie słyszałeś? (amiga+c amiga +v).
A co do tematów typu "brak edytora" - nawet pod AmigaOS są fajne edytory zintegrowane z kompilatorem. Chociażby niedoceniany przez ludzi HisoftC (Maxon C++). Idealny do nauki C. Krokowy debuger, wypluwanie źródła w asemblerze (ja się tak C uczyłem - wklepując źródło w C, a potem analizując co kompilator rzeźbi w wyplutym przez siebie kodzie asemblera), kolorowanie słów kluczowych i typów danych (w tym struktur systemowych)...
Nie ma tak, że klika się na "kompiluj" i już.
W Maxonie tak jest. Inna sprawa, że...:
To jest C i wszystko po "profesjonalnemu" musi być zadeklarowane,
To chyba normalne, i niezależne od języka, że trzeba deklarować np. zmienne?
Jedyne co może na początku wkurzać, to typy danych, i nadmierne przywiązanie kompilatora do nich. Ale z czasem to się tylko zaczyna doceniać, bo pozwala na eliminację wielu potencjalnych błędów, czasem bardzo typowych dla asemblera. Ja np. bardzo sobie chwalę to, że w danej chwili mnie kompilator informuję, że odwołuję się do struktury BitMap, czy Obiektu, a nie do LONGa, a może bajtu?...
jak to mi wywaliło jeszcze kilka śmieci, w tym chyba było ze dwa inne kody źródłowe.
Kwestia konfiguracji kompilatora. W asemblerze też można kompilować do obiektów, a potem linkować, co daje w efekcie kilka plików pośrednich.
Ilość produkowanych plików przez kompilator wynika ze specyfiki jego działania - najpierw kod C jest tłumaczony na źródło asemblerowe, które potem jest asemblowane do plików .o. To, że tak się dzieje wynika między innymi z tego, że C optymalizuje kod, czasem dając w wyniku lepszy i szybszy kod, niż napisany ręcznie w asemblerze, czego np. na pewno nie można powiedzieć o amosie, czy E.
Ja rozumiem, że na pececie "profesjonalizm" tak właśnie wygląda, ale dla mnie to idiotyzm.
Nie wiesz o czym mówisz. Każdy język ma swoją specyfikę. W przypadku C, to co na pozór wydaje się jego wadą, na dłuższą metę jest zaletą.
Jeśli jesteś taki mocny w asemblerze, i twierdzisz że jest on bardzo dobrym językiem, to proponuję Ci, żebyś napisał jakiś program w MUI, używając asemblera. Powodzenia. Przykładów można mnożyć. Niemniej czytelność kodu C, a asemblera, zwłaszcza przy dużych projektach ciągniętych przez kilka miesięcy, czy nawet lat, wypada druzgocąco na korzyść C.
Nawet najlepsza książka "C dla 6 latka" nie pozwoli mi na pisanie na Amidze, bo w niej (książce) nie będzie brane pod uwagę, że muszisz mieć jakiś ed.textu, kompilator oprzyrządzić, wszystko wymieszać i piec 40 min na wolnym ogniu...
Jeśli Ty chcesz mieć przygotowane wszystko na talerzu, to może programowanie w Twoim przypadku to nieporozumienie? W "odpowiednie oprzyrządzenie" trzeba się pobawić na każdej platformie, w mniejszym, czy większym stopniu (chociażby skonfigurować edytor pod własne preferencje - nie wiem, kolory tekstu chociażby), a to, że w książkach nie porusza się kwestii "oporządzania kompilatorów" wynika jedynie z tego, iż do czegoś takiego wypadało by napisać osobną książkę, i to niemałą. Tylko po co powielać instrukcję obsługi kompilatora?
Konfigurację kompilatora przeprowadza się najczęściej raz, a potem jest tak samo jak w asemblerze - "kompiluj", bądź "make" w konsoli, i już.
(Ale się naraziłem wszystkim lubiącym C)
Nie sądzę, mogłeś conajwyżej wywołać uśmiech politowania. Wielu przechodziło to samo co Ty, ale zamiast gadać, chwyciło za kompilator, nie zrażając się początkowymi trudnościami. Podobnie jak ja, jakiś rok temu. Przedtem miałem bardzo podobne zdanie o asemblerze i C jak Ty, a teraz na asembler patrzę jedynie w ramach ciekawostki przyrodniczej, bo zdaję sobie sprawę z tego, że to język wymierający (patrząc przez pryzmat komplikacji współczesnych aplikacji, czy możliwości nowoczesnych kompilatorów). Poza tym przywiązuje do konkretnej platformy sprzętowej.