🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #4694

Re: Prawda o C++

#4694
From: Sektor van Skijlen
Date: Mon, 25 Jan 1999 15:46
93 lines
5388 bytes
W ostatnim odcinku, Andrzej Lewandowski naskrobal:
: Jezeli poslugujemy sie jezykiem C to:

Co ja ujme w ten sposob...

: 1. Zawartosc dowolnego kawalka pamieci moze byc w C interpretowana na
: rozne sposoby,

1. zawartosc dowolnego kawalka pamieci moze byc interpretowana na kilka
sposobow, w zaleznosci od zamierzen programisty (zdanie dla mnie zbyt
oczywiste, brzmi to jak "kazdy kawalek metalu moze sluzyc do roznych celow, w
zaleznosci od tego, jak zostal uksztaltowany" :*).

: 2. Operacje dopuszczalne na zawartosci tego kawalka okreslone sa przez
: zbior instrukcji procesora, a nie znaczenie informacji przechowywanej
: na tym kawalku.

2. Operacje dopuszczalne na zawartosci tego kawalka okreslone sa przez
programiste, ktory zna rodzaj przechowywanych na nim informacji i zamieniane
przez kompilator na zbior instrukcji procesora, majace za zadanie wykonac owa
operacje w jak najlepszy sposob, odpowiadajacy temu, co zadal programista.

: 3. "typy" w jezyku C nie sa typami jak sie je rozumie w jezykach
: wysokiego poziomu. Sluza tylko i wylacznie do rezerwacji kawalka
: pamieci.

3. "typy" w jezyku C (jak i w C++) sa typami, jak sie je rozumie w jezykach
wysokiego poziomu; pomiedzy nimi mozna dokonywac konwersji, wiele z nich
kompilator wykonuje domyslnie, choc programista zawsze wie, gdzie jaka
konwersja zostanie dokonana.

Mala dygresja - przeciez mozna sobie stworzyc w C++ typ znakowy, ktoremu sie
nalozy swoje restrykcje i juz nie bedzie tak pieknie.

: 4. Jako taki, C nie jest ani silnie typowany, ani wysokiego poziomu.
: Jest to asembler wyposazony w instrukcje do programowania
: strukturalnego.

4. Jezyk C jest rodzajem przenosnego asemblera, ukierunkowanym na
programowanie strukturalne i proceduralne; C++ jest dodatkowo ukierunkowany na
programowanie obiektowe. Oba sa jezykami wysokiego poziomu, gdyz wprowadzaja
abstrakcyjne elementy, obce asemblerowi (C++ bardziej oczywiscie :*) - jak
chocby samo istnienie typow i struktur - zas nieobce czlowiekowi.


: Zadziwiajace jest ze K&R udalo sie gawiedzi wmowic ze to jest
: "ulepszony Pascal".

Mnie to akurat nie dziwi. Mimo, ze w C brakuje roznych rzeczy dostepnych w
Pascalu (w zasadzie przyznalbym ta wlasciwosc tylko zbiorom - pokazywalem
swego czasu, jak to rozwiazac w C++).

: Zadziwiajace jest rowniez to, ze spora czesc ludzkosci dala sie
: namowic do programowania w asemblerze rzeczy ktore prosciej i szybciej
: daloby sie zaprogramowac w dowolnym jezyku wysokiego poziomu.

Na przyklad (jezyk i o ile szybciej) ? Jesli chce Pan pokazac przyklad, gdzie
w Pascalu uzyje Pan zbiorow i jak to sie z tym trzeba meczyc w C - prosze
sobie oszczedzic. Juz dyskutowalismy ntt.

: Szkoda jest rowniez ze od dlugiego juz czasu na uczelniech zaprzestano
: nauczania jezykow wysokiego poziomu, koncentrujac sie na strukturalnym
: asemblerze zwanym C czy "obiektawym" asemblerze zwanym C++. Gdyby takich
: jezykow nauczano, mniej byloby przypadkow mylenia badz tez nieznajomosci
: podstawowych pojec z dziedziny informatyki...

Widze, ze dawno Pan nie studiowal :*)) Przypadki mylenia badz nieznajomosci
podstawowych pojec z dziedziny informatyki zawdziecza sie nie rodzajowi
nauczanego jezyka, a jakosci wiedzy ntt., jaki reprezentuje soba wykladowca. I
nie ma nic do rzeczy, jaki jezyk programowania sie wyklada; choc musze
przyznac, ze MOZE lepiej by bylo do nauczania programowania obiektowego wybrac
inny jezyk, wlasnie jakis taki z restrykcjami (jak Pascal), zeby nie
wprowadzac niepotrzebnie elementow niskopoziomowych, acz nie bylbym co do tego
tak do konca przekonany; niemniej nie wiem, jaki jezyk by tu pasowal -
TurboPascal nie posiada standardu i jego restrykcyjnosc przytlacza samo
programowanie obiektowe; Smalltalk, Java, czy OC maja swoje oddzielne
ideologie, ktore beda potem przeszkadzac w uczeniu sie C++ (mielismy juz
przyklad pisania Smalltalkiem w C++). Totez szczerze mowiac nie widze jezyka,
ktory by do tego celu pasowal. Aczkolwiek ja uczylem sie C++ od poczatku
(powiedzmy, ze po Pascalu, ktory denerwowal mnie od poczatku, jak go tylko
poznalem - byl jeszcze bardziej restrykcyjny, niz Atari Basic :*)) i nie
mialem przypadkow mylenia pojec z dziedziny informatyki. Zas co do tych pojec,
czyli teorii programowania - przypominam (nie po raz pierwszy), ze zbytnie
zaglebienie sie w teorie w rzeczywistosci oddala, miast przyblizac zrozumienie
i nauczenie sie wielu praktycznych rzeczy tak z dziedziny informatyki, jak i z
kazdej innej.


Pozdrawiam.
-- 
[- Ben a dar van dijn vijt -]
Michal 'Sektor' Malecki <sektor@spam.org> - zartowalem, @beer.com :*)
Politechnika Lodzka, Elektrotechnika/Informatyka st.
Technical Details
Message-ID: <78i3k1$f$5@polonez.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.man.poznan.pl!news.man.lodz.pl!not-for-mail
References: <36A84E58.CC21CC89@meil.pw.edu.pl> <36a90e81@news3.ibm.net> <78ff18$k41$2@polonez.man.lodz.pl> <36ab5129@news3.ibm.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!news.icm.edu.pl!news.man.poznan.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <sektor@spam.org>
Newsgroups: pl.comp.objects
Subject: Re: Prawda o C++
Date: 25 Jan 1999 15:46:09 GMT
Lines: 93
Message-ID: <78i3k1$f$5@polonez.man.lodz.pl>
References: <36A84E58.CC21CC89@meil.pw.edu.pl> <36a90e81@news3.ibm.net> <78ff18$k41$2@polonez.man.lodz.pl> <36ab5129@news3.ibm.net>
NNTP-Posting-Host: zly.kis.p.lodz.pl
User-Agent: tin/pre-1.4-981225 ("Volcane") (UNIX) (SunOS/5.5.1 (i86pc))
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit