🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
11 messages
11 total messages Started by Remek Sun, 25 Nov 2007 14:47
Re: Kod przeszukujący ciąg liczb
#1578
Author: Remek
Date: Sun, 25 Nov 2007 14:47
72 lines
3160 bytes
Użytkownik "Bernard" napisał:

> > Jesli chcesz sprawdzać liczby czterobajtowe to tak:

> tutaj wycięło niestety dalszą część zdania - uzupełniam
> "tego robić na pewno nie należy"

Tobie niestety wycięło część zdania, a mianowicie, że "Twoim zdaniem".
Moje jest całkiem inne.

> >      mov edi, data_items
> >
> >      dec edi
> >      dec edi
> >      dec edi
> >      dec edi

> To ilustruje, jak nie należy zmniejszać liczby o 4.

Uwaga jw. Niby dlaczego? To jeden ze sposobów i chyba najszybszy.

> > start_loop:
> >
> >      inc edi
> >      inc edi
> >      inc edi
> >      inc edi

> A tu, oprócz ilustracji, jak nie należy dodawać 4, mamy jeszcze
> przykład > fatalnej konstrukcji pętli. Ładujemy wartość, zmniejszamy o
> 4, zwiększamy o 4 i już po 8 instrukcjach mamy z powrotem to, co na
> początku

Mylisz się. Jest to jak najbardziej prawidłowa konstrukcja, która pobiera
wszystkie dane w pętli. Nic nie dzieje się na zewnątrz.

> >      mov eax, [edi]
> >      cmp eax, 0

> Tu z kolei prezentacja, jak nie należy sprawdzać, czy liczba ma wartość
> 0.

Znów pytam dlaczego? Twoje "paternalistyczne" wymądrzanie się może
wyprowadzić z równowagi.

> > Itd. Jeśli mniejsze, to musisz dopasować ilość dec/inc, oraz rozmiar

> Tu brakuje przykładu dopasowania, np. przy odstępie danych w pamięci
> równym 100 bajtów - powinniśmy napisać 100 razy dec, a potem 100 razy
> inc.

Obowiązek podawania przykładów? Ciekawe.

> > zastosowanych rejestrów do wielkości pobieranych danych. Do analizy
> > takich pętli nieoceniony jest debugger. Natychmiast widać co jest
> > "grane".

> Alternatywnie można pisać kod w taki sposób, żeby było od razu widać,
> ale taka technika nie przystoi hackerom.

Tu już w ogóle nie wiadomo o co chodzi.

> Poniżej wersja lamerska (nieciekawa i mało ambitna, bo za krótka) tego,
> co przedstawiono wyżej.

Każdy kod można napisać na różne sposoby. Przecież omawiamy prościutką
pętlę początkującego. W miarę nabywania doświadczenia sam znajdzie
szybsze, lepsze i bardziej dla siebie odpowiednie metody. Nie ma co się
"nadymać", ponieważ chodzi o wskazanie błędów, a nie pisanie za kogoś
kodu i narzucanie mu swoich sposobów.

Remek
Re: Kod przeszukujący ciąg liczb
#1579
Author: Doleś
Date: Sun, 25 Nov 2007 15:36
82 lines
3685 bytes
Remek pisze:
> Użytkownik "Bernard" napisał:
> 
>>> Jesli chcesz sprawdzać liczby czterobajtowe to tak:
> 
>> tutaj wycięło niestety dalszą część zdania - uzupełniam
>> "tego robić na pewno nie należy"
> 
> Tobie niestety wycięło część zdania, a mianowicie, że "Twoim zdaniem".
> Moje jest całkiem inne.
> 
>>>      mov edi, data_items
>>>
>>>      dec edi
>>>      dec edi
>>>      dec edi
>>>      dec edi
> 
>> To ilustruje, jak nie należy zmniejszać liczby o 4.
> 
> Uwaga jw. Niby dlaczego? To jeden ze sposobów i chyba najszybszy.
> 
>>> start_loop:
>>>
>>>      inc edi
>>>      inc edi
>>>      inc edi
>>>      inc edi
> 
>> A tu, oprócz ilustracji, jak nie należy dodawać 4, mamy jeszcze
>> przykład > fatalnej konstrukcji pętli. Ładujemy wartość, zmniejszamy o
>> 4, zwiększamy o 4 i już po 8 instrukcjach mamy z powrotem to, co na
>> początku
> 
> Mylisz się. Jest to jak najbardziej prawidłowa konstrukcja, która pobiera
> wszystkie dane w pętli. Nic nie dzieje się na zewnątrz.
> 
>>>      mov eax, [edi]
>>>      cmp eax, 0
> 
>> Tu z kolei prezentacja, jak nie należy sprawdzać, czy liczba ma wartość
>> 0.
> 
> Znów pytam dlaczego? Twoje "paternalistyczne" wymądrzanie się może
> wyprowadzić z równowagi.
> 
>>> Itd. Jeśli mniejsze, to musisz dopasować ilość dec/inc, oraz rozmiar
> 
>> Tu brakuje przykładu dopasowania, np. przy odstępie danych w pamięci
>> równym 100 bajtów - powinniśmy napisać 100 razy dec, a potem 100 razy
>> inc.
> 
> Obowiązek podawania przykładów? Ciekawe.
> 
>>> zastosowanych rejestrów do wielkości pobieranych danych. Do analizy
>>> takich pętli nieoceniony jest debugger. Natychmiast widać co jest
>>> "grane".
> 
>> Alternatywnie można pisać kod w taki sposób, żeby było od razu widać,
>> ale taka technika nie przystoi hackerom.
> 
> Tu już w ogóle nie wiadomo o co chodzi.
> 
>> Poniżej wersja lamerska (nieciekawa i mało ambitna, bo za krótka) tego,
>> co przedstawiono wyżej.
> 
> Każdy kod można napisać na różne sposoby. Przecież omawiamy prościutką
> pętlę początkującego. W miarę nabywania doświadczenia sam znajdzie
> szybsze, lepsze i bardziej dla siebie odpowiednie metody. Nie ma co się
> "nadymać", ponieważ chodzi o wskazanie błędów, a nie pisanie za kogoś
> kodu i narzucanie mu swoich sposobów.
> 
> Remek
> 
> 
> 
> 
No w sumie to od razu mogę zadeklarować tablicę jak dd i powinno być po 
problemie. Nie wiem dlaczego od razu nie wpadłem na pomysł z tym 
rozmiarem. Przy pierwszym "mov eax, edi" nie dałem [] bo sądziłem, że to 
   nie jest potrzebne bo mamy i tak tylko początek tablicy. Ale jednak 
nie miałem racji.
Re: Kod przeszukujący ciąg liczb
#1580
Author: Bernard
Date: Sun, 25 Nov 2007 19:16
41 lines
2524 bytes
Doleś wrote:
>>>> A tu, oprócz ilustracji, jak nie należy dodawać 4, mamy jeszcze
>>> przykład > fatalnej konstrukcji pętli. Ładujemy wartość, zmniejszamy o
>>> 4, zwiększamy o 4 i już po 8 instrukcjach mamy z powrotem to, co na
>>> początku
>>
>> Mylisz się. Jest to jak najbardziej prawidłowa konstrukcja, która pobiera
>> wszystkie dane w pętli. Nic nie dzieje się na zewnątrz.

Chodzi mi o prawidłowość konstrukcji typu

a = x;
a -= 4;
a += 4;

Ja w celu przypisania zmiennej a wartości x użyłbym raczej pojedynczej 
instrukcji a = x, ale jak widać są różne szkoły programowania.


>>>>      mov eax, [edi]
>>>>      cmp eax, 0
>>
>>> Tu z kolei prezentacja, jak nie należy sprawdzać, czy liczba ma wartość
>>> 0.
>>
>> Znów pytam dlaczego? Twoje "paternalistyczne" wymądrzanie się może
>> wyprowadzić z równowagi.

Oczywiście można pisać cmp, ale trudno to nazwać wzorcową techniką 
programowania x86. OR jest krótsze.

>> Każdy kod można napisać na różne sposoby. Przecież omawiamy prościutką
>> pętlę początkującego. W miarę nabywania doświadczenia sam znajdzie
>> szybsze, lepsze i bardziej dla siebie odpowiednie metody. Nie ma co się
>> "nadymać", ponieważ chodzi o wskazanie błędów, a nie pisanie za kogoś
>> kodu i narzucanie mu swoich sposobów.

Ano rzecz w tym, że 4 razy dec i 4 razy inc plus trzy skoki to nie jest
"prosta" pętla. Ortodoksyjnie byłoby jeden raz add edi, 4 i dwa skoki. 
Ja złośliwie pokazałem coś trochę ciekawszego, optymalnego lub bliskiego 
optymalnemu.
Re: Kod przeszukujący ciąg liczb
#1587
Author: Bernard
Date: Sun, 25 Nov 2007 19:20
20 lines
1530 bytes
Remek wrote:
> Tobie niestety wycięło część zdania, a mianowicie, że "Twoim zdaniem".
> Moje jest całkiem inne.
> 
>>>      mov edi, data_items
>>>
>>>      dec edi
>>>      dec edi
>>>      dec edi
>>>      dec edi
> 
>> To ilustruje, jak nie należy zmniejszać liczby o 4.
> 
> Uwaga jw. Niby dlaczego? To jeden ze sposobów i chyba najszybszy.

Cztery instrukcje zależne, to minimum 4 cykle procesora, niezależnie od 
liczby potoków. add edi, 4 zajmuje jeden cykl i potok wykonawczy, LEA 
zajmie jeden cykl i potok AGU, nie zajmując wykonawczego. O wykonawcze 
konkuruje więcej instrukcji niż o AGU, czyli dociążenie AGU i odciążenie 
wykonawczego na ogół poprawia wydajność kodu.
Re: Kod przeszukujący ciąg liczb
#1581
Author: Wojciech Muła
Date: Sun, 25 Nov 2007 19:47
17 lines
1507 bytes
Bernard wrote:
>>>>>      mov eax, [edi]
>>>>>      cmp eax, 0
>>>
>>>> Tu z kolei prezentacja, jak nie należy sprawdzać, czy liczba ma wartość
>>>> 0.
>>>
>>> Znów pytam dlaczego? Twoje "paternalistyczne" wymądrzanie się może
>>> wyprowadzić z równowagi.
>
> Oczywiście można pisać cmp, ale trudno to nazwać wzorcową techniką 
> programowania x86. OR jest krótsze.

A najlepiej stosować sekwencję test/skok warunkowy, bo nowsze procesory
to potrafią połączyć w jeden rozkaz (Intel nazywa toto macro-fusion).

w.
Re: Kod przeszukujący ciąg liczb
#1582
Author: Remek
Date: Sun, 25 Nov 2007 23:32
64 lines
3546 bytes
Użytkownik "Bernard" napisał:

> Chodzi mi o prawidłowość konstrukcji typu

> a = x;
> a -= 4;
> a += 4;

> Ja w celu przypisania zmiennej a wartości x użyłbym raczej pojedynczej
> instrukcji a = x, ale jak widać są różne szkoły programowania.

Czy ktoś Cię pytał, czego Ty byś użył? Wyluzuj. Odnoś się do postów
autora wątku, a moje pozostaw w spokoju. Jeśli jeszcze trochę napiszesz
programów, to zrozumiesz dlaczego tak zrobiłem. Ciekawe pętle
konwertujące można zamknąć w procedury i umieścić w bibliotece. Wtedy
moja konstrukcja pozwala uniknąć niejednoznaczności i jest jak
najbardziej optymalna. Stosowanie innej konstrukcji powoduje w pewnych
warunkach trudne czasem do znalezienia błędy. To raczej do Autora wątku,
nie do Ciebie.

> >>>>      mov eax, [edi]
> >>>>      cmp eax, 0
> >>
> >>> Tu z kolei prezentacja, jak nie należy sprawdzać, czy liczba ma
wartość
> >>> 0.
> >>
> >> Znów pytam dlaczego? Twoje "paternalistyczne" wymądrzanie się może
> >> wyprowadzić z równowagi.
>
> Oczywiście można pisać cmp, ale trudno to nazwać wzorcową techniką
> programowania x86. OR jest krótsze.

I znów ta sama "śpiewka". Czy my tu omawiamy optymalizację kodu? Ja
staram sie w jak njmniejszym stopniu naruszać konstrukcję zastosowaną
przez Autora, bo o to tylko chodzi, aby wskazać oczywiste błędy.

> >> Każdy kod można napisać na różne sposoby. Przecież omawiamy
prościutką
> >> pętlę początkującego. W miarę nabywania doświadczenia sam znajdzie
> >> szybsze, lepsze i bardziej dla siebie odpowiednie metody. Nie ma co
się
> >> "nadymać", ponieważ chodzi o wskazanie błędów, a nie pisanie za
kogoś
> >> kodu i narzucanie mu swoich sposobów.
>
> Ano rzecz w tym, że 4 razy dec i 4 razy inc plus trzy skoki to nie jest
> "prosta" pętla. Ortodoksyjnie byłoby jeden raz add edi, 4 i dwa skoki.

Nie ja tę pętlę skonstruowałem. Autor użył inc, więc dołożyłem ich tyle,
ile w konkretnym przypadku jest potrzebne, aby było wyraźnie widać o co
chodzi. Nie sądzisz chyba, że odkryłeś add edi, 4 ? Jestem pewien, że
kolega Doleś już sam na to wpadł bez Twoich podpowiedzi.

> Ja złośliwie pokazałem coś trochę ciekawszego, optymalnego lub
bliskiego
> optymalnemu.

Daruj już sobie, bo zaśmieciłeś wątek tak dokładnie, że trudno się
doszukać meritum. Jeśli chcesz podyskutować o ciekawych, złośliwych itp.
procedurach, załóż wątek na ten temat. Zrozum wreszcie, że odbiegasz od
tematu i przeszkadzasz.

Remek
Re: Kod przeszukujący ciąg liczb
#1588
Author: Remek
Date: Mon, 26 Nov 2007 12:18
18 lines
1535 bytes
Użytkownik "Bernard" napisał:

> > Uwaga jw. Niby dlaczego? To jeden ze sposobów i chyba najszybszy.

> Cztery instrukcje zależne, to minimum 4 cykle procesora, niezależnie od
> liczby potoków. add edi, 4 zajmuje jeden cykl i potok wykonawczy, LEA
> zajmie jeden cykl i potok AGU, nie zajmując wykonawczego. O wykonawcze
> konkuruje więcej instrukcji niż o AGU, czyli dociążenie AGU i
odciążenie
> wykonawczego na ogół poprawia wydajność kodu.

Zgadza się. Wydawało mi się, że inc może być szybsze. Sprawdziłem. Kod z:

add edi, 4

wykonuje się 25% szybciej. Zawsze coś.

Pozdrawiam
Re: Kod przeszukujący ciąg liczb
#1583
Author: Bernard
Date: Mon, 26 Nov 2007 19:12
53 lines
2993 bytes
Remek wrote:
> Użytkownik "Bernard" napisał:
> 
>> Chodzi mi o prawidłowość konstrukcji typu
> 
>> a = x;
>> a -= 4;
>> a += 4;
> 
>> Ja w celu przypisania zmiennej a wartości x użyłbym raczej pojedynczej
>> instrukcji a = x, ale jak widać są różne szkoły programowania.
> 
> Czy ktoś Cię pytał, czego Ty byś użył? Wyluzuj. Odnoś się do postów

Hm..., wydawało mi się, że jest to grupa dyskusyjna.

> autora wątku, a moje pozostaw w spokoju. Jeśli jeszcze trochę napiszesz
> programów, to zrozumiesz dlaczego tak zrobiłem. Ciekawe pętle

Trochę napisałem programów i rozumiem, dlaczego początkujący programiści 
popełniają takie błędy jak Ty. Jeśli ktoś dba o jakość pisanego 
oprogramowania to na ogół po paru takich wpadkach wie, jak to robić 
poprawnie.

> konwertujące można zamknąć w procedury i umieścić w bibliotece. Wtedy
> moja konstrukcja pozwala uniknąć niejednoznaczności i jest jak
> najbardziej optymalna. Stosowanie innej konstrukcji powoduje w pewnych

Wydaje mi się, że słowo "optymalny" ma dość jednoznacznie określone 
znaczenie, i tutaj akurat chyba nie pasuje.

>> Oczywiście można pisać cmp, ale trudno to nazwać wzorcową techniką
>> programowania x86. OR jest krótsze.
> 
> I znów ta sama "śpiewka". Czy my tu omawiamy optymalizację kodu? Ja
> staram sie w jak njmniejszym stopniu naruszać konstrukcję zastosowaną
> przez Autora, bo o to tylko chodzi, aby wskazać oczywiste błędy.

Tu na ogół omawiamy temat "jak dobrze napisać program".

>> Ja złośliwie pokazałem coś trochę ciekawszego, optymalnego lub
> bliskiego
>> optymalnemu.
> 
> Daruj już sobie, bo zaśmieciłeś wątek tak dokładnie, że trudno się
> doszukać meritum. Jeśli chcesz podyskutować o ciekawych, złośliwych itp.

A co konkretnie było niemerytorycznego w moich tekstach?

> procedurach, załóż wątek na ten temat. Zrozum wreszcie, że odbiegasz od
> tematu i przeszkadzasz.

Myślę, że nie odbiegam, a że Tobie to przeszkadza - to już Twój problem.
Re: Kod przeszukujący ciąg liczb
#1584
Author: Remek
Date: Tue, 27 Nov 2007 15:12
50 lines
2976 bytes
Użytkownik "Bernard" napisał:

> > Czy ktoś Cię pytał, czego Ty byś użył? Wyluzuj. Odnoś się do postów

> Hm..., wydawało mi się, że jest to grupa dyskusyjna.

Wydaje Ci się, że na grupie dyskusyjnej wszystko wolno? Poczytaj
netykietę, a może zrozumiesz, że odbieganie od zasadniczwgo wątku jest
zaśmiecaniem go i świadczy o braku kultury bycia w internecie. Jeśli
chcesz dyskusji o swoich rozwiązaniach, załóż wątek na ten temat i podaj
do niego odnośnik.

> > Jeśli jeszcze trochę napiszesz
> > programów, to zrozumiesz dlaczego tak zrobiłem. Ciekawe pętle

> Trochę napisałem programów i rozumiem, dlaczego początkujący
programiści
> popełniają takie błędy jak Ty. Jeśli ktoś dba o jakość pisanego
> oprogramowania to na ogół po paru takich wpadkach wie, jak to robić
> poprawnie.

To co Tobie wydaje się błędem, dla mnie jest całkiem optymalne. Widocznie
jeszcze zbyt mało pisałeś wielowariantowych pętli, aby zrozumieć w czym
rzecz.

> > konwertujące można zamknąć w procedury i umieścić w bibliotece. Wtedy
> > moja konstrukcja pozwala uniknąć niejednoznaczności i jest jak
> > najbardziej optymalna. Stosowanie innej konstrukcji powoduje w
pewnych

> Wydaje mi się, że słowo "optymalny" ma dość jednoznacznie określone
> znaczenie, i tutaj akurat chyba nie pasuje.

Słusznie napisałeś - "Wydaje mi się". Mnie wydaje się całkiem inaczej,
ale kogo to obchodzi?

> > Czy my tu omawiamy optymalizację kodu?

> Tu na ogół omawiamy temat "jak dobrze napisać program".

Tu to znaczy na grupie, czy w konkretnym wątku?

> Myślę, że nie odbiegam, a że Tobie to przeszkadza - to już Twój
problem.

Tak naprawdę mnie nie przeszkadza. Jeśli nie przeszkadza również Autorowi
wątku, to nie ma sprawy. I nie reagował bym, gdybyś nie krytykował moich
metod w sposób świadczący o braku kultury bycia. Rozumiesz? Wątpię?

Remek
Re: Kod przeszukujący ciąg liczb
#1585
Author: Bernard
Date: Tue, 27 Nov 2007 18:16
74 lines
4311 bytes
Remek wrote:
> Użytkownik "Bernard" napisał:
> 
>>> Czy ktoś Cię pytał, czego Ty byś użył? Wyluzuj. Odnoś się do postów
> 
>> Hm..., wydawało mi się, że jest to grupa dyskusyjna.
> 
> Wydaje Ci się, że na grupie dyskusyjnej wszystko wolno? Poczytaj
> netykietę, a może zrozumiesz, że odbieganie od zasadniczwgo wątku jest
> zaśmiecaniem go i świadczy o braku kultury bycia w internecie. Jeśli
> chcesz dyskusji o swoich rozwiązaniach, załóż wątek na ten temat i podaj
> do niego odnośnik.

A gdzie odbiegłem od wątku? Cały czas mowa jest o programie, który 
znajduje największą liczbę w wektorze.

>> Trochę napisałem programów i rozumiem, dlaczego początkujący
> programiści
>> popełniają takie błędy jak Ty. Jeśli ktoś dba o jakość pisanego
>> oprogramowania to na ogół po paru takich wpadkach wie, jak to robić
>> poprawnie.
> 
> To co Tobie wydaje się błędem, dla mnie jest całkiem optymalne. Widocznie
> jeszcze zbyt mało pisałeś wielowariantowych pętli, aby zrozumieć w czym
> rzecz.

"Optymalne" oznacza dokładnie "najlepsze". Jeśli bez szczególnego 
wysiłku i wyrafinowanych technik - od niechcenia - można napisać kod o 
40% krótszy i o 25% szybszy od "wzorcowego", to z całą pewnością ten 
"wzorcowy" optymalny nie jest.

Z innych wątków na tej grupie wynika, że programowanie asemblerowe to 
dla Ciebie nowa i niezgłębiona dotąd dziedzina. Skąd więc to 
przekonanie, że to, co prezentujesz, jest warte zaprezentowania jako 
wzór? Mam sporą praktykę zawodową, ale przez cały czas się uczę i 
zauważam błędy czy nieoptymalności w tym, co piszę. To normalne, tak 
samo jak poprawianie tych błędów. O ile oczywiście uzna się, że ma się 
co poprawiać - a to, jak mniemam, jest właśnie tym, co różni dobrego 
informatyka od gorszego.
Programowanie asemblerowe - to właśnie cyzelowanie detali. Jeśli kod 
asemblerowy napisany ręcznie jest gorszy od kodu wygenerowanego przez 
kompilator średnio optymalizujący, to należy raczej użyć języka 
wysokiego poziomu i kompilatora, niż psuć wydajność i powiększać 
zajętość pamięci pisząc w asemblerze.
Ty jako wzór "optymalności" prezentujesz dodawanie przy użyciu czterech 
zależnych instrukcji i dwukrotne adjustowanie wskaźnika, aby zyskał 
pierwotną wartość. To jest właśnie przykład psucia kodu.

>> Wydaje mi się, że słowo "optymalny" ma dość jednoznacznie określone
>> znaczenie, i tutaj akurat chyba nie pasuje.
> 
> Słusznie napisałeś - "Wydaje mi się". Mnie wydaje się całkiem inaczej,
> ale kogo to obchodzi?

Może wobec tego zajrzyj do słownika języka polskiego, a potem dopiero 
podyskutujemy, ok?

>>> Czy my tu omawiamy optymalizację kodu?
> 
>> Tu na ogół omawiamy temat "jak dobrze napisać program".
> 
> Tu to znaczy na grupie, czy w konkretnym wątku?

I tu i tu.

>> Myślę, że nie odbiegam, a że Tobie to przeszkadza - to już Twój
> problem.
> 
> Tak naprawdę mnie nie przeszkadza. Jeśli nie przeszkadza również Autorowi
> wątku, to nie ma sprawy. I nie reagował bym, gdybyś nie krytykował moich
> metod w sposób świadczący o braku kultury bycia. Rozumiesz? Wątpię?

Coś pisałeś o kulturze, czy mi się wydawało?
Pozdrawiam cieplutko...
Re: Kod przeszukujący ciąg liczb
#1586
Author: Remek
Date: Tue, 27 Nov 2007 18:36
48 lines
2864 bytes
Użytkownik "Bernard" napisał:

> Z innych wątków na tej grupie wynika, że programowanie asemblerowe to
> dla Ciebie nowa i niezgłębiona dotąd dziedzina.

Programista uczy sie całe życie i ciągle będzie popełniał błędy. I nie ma
prawa przekonywać, że jego rozwiązanie jest jedynie słuszne. Może
natomiast proponować. To drobna różnica.

> Skąd więc to > przekonanie, że to, co prezentujesz, jest warte
zaprezentowania jako
> wzór?
Gdzie tak napisałem. Zacytuj.

> Ty jako wzór "optymalności" prezentujesz dodawanie przy użyciu czterech
> zależnych instrukcji i dwukrotne adjustowanie wskaźnika, aby zyskał
> pierwotną wartość. To jest właśnie przykład psucia kodu.

Nieprawda. Twój upór w nieprawdzie jest zadziwiający. Pokazałem tylko
autorowi wątku o co chodzi. Optymalne (dla siebie) rozwiązanie znakazł
już sam.

> >> Wydaje mi się, że słowo "optymalny" ma dość jednoznacznie określone
> >> znaczenie, i tutaj akurat chyba nie pasuje.
> >
> > Słusznie napisałeś - "Wydaje mi się". Mnie wydaje się całkiem
inaczej,
> > ale kogo to obchodzi?
>
> Może wobec tego zajrzyj do słownika języka polskiego, a potem dopiero
> podyskutujemy, ok?

Słowo "optymalny" ma znaczenie subiektywno-ocenne. Jednemu podoba się
córka, a drugiemu teściowa. Twoja ocena, czy coś jest optymalne, mało
mnie obchodzi.

> > Tak naprawdę mnie nie przeszkadza. Jeśli nie przeszkadza również
Autorowi
> > wątku, to nie ma sprawy. I nie reagował bym, gdybyś nie krytykował
moich
> > metod w sposób świadczący o braku kultury bycia. Rozumiesz? Wątpię?

> Coś pisałeś o kulturze, czy mi się wydawało?

Pisałem, ale nie wyciągasz wniosków. Po prostu niektórzy sa
niereformowalni.

Remek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads