Nauka programowania

Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Nauka programowania

Post autor: Gerwazy »

Gambit pisze:Delphi i Kylix to nie Object Pascal (możliwe, że trochę zmodyfikowany)?
Tak, Delphi i Kylix to Object Pascal, a w zasadzie jego dialekt, gdyż chyba lekko się różni od oryginalnego Apple'owskiego Object Pascala. Ale mi raczej nie chodziło o środowisko programistyczne, tylko project jakim jest np. serwer Apache w C.


Tak poza tym zapodam kilka linków:
W

Kod: Zaznacz cały

http://www.lysator.liu.se/c/bwk-on-pascal.html
można zapoznać się, dlaczego Pascal nie jest ulubionym językiem Briana Kernighana.
Z kolei można poczytać o tym, jak programować w Pascalu (to nie jest kurs).
Jako ciekawostka [url=http://en.wikipedia.org/wiki/Hello_world_program]przykłady[/url] programów typu "Hello World" w różnych językach programowania oraz [url=http://en.wikipedia.org/wiki/Hello_world_program_in_esoteric_languages]przykłady[/url] w językach ezoterycznych.

.
gnicz
Użytkownik
Użytkownik
Posty: 507
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

osama pisze: ... nie jest glupi pomysl, gdyby w szkolach o profilu informatycznym uczyc assemblera przynajmniej podstawy, pozniej nauka kolejnych jezykow poszla by jak po burzy ...
Osobiscie uwazam iz dla kompletnego nowicjusza w programowaniu bardziej odpowiedni bylby jezyk wosokiego poziomu. Nastepnie kurs assemlbera. Taka wiedza moze przeciez byc wykorzystana takze przy programowaniu na wysokim poziomie.

Pozdrawiam, GNicz
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Nauka programowania

Post autor: Gambit »

osama pisze:
My4tic pisze:Wprowadzić Assemblera do podstawówek!!!
szacunek dla ciebie moj czarny bracie :) pozatym, to nie jest glupi pomysl, gdyby w szkolach o profilu informatycznym uczyc assemblera przynajmniej podstawy, pozniej nauka kolejnych jezykow poszla by jak po burzy, no i "programistow" mielibysmy o niebo lepszych :?
LOL. Krzyżyk na drogę... Ty zapewne sam zacząłeś w podstawówce naukę assembler'a, więc może opowiesz nam co Tobie sprawiło najwięcej problemów? A może w całej oświacie powinniśmy zrobić taką rewolucję np. klasie o profilu biologicznym powinni odrazu uczyć klonowania - przynajmniej podstaw, żeby każdy mógł sobie chociaż owieczkę zklonować....
gnicz
Użytkownik
Użytkownik
Posty: 507
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

Z nauka informatyki w szkole jest jeden problem - niski poziom nauczania. Jesli w szkolach trzeba by wykladac Assembler to kto by to robil? Jaki procent nauczycieli zna Assembler lub chociaz Pascala/C w bardziej zaawansowanym stopniu?

Nauczanie Assemblera na samym poczatku edukacji informatycznej jest bledem. Wazne sa metody, algorytmy, a jak wiadomo znacznie szybciej i latwiej mozna je zaimplementowac w jezykach HLL. Po poznaniu tych aspektow informatyki mozna zabrac sie za Assembler. Latwiej przeciez jest zapamietac:

Kod: Zaznacz cały

a = b + c
niz

Kod: Zaznacz cały

mov eax, b
add eax, c
mov a, eax
Poza tym pierwszy zapis nie pozostawia poczatkujacemu zadnych watpliwosci co dana instrukcja robi (znacznie bardziej czytelny i szybciej przyswajalny zapis dla kogos kto zaczyna przygode z programowaniem).

Pozdrawiam, GNicz
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Nauka programowania

Post autor: Gambit »

Gerwazy pisze: Tak poza tym zapodam kilka linków:
W

Kod: Zaznacz cały

http://www.lysator.liu.se/c/bwk-on-pascal.html
można zapoznać się, dlaczego Pascal nie jest ulubionym językiem Briana Kernighana.
Z kolei można poczytać o tym, jak programować w Pascalu (to nie jest kurs).
Jako ciekawostka [url=http://en.wikipedia.org/wiki/Hello_world_program]przykłady[/url] programów typu "Hello World" w różnych językach programowania oraz [url=http://en.wikipedia.org/wiki/Hello_world_program_in_esoteric_languages]przykłady[/url] w językach ezoterycznych.

.
Ciekawe linki. W szczególności ten z językami ezoterycznymi
A kto zgadnie w jakim to języku:

Kod: Zaznacz cały


u0070u0075u0062u006cu0069u0063u0020
u0063u006cu0061u0073u0073u0020
u0048u0065u006cu006cu006fu0057u006fu0072u006cu0064
u0020u007b
u0070u0075u0062u006cu0069u0063u0020
u0073u0074u0061u0074u0069u0063u0020
u0076u006fu0069u0064u0020
u006du0061u0069u006eu0028
u0053u0074u0072u0069u006eu0067u005bu005d
u0020u0061u0072u0067u0073u0029u0020u007b
u0053u0079u0073u0074u0065u006du002eu006fu0075u0074u002e
u0070u0072u0069u006eu0074u006cu006eu0028
u0022u0048u0065u006cu006cu006fu002cu0022u002b
u0022u0057u006fu0072u006cu0064u0021u0022
u0029u003bu007du007d
?
Skrzypu
Użytkownik
Użytkownik
Posty: 1146
Rejestracja: 18 maja 2004, o 22:15
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 18 razy

Nauka programowania

Post autor: Skrzypu »

A ten kod to jakiś program czy tylko wypisane takie cyferki?
gnicz
Użytkownik
Użytkownik
Posty: 507
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

Gambit pisze: A kto zgadnie w jakim to języku:
...
Zamienilem to do polowy i wyglada na Jave.
Skrzypu pisze:A ten kod to jakiś program czy tylko wypisane takie cyferki?
To sa kody znakow z tablicy ASCII.

Pozdrawiam, GNicz
Gerwazy
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 2 wrz 2004, o 23:05

Nauka programowania

Post autor: Gerwazy »

Java w Unicodzie? :p
gnicz
Użytkownik
Użytkownik
Posty: 507
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

Gerwazy pisze:Java w Unicodzie? :p
Ja przy wpisywaniu robilem automatyczna konwersje Unicode->ASCII. W tym przypadku wszystkie znaki mozna reprezentowac jako jeden bajt, poniewaz wyzszy bajt jest zawsze rowny zero. Gdyby bylo inaczej mielibysmy np. chinski uproszczony. Poza tym nie widze zadnych przeciwwskazan ku temu, aby kod zrodlowy byl w Unicode.

Pozdrawiam, GNicz
Gambit
Użytkownik
Użytkownik
Posty: 123
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Nauka programowania

Post autor: Gambit »

Gerwazy pisze:Java w Unicodzie? :p
Zgadza się Podałem ten programik jako ciekawostkę. Mianowicie program ten skompiluje się w niezmienionej postaci, a nawet będzie działał Dzieje się tak ponieważ komilator Javy zawsze najpierw zamienia kody znków na ich odpowiednią reprezentację.
Awatar użytkownika
My4tic
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 20 sie 2004, o 00:06
Płeć: Mężczyzna
Lokalizacja: Source
Podziękował: 9 razy
Pomógł: 1 raz

Nauka programowania

Post autor: My4tic »

gnicz pisze:Ja osobiscie nie widze wielkich roznic miedzy C, a Pascalem (nie liczac skladni rzecz jasna)
Ja niestety widzę....

Jężyk polski od chińskiego też się różni 'tylko' składnią - idea taka sama.
Assembler od Pascala też - przecież to 'tylko wklepywanie kodu'

Wszystkie języki programowania różnią się tylko skadnią, specyfikacją itp. i wszystkie służą do zapisywania jakiś algorytmów więc temat troche obszerny jeśli zaczniemy rozmawiąć o różnicach....

A to kilka przykładowych:
- specyfikacja pascala pozwala na mieszanie dużych i małych liter w nazwach własnych
- pascal ma kompilator all in one, natomiast w c++ istnieje kilka faz tworzenia kodu wynikowego
- inna deklaracja typów
- w C++ istnieją tylko funkcje
- inne parametry wywołań funkcji/procedur
- W C++ każda zmienna musi być opisana osobno, zaś w pascalu zmienne tego samego typu można deklarować razem oddzielając tylko przecinkiem
- inna referencja
- forwarding

...i dużo więcej ale nie chce mi się już pisać :lol:
gnicz
Użytkownik
Użytkownik
Posty: 507
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

My4tic pisze:Jężyk polski od chińskiego też się różni 'tylko' składnią - idea taka sama.
Zle porownanie. Chinski jest zupelnie czyms innym niz polski, niemiecki czy angielski (te ostatnie pochadza z jednej rodziny jezykow indoeuropejskich).
My4tic pisze:Assembler od Pascala też - przecież to 'tylko wklepywanie kodu'
Jesli Assembler naprawde bylby podobny do Pascala to mozna by zastapic nim Pascala przy poczatkach nauki, jednak to nie daloby raczej pozytywnych rezultatow. Natomiast zamiana Pascal na C - owszem.
My4tic pisze:- specyfikacja pascala pozwala na mieszanie dużych i małych liter w nazwach własnych
Element skladni.
My4tic pisze:- pascal ma kompilator all in one, natomiast w c++ istnieje kilka faz tworzenia kodu wynikowego
Dla poczatkujacego jest to malo istotne.
My4tic pisze:- inna deklaracja typów
Jest to element odmiennej skladni.
My4tic pisze:- w C++ istnieją tylko funkcje
Ale funkcja = procedura. Podprogramy function i procedure w Pascalu to chyba jedna z najwiekszych pomylek.
My4tic pisze:- inne parametry wywołań funkcji/procedur
Znowu elemnt skladni.
My4tic pisze:- W C++ każda zmienna musi być opisana osobno, zaś w pascalu zmienne tego samego typu można deklarować razem oddzielając tylko przecinkiem
Znowu skladnia. A tak na marginesie to twierdzisz ze taki zapis w C jest bledny?

Kod: Zaznacz cały

int a, b, c;
Mozna nawet zrobic:

Kod: Zaznacz cały

int a, b = 0, c = d;
Pozdrawiam, GNicz
Awatar użytkownika
My4tic
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 20 sie 2004, o 00:06
Płeć: Mężczyzna
Lokalizacja: Source
Podziękował: 9 razy
Pomógł: 1 raz

Nauka programowania

Post autor: My4tic »

Jedno pytanie:

Wyjaśnij mi czym się różni Pascal, C i Assembler nie mówiąć o składni, specyfikacji, zaletach itp.?
gnicz
Użytkownik
Użytkownik
Posty: 507
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

My4tic pisze:Wyjaśnij mi czym się różni Pascal, C i Assembler nie mówiąć o składni, specyfikacji, zaletach itp.?
Tym ze piszac w jezykach HLL nie musisz sie martwic o zarzadzanie stosem (przydzial pamieci na zmienne lokalne, ramki stosu), nie interesuja Cie rejestry masz do dyspozycji strukturalne typy danych (choc takze w wiekszosci nowych Assemblerow jest taka opcja). Wszystko widac jak na dloni, przez co poczatkujacemu latwiej to ogarnac.

Porownaj takie fragmenty kodu.

Kod: Zaznacz cały

a:=b+c;
lub

Kod: Zaznacz cały

a=b+c;
z tym:

Kod: Zaznacz cały

mov eax, b
add eax, c
mov a, eax
Tu sa ogromne roznice w skladni, ktore wynikaja nie z upodoban tworcow jezykow, jednak z poziomu jakiego tyczy sie kod Assemlbera.

Pozdrawiam, GNicz
Awatar użytkownika
My4tic
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 20 sie 2004, o 00:06
Płeć: Mężczyzna
Lokalizacja: Source
Podziękował: 9 razy
Pomógł: 1 raz

Nauka programowania

Post autor: My4tic »

Tak ale to ciągle sprawa składni i wymagań języku. Wiadomo, że prównywanie Asemblera do Pascala czy innych wysokich języków jest bez sensu...ale
ODPOWIEDZ