-
71. Data: 2014-01-17 03:39:35
Temat: Re: pryszcze...
Od: bartekltg <b...@g...com>
On 2014-01-17 03:09, Stachu 'Dozzie' K. wrote:
> On 2014-01-17, bartekltg <b...@g...com> wrote:
>>>> Uważasz, zę programowanie generyczne to po prostu makra,
>>>> czy, że w c++ czegoś ważnego brakuje? Jeśli to drugie, to czego?
>>>
>>> Zapewne ani jedno, ani drugie.
>>>
>>> Makro to konstrukcja nie operująca na *typach*, tylko na *kodzie*
>>> (na drzewie wyprowadzenia w przypadku Lispa, na tekście w przypadku
>>> preprocesora C/C++). Szablony w C++ nie pracują z typami, a jedynie
>>> generują kawałki kodu wstawiając pewne adnotacje (typy mianowicie)
>>> w odpowiednich miejscach.
>>
>> Czyli pytania nadal jest aktualne:
>>
>> Skoro więc nie pierwsze, to czego brakuje w takim razie szablonom
>> z c++, aby stały się prawdziwą realizacją paradygmatu
>> programowania generycznego?
>
> Błąd: pytanie nie jest "nadal aktualne", tylko "nadal bezzasadne".
> Programowanie generyczne można uprawiać i na systemie makr.
Nie błąd, tylko niezrozumienie;-)
W takim razie poczekam na A.L.
pzdr
bartekltg
-
72. Data: 2014-01-17 05:26:37
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Fri, 17 Jan 2014 01:31:35 +0100, bartekltg <b...@g...com>
wrote:
>On 2014-01-17 01:24, A.L. wrote:
>> On Thu, 16 Jan 2014 07:48:04 +0000, Andrzej Jarzabek
>> <a...@g...com> wrote:
>>
>>> On 15/01/2014 15:24, A.L. wrote:
>>>> On Wed, 15 Jan 2014 08:03:30 +0100, Paweł Kierski <n...@p...net>
>>>> wrote:
>>>>>
>>>>> Statyczna kontrola typów daje duże pole do popisu dla optymalizacji
>>>>> przez kompilator. Vide - rozwijanie szablonów w C++.
>>>>
>>>> Szablony w C++ to zwykla makro. Mic nei ma wspolnego z systemem typow
>>>
>>> No jednak ma o tyle, że generuje statyczne typy i funkcje korzystające z
>>> nich. Tak wygenerowany wektor intów czy sortowanie intów kompilator może
>>> lepiej zoptymalizować niż "wektor czegokolwiek" czy "sortowanie
>>> czegokolwiek".
>>
>> Owszem. WIE o typach. Co nei zmienia faktu ze jest makro
>
>Uważasz, zę programowanie generyczne to po prostu makra,
>czy, że w c++ czegoś ważnego brakuje? Jeśli to drugie, to czego?
Niczego nei brakuje. Programowanei generyczne to programwoanie
wykorzystujace templates ktore sa zaawansowanym makrogeneratorem.
Gdy nie bylo templates, uzywalo sie do programowania generycznego
unixowego makrogeneratora M4. Tak powstala pierwsza generyczna
biblioteka C++ zwana NIH (od National Institute of Health, bo tam
pracowal autor)
A.L.
-
73. Data: 2014-01-17 05:27:54
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Fri, 17 Jan 2014 03:00:12 +0100, bartekltg <b...@g...com>
wrote:
>On 2014-01-17 02:46, Stachu 'Dozzie' K. wrote:
>> On 2014-01-17, bartekltg <b...@g...com> wrote:
>>> On 2014-01-17 01:24, A.L. wrote:
>>>> On Thu, 16 Jan 2014 07:48:04 +0000, Andrzej Jarzabek
>>>> <a...@g...com> wrote:
>>>>
>>>>> On 15/01/2014 15:24, A.L. wrote:
>>>>>> On Wed, 15 Jan 2014 08:03:30 +0100, Paweł Kierski <n...@p...net>
>>>>>> wrote:
>>>>>>>
>>>>>>> Statyczna kontrola typów daje duże pole do popisu dla optymalizacji
>>>>>>> przez kompilator. Vide - rozwijanie szablonów w C++.
>>>>>>
>>>>>> Szablony w C++ to zwykla makro. Mic nei ma wspolnego z systemem typow
>>>>>
>>>>> No jednak ma o tyle, że generuje statyczne typy i funkcje korzystające z
>>>>> nich. Tak wygenerowany wektor intów czy sortowanie intów kompilator może
>>>>> lepiej zoptymalizować niż "wektor czegokolwiek" czy "sortowanie
>>>>> czegokolwiek".
>>>>
>>>> Owszem. WIE o typach. Co nei zmienia faktu ze jest makro
>>>
>>> Uważasz, zę programowanie generyczne to po prostu makra,
>>> czy, że w c++ czegoś ważnego brakuje? Jeśli to drugie, to czego?
>>
>> Zapewne ani jedno, ani drugie.
>>
>> Makro to konstrukcja nie operująca na *typach*, tylko na *kodzie*
>> (na drzewie wyprowadzenia w przypadku Lispa, na tekście w przypadku
>> preprocesora C/C++). Szablony w C++ nie pracują z typami, a jedynie
>> generują kawałki kodu wstawiając pewne adnotacje (typy mianowicie)
>> w odpowiednich miejscach.
>
>Czyli pytania nadal jest aktualne:
>
>Skoro więc nie pierwsze, to czego brakuje w takim razie szablonom
>z c++, aby stały się prawdziwą realizacją paradygmatu
>programowania generycznego?
A co to jest ow "prawdziwy paradygmat programowania generycznego"? I
na czym ma polegac jego prawdziwisc?
A.L.
-
74. Data: 2014-01-17 05:28:29
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Fri, 17 Jan 2014 03:39:35 +0100, bartekltg <b...@g...com>
wrote:
>On 2014-01-17 03:09, Stachu 'Dozzie' K. wrote:
>> On 2014-01-17, bartekltg <b...@g...com> wrote:
>>>>> Uważasz, zę programowanie generyczne to po prostu makra,
>>>>> czy, że w c++ czegoś ważnego brakuje? Jeśli to drugie, to czego?
>>>>
>>>> Zapewne ani jedno, ani drugie.
>>>>
>>>> Makro to konstrukcja nie operująca na *typach*, tylko na *kodzie*
>>>> (na drzewie wyprowadzenia w przypadku Lispa, na tekście w przypadku
>>>> preprocesora C/C++). Szablony w C++ nie pracują z typami, a jedynie
>>>> generują kawałki kodu wstawiając pewne adnotacje (typy mianowicie)
>>>> w odpowiednich miejscach.
>>>
>>> Czyli pytania nadal jest aktualne:
>>>
>>> Skoro więc nie pierwsze, to czego brakuje w takim razie szablonom
>>> z c++, aby stały się prawdziwą realizacją paradygmatu
>>> programowania generycznego?
>>
>> Błąd: pytanie nie jest "nadal aktualne", tylko "nadal bezzasadne".
>> Programowanie generyczne można uprawiać i na systemie makr.
>
>Nie błąd, tylko niezrozumienie;-)
>
>W takim razie poczekam na A.L.
>
Ja tez nie rozumiem o co chodzi
A.L.
-
75. Data: 2014-01-17 05:51:14
Temat: Re: pryszcze...
Od: bartekltg <b...@g...com>
On 2014-01-17 05:26, A.L. wrote:
> On Fri, 17 Jan 2014 01:31:35 +0100, bartekltg <b...@g...com>
> wrote:
>>>
>>> Owszem. WIE o typach. Co nei zmienia faktu ze jest makro
>>
>> Uważasz, zę programowanie generyczne to po prostu makra,
>> czy, że w c++ czegoś ważnego brakuje? Jeśli to drugie, to czego?
>
> Niczego nei brakuje. Programowanei generyczne to programwoanie
> wykorzystujace templates ktore sa zaawansowanym makrogeneratorem.
>
> Gdy nie bylo templates, uzywalo sie do programowania generycznego
> unixowego makrogeneratora M4. Tak powstala pierwsza generyczna
> biblioteka C++ zwana NIH (od National Institute of Health, bo tam
> pracowal autor)
Ok, dzięki za odpowiedź.
pzdr
bartekltg
-
76. Data: 2014-01-17 05:51:18
Temat: Re: pryszcze...
Od: bartekltg <b...@g...com>
On 2014-01-17 05:27, A.L. wrote:
>
>
> A co to jest ow "prawdziwy paradygmat programowania generycznego"? I
> na czym ma polegac jego prawdziwisc?
Nie wiem, dlatego się pytam. W poście, na który odpowiadałem
równie dobrze mogłeś sugerować, że to c++ schrzaniło programowanie
generyczne, jak i to, że p.g. to nic specjalnie głębszego niż
makra. Stąd prośba o doprecyzowanie.
pzdr
bartekltg
-
77. Data: 2014-01-17 05:51:25
Temat: Re: pryszcze...
Od: bartekltg <b...@g...com>
On 2014-01-17 05:28, A.L. wrote:
>
> Ja tez nie rozumiem o co chodzi
Mimo to wyczerpująco odpowiedziałeś na pytanie w poście
sprzed 2 minut;-)
Generyczne = lepsze makro i nie ma tam głębszej
teorii, jak przy teorii typów.
BTW, obserwacja trolli skrzywiła strasznie grupowiczów.
Czasem ktoś pyta po protu dlatego, że chce się czegoś
dowiedzieć.
pzdr
bartekltg
-
78. Data: 2014-01-17 10:19:55
Temat: Re: pryszcze...
Od: Maciej Sobczak <s...@g...com>
W dniu piątek, 17 stycznia 2014 05:26:37 UTC+1 użytkownik A. L. napisał:
> Niczego nei brakuje. Programowanei generyczne to programwoanie
> wykorzystujace templates ktore sa zaawansowanym makrogeneratorem.
Nie. Tzn. istnieją realizacje, które tak właśnie działają, ale nie jest to ogólna
prawda. Np. niektóre kompilatory Ady implementują programowanie generyczne w sposób,
który nie wymaga tworzenia osobnych instancji kodu wynikowego dla różnych instancji
szablonu - tzw. shared generics.
Tutaj:
http://en.wikipedia.org/wiki/Generic_programming
szukać pierwszego wystąpienia napisu "Unlike C++" i czytać do końca paragrafu.
Natomiast faktem jest, że podejście typu "makrogenerator" jest popularne, bo ma swoje
zalety i akurat najpopularniejszy kompilator Ady (GNAT) robi to dokładnie tak jak
kompilatory C++.
> Gdy nie bylo templates, uzywalo sie do programowania generycznego
> unixowego makrogeneratora M4.
Programiści C nadal do tego celu używają zwykłego preprocesora, który jest w języku.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
-
79. Data: 2014-01-18 03:34:14
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Fri, 17 Jan 2014 01:19:55 -0800 (PST), Maciej Sobczak
<s...@g...com> wrote:
>W dniu piątek, 17 stycznia 2014 05:26:37 UTC+1 użytkownik A. L. napisał:
>
>Natomiast faktem jest, że podejście typu "makrogenerator" jest popularne, bo ma
swoje zalety i akurat najpopularniejszy kompilator Ady (GNAT) robi to dokładnie tak
jak kompilatory C++.
>
>> Gdy nie bylo templates, uzywalo sie do programowania generycznego
>> unixowego makrogeneratora M4.
>
>Programiści C nadal do tego celu używają zwykłego preprocesora, który jest w języku.
M4 jest Turing complete. Podobnie jak templates w C++. A makroprocesor
w C jest raczej prymitywny
A.L.
-
80. Data: 2014-01-19 13:52:53
Temat: Re: pryszcze...
Od: Adam Klobukowski <a...@g...com>
On Saturday, 18 January 2014 03:34:14 UTC+1, A. L. wrote:
> On Fri, 17 Jan 2014 01:19:55 -0800 (PST), Maciej Sobczak
>
> <s...@g...com> wrote:
>
> >W dniu pi�tek, 17 stycznia 2014 05:26:37 UTC+1 u�ytkownik A. L. napisa�:
>
> >Natomiast faktem jest, �e podej�cie typu "makrogenerator" jest popularne, bo
ma swoje zalety i akurat najpopularniejszy kompilator Ady (GNAT) robi to dok�adnie
tak jak kompilatory C++.
>
> >> Gdy nie bylo templates, uzywalo sie do programowania generycznego
> >> unixowego makrogeneratora M4.
>
> >Programi�ci C nadal do tego celu u�ywaj� zwyk�ego preprocesora, kt�ry
jest w j�zyku.
>
> M4 jest Turing complete. Podobnie jak templates w C++. A makroprocesor
> w C jest raczej prymitywny
No, ale grę przygodową się w nim dało napisać: http://www.ioccc.org/1994/westley.hint
A zdania co do prymitywności są podzielone: http://www.ioccc.org/2001/herrmann1.hint
:D
AdamK