kategoria: AMOS
[#61] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #23

Sam język C jest uniwersalny tj. inter operacyjny itd. tylko w ograniczonym zakresie (ograniczonym do biblioteki standardowej) i to samo można powiedzieć również o standardowym C++, dlatego nauka samego C w dzisiejszym świecie do niczego się nie przyda w "normalnym" korpo programowaniu, bo jak już się uczyć to od razu frameworka np: QT (oraz np: Boost) i silnie powiązanego oraz zmodyfikowanego pod kątem QT języka C++. Reasumując. Programista standardowego C to taki sam dinozaur jak programista Amosa . Dzisiaj jak ktoś chce być na czasie to musi przede wszystkim dogłębnie poznawać frameworki gdzie automagicznie za pomocą kilku linijek relatywnie prostego kodu robi rzeczy do niedawna trudne i wymagające wielu godzin programowania np: w takich językach jak standardowe C (nawet włączając w to standardowe API jakiegoś OSa). Pomijam fakt, że dzisiaj w "normalnym" korpo programowaniu zbędne jest nawet programowanie, a w szczególności programowanie w językach kompilowanych takich jak C++, nie mówiąc o C który poza wąskimi zastosowaniami (blisko hardware) nie jest już praktycznie w użyciu.

Ostatnia aktualizacja: 12.11.2014 11:22:25 przez morele
[#62] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #61

Bez wątpienia, tym bardziej, że głównym problem w przenoszeniu kody między platformami nie są obecnie braki w kompatybilności języków, tylko braki w dostępności bibliotek zewnętrznych np. QT.
Jednak programujący w Basicu jest o tyle większym dinozaurem, że ten programujący w C zapozna się z mnogością typów danych, znacznie prościej będzie mu wpisać algorytm w gramatykę języka C niż w sztywne ramy Basica. A jak będzie chciał więcej, to bez problemów przeskoczy do C++ i zapozna się z ideą klas, co przyda się przy doświadczeniach z jakimkolwiek współczesnym językiem obiektowym.
A czego nauczy się człowiek bawiąc się Basicem? Basic kiedy powstawał był już przestarzały, C do dzisiaj bywa używany. Składnia i gramatyka większości współczesnych języków zbliżona jest do C, więc znając C łatwiej się w tym odnaleźć.
Piszę to na podstawie moich doswiadczeń. Przez wiele lat uzywałem Basica (Atari Basic), pisałem w nim całkiem zaawansowane rzeczy (jak na możliwości tego języka), czasem z elementami kodu maszynowego... więc chyba jest to najlepiej znane mi środowisko. Miałem krótka historię z Amosem, napisałem jakąś bzdurę gdzie wczytywało obrazki, coś na ekranie się kręciło, a w tle przygrywała muzyczka z modułu.... Potem chciałem pisać coś pod system, wybrałem w C. Do dzis pamietam ile trudu kosztowało mnie przełamanie Basicowych przyzwyczajeń. I nieustanne zdziwienie, jak wydajny i zwarty moze być kod robiący całkiem fajne rzeczy z uzyciem GUI AmigaOS.
W innym wątku na PPA koledzy piszą o zaprezentowanej ostatnio i rozwijanej przez nich bibliotece multimedialnej dla C. Coś co spowoduje, ze jedyny powód dla którego AMOS jest uzywany (czyli łatwość uzycia multimediów i zrobienie z tego gry) straci rację bytu przy porównywalnej łatwosci zrobienia tego w C.
[#63] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #62

A czego nauczy się człowiek bawiąc się Basicem? Basic kiedy powstawał był już przestarzały


Każdy język ewoluuje i Basic nie jest wyjątkiem. Założenie jakoby Basic skończył się na AtariBASIC czy AMOSie jest nieprawdziwe. AMOS jest już znacznie lepszym BASICiem od AtariBASIC. Na samej Amidze rowniez nie konczy sie BASIC na samym AMOSie, chociaz AMOS jest najlatwiejszy i najwygodniejszy na poczatku dajac spore mozliwosci na tzw. klasyku.

Nie wiem o jakich basicowych przyzwyczajeniach piszesz akurat w kontekscie chocby AMOSa ?.

Składnia i gramatyka większości współczesnych języków zbliżona jest do C, więc znając C łatwiej się w tym odnaleźć.


to nie jest prawda. Oczywiscie to zalezy co rozumiesz pod pojeciem wspolczesny jezyk, bo jest wiele wspolczesnych jezykow tzn. popularnych, bo zalezy do czego uzyte.

Moim zdaniem obecnie C to alternatywa tylko dla asemblera, a nie dla Basica. Wspolczesny Basic to alternatywa dla takich jezykow jak Perl czy Python.
[#64] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #63

Basic bez wątpienia przypomina Perla czy Pythona w tym, że jest interpretowany, dzięki czemu można wygodnie użyć go do tworzenia skryptów czy makr. Za to pod względem składni takiemu Pythonowi znacznie bliżej do C, albo C++.

Ostatnia aktualizacja: 12.11.2014 18:30:40 przez wali7
[#65] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #64

Ja tam sie nie znam, ale jestem zwolennikiem teorii, ze jezyk dobiera sie do zastosowan, i tyle. Po co komu C jak chce sobie programowac w Basicu czy Amosie? Czy jakas tam pchelke napisze szybciej w ARexxie czy moze C?
Tak ze nie dajmy sie zwariowac. Proponuje "rzezbic" w tym co nam sprawia frajde, i tyle.

A wszystkim "zielonym" polecam na poczatek zabawe z AmigaDOS.
Wykorzystujac aminetowe "pchelki" mozna tworzyc calkiem uzyteczne skrypty, zwlaszcza z uzyciem programow pozbawionych GUI.

Howgh!



Ostatnia aktualizacja: 12.11.2014 21:39:10 przez Dopuser
[#66] Re: Kurs programowania dla zielonych - podstawy podstaw

@Dopuser, post #65

No dokładnie.Jaka by była różnica w działaniu gry PONG napisanej w C a jaka w Basicu.
[#67] Re: Kurs programowania dla zielonych - podstawy podstaw

@Dopuser, post #65

Z nauką programowania jest tak jak z nauką jazdy na rowerze. Znacznie szybciej i łatwiej zacząć jeździć na rowerze stawiając lewą stopę na prawym pedale, złapać za kierownicę i odpychając się prawą stopą używać go jak hulajnogi. Pewnie każdy z nas tak próbował, bez wątpienia można się nauczyć tak "jeździć" w 5 minut. Z czasem można opanować to do perfekcji i jednocześnie zawieźć na siodełku np. deski na budowę... ale to wszystko. Ani szybciej, ani dalej tak nie pojedziemy. A pozbyć się złych nawyków będzie trudno.
Można też uczyć się od razu jak trzeba - lewa stopa na lewym pedale, prawa na prawym, ręce na kierownicy i do przodu. Pewnie się wywalimy, trochę strachu najemy, ale efekty będą o wiele bardziej spektakularne.
A w tym wątku mamy takie teksty: "z nich już nie zrobimy kolarzy", "po co im to, niech jeżdżą jak wydaje im się że jest dobrze", "w dzisiejszych czasach to już wszyscy śmigają samochodami, więc uczenie się poprawnej jazdy na rowerze jest bez sensu... niech pośmigają sobie jak na hulajnodze"...
Tyle przypowieść. :)
Co do teorii o wyższości jednych języków programowania nad drugimi, co najmniej równie wielu zwolenników ma teoria, że najlepszy język to ten, który najlepiej znamy i rozumiemy.
Co rozumiesz pod pojęciem pchełki? Jeśli "pchełkami" były pisane przeze mnie programy na potrzeby obliczeń podczas ćwiczeń na studiach (pchełka=kilkanaście linii kodu C, po kompilacji najwyżej kilkanaście kb binarki... z ciekawości, ile ma "pchełka" w Basicu po skompilowaniu?), to zdecydowanie C. Potrzebuję szybkości i dużej precyzji liczb zmiennoprzecinkowych, jakbym chciał robić to w Basicu, to nie dość że na wynik czekałbym dosyć długo (obliczenia rekurencyjne), to implementacja arytmetyki i typów danych o podwyższonej precyzji w Basicu wymagałaby sporego nakładu pracy, a prędkość działania byłaby straszna. Albo programik otwierający się requesterem wyboru rozdzielczości, otwierający własny ekran, na nim skalowalne okno i drugie okno z requesterem wyboru koloru. Klikając na skalowalnym oknie można sobie rysować wybranym kolorem, wybierając z pull-down menu opcję zapisu mieć to na dysku. Taka zabawka z GUI, ale przydała mi się, bo był u nas program generujący pliki graficzne w niestandardowym formacie (jednak dosyć banalnym). Dorobienie opcji wczytywania tego zajęło mi kilkadziesiąt minut, wczytywać można było po wybraniu z pull down menu opcji i wyborze pliku z requestera, albo podając jako argument komendy ścieżkę. I wszystko w sporo poniżej 100 kB, w pełni "AmigaOS friendly". To są dla mnie pchełki. Jakoś Basic kłóci mi się z ideą pisania pchełek - lekkich i "sprytnych" programików. Rozumiem, że w latach 80, w dobie 8bitowców był fajny i młodzież na nim stawiała pierwsze kroki. Ale te czasy minęły. C jest także przestarzały, ale wiele języków na nim się wzoruje.
I chodzi mi tylko o walkę z jednym, absolutnie nieprawdziwym mitem: że C jest trudny.
Nie jest trudny. :) Znam Basica (w tym Amosa), znam C, trochę C++, LOGO miałem w liceum a Pascala na kursie przygotowawczym na studia (z tym, że na 3 miesiące przed maturą zdecydowałem, że jednak nie zostanę programistą, a biologiem... czasem żałuję). Nie jestem profesjonalistą, i nigdy już nie będę, trochę jednak poznałem tego. I każdemu kto będzie planował zacząć naukę programowania od Basica będę odradzał "przyjacielu, nie idź tą drogą ".
Jak ktoś nie wierzy (że C jest prosty), to na dowolnej imprezie amigowej (na której będę np. najbliższy SACP, albo któraś z naszych krakowskich imprez) podejmuję się nauczyć go podstaw C w ... powiedzmy godzinę. No chyba że będzie ćwierćgłówkiem, ale zawsze byłem przekonany, że na PPA nie mamy takich.
[#68] Re: Kurs programowania dla zielonych - podstawy podstaw

@djpiotrs, post #66

Z ciekawości zapytam, jaka byłaby różnica?
[#69] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #64

Basic bez wątpienia przypomina Perla czy Pythona w tym, że jest interpretowany


Nie jest to prawda!. Jest mnostwo kompilatorow roznych wariacji BASICa.
[#70] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #69

Co nie zmienia faktu, że podstawowym sposobem użytkowania Basica jest zabawa z interpreterem.
A o kompilatorach wiem... jakiej wielkości kod generuje taki kompilator basicowy dla Hello_world?

Ostatnia aktualizacja: 12.11.2014 23:52:28 przez wali7
[#71] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #67

Co rozumiesz pod pojęciem pchełki?


We wspolczesnym programowaniu o tym glownie decyduje uzyty framework/api etc., a nie sam jezyk, chociaz uzycie Basica jest latwiejsze z powodu latwo dostepnych rozszerzen...

z ciekawości, ile ma "pchełka" w Basicu po skompilowaniu?)


To akurat nie jest istotny argument, ale istnieja kompilatory Basica generujace dosc optymalny kod pod katem objetosci tzn. porownywalny np: z C, bo C++ to juz insza para kaloszy.

Potrzebuję szybkości i dużej precyzji liczb zmiennoprzecinkowych, jakbym chciał robić to w Basicu, to nie dość że na wynik czekałbym dosyć długo (obliczenia rekurencyjne), to implementacja arytmetyki i typów danych o podwyższonej precyzji w Basicu wymagałaby sporego nakładu pracy, a prędkość działania byłaby straszna.


Za bardzo nie rozumiem o co chodzi ?.

zacząć naukę programowania od Basica będę odradzał "przyjacielu, nie idź tą drogą


jezeli jakis Basic okaze sie wlasciwa droga do rozwiazania problemu to czemu nie ?
[#72] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #71

Ponad 70 postów w temacie, a szkółki programowania jak nie było, tak wciąż nie ma
[#73] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #70

Co nie zmienia faktu, że podstawowym sposobem użytkowania Basica jest zabawa z interpreterem.


to zalezy akurat tylko od wyboru narzedzia, bo nie jest to cecha permanentna BASICa. Istnieja wersje BASICa gdzie jest tylko kompilacja.

jakiej wielkości kod generuje taki kompilator basicowy dla Hello_world?


to zalezy od uzytego narzedzia tj. kompilatora BASICa. Tak jak napisalem. Istnieja kompilatory BASICa generujace kod o podobnej objetosci jak w przypadku C, wiec nie jest to jakis istotny argument. Pytanie, ktory kod zrodlowy bedzie krotszy ?szeroki uśmiech
[#74] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #71

Odpowiedzi uszeregowane według FILO

Mówimy nie o wyborze konkretnego języka do rozwiązania ściśle określonych problemów, tylko o wyborze języka do nauki programowania. Moim zdaniem Basic jest złym wyborem, gdyż obok swoich ograniczeń wprowadza złe nawyki (tu głównie chodzi o osławione GOTO w postaci skoku bezwarunkowego, albo z IF.... co ciekawe C też ma swoją goto, tyle że składnia C skutecznie zniechęca .... czy raczej nie zachęca do jej używania).

Język C jak wiadomo oferuje mnogość typów danych, łatwo też zdefiniować nowe typy i prowadzić obliczenia z użyciem zewnętrznych bibliotek. W Amosie też tak jest? Nie zapominajmy o tym, że piszemy o Amosie, a nie o jakimś dialekcie Basica który być może do tego się nadaje ciut lepiej. W Basicu musiałbym stworzyć od podstaw bibliotekę obliczeń o odpowiedniej precyzji....

Które kompilatory Basica (pod Amigę, najlepiej kompilatory Amosa), generują kod porównywalny zwartością z kodem skompilowanego C? Oczywiście chodzi o implementację tego samego algorytmu.

Jakie frameworki dostępne są dla amigowych basiców? Jaki jest stosunek ilościowy projektów (globalnie, w całym świecie IT) stworzonych w oparciu o C/C++ do projektów stworzonych w oparciu o Basic plus jakieś frameworki? Oczywiście chodzi o przybliżone dane....

Ostatnia aktualizacja: 13.11.2014 00:26:19 przez wali7
[#75] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #67

Nawet dobra ta analogia z tym rowerem i C. A co z tymi ktorzy szaleja na desce albo rolkach? Im umiejetnosc jazdy na C-rowerze jakby zbedna

Pelna zgoda, ze najlepszy język to ten, który najlepiej znamy i rozumiemy.
Tyle, ze czasami trzeba sie nakombinowac w tym znanym jezyku podczas gdy w innym jezyku, bardziej przydatnym do zadania, bylaby to latwizna.

Jezeli "potrzebujesz szybkości i dużej precyzji liczb zmiennoprzecinkowych" to dobierz jezyk do zadania... i wybierz C. Naturalne chyba, bo Basic sie do tego nie nadaje. Ale juz do napisania gry z bobami czy jakiejs prostej bazy danych doskonale sie sprawdzi taki Amos. Tak na marginesie, moj pierwszy program w Amosie to sygnalizacja momentow kupna sprzedazy na WGPW wg wskaznika MACD. Wszystkie dane z sesji wprowadzane recznie do tabeli!

Mowiac o "pchelkach" mialem na mysli nawet nie Basica a wprost skrypty AmigaDOS. Albo ARexxa.

Pozostala kryptoreklame C pomine milczeniem

IMHO warto zapoznac sie z roznymi jezykami. Ale pisac w tym co nam sprawia frajde. Dlatego AmigaDOS & ARexx "rzondzi"!

Howgh!
[#76] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #73

AMOS jest interpretowany. Kompilatory są dodatkowym modułem.

Które z amigowych kompilatorów Basica generują kod o zwartości i szybkości kodu C?
[#77] Re: Kurs programowania dla zielonych - podstawy podstaw

@Dopuser, post #75

Tu się zgadzam, zwłaszcza z tym, że najlepiej pisać w tym co sprawia frajdę.
A mi sprawia dla odmiany frajdę pisanie w C, pisać w Basicu nie lubię (kiedyś lubiłem....).
Sam nie wiem czego bardziej nie lubię w Basicu: czy skostniałej struktury programu, czy beznadziejnej integracji z systemem operacyjnym (przypominam, że piszemy o AMOSie, o Amiga Basicu też. Blitza nigdy na oczy nie widziałem, słyszałem że nie jest zły).
[#78] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #76

AMOS jest interpretowany. Kompilatory są dodatkowym modułem.


skoro jest kompilator to tylko dowodzi, ze nie jest to cecha przypisana na stale do BASICa, nawet takiego jak AMOS.

Które z amigowych kompilatorów Basica generują kod o zwartości i szybkości kodu C?


Z szybkoscia to trudno powiedziec, bo kompilatory C sa lepiej dopracowane i tylko dlatego. Na pewno kompilator PureBasic dla Amigi wygeneruje kod o podobnej objetosci co kompilator C, natomiast na pewno zrodlo w Basic bedzie bardziej zwarte i zrozumiale.
[#79] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #78

Basic zaczynał jako język wyłącznie interpretowany. Kompilatory zaczęto robić dopiero później. C od początku był wyłącznie kompilowany.

Sam piszesz, że kompilatory C są lepiej dopracowane. I na tym można by zakończyć. Moim zdaniem tajemnica szybkości C wynika również z pewnych cech gramatyki języka: powszechne operatory inkrementacji i dekrementacji w C są tłumaczone w zasadzie na pojedynczy rozkaz CPU (zależnie od typu danych, ale w C akurat to jest ściśle określone i kompilator wie jakie będą dane), czy wszechobecne wskaźniki wprost kompilowane na instrukcje CPU z pośrednim adresowaniem.

Z ostatnim zdaniem się nie zgadzam. Źródła w Basicu często przypominają bagno poprzerastane lianami instrukcji GOTO. W C oczywiście także można zrobić bagienko, ale trochę trudniej do tego doprowadzić.
[#80] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #74

Mówimy nie o wyborze konkretnego języka do rozwiązania ściśle określonych problemów, tylko o wyborze języka do nauki programowania.

No dobrze... nauczyciele jakiego jezyka sa na tyle dyspozycyjni ze mogliby taka szkolke poprowadzic? No a zdrugiej strony, jakiego jezyka chcieliby sie uczyc "neofici"? Trzeba by chyba jakos zgrac te dwie rzeczy...

Moze jakas ankieta w tym celu?
[#81] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #74

tu głównie chodzi o osławione GOTO w postaci skoku bezwarunkowego


od dawien dawna nie trzeba uzywac GOTO (nawet w Amos mozna sie obyc), zreszta w C tez jest takie GOTO i nie ma przymusu stosowac :)

Język C jak wiadomo oferuje mnogość typów danych, łatwo też zdefiniować nowe typy i prowadzić obliczenia z użyciem zewnętrznych bibliotek. W Amosie też tak jest?


nie wiem dok. jak jest w Amos, ale we wspolczesnych BASICach deklarujsze typ danej, natomiast wiem, ze Amos umozliwia korzystanie z zew. bibliotek, w tym takze zapewne matematycznych.

W Basicu musiałbym stworzyć od podstaw bibliotekę obliczeń o odpowiedniej precyzji....


W C rowniez, jezeli masz na mysli dowolna precyzje.

Które kompilatory Basica (pod Amigę, najlepiej kompilatory Amosa), generują kod porównywalny zwartością z kodem skompilowanego C? Oczywiście chodzi o implementację tego samego algorytmu.


To nie jest tak. W C mozesz powiedzmy prawie bez problemow zmienic sobie kompilator na inny o ile kod zrodlowy miesci sie w jakims powszechnym standardzie, system udostepnia niezbedne API, hardware jest kompatybilny itd. itp. Nie da sie praktycznie w ten sposob myslec o Basic, bo poszczegolne narzedzia sa scisle wyspecjalizowane i poza podstawowymi konstrukcjami samego jezyka Basic roznia sie miedzy soba diametralnie co praktycznie uniemozliwia takie przenoszenie kodu zrodlowego do innego kompilatora Basica. Z jednej strony jest to problem jak przypadku np: Amosa gdzie jego rozwoj stanal prawie w miejscu. Z drugiej strony taki jezyk Basic plus jego framework o ile wystarcza na codzien rozwiazuje wiele zbednych dylematow na drodze do celu...

Jaki jest stosunek ilościowy projektów (globalnie, w całym świecie IT) stworzonych w oparciu o C/C++ do projektów stworzonych w oparciu o Basic plus jakieś frameworki?


C/C++ ma zapewne przewage, bo to jednak wiodacy jezyk chocby w dziedzinie tworzenia systemow operacyjnych, ale tworzenie systemow operacyjnych nie jest celem kazdego programisty . Ten argument jest w gruncie rzeczy do bani i o niczym nie przesadza.
[#82] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #79

Sam piszesz, że kompilatory C są lepiej dopracowane. I na tym można by zakończyć.


lepiej dopracowane pod katem uzysku wydajnosci, bo poswiecono temu zagadnieniu w kompilatorach C wiecej czasu, w koncu C ma byc alternatywa dla asm, a nie Basica..., tylko to nie jest argument na pewno najwazniejszy. Juz ktos tutaj zadal bardzo madrze pytanie, jaka bylaby roznica miedzy Pongiem w C i AMOSie, wiec ja odpowiem, dla grajacego absolutnie zadna!. Natomiast na pewno latwiej i prosciej stworzyc Ponga w Amosie i to jest takze jedna z miar wydajnosci. Myslac w ten sposob mozna wykazac wyzszosc ASM nad C i tez zakonczyc dyskusje uznajac ASM za zwyciezce tylko co z tego skoro napisanie "prostego" programu w ASM moze zajac kawal zycia :)...

Moim zdaniem tajemnica szybkości C wynika również z pewnych cech gramatyki języka: powszechne operatory inkrementacji i dekrementacji w C są tłumaczone w zasadzie na pojedynczy rozkaz CPU (zależnie od typu danych, ale w C akurat to jest ściśle określone i kompilator wie jakie będą dane), czy wszechobecne wskaźniki wprost kompilowane na instrukcje CPU z pośrednim adresowaniem.


Pomijac kwestie dt. samego kompilatora BASIC wspomniane wczesniej to wynik nie tyle gramatyki jezyka co techniki programowania. Znajac pewne cechy uzywanego kompilatora BASIC mozna uzyskac bardziej optymalny kod. W jezyku C tez nie stosuje sie pewnych konwencji jezykowych w celu unikniecia problemow z wydajnoscia kodu wynikowego np: z stad uzywanie powszechnie wszedzie wskaznikow ktore skutecznie "zaciemniaja" kod...
[#83] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #79

Źródła w Basicu często przypominają bagno poprzerastane lianami instrukcji GOTO.


Kolejny argument do bani. Ogladajac kody zrodlowe poczatkujacych programistow C tez mozna zlapac sie za glowe. Niektorym to od razu nalezy odradzic programowanie w C polecajac inny jezyk.... Pogladaj sobie kody zrodlowe doswiadczonych programistow Basica i jak dojrzysz tam chocby jedno GOTO to bedzie jakis super wyjatek .
[#84] Re: Kurs programowania dla zielonych - podstawy podstaw

@morele, post #81

od dawien dawna nie trzeba uzywac GOTO (nawet w Amos mozna sie obyc), zreszta w C tez jest takie GOTO i nie ma przymusu stosowac

tyle że w C spotkanie goto w kodzie jest częste jak spotykanie yeti na Giewoncie, a w kodzie Basica powszechnie spotykane

nie wiem dok. jak jest w Amos, ale we wspolczesnych BASICach deklarujsze typ danej, natomiast wiem, ze Amos umozliwia korzystanie z zew. bibliotek, w tym takze zapewne matematycznych.

to może skupmy się na Amosie, przynajmniej do czasu, gdy któryś ze współczesnych Basiców zostanie przeportowany na klasyczną Ami

W C rowniez, jezeli masz na mysli dowolna precyzje.

wystarczy mi long double. Co oferuje Amos? (nie interesują nas tu dialekty Basica powstałe 20 lat po amosie, do tego na inne platformy)

C/C++ ma zapewne przewage, bo to jednak wiodacy jezyk chocby w dziedzinie tworzenia systemow operacyjnych, ale tworzenie systemow operacyjnych nie jest celem kazdego programisty . Ten argument jest w gruncie rzeczy do bani i o niczym nie przesadza.

Olbrzymia większość użytkowego softu także jest pisane w C++.

Kolejny argument do bani. Ogladajac kody zrodlowe poczatkujacych programistow C tez mozna zlapac sie za glowe. Niektorym to od razu nalezy odradzic programowanie w C polecajac inny jezyk.... Pogladaj sobie kody zrodlowe doswiadczonych programistow Basica i jak dojrzysz tam chocby jedno GOTO to bedzie jakis super wyjatek

cóż z tego, że doświadczeni programiści potrafią utrzymać porządek w basicowym kodzie, skoro większość stanowią niedoświadczeni. Przypominam, że w tym wątku dyskutujemy o poleceniu dialektu Basica jako pierwszego języka programowania. Dla kompletnie zielonych.

Mi nie chodzi o wykazywanie wyższości jednego nad drugim.... tylko o rekomendację idealnego języka do nauki dla początkującego.
Co do wyższości zaś to moim zdaniem jedyną przewagą (z punktu widzenia początkującego) Basica jest łatwe stawianie kropek na ekranie (zwłaszcza Amos ma tu sporo udogodnień), o ile nasz dialekt Basica ma te instrukcje (np. Basic C64 nie miał). Jednak nijak się to ma do zalet samego języka, bo C/C++ góruje nad Basicem praktycznie na każdym polu. Bez wątpienia Basic lepiej spisze się jako język skryptowy, raczej nie wyobrażam sobie C w takiej roli. Ale w programowaniu aplikacyjnym..... sprawy mają się zupełnie inaczej.
AMOS ma swoje mocne strony, ale wyłącznie na nierozbudowanej Amidze, bledną one po zamontowaniu choćby karty graficznej. Gdyby istniały moduły obsługujące amigowe RTG, gdyby język umożliwiał prostsze i pełniejsze wykorzystanie procedur OS.... ale nie istnieją i nie umożliwia. Kropka.

Zresztą przez cały czas przywołujesz tu środowiska Basicowe z współczesnych platform. To odnieś je proszę do platform developerskich opartych na C/C++ dla tych samych, nowoczesnych środowisk i porównaj ile aplikacji tworzy się w jednych, a ile w drugich.


Ostatnia aktualizacja: 13.11.2014 02:22:29 przez wali7
[#85] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #84

Tyle, ze na Amidze
- nie ma potrzeby wykorzystywania karty graficznej, bo takowe posiada promil amigowcow a pisanie dla promila nie ma sensu. Przyklad : slynna polska gra EXODUS dla ktorej zalecano karte grafiki. Ludzie mowia ze gre zabila kiepska sprzedaz (piracenie) a ja twierdze, ze gre zabily zbyt duze wymagania sprzetowe w tym posiadanie karty grafiki co przelozylo sie na bardzo mala liczbe nabywcow.
- nie ma potrzeby i wrecz nie wykorzystuje sie OS, bo to spowalnia drastycznie dzialanie gier.
Przyklad: predkosc dzialania gry DUNE 2 (systemowa) kontra SETTLERS (niesystemowa). Settlersi sa gra znacznie bardziej skomplikowana, ktora dziala duzo szybciej niz Dune 2.
- AMOS jest hybryda BASICA i w zadnym stopniu nie moze byc porownywalny z ATARI czy ZX Spectrum BASIC'iem.

Porownywanie platformy PC z Amiga i wprowadzanie analogii z PC do swiata Amigi, jest kompletna bzdura. Stad cale te teorie kolego Wali ni jak maja sie do amigowej rzeczywistosci.


Najlepszym jezykiem do programowania gier na Amige byl, jest i bedzie zawsze ASEMBLER !!
i jak ktos nie zna asemblera wtedy musi skorzystac z BLITZ BASIC, AMOSA, C, lub Amiga E przy czym, kazdy z tych jezykow bedzie lepszy w czyms a gorszy w czyms innym, wiec wszystko bedzie zalezec od tego, co chcemy w nich stworzyc.
[#86] Re: Kurs programowania dla zielonych - podstawy podstaw

@selur, post #85

A co z kursami języków z Magazynu Amiga czy Amigowca?
Czy straciły na aktualności? Który z nich polecacie?

Pamiętam z drugiej połowy lat 90ych chwalono w prasie Amiga E pod niebiosa. Zdziwiłem się że tu dopiero w ostatnim poście wspomniano o jego istnieniu.

A może można zrobić zestaw prostych testów w różnych językach, by porównać długość i szybkość kodu, i pokazać ich listingi, by każdy mógł sobie ocenić który wydaje mu się zrozumiały, co by pomogło podjąć decyzję niezdecydowanym, czego by tu się zacząć uczyć. Np. wyświetlenie iluś tam linijek tekstu, narysowanie iluś tam kresek, otwarcie okien, czy sortowanie albo seria operacji matematycznych. Co by obiektywnie określiło raz na zawsze który jest w czymś szybszy.

Albo tabelkę z plusami i minusami poszczególnych języków. Skupiając się na cechach obiektywnych takich jak obecność lub brak pewnych rozkazów czy mechanizmów, a nie subiektywnych jak "łatwość" robienia czegoś. A dopiero po tym ankietę na jaki kurs ludzie mają apetyt. :)
[#87] Re: Kurs programowania dla zielonych - podstawy podstaw

@selur, post #85

No właśnie: Hybryda. Przecież w Amosie można z powodzeniem stosować kod asemblera. Ponadto help i tutoriale jakie są standardowo dołączone do AMOSa, wyczerpują w całości temat tego języka.
[#88] Re: Kurs programowania dla zielonych - podstawy podstaw

@selur, post #85

Całkiem ciekawe byłoby porównanie, jak wiele gier dla Amigi powstało w Amosie, a ile w C. Oczywiście łatwiej zrobić to w Amosie, jednak w C gra może być znacznie szybsza. Wynika to z tego, że pisząc pod Amosem wcale nie ma tak, że nie piszesz pod systemem... piszesz, tyle że nie pod AmigaOS, a pod systemem Amos. Oczywiście Amos nie jest systemem operacyjnym sensu stricto, spełnia jednak wiele jego cech, przejmując kontrolę nad urządzeniami I/O, przejmując kontrolę nad wyświetlaniem. Wprowadza własne narzuty. Podczas gdy C jest praktycznie transparentny dla programów, umiejętnie napisane programy w C potrafią wycisnąć z chipsetu wszystko, co dla programów pod Amosem jest niemożliwe.
W przypadku pisania pod system można z niego korzystać, można go całkowicie wyłączyć. Można też, korzystając z procedur systemu operacyjnego użyć zoptymalizowanych procedur w assemblerze np. c2p. W przypadku AmigaOS powolne są systemowe procedury rysowania grafiki. Można więc tylko je zastąpić, korzystając nadal z systemu mieć szybką grafikę.


Porownywanie platformy PC z Amiga i wprowadzanie analogii z PC do swiata Amigi, jest kompletna bzdura.

Serio? A które to analogie ze świata PC nie pasują do Amigi? Bo ja zawsze sądziłem, że Amiga, podobnie jak PC, jest komputerem.

Mam pytanie. Znasz C? Napisałeś w nim jakiś program pod AmigaOS?
[#89] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #84

Awersja do BASICa chyba przeslania rzeczywistosc , moze pora juz zdjac te okulary.

tyle że w C spotkanie goto w kodzie jest częste jak spotykanie yeti na Giewoncie, a w kodzie Basica powszechnie spotykane


w kodzie Basica sprzed 20 lub 30 lat, nalezy dodac. Poczatkujacy programisci C popelniaja setki innych "niewybaczalnych" bledow.

to może skupmy się na Amosie, przynajmniej do czasu, gdy któryś ze współczesnych Basiców zostanie przeportowany na klasyczną Ami


myslac BASIC myslisz Amos tudziez nawet AtariBASIC, myslac C myslisz najnowsza wersja bezplatnego kompilatora z implementacja C99 itd. To nie jest sprawiedliwe dla BASICa.

wystarczy mi long double. Co oferuje Amos?


AMOS powstal do innych celow dlatego tego nie oferuje i nie potrzebuje oferowac na wejsciu, za to inne BASICy jak najbardziej maja to w standardzie i piszac takie programy w BASIC raczej nikt nie decyduje sie na wybor AMOSa.

Olbrzymia większość użytkowego softu także jest pisane w C++.


to byla prawda, ale 15 lat temu. C++ nie jest ani mily w obejsciu, ani tani, ani latwy itd. wiec dt. to tylko softu za grube miliony rozwijanego od wiekow. Zauwaz, ze najwazniejsze obecnie narzedzia dev napisane sa w Javie, a ludzie uzywajacy tych narzedzi korzystajacy na codzien tylko z C/C++ naleza niemal do marginesu programistow. Takie czasy, warto sie z tym pogodzic .

cóż z tego, że doświadczeni programiści potrafią utrzymać porządek w basicowym kodzie, skoro większość stanowią niedoświadczeni.


to samo mozna powiedziec o kazdym innym jezyku w tym C.

Bez wątpienia Basic lepiej spisze się jako język skryptowy, raczej nie wyobrażam sobie C w takiej roli. Ale w programowaniu aplikacyjnym..... sprawy mają się zupełnie inaczej.


Dzisiaj maja i dlatego jezyk C/C++ jest niemal ostatni na liscie jezykow dla kazdego nowego projektu ok, racja

AMOS ma swoje mocne strony, ale wyłącznie na nierozbudowanej Amidze, bledną one po zamontowaniu choćby karty graficznej. Gdyby istniały moduły obsługujące amigowe RTG


tylko piszac w C na chipset, a potem przenoszac sie na RTG i tak duza czesc programu trzeba bedzie napisac od poczatku.

To odnieś je proszę do platform developerskich opartych na C/C++ dla tych samych, nowoczesnych środowisk i porównaj ile aplikacji tworzy się w jednych, a ile w drugich.


takim srodowiskiem jest QT i pomimo duzych modyfikacji w C++ nadal nie jest to tak mile, przyjmne, latwe rowniez tanie jak w przypadku tych innych, chocby VBA.

Ostatnia aktualizacja: 13.11.2014 10:36:13 przez morele
[#90] Re: Kurs programowania dla zielonych - podstawy podstaw

@wali7, post #88

Oczywiście łatwiej zrobić to w Amosie, jednak w C gra może być znacznie szybsza.


Zaden kompilator C nie generuje wystarczajaco dobrego kodu dla Amigi 500 takze sila rzeczy trzeba posilkowac sie asemblerem. Amos napisany jest w asm dlatego bedzie szybszy od C na A500 w tym do czego powstal, a do tego wstawki asm sa w Amos standardowym elementem.

Dlatego powstrzymalbym sie z tym "znacznie szybsza", bo poczatkujacy moze to blednie odebrac ok, racja

Poza tym szybkosc i prostota tworzenia jest najwiekszym atutem AMOSa i innych BASICow.


Ostatnia aktualizacja: 13.11.2014 10:51:15 przez morele
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem