-
121. Data: 2011-03-11 21:46:16
Temat: Re: Program cosinusowej transformaty Fouriera
Od: A.L. <l...@a...com>
On Fri, 11 Mar 2011 22:36:04 +0100, Sebastian Biały
<h...@p...onet.pl> wrote:
>
>Jak tu wyjasniać te wszystkie ^ daszki w pascalu o które się w kółko
>potykają studenci jak trzeba cos bardziej wypasionego niż tablica?
>
>> Albowiem, jeszcze raz: najlepiej byloby nauczac PROGRAMOWANIA bez
>> zadnego jezyka. Ale sie nie da.
>
>Jak to się nie da? Kiedyś było dużo ludzi rysujących pudełeczka ze
>strzałkami w książkach lub używających pascalowego pseudokodu po polsku.
>Chyba mozna to jednak usprawiedliwić mizerną dostepnością komputerów w
>tamtych czasach.
Takei rzeczy wyjasnei sie na samym koncu albo w ogole. Dlatego tez
zostal wymyslony zostal przez Wirtha pascal-S przeznaczony do
podstawowego nauczania
http://www.moorecad.com/standardpascal/pascals.html
Zas jak idzie o dostepnosc komputerow, to jak sie ma owe dostepnosc
dzisiaj?...
A.L.
-
122. Data: 2011-03-11 21:52:34
Temat: Re: Program cosinusowej transformaty Fouriera
Od: A.L. <l...@a...com>
On Fri, 11 Mar 2011 22:37:47 +0100, Sebastian Biały
<h...@p...onet.pl> wrote:
>On 2011-03-11 22:27, A.L. wrote:
>> http://www.cs.umass.edu/~yannis/fc++/fc++.main.pdf
>>
>> To jest ciekawy przyklad paradygmatu: " co prawda hulajnoga nei jest
>> ciezarowka, zle jak sie zaprzemy to tapczan na niej przewieziemy"
>
>Na tej publikacji bazuje własnie boost::phoenix.
No to szkoda.
A.L.
-
123. Data: 2011-03-11 21:53:08
Temat: Re: Program cosinusowej transformaty Fouriera
Od: A.L. <l...@a...com>
On Fri, 11 Mar 2011 22:41:01 +0100, Sebastian Biały
<h...@p...onet.pl> wrote:
>On 2011-03-11 22:08, Wojciech Muła wrote:
>>> boost::phoenix
>>> Nikt nie twierdzi że C++ jest funkcyjny. Ale może być dość małym kosztem.
>> Nie moze z prostego powodu -- funkcje nie sa pelnoprawnymi
>> obiektami.
>
>Byc może mówisz o czymś innym niż boost::phoenix, bo akurat tam wszystko
>jest funktorem czyli między innymi pełnoprawnym obiektem. Co masz więc
>na mysli mowiąc "pełnoprawny obiekt" ?
"Wszystko co ma kolka jest pelnosprawna ciezarowka"
A.L.
-
124. Data: 2011-03-11 21:55:54
Temat: Re: Program cosinusowej transformaty Fouriera
Od: Wojciech Muła <w...@p...null.onet.pl.invalid>
Sebastian Biały wrote:
> On 2011-03-11 22:08, Wojciech Muła wrote:
>>> boost::phoenix
>>> Nikt nie twierdzi że C++ jest funkcyjny. Ale może być dość małym kosztem.
>> Nie moze z prostego powodu -- funkcje nie sa pelnoprawnymi
>> obiektami.
>
> Byc może mówisz o czymś innym niż boost::phoenix, bo akurat tam wszystko
> jest funktorem czyli między innymi pełnoprawnym obiektem. Co masz więc
> na mysli mowiąc "pełnoprawny obiekt" ?
Nie ma domkniec (closure) -- funkcja/metoda w C++ jest identyfikowana
adresem i niczym wiecej. Wiec nie mozesz zwrocic funkcji z innej funkcji.
Mozesz zwrocic co najwyzej obiekt zaalokowany na stercie, ktory ma jakas
tam metode i udawac, ze ten obiekt to funkcja, przeciazajac operator ().
Co ciekawe, Pascal ma domkniecia, ograniczone co prawda, ale przynajmniej
pozwalajacy definiowac funkcje lokalne.
Ba, w jezyku nie mozna zrobic tak banalnej rzeczy, jak delegatow, tzn.
generycznych wskaznikow na metody o tych samych sygnaturach. (Np. Borland
sobie z tym poradzil, kosztem jednak przenosnosci).
w.
-
125. Data: 2011-03-11 22:25:51
Temat: Re: Program cosinusowej transformaty Fouriera
Od: A.L. <l...@a...com>
On Fri, 11 Mar 2011 22:37:47 +0100, Sebastian Biały
<h...@p...onet.pl> wrote:
>On 2011-03-11 22:27, A.L. wrote:
>> http://www.cs.umass.edu/~yannis/fc++/fc++.main.pdf
>>
>> To jest ciekawy przyklad paradygmatu: " co prawda hulajnoga nei jest
>> ciezarowka, zle jak sie zaprzemy to tapczan na niej przewieziemy"
>
>Na tej publikacji bazuje własnie boost::phoenix.
Tak na marginesie, to czasy jakby sie zmienily: jakos odchodzi sie od
gigantycznych Jezykow Ktore Moga Wszystko, a raczej rozwiazuje sie
problemy dekomponujec je na podproblemy i uzywajac jezykow i
paradygmatow ktore najlepiej sie do tego celu nadaja. Coraz mniej ejst
bowiem problemow ze wspolparca kawalkow napisanych w roznych jezykach.
Pewnie moglbym napisac w C++ to co robie w Prologu, tylko pewnie
najpierw musialbym sobie napisac Prolog w C++. A potem, bioarc pod
uwage brak zrodowiska, bibliotek i takiej prostej rzeczy jak "lista"
pewnei bym sie a) zaj... na smierc, b) dostal gniota ktory by sie nie
nadawal do uzytku.
Ja ktos chce programowac uzywajac paradygmatu funkcyjnego to ma cale
multum jezykow ktore to umozliwjaja w doskonaly sposob. Nie musi
pzrepychac szesciennych klockow przez okragle dziury
A.L.
-
126. Data: 2011-03-12 00:17:03
Temat: Re: Program cosinusowej transformaty Fouriera
Od: "Przemek O." <p...@o...eu>
W dniu 2011-03-11 20:17, Sebastian Biały pisze:
> Posiada:
> a) sesowne miejsce w przemysle.
> b) Jest obiektowy albo nie, jak kto woli.
> c) Pozwala robić zarządzanie pamięcią jak się chce albo nie.
> d) stosując metaprograomowanie jest praktycznie funkcyjny kiedy trzeba.
> e) Ma ogromne wsparcie.
> f) Mimo że nie ma żadnego kompilatora C++ (bo kazdy cczegoś tam nie
> potrafi) to jest zaskakująco przenośny.
Napisz o czymś czego nie ma Delphi, bo na razie tutaj niczego takiego
nie widzę. Pamiętaj o jednym, jeśli czegoś nie wiesz, to nie znaczy że
to nie istnieje.
> Efekty: W pascalu nie ma mapy, listy. Wynik: Pascalowcy rozwiązuja
> wszelkie problemy na tablicach. Taaaak, tablice są najlepsze, po h...
> komu jakieś kontenery i abstrakcje w języku.
Bzdurzysz niemiłosiernie. Co po części wyjaśnia tę listę powyżej. No
chyba, że porównujesz Pascala (takiego z lat 80-ych).
> Bo w dydaktyce przeciez chodzi o to zeby było prosto, bez wiedzy i
> obeznania, nie?
Dla początkujących tak. Więc (posługując się Twoim przykładem) dla
każdego bardziej zrozumiałym będzie array of integer niż
std::vector<int>. W pierwszym przypadku wystarczy że przetłumaczy z
angielskiego na polski i wie o co chodzi, w drugim już nie jest tak prosto.
>> A po kiego grzyba GC w językach kompilowanych do kodu natywnego?
> A dlaczego GC ma niby być tylko na kodu wirtualnego?
Nie o to mi chodziło. A odpowiadając pytaniem, po co ma być GC? Żeby
wychowywać pokolenie programistów nie mających pojęcia o zarządzaniu
pamięcią? :)
> Przewidziane zastosowania wlasnie umierają wraz z ostatnimi projektami w
> pascalu. Oczywiście "czy wiecie że Skype jest napisany w Delphi" można
> zawsze podrzucić w dyskusji, ale co z tego?
No widzisz, bo z Delphi jest tak, że nie kracze każdy na lewo i na
prawo, że coś jest w nim zrobione. Jeśli Cię to interesuje, to mogę jako
przykład podać naszych zachodnich sąsiadów, gdzie oprogramowania
tworzonego w Delphi jest bardzo dużo (i to zarówno rozwijanego i
nowego), duża część oprogramowania medycznego jest pisana w Delphi
(zaznaczam też że nowego, a nie tylko czegoś co jest rozwijane od lat) i
dotyczy to zarówno firm polskich, jak i dużych zagranicznych. A i żeby
nie było, że to oprogramowanie do wystawiania recept, to o czym pisze
steruje tomografami, rezonansami, służy do diagnostyki obrazowej, badań
przesiewowych itd itp.
Bo niestety żeby o czymś pisać, trzeba mieć minimalną wiedzę w temacie a
nie jakieś ogólne poglądy.
> Efektem dobierania języka do zadania jest nauczanie od dziada pradziada
> Pascala na uczelniach/szkołach pierdyliard razy tłumacząc na czym polega
> sortowanie bąbelkowe ignorując przemysł który ma w d... bąbelki.
Niesamowite. Rozumiem, że Ty na początek dałbyś FFT albo coś równie
lekkiego i prostego? Szczególnie dla osoby która pierwszy raz siedzi
przed edytorem kodu?
--
pozdrawiam,
Przemysław Osmański, SoftSYSTEM
www.soft-system.pl
www.kochamjedzenie.pl - portal dla ludzi którzy kochają jedzenie
-
127. Data: 2011-03-12 01:38:18
Temat: Re: Program cosinusowej transformaty Fouriera
Od: Arkadiusz Dymek <a...@n...bedzie>
W dniu 3/11/2011 8:52 PM, R.M.M wrote:
>>
>> Nie wydaje mi się. Do nauki Pascala pozycją obowiązkową był raczej Turbo
>> Pascal Marcinkiewicza. [ciach]
>
> Yes, yes, yes!!!;)
>
> Jak sadze, chodzilo Ci o Marciniaka... Az z nostalgia spojrzalem na
> polke;).
>
A tak. Z pamięci pisałem.
Pozdrawiam,
Arkadesh
-
128. Data: 2011-03-12 06:29:24
Temat: Re: Program cosinusowej transformaty Fouriera
Od: Sebastian Biały <h...@p...onet.pl>
On 2011-03-11 22:53, A.L. wrote:
>>>> Nikt nie twierdzi że C++ jest funkcyjny. Ale może być dość małym kosztem.
>>> Nie moze z prostego powodu -- funkcje nie sa pelnoprawnymi
>>> obiektami.
>> Byc może mówisz o czymś innym niż boost::phoenix, bo akurat tam wszystko
>> jest funktorem czyli między innymi pełnoprawnym obiektem. Co masz więc
>> na mysli mowiąc "pełnoprawny obiekt" ?
> "Wszystko co ma kolka jest pelnosprawna ciezarowka"
"Nikt nie twierdzi że C++ jest funkcyjny".
-
129. Data: 2011-03-12 06:33:37
Temat: Re: Program cosinusowej transformaty Fouriera
Od: Sebastian Biały <h...@p...onet.pl>
On 2011-03-11 22:55, Wojciech Muła wrote:
> Nie ma domkniec (closure) -- funkcja/metoda w C++ jest identyfikowana
> adresem i niczym wiecej. Wiec nie mozesz zwrocic funkcji z innej funkcji.
> Mozesz zwrocic co najwyzej obiekt zaalokowany na stercie, ktory ma jakas
> tam metode i udawac, ze ten obiekt to funkcja, przeciazajac operator ().
To "co najwyżej" jest całkiem wystarczające do podstawowych zadań. Co do
closures:
http://www.boost.org/doc/libs/1_34_0/libs/spirit/doc
/closures.html
> Ba, w jezyku nie mozna zrobic tak banalnej rzeczy, jak delegatow, tzn.
> generycznych wskaznikow na metody o tych samych sygnaturach. (Np. Borland
> sobie z tym poradzil, kosztem jednak przenosnosci).
Czy piszesz o boost::function / boost::signal?
-
130. Data: 2011-03-12 06:57:44
Temat: Re: Program cosinusowej transformaty Fouriera
Od: Sebastian Biały <h...@p...onet.pl>
On 2011-03-12 01:17, Przemek O. wrote:
>> a) sesowne miejsce w przemysle.
>> b) Jest obiektowy albo nie, jak kto woli.
>> c) Pozwala robić zarządzanie pamięcią jak się chce albo nie.
>> d) stosując metaprograomowanie jest praktycznie funkcyjny kiedy trzeba.
>> e) Ma ogromne wsparcie.
>> f) Mimo że nie ma żadnego kompilatora C++ (bo kazdy cczegoś tam nie
>> potrafi) to jest zaskakująco przenośny.
> Napisz o czymś czego nie ma Delphi, bo na razie tutaj niczego takiego
> nie widzę. Pamiętaj o jednym, jeśli czegoś nie wiesz, to nie znaczy że
> to nie istnieje.
a) nie ma sensownego miejsca w przemysle (traci na rzecz głównie Java/C#)
b) brak metaprogramowania (cast hell)
c) nieprzenosny
d) wsparcie spadające asymptotycznie do zera
e) brak sesnownych biblitek algorytmicznych i struktur danych, wszystko
trzeba pstrykac ręcznie lub czekać "na następną wersję Delphi za pół roku".
>> Efekty: W pascalu nie ma mapy, listy. Wynik: Pascalowcy rozwiązuja
>> wszelkie problemy na tablicach. Taaaak, tablice są najlepsze, po h...
>> komu jakieś kontenery i abstrakcje w języku.
> Bzdurzysz niemiłosiernie. Co po części wyjaśnia tę listę powyżej. No
> chyba, że porównujesz Pascala (takiego z lat 80-ych).
Na sąsiedniej grupie zapytalem (bez złych intencji, naprawdę miałem
potrzebe użyć) gdzie znajdę mapę we wspólczesnym Delphi ... okazalo się
że jestem tępym kretynem bo array jest szybsze.
>> Bo w dydaktyce przeciez chodzi o to zeby było prosto, bez wiedzy i
>> obeznania, nie?
> Dla początkujących tak. Więc (posługując się Twoim przykładem) dla
> każdego bardziej zrozumiałym będzie array of integer niż
> std::vector<int>.
Nie widze różnicy.
> W pierwszym przypadku wystarczy że przetłumaczy z
> angielskiego na polski i wie o co chodzi, w drugim już nie jest tak prosto.
Że niby array jest jasne a vector nie?
> Nie o to mi chodziło. A odpowiadając pytaniem, po co ma być GC? Żeby
> wychowywać pokolenie programistów nie mających pojęcia o zarządzaniu
> pamięcią? :)
Po co ma *nie* być GC? Żeby powstal nastepny milion programów które źle
zarządzają pamięcią? Pewne klasy problemów można łatwiej rozwiązać z GC,
co ważniejsze są to problemy występujące częściej (takie jaki GUI, bazy
czyli domena Delphi). Nikt nie stosuje na poważnie Pascala/Delphi do
aplikacji np. realtime gdzie zarzadznei pamięcią ma znaczenie. Zazwyczaj
zorwiązuje się problemy klasy "wystawianie faktur" a w pl "wystawianie
recept" gdzie GC jest przydatny.
> No widzisz, bo z Delphi jest tak, że nie kracze każdy na lewo i na
> prawo, że coś jest w nim zrobione.
<złośliwość>Przypadek Skype jest podoszony tak czesto że pewnie jest
jedyny :)</złoścliwość>?
> Jeśli Cię to interesuje, to mogę jako
> przykład podać naszych zachodnich sąsiadów, gdzie oprogramowania
> tworzonego w Delphi jest bardzo dużo (i to zarówno rozwijanego i
> nowego)
Ile procent w skali rynku? Bo ja ostatnio widzialem bardzo dużo
programów napisanych w AtariBASICu na jakiejś starej kasecie, jeśli Cię
to intertesuje.
> nie było, że to oprogramowanie do wystawiania recept, to o czym pisze
> steruje tomografami, rezonansami, służy do diagnostyki obrazowej, badań
> przesiewowych itd itp.
Zupełnie jak oprogramowanie napisane w C++, Javie, C#. Lisp na ten
oprzykład lata w kosmos. W dodatku miałem okazję rozmawiać z programista
który popełnił fragment sterownika do rezonanu magnetycznego w ...
VisualBasicu.
> Bo niestety żeby o czymś pisać, trzeba mieć minimalną wiedzę w temacie a
> nie jakieś ogólne poglądy.
Trzeba mieć minimalną wiedzę statystyczną. A ponieważ nikt nie posiada
obiektywnej musimy bazować na subiektywnych opiniach.
>> Pascala na uczelniach/szkołach pierdyliard razy tłumacząc na czym polega
>> sortowanie bąbelkowe ignorując przemysł który ma w d... bąbelki.
> Niesamowite. Rozumiem, że Ty na początek dałbyś FFT albo coś równie
> lekkiego i prostego? Szczególnie dla osoby która pierwszy raz siedzi
> przed edytorem kodu?
Na początek pokazał bym std::sort. Dzieki temu statystycznie więcej osób
będzie w stanie napisać wydajny kod zamiast pisać popsute implementacje
bubble sort za każdym razem. Co nie przeszkodzi idiotom i tak spieprzyć,
ale przynajmniej nie sortowanie.
PS. Gdzie sa studenci który na studiach z informatyki, w szczególności
kierunkach dla programistow nie siedzieli jeszcze przed edytorem kodu? Z
mojej obserwacji wynika że to szum statystyczny.