Nauka programowania

osama

Nauka programowania

Post autor: osama »

marshal pisze:i znow bedziesz tracil czas zeby nauczyc sie nowej skladni. I po co...
chocby po to zeby nauczyc sie skladni jezykow od podstaw zrozumiec ich dzialanie i zobaczyc jak jezyk ewoluowal pozatym pascal jest jednym z najprostszych jezykow no i najwazniejsze zeby osoba nauczyla sie myslenia i korzystania z odpowiednich algorytmow w danej sytuacji mysle ze pozniej przechodznie na kolejne wersje srodowisk bedzie latwiejsze ofcoz jesli koles chce sie nauczyc programowac w celu wykazania sie swoimi zajebistymi zdolnosciami na poziomie poczatkujacym no to nie ma o czym mowic :? jak ktos zaczyna przygode z VC (>2003) czy Delphi to moze go szybko zniechecic poprzestajac na tworzeniu "hello world", bo to jedyne, do czego dojdzie nie znajac podstaw...
Zielony
Użytkownik
Użytkownik
Posty: 89
Rejestracja: 11 wrz 2004, o 14:23
Płeć: Mężczyzna
Lokalizacja: Kraków

Nauka programowania

Post autor: Zielony »

i tu się zgodzę w zupełności
Gerwazy
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 2 wrz 2004, o 23:05

Nauka programowania

Post autor: Gerwazy »

Re: osama

bzdury

Jak już mówiłem, dla zupełnie początkującej osoby jest wszystko jedno czy zacznie od pascala, c/c++ czy javy bądź innego języka. Więc po co ma zaczynać od ubogiego pascala, skoro może np. od C. Nauczenie się poszczególnych instrukcji języka sprawi takie same problemy, bo i tak trzeba to zrozumieć i tak. A z pascalem się niestety daleko nie zajedzie. Poza tym struktura programu w pascalu jest już co nieco archaiczna. Zdecydowana większość nowoczesnych języków strukturalnie jest zbliżona do C. C ma znacznie większe możliwości niż pascal, co nie znaczy, że początkujący musi je wszystkie się od razu nauczyć i wykorzystywać. Jednymi z problemów, jakie napotykają uczycy się C programiści pascala, są np. funkcje i procedury. Nie raz się ludzie pytają "a jak w C zrobić funkcję a jak procedurę?". I często jest im przez dłuższy czas trudno zrozumieć że to jest to samo, tylko że pascal to rozróżnia (bez sensu). Nowoczesne języki mają jeden typ podprogramu. Inny przykład z jakim mają problem z przestawiem myślenia, to składnia pętli for. A to tylko podstawowe problemy, na jakie napotykają przechodzący na C/C++ czy Java (nie mówiąc o innych językach). Jednym słowem pascal wprowadza złe nawyki programistyczne.

A co do algorytmów i myślenia. Jak wiesz, algorytmy są niezależne od użytego do zaimplementowania ich języka. Algorytm to algorytm - przepis. A jak to zrobisz w danym języku to twoja sprawa. Tak samo z myśleniem. I nie ma tu język nic do rzeczy. Jednak większość algorytmów, moim zdaniem, łatwiej jest zaimplementować w języku takim jak C niż w pascalu. I jest to znacznie bardziej przejrzyste. Oczywiście są algorytmy, które w innych niż pascal i C językach można zaimplemetować jeszcze łatwiej.

No i po co początkującemu ewolucja języków programowania? Nawet nie na wszystkich uczelniach (informatyka) tego uczą.
.
osama

Nauka programowania

Post autor: osama »

Gerwazy pisze:Re: osama

bzdury

Jak już mówiłem, dla zupełnie ...blablablbla...
...po co początkującemu ewolucja języków programowania? Nawet nie na wszystkich uczelniach (informatyka) tego uczą...
.
no coz kazdy ma swoje zdanie jak widac tylko ja nie mowilem o mozliwosciach poszczegolnych jezykow tylko o powolnym przechodzeniu do dalszych bardziej skomplikowanych skladni danego jezyka (pascal, C) nie przechodzac z jednego na drugi.. jesli chodzi o rozpoczynanie przygody od razu z wysokiego poziomu to popatrz na to ze storny laika daj mu Visuala +.NET i kaz mu sie uczyc programowac no i co... bedzie potrafil jedynie przepisac src z ksiazki C dla t(opornych) z czego wiekszosci nawet nie zrozumie.. no ale najwazniejsze ze mu dziala jak nacisnie to i tamto... bo jakby nie bylo w ten sposob konczy swoja przygode 90% "pseudoprogramistow" a reszta zaczyna zyc z rozbojow..
Gerwazy
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 2 wrz 2004, o 23:05

Nauka programowania

Post autor: Gerwazy »

Pierwsza uwaga: nie modyfikuj cytatów, bo ja nie pisałem żadnego 'blablabla', co najwyżej je wycinaj.

Druga uwaga: nawet nie wiem jak przeczytać twoją wypowiedź. Ani jednego przecinka czy kropki (pomijając już wielkie litery na początku zdania). Nie pisz tak więcej, bo się to cholernie ciężko czyta.

osama pisze:tylko ja nie mowilem o mozliwosciach poszczegolnych jezykow tylko o powolnym przechodzeniu do dalszych bardziej skomplikowanych skladni danego jezyka
Nie, to ja o tym mówiłem (dwa razy), ty natomiast pisałeś o przechodzeniu na kolejne wersje środowisk.

osama pisze:jesli chodzi o rozpoczynanie przygody od razu z wysokiego poziomu to popatrz na to ze storny laika daj mu Visuala +.NET i kaz mu sie uczyc programowac no i co...
... no i się nauczy. Programować oczywiście. Bo ja cały czas mówię o programowaniu, a nie o programowaniu w danym środowisku.

osama pisze:bedzie potrafil jedynie przepisac src z ksiazki C dla t(opornych) z czego wiekszosci nawet nie zrozumie.. no ale najwazniejsze ze mu dziala jak nacisnie to i tamto... bo jakby nie bylo w ten sposob konczy swoja przygode 90% "pseudoprogramistow" a reszta zaczyna zyc z rozbojow.. 8-)
Znasz to z autopsji?

.
osama

Nauka programowania

Post autor: osama »

no sorry ze obrazilem twoje "doo" ale edukacja ojczystego języka pozostala niestety na poziomie przedszkola, a mama zawsze mowila ze jestem zdolny...no coz klamala anyway jesli masz problemy z czytaniem, to jest to powazna sprawa, taki jeden mial to samo i umarl...

btw widze [tu przecinek] ze nie przekonam cie moimi kontrargumentami wzietymi i tak z kosmosu.. zycze powodzenia w oswiecaniu laikow.. sluchajcie sie Gerwazego!
Gambit
Użytkownik
Użytkownik
Posty: 113
Rejestracja: 8 wrz 2004, o 22:17
Płeć: Mężczyzna
Lokalizacja: Łowicz
Podziękował: 2 razy

Nauka programowania

Post autor: Gambit »

Gerwazy pisze:Re: osama

Nowoczesne języki mają jeden typ podprogramu.
.
Pierwsze słyszę. A destruktory i konstruktory w C++ to nie pdoprogramy? Na siłę można by tu też podać klasy. Zresztą w język Ruby jest oprócz funkcji/metod coś takiego jak "zamknięcia" (ang. closures), które też są podprogramami (nie jestem pewien czy w Python'ie czegoś takiego też nie ma).
Gerwazy pisze: Inny przykład z jakim mają problem z przestawiem myślenia, to składnia pętli for. A to tylko podstawowe problemy, na jakie napotykają przechodzący na C/C++ czy Java (nie mówiąc o innych językach).
.
Podążając Twoim tokiem myślenia, np. przechodzący z C/C++ czy Javy na - wg wielu (np. autora "Thinking in C++" i "Thinking in Java" - Bruce'a Eckel'a) najlepszy język programowania - Python'a niestety nie mile się rozczarują ponieważ pętla for ma tam inną składnię (for in)... (chociaż "Javowcy" kożystający z dobrodziejstw nowej Javy mieli by mnie problemu, bo została dodana b. podobna pętla - for each).
Gerwazy pisze: Jednym słowem pascal wprowadza złe nawyki programistyczne.
.
Gość studiujący teraz na MIT, pracujący w IBM'ie przy tworzeniu znakomitego IDE - Eclipse, dał mi dobrą radę, która brzmiała mniej więcej tak: "Ucz się wielu języków programowania, od proceduralnych i objektowych po funkcyjne. Nic w informatyce nie jest wieczne, prędzej czy później firma w której pracujesz wymusi na Tobie przejście na nową technologię, na nowy język, a znajomość wielu języków, wielu stylów ułatwi Ci dostosowanie się do tych rzeczy. Będziesz wtedy wydajniejszy dla firmy, co może otworzyć Ci drogę na awans". Krótko mówiąc, po skumaniu paru języków następne "połyka się" szybko i sprawnie :) A poza tym każdy chyba wie, że im szersze horyzonty człowiek posiada, tym większe perspektywy np. na lepszą pracę. Nikt przecież nie każe zostawać przy Pascal'u. Ale zaczęcię nauki właśnie od tego języka nie powinno raczej zaszkodzić.
Skrzypu
Użytkownik
Użytkownik
Posty: 1000
Rejestracja: 18 maja 2004, o 22:15
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 18 razy

Nauka programowania

Post autor: Skrzypu »

A powiedzcie mi dlaczego w szkole uczą programować w pascalu, a nie w c++ lub java, przecież to są nowsze języki!
Awatar użytkownika
My4tic
Użytkownik
Użytkownik
Posty: 100
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 »

Wprowadzić Assemblera do podstawówek!!! Przecież się prawie nie różni od Pascala. Buahahahaha...

Dużo osób ma trudności ze zrozumieniem Pascala a porównywanie go z c++ świadczy tylko o braku wiedzy.

Have a nice day!!
Skrzypu
Użytkownik
Użytkownik
Posty: 1000
Rejestracja: 18 maja 2004, o 22:15
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 18 razy

Nauka programowania

Post autor: Skrzypu »

To wyjaśnij mi jaka to różnica
gnicz
Użytkownik
Użytkownik
Posty: 457
Rejestracja: 16 wrz 2004, o 18:24
Płeć: Kobieta
Lokalizacja: ???

Nauka programowania

Post autor: gnicz »

Ja osobiscie nie widze wielkich roznic miedzy C, a Pascalem (nie liczac skladni rzecz jasna), jednak wydaje mi sie ze Pascal jest latwiejszy do przyswojenia dla nowicjuszy. Wiele osob ma problemy ze zrozumieniem dzialania np. wskaznikow, ktore w C sa znacznie czesciej uzywane (jesli dobrze pamietam to w Pascalu takze sa typy wskaznikowe). Powaznych roznic na linii Pascal - C nie widze. Nie przepadam za Pascal'em nie wspominajac juz o Delphi czy Kylix. Wydaje mi sie ze zastapienie Pascal'a przez C w szkolnictwie nie powinno spowodowac specjanych trudnosci uczniom. Jezyk nie ma az tak duzego znaczenia (oczywiscie na poczatek tylko HLL).

Pozdrawiam, GNicz
Skrzypu
Użytkownik
Użytkownik
Posty: 1000
Rejestracja: 18 maja 2004, o 22:15
Płeć: Mężczyzna
Lokalizacja: Kraków
Pomógł: 18 razy

Nauka programowania

Post autor: Skrzypu »

No tak mi się wydawało, że różnica między językami jest tylko w składni, a rzecz polega na tym samym, czyli wklepywaniu kodu.
Gerwazy
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 2 wrz 2004, o 23:05

Nauka programowania

Post autor: Gerwazy »

Gambit pisze:Pierwsze słyszę. A destruktory i konstruktory w C++ to nie pdoprogramy? Na siłę można by tu też podać klasy. Zresztą w język Ruby jest oprócz funkcji/metod coś takiego jak "zamknięcia" (ang. closures), które też są podprogramami (nie jestem pewien czy w Python'ie czegoś takiego też nie ma).

Podążając Twoim tokiem myślenia, np. przechodzący z C/C++ czy Javy na - wg wielu (np. autora "Thinking in C++" i "Thinking in Java" - Bruce'a Eckel'a) najlepszy język programowania - Python'a niestety nie mile się rozczarują ponieważ pętla for ma tam inną składnię (for in)... (chociaż "Javowcy" kożystający z dobrodziejstw nowej Javy mieli by mnie problemu, bo została dodana b. podobna pętla - for each).
No masz rację. Nie pomyślałem o tym. Co do closures, to o ile mi sie wydaje, mają je też Smalltalk (blocks) i Lisp, a nie wiem czy przypadkiem w jakiejś formie również Perl.

Gambit pisze:"Ucz się wielu języków programowania, od proceduralnych i objektowych po funkcyjne. Nic w informatyce nie jest wieczne" .... Nikt przecież nie każe zostawać przy Pascal'u. Ale zaczęcię nauki właśnie od tego języka nie powinno raczej zaszkodzić.
Owszem, również wyznaję zasadę z pierwszego zdania i staram się poznawać języki. Jednak nie widzę sensu, aby osoba nie potrafiąca programować rozpoczynała od pascala. No, chyba że ma się to ograniczyć do zajęć z informatyki w liceum i na tym koniec. Jestem przekonany, że powyższa rada dotyczy nowoczesnych języków. Przy okazji, znasz jakieś aktualne poważne projekty wykorzystujące (Object) Pascal? (to nie jest pytanie ironiczne)

My4tic pisze:Dużo osób ma trudności ze zrozumieniem Pascala a porównywanie go z c++ świadczy tylko o braku wiedzy.
Hmm. Nie zauważyłem, żeby ktoś tu porównywał pascala do C++. Jeśli już to do C.
Ale nawet gdyby... Czy również brakiem wiedzy byłoby porównywanie C++/Javy/Pythona do (O)Caml/Scheme/Erlanga? Nie odpowiadaj bo się zrobi off-topic.

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

Nauka programowania

Post autor: Gambit »

Gerwazy pisze: Owszem, również wyznaję zasadę z pierwszego zdania i staram się poznawać języki. Jednak nie widzę sensu, aby osoba nie potrafiąca programować rozpoczynała od pascala. No, chyba że ma się to ograniczyć do zajęć z informatyki w liceum i na tym koniec.
Szczerze powiedziawszy, to ja też nie widzę sensu :). Ale chodzi o to, że laik łatwiej nauczy się Pascal'a. To jest fakt, nie da się go znegować. AFAIK Pascal był projektowany właśnie do nauki programowania. (Chociaż prawda jest taka, że jeżeli ktoś jest ambitny nie zacznie raczej od Pascal'a :) )
Gerwazy pisze: Jestem przekonany, że powyższa rada dotyczy nowoczesnych języków.
Możliwe, że tak, ale mi nie oto chodzi, że jak znasz już parę języków to warto się jeszcze nauczyć Pascal'a. Chodzi mi o to, że zaczynanie od Pascal'a jest łatwiejsze.
Gerwazy pisze: Przy okazji, znasz jakieś aktualne poważne projekty wykorzystujące (Object) Pascal? (to nie jest pytanie ironiczne)
Delphi i Kylix to nie Object Pascal (możliwe, że trochę zmodyfikowany)?
My4tic pisze:Dużo osób ma trudności ze zrozumieniem Pascala a porównywanie go z c++ świadczy tylko o braku wiedzy.
Możesz uzasadnić dlaczego świadczy to o braku wiedzy?[/code]
osama

Nauka programowania

Post autor: osama »

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
ODPOWIEDZ