🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #829

Re: Rezerwacja pamieci

#829
From: Qrczak
Date: Sat, 24 Jan 1998 17:38
51 lines
3542 bytes
On Sat, 24 Jan 1998, Marek Kotowski wrote:

> >  Przenosnosc w _wystarczajacym_ stopniu zapewnia samo C. 
> 
>   Calkowita nieprawda.
>   Mozna napisac kod poprawny w C, nawet w standardzie (tylko
> standardowe slowa kluczowe i standardowe funkcje biblioteczne),
> ktory nie bedzie przenosny do innych komputerow/kompilatorow, bo np.
> uzywa nieprzenosnie unii, zaklada okreslony znak zmiennej
> znakowej (char), zaklada pakowanie lub nie struktur, zaklada
> okreslony rozmiar i sposob traktowania struktur bitowych, przyjmuje
> okreslony porzadek obliczen (efekty uboczne) tam, gdzie
> jest on nieokreslony, bazuje na okreslonym uporzadkowaniu
> bajtow w slowie czy w podwojnym slowie. 
>   Wystarczy?

Nie zgodzę się z taką definicją przenośności. Przenośność nie musi
_uniemożliwiać_ napisania programu, który na różnych platformach różnie
się wykona. IMHO do przenośności języka wystarczy, żeby dało się w nim
pisać przenośne programy bez istotnej straty możliwości i wygody (i żeby
było jasno udokumentowane, które konstrukcje są przenośne).

Oczywiście im więcej konstrukcji zachowuje się tak samo na różnych
platformach, tym lepiej.

Stwierdzę nawet, że _nie da_ się napisać idealnie przenośnego języka
(który zapewniałby pewne minimum możliwości). Otóż w Unixach końce linii
plików tekstowych są zapisywane inaczej niż w DOSie. W obu systemach nie
ma formalnego rozróżnienia plików tekstowych i binarnych. Czy jeśli
język pozwala utworzyć plik tekstowy i pozwala odczytać plik binarny, to
jest automatycznie nieprzenośny?

Z innej dziedziny: Twierdzę, że HTML jest przenośny. Mimo że w różnych
przeglądarkach i w różnych trybach graficznych wygląda różnie. Istnieją
różne rozszerzenia HTMLa konkretnych przeglądarek - one są nieprzenośne,
ale nikt nie zmusza do ich stosowania. Używając standardowego HTMLa
można tworzyć strony, które w różnych warunkach będą różnie wyglądały
(nie da się inaczej!), ale każdy wygląd jest równie "poprawny" i HTML
jako taki jest przenośny.

>   Znowu nieprawda. Jest dokladnie odwrotnie. Oczywiscie,
> w kazdym powazniejszym programie sa fragmenty nieprzenosne.
> Ale dobry programista zazwyczaj je odpowiednio obudowuje.

Z tym się zgadzam. Z reguły im więcej przenośności tym lepiej.

-- 
                                 QRCZAK
    __("<              Marcin Kowalczyk
    \__/              qrczak@knm.org.pl
     ^^      http://qrczak.home.ml.org/
Technical Details
Message-ID: <Pine.LNX.3.96.980124183019.4923A-100000@qrnik.knm.org.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak
References: <34C4F3AB.C34902CC@willow.iie.pz.zgora.pl> <34C5BEC9.2018@imm.org.pl> <34c73f51.1429095@news.icm.edu.pl> <34C70746.46AB@imm.org.pl> <34C7636B.33829801@fuw.edu.pl> <34C77265.11BB@imm.org.pl> <01bd27f3$0b82ce60$2701070a@jark.insert.igo.wroc.pl> <34C89233.435C@imm.org.pl> <01bd2817$afde9240$2701070a@jark.insert.igo.wroc.pl> <34C8C608.7701@imm.org.pl> <34cae9cf.10806741@news.icm.edu.pl> <34C9F9FA.1D66@imm.org.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak
From: Qrczak <qrczak@knm.org.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Rezerwacja pamieci
Date: Sat, 24 Jan 1998 18:38:59 +0100
Organization: Klub Nieszkodliwych Manjaków
Lines: 52
Message-ID: <Pine.LNX.3.96.980124183019.4923A-100000@qrnik.knm.org.pl>
References: <34C4F3AB.C34902CC@willow.iie.pz.zgora.pl> <34C5BEC9.2018@imm.org.pl> <34c73f51.1429095@news.icm.edu.pl> <34C70746.46AB@imm.org.pl> <34C7636B.33829801@fuw.edu.pl> <34C77265.11BB@imm.org.pl> <01bd27f3$0b82ce60$2701070a@jark.insert.igo.wroc.pl> <34C89233.435C@imm.org.pl> <01bd2817$afde9240$2701070a@jark.insert.igo.wroc.pl> <34C8C608.7701@imm.org.pl> <34cae9cf.10806741@news.icm.edu.pl> <34C9F9FA.1D66@imm.org.pl>
NNTP-Posting-Host: ppp3-cst147.warszawa.tpnet.pl
Mime-Version: 1.0
In-Reply-To: <34C9F9FA.1D66@imm.org.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit