-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
STED!not-for-mail
From: Jędrzej Dudkiewicz <j...@n...com>
Newsgroups: pl.comp.programming
Subject: Re: Carnegie-Mellon przestaje uczyc programowania obiektowego
Date: Fri, 15 Apr 2011 18:17:57 +0200
Organization: http://onet.pl
Lines: 65
Message-ID: <io9r3m$88b$1@news.onet.pl>
References: <io9osa$smd$1@news.onet.pl> <1...@n...onet.pl>
NNTP-Posting-Host: 234-dzi-16.acn.waw.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: news.onet.pl 1302884278 8459 82.210.159.234 (15 Apr 2011 16:17:58 GMT)
X-Complaints-To: n...@o...pl
NNTP-Posting-Date: Fri, 15 Apr 2011 16:17:58 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307
Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9
In-Reply-To: <1...@n...onet.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:189889
[ ukryj nagłówki ]On 04/15/2011 06:05 PM, p...@p...onet.pl wrote:
>> On 04/15/2011 03:00 PM, fir wrote:
>
>>> nigdy sie nad tym nie zastanawialem ale nasuwa mi sie pytanie
>>> czy przypadkiem nie lepiej by bylo gdyby tych uchwytow nie bylo
>>>
>>> to jest oddzielna kwestia ale np co do plikow to mozna powiedziec
>>> ze nazwa pliku identyfikuje plik tak ze powstaje pytanie czy zamiast
>>> uzywac tych uchwytow
>>>
>>> h = openFile("yoman.txt");
>>> printToFile(h, "jedna rzecz dzis ustalmy");
>>> closeFile(h);
>>>
>>> nie lepiej byloby uzywac nazw
>>>
>>> openFile("yoman.txt");
>>> printToFile("yoman.txt", "jedna rzecz dzis ustalmy");
>>> closeFile("yoman.txt");
>>
>> W tym momencie uchwytem jest nazwa pliku. Jedyne, co "zyskałeś", to
>> strata na szybkości, bo tę nazwę trzeba rozwiązywać na obiekt w systemie.
>>
>> JD
>
> absolutnie nie, nazwa zastepuje uchwyt ale uchwytu nie ma,
> - plik i tak ma nazwe, i w podejsciu z uchwytami jest i nazwa
> i uchwyt - nowy byt ktory ma typ wartosc i rzadzace nim prawa
Absolutnie tak, plik ma nazwę, która jest niczym innym jak czytelną dla
człowieka nazwą. Uchwyt do zasobu jest po prostu rozwiązaną nazwą. Zwróć
uwagę, że te Twoje metody należałoby zaimplementować w C mniej więcej tak:
void openFile(char* name)
{
FILE *f = fopen(name, "w"); // załóżmy, że taki tryb
storeInGlobalTable(name, f); // zapisz nazwę zamapowaną na FILE
}
void printToFile(char* name, char* msg)
{
fprintf(getFromGlobalTable(name), "%s", msg);
}
void closeFile(char* name)
{
fclose(getFromGlobalTable(name));
storeInGlobalTable(name, NULL);
}
Cały czas "f", będące niczym innym jak uchwytem, jest potrzebne - tyle,
że zostało zakopane niżej.
JD
PS. Jest jeszcze alternatywna implementacja:
void openFile(char* name) { }
void closeFile(char* name) { }
void printToFile(char* name, char* msg)
{
FILE* f = fopen(name, "w");
fprintf(f, "%s", msg);
fclose(f);
}
Następne wpisy z tego wątku
- 15.04.11 16:20 Jędrzej Dudkiewicz
- 15.04.11 16:22 Andrzej Jarzabek
- 15.04.11 16:34 Jędrzej Dudkiewicz
- 15.04.11 16:50 gregorius
- 15.04.11 16:51 p...@p...onet.pl
- 15.04.11 16:59 Zbigniew Malec
- 15.04.11 17:05 p...@p...onet.pl
- 15.04.11 17:23 Zbigniew Malec
- 15.04.11 17:37 Zbigniew Malec
- 15.04.11 17:52
- 15.04.11 18:35 p...@p...onet.pl
- 15.04.11 19:12 gregorius
- 15.04.11 19:23 gregorius
- 15.04.11 19:25
- 15.04.11 19:50 Waldek M.
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-29 eSIM, praktyczne doświadczenia z różnymi operatorami?
- 2024-06-30 1250 euro za rezygnacje z posiadania samochodu
- 2024-06-29 poszedł na czerwonym i uderzył w motur
- 2024-06-29 Tesla to wóz dla mnie
- 2024-06-30 Podstawa bezpiecznikowa jako rozłącznik DC
- 2024-06-29 Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- 2024-06-30 Basen i chłodzenie w w wentylacji mechanicznej
- 2024-06-29 na chuj mieć dom?
- 2024-06-29 Marki => ERP Implementer <=
- 2024-06-29 Warszawa => SQL Database Developer <=
- 2024-06-29 Poznań => Senior PHP Developer (Symfony) <=
- 2024-06-29 Warszawa => Senior Cloud DevOps Engineer (Azure) <=
- 2024-06-29 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-06-29 Ulm => IT Network Engineer <=
- 2024-06-29 Warszawa => Full Stack .Net Engineer <=