-
11. Data: 2014-01-13 19:55:50
Temat: Re: pryszcze...
Od: g...@g...com
W dniu poniedziałek, 13 stycznia 2014 17:30:26 UTC+1 użytkownik Stachu 'Dozzie' K.
napisał:
> On 2014-01-13, g...@g...com <g...@g...com> wrote:
>
> > Ma jednak taka wade, ze utrudnia pisanie kodu generycznego
> > (a rozwiazanie oferowane przez C++ wyglada na ponury dowcip)
> > i generalnie czesto wymaga pisania wiecej, niz to potrzebne.
>
> Wida� z daleka, �e nie ogl�da�e� na oczy SML-a, Haskella ani Erlangowego
Dialyzera.
Erlangowego Dialyzera nie widzialem. SMLa raczej pobieznie, Haskella
troche bardziej. Tak, zgadzam sie, systemy typow w tych jezykach sa
rewelacyjne, i jestem jak najbardziej zwolennikiem uzywania ich.
Sam ostatnio coraz wiecej sie zastanawiam nad stworzeniem
type-checkera dla mojego ukochanego Scheme'a, i od jakiegos czasu
pisze w swoich programach anotacje (ktore na razie nic nie robia).
> No i nie wiem jak w tw�j kod, ale m�j cz�sto pracuje na z�o�onych
> strukturach danych. Deklaracje typ�w daj� mi -- nawet je�li nic poza
> tym -- systematyczn� dokumentacj� co kt�ra funkcja przyjmuje i co
> zwraca.
Tak, to jest drugi pozytywny aspekt -- oprocz zwiekszenia
niezawodnosci systemu -- ze latwiej sie czyta i rozumie kod.
Dokladnie takie same dwie role pelnia tez moim zdaniem nota
bene testy jednostkowe.
(Nie chcialbym jednak, zeby ta obserwacja zabrzmiala jako
sugestia, zeby zastepowac systemy typow testami jednostkowymi
-- to tylko luzna uwaga dodana na marginesie)
> > Wspolczesnie uzycie jezykow z dynamicznym typowaniem
> > zdecydowanie dominuje
>
> [...]
>
> > Mysle, ze gdyby w projektach tego rodzaju system typow
> > naprawde dawal tak wielkie korzysci, to by go tak latwo
> > nie zmarginalizowano.
>
> Bo najpierw trzeba umie� korzysta� z systemu typ�w.
A na czym mialaby polegac trudnosc w korzystaniu
z systemu typow? Jezeli ktos jest w stanie napisac
funkcje, to powinien tez chyba byc w stanie okreslic, na
jakiego typu argumentach operuje? (Moze sie myle, moze
to tylko dla mnie jest oczywiste. W sumie sam zaczynalem
nauke programowania od jezykow silnie typowanych, ktore
sila rzeczy wymuszaly na mnie dyscypline w tej kwestii,
ale gdyby ktos swoje pierwsze programy pisal w PHP, to
niewykluczone, ze brakowaloby mu klarownosci w kwestii
pojecia typu)
> Zgadnij, dlaczego do Erlanga, j�zyka z dynamicznym systemem
> typ�w, w toku ewolucji *dodano* elementy pozwalaj�ce
> na deklarowanie i dedukcj� typ�w?
Jezeli w poscie wyslanym przeze mnie niecale 4 godziny temu
napisalem, ze "Statyczna kontrola typow ma taka zalete,
ze zwieksza niezawodnosc oprogramowania i pozwala uniknac
calej klasy bledow, ktore w innym razie moga zamanifestowac
sie dopiero wtedy, kiedy zostanie wykonana bledna sciezka
w programie", to od tamtej pory nie zmienilem swojego
zdania w tej kwestii, i jakbym mial zgadywac, to bym
powiedzial, ze wlasnie dlatego.
> I dodatkowo: http://ro-che.info/ccc/17
Jezeli probujesz ze mnie zrobic przeciwnika statycznego
systemu typow, to chyba troche wbrew temu, co mowie.
Moze tez wyrazilem sie troche nieprecyzyjnie.
Jezeli napisalem, ze w przypadku jezyka C statyczny system
typow jest jednoczesnie zaleta i wada, to wlasnie to mialem
na mysli. C nie jest jezykiem dynamicznym i robienie
w nim wielu dosc prostych rzeczy rzeczy wymaga ponownego
wynajdywania kola. Nie chce przez to powiedziec, ze statyczne
systemy typow sa czyms niedobrym. Przeciwnie, rozumiem, jakie
maja zalety, i dostrzegam wiele kontekstow, w ktorych sa
bardzo uzyteczne (jak rowniez takie, w ktorych sa piatym kolem
u wozu, i dlatego wole, zeby raczej byly opcjonalne, niz
obligatoryjne)
-
12. Data: 2014-01-14 02:31:43
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Mon, 13 Jan 2014 16:30:26 +0000 (UTC), "Stachu 'Dozzie' K."
<d...@g...eat.some.screws.spammer.invalid> wrote:
>
>Bo najpierw trzeba umieć korzystać z systemu typów. Zgadnij, dlaczego do
>Erlanga, języka z dynamicznym systemem typów, w toku ewolucji *dodano*
>elementy pozwalające na deklarowanie i dedukcję typów?
>
>I dodatkowo: http://ro-che.info/ccc/17
No i jeszcze by musial zgadnac dlaczego do Smalltalka i Prologu
musialem zrobic wlasny type checker.
A.L.
-
13. Data: 2014-01-14 02:42:12
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Mon, 13 Jan 2014 10:55:50 -0800 (PST), g...@g...com
wrote:
>Jezeli napisalem, ze w przypadku jezyka C statyczny system
>typow jest jednoczesnie zaleta i wada, to wlasnie to mialem
>na mysli. C nie jest jezykiem dynamicznym i robienie
>w nim wielu dosc prostych rzeczy rzeczy wymaga ponownego
>wynajdywania kola.
NA przykald robienie czego?
>Nie chce przez to powiedziec, ze statyczne
>systemy typow sa czyms niedobrym. Przeciwnie, rozumiem, jakie
>maja zalety, i dostrzegam wiele kontekstow, w ktorych sa
>bardzo uzyteczne (jak rowniez takie, w ktorych sa piatym kolem
>u wozu, i dlatego wole, zeby raczej byly opcjonalne, niz
>obligatoryjne)
No to jednak musisz sie zdecydowac - w te czy wewte. Zaleta, czy
wada...
Zreszta, C to kiepski przykald jezyka typowanego. System typow C ma
dziury i wcale bezpieczny nie jest.
http://stackoverflow.com/questions/4124810/explain-c
-fundamentally-has-a-corrupt-type-system
A.L.
-
14. Data: 2014-01-14 03:02:47
Temat: Re: pryszcze...
Od: g...@g...com
W dniu wtorek, 14 stycznia 2014 02:42:12 UTC+1 użytkownik A. L. napisał:
> On Mon, 13 Jan 2014 10:55:50 -0800 (PST), g...@g...com
>
> wrote:
>
>
> >Jezeli napisalem, ze w przypadku jezyka C statyczny system
> >typow jest jednoczesnie zaleta i wada, to wlasnie to mialem
> >na mysli. C nie jest jezykiem dynamicznym i robienie
> >w nim wielu dosc prostych rzeczy rzeczy wymaga ponownego
> >wynajdywania kola.
>
> NA przykald robienie czego?
Na przyklad ewaluacja kodu "w locie".
> >Nie chce przez to powiedziec, ze statyczne
> >systemy typow sa czyms niedobrym. Przeciwnie, rozumiem, jakie
> >maja zalety, i dostrzegam wiele kontekstow, w ktorych sa
> >bardzo uzyteczne (jak rowniez takie, w ktorych sa piatym kolem
> >u wozu, i dlatego wole, zeby raczej byly opcjonalne, niz
> >obligatoryjne)
>
> No to jednak musisz sie zdecydowac - w te czy wewte. Zaleta, czy
> wada...
Nie wiem, na co sie jeszcze "musze decydowac".
Wydaje mi sie, ze wyrazilem swoja opinie dosc kompletnie,
ale jezeli masz jeszcze jakies pytania, to chetnie odpowiem.
To, czy cos sie uzna za wade, czy za zalete, zalezy glownie
od naszych wymagan. Z perspektywy zwiekszania niezawodnosci
oprogramowania system typow w C jest OK. Z perspektywy np.
szybkiego prototypowania nie jest i wymaga duzo nadmiarowej
pisaniny (choc przyznam, ze problemem nie jest wylacznie
system typow)
> Zreszta, C to kiepski przykald jezyka typowanego. System typow C ma
> dziury i wcale bezpieczny nie jest.
Zaden jezyk o dostatecznie duzej sile wyrazu nie bedzie odporny
na glupote programisty.
-
15. Data: 2014-01-14 05:15:28
Temat: Re: pryszcze...
Od: A.L. <a...@a...com>
On Mon, 13 Jan 2014 18:02:47 -0800 (PST), g...@g...com
wrote:
>W dniu wtorek, 14 stycznia 2014 02:42:12 UTC+1 użytkownik A. L. napisał:
>> On Mon, 13 Jan 2014 10:55:50 -0800 (PST), g...@g...com
>>
>> wrote:
>>
>>
>> >Jezeli napisalem, ze w przypadku jezyka C statyczny system
>> >typow jest jednoczesnie zaleta i wada, to wlasnie to mialem
>> >na mysli. C nie jest jezykiem dynamicznym i robienie
>> >w nim wielu dosc prostych rzeczy rzeczy wymaga ponownego
>> >wynajdywania kola.
>>
>> NA przykald robienie czego?
>
>Na przyklad ewaluacja kodu "w locie".
A co to jest?
>
>Zaden jezyk o dostatecznie duzej sile wyrazu nie bedzie odporny
>na glupote programisty.
Hm... Ade i Eiffel polecam
A.L.
-
16. Data: 2014-01-14 08:20:32
Temat: Re: pryszcze...
Od: Andrzej Jarzabek <a...@g...com>
On 14/01/2014 02:02, g...@g...com wrote:
> W dniu wtorek, 14 stycznia 2014 02:42:12 UTC+1 użytkownik A. L. napisał:
>
>> Zreszta, C to kiepski przykald jezyka typowanego. System typow C ma
>> dziury i wcale bezpieczny nie jest.
>
> Zaden jezyk o dostatecznie duzej sile wyrazu nie bedzie odporny
> na glupote programisty.
Może być mniej lub bardziej odporny.
-
17. Data: 2014-01-14 11:03:36
Temat: Re: pryszcze...
Od: g...@g...com
W dniu wtorek, 14 stycznia 2014 05:15:28 UTC+1 użytkownik A. L. napisał:
> >> >Jezeli napisalem, ze w przypadku jezyka C statyczny system
> >> >typow jest jednoczesnie zaleta i wada, to wlasnie to mialem
> >> >na mysli. C nie jest jezykiem dynamicznym i robienie
> >> >w nim wielu dosc prostych rzeczy rzeczy wymaga ponownego
> >> >wynajdywania kola.
> >>
> >> NA przykald robienie czego?
> >
> >Na przyklad ewaluacja kodu "w locie".
>
> A co to jest?
To jest to, co na przyklad javascript albo
php udostepnia (w dosc posledniej formie)
pod postacia funkcji "eval"
> >Zaden jezyk o dostatecznie duzej sile wyrazu nie bedzie odporny
> >na glupote programisty.
>
> Hm... Ade i Eiffel polecam
Dlaczego?
-
18. Data: 2014-01-14 11:22:11
Temat: Re: pryszcze...
Od: g...@g...com
W dniu wtorek, 14 stycznia 2014 08:20:32 UTC+1 użytkownik Andrzej Jarzabek napisał:
> On 14/01/2014 02:02, g...@g...com wrote:
>
> > Zaden jezyk o dostatecznie duzej sile wyrazu nie bedzie odporny
> > na glupote programisty.
>
> Mo�e by� mniej lub bardziej odporny.
Zgodze sie, ze na tle innych powszechnie uzywanych jezykow
C jest wyjatkowo wymagajacy pod wzgledem wiedzy, jaka musi
posiasc programista, zeby moc w nim bezpiecznie programowac,
i ma to do siebie, ze potrafi zaskakiwac (z powodu takich
cech, jak np. koniecznosc recznej alokacji pamieci czy
sprawdzania zakresow, czy obecnosc funkcji bibliotecznych,
ktore same moga przepelniac bufory).
Jednak w moim odczuciu przyklady, ktore byly podane pod
linkiem, ktory wkleil A.L., majace dowodzic, ze system
typow jezyka C nie jest bezpieczny, byly raczej sztuczne
i moglyby byc problemem tylko dla osob, ktore maja uzywac
systemu typow, nie wiedzac w ogole, czym on jest.
-
19. Data: 2014-01-14 12:47:13
Temat: Re: pryszcze...
Od: firr <p...@g...com>
W dniu wtorek, 14 stycznia 2014 08:20:32 UTC+1 użytkownik Andrzej Jarzabek napisał:
> On 14/01/2014 02:02, g...@g...com wrote:
>
> > W dniu wtorek, 14 stycznia 2014 02:42:12 UTC+1 u�ytkownik A. L. napisa�:
>
> >
>
> >> Zreszta, C to kiepski przykald jezyka typowanego. System typow C ma
>
> >> dziury i wcale bezpieczny nie jest.
>
> >
>
> > Zaden jezyk o dostatecznie duzej sile wyrazu nie bedzie odporny
>
> > na glupote programisty.
>
>
>
> Mo�e by� mniej lub bardziej odporny.
to w nim piszcie, c jest nieodporny na glupote bo zakłada
ze programista nie jest głupi
(zwykle slusznie bo jest sporo ludzi którzy potrafia pisac w c)
-
20. Data: 2014-01-14 12:57:15
Temat: Re: pryszcze...
Od: firr <p...@g...com>
> to w nim piszcie, ;/ c jest nieodporny na glupote bo zakłada
> ze programista nie jest głupi
>
> (zwykle slusznie bo jest sporo ludzi którzy potrafia pisac w c)
to zresztą zalozenie (czy podobne sprawy) pamietam bylo jedną
z cech pewnego rodzaju dawnego klimatu c gdzie c byl slusznie
postrzegany jako jezyk swojego rodzaju mistrzów ;\ nie tylko
przez famę ale i przez ten realny pierwszy kontakt z c gdy
czlowiek sie orientowal ze to jest takie 'niebezpieczne'
szkoda ze nie wiem jak podciagnac ten klimat w c2 (wiele razy
pisalem ze c ma tak swietnego ducha ze czesto czuje ze to co ja
moge zrobic nieststy nie dorasta do c)