eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpryszcze...
Ilość wypowiedzi w tym wątku: 82

  • 31. Data: 2014-01-14 19:52:59
    Temat: Re: pryszcze...
    Od: firr <p...@g...com>

    W dniu wtorek, 14 stycznia 2014 19:19:26 UTC+1 użytkownik R.e.m.e.K napisał:
    > Dnia Tue, 14 Jan 2014 18:54:20 +0100, inny punkt siedzenia... napisał(a):
    >
    >
    >
    > > chociaż muszę jeszcze dodać, że mam też mętlik związany ze wskaźnikiem na
    >
    > > wskaźnik... jak się deklaruje a jak korzysta i kiedy?
    >
    > >
    >
    > > P.S. a czym się różni deklaracja od definicji?
    >
    >
    >
    > Nie kompromituj sie polglowku, poczytaj raz w zyciu cokolwiek:
    >
    >
    >
    > http://pl.wikipedia.org/wiki/Kategoria:Konstrukcje_p
    rogramistyczne
    >
    >
    >
    >
    >
    > ps. Macieju, czy zdajesz sobie sprawe z kim piszesz?
    >
    >
    >
    > --
    >
    > pozdro
    >
    > R.e.m.e.K

    sam sie nie kompromituj 1%-głowku, o ile identyfikator ma w sobie sporo oryginalnosci

    to kolega mz jest jawnie tępy rzucajac takimi
    tekstami :c


  • 32. Data: 2014-01-14 21:05:23
    Temat: Re: pryszcze...
    Od: Wojciech Muła <w...@g...com>

    On Tuesday, January 14, 2014 11:03:36 AM UTC+1, g...@g...com wrote:
    > > >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"

    To są dziury bezpieczeństwa. Eval is evil.

    Jak potrzebujesz liczyć coś dynamicznie, to bierzesz
    parser i coś robisz z drzewem rozbioru gramatycznego.

    > > Hm... Ade i Eiffel polecam
    >
    > Dlaczego?

    Jeśli chodzi o Adę, to żeby zobaczyć jak wygląda
    język z silnym, statycznym systemem typów, modułami,
    generykami i wbudowaną współbieżnością.

    w.


  • 33. Data: 2014-01-14 21:15:27
    Temat: Re: pryszcze...
    Od: Wojciech Muła <w...@g...com>

    On Monday, January 13, 2014 4:19:37 PM UTC+1, g...@g...com wrote:
    > Mysle, ze gdyby w projektach tego rodzaju system typow
    > naprawde dawal tak wielkie korzysci, to by go tak latwo
    > nie zmarginalizowano.

    On nie jest marginalizowany. Do rzeczy typu tysiąc pięćsetny unikalny
    system blogowy PHP, czy Ruby wystarczy. Gdy gra zaczyna się o wydajność,
    zajętość pamięci, to języki kompilowane wygrywają z definicji.

    BTW PHP5[1] umożliwiaja od jakiegoś czasu stosowanie type hintingu
    w parametrach funkcji/metod. Co prawda to się dzieje w runtime, ale
    to jakaś forma kontroli typów. W Pythonie też zdaje się coś takiego chcą.

    w.

    [1] http://www.php.net/manual/en/language.oop5.typehinti
    ng.php


  • 34. Data: 2014-01-14 21:19:13
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu wtorek, 14 stycznia 2014 19:19:26 UTC+1 użytkownik R.e.m.e.K napisał:
    > Dnia Tue, 14 Jan 2014 18:54:20 +0100, inny punkt siedzenia... napisał(a):
    >

    > > chociaż muszę jeszcze dodać, że mam też mętlik związany ze wskaźnikiem na
    > > wskaźnik... jak się deklaruje a jak korzysta i kiedy?
    > >
    > > P.S. a czym się różni deklaracja od definicji?
    >
    > Nie kompromituj sie polglowku, poczytaj raz w zyciu cokolwiek:
    >
    > http://pl.wikipedia.org/wiki/Kategoria:Konstrukcje_p
    rogramistyczne

    Chyba nie ma potrzeby wyzywania sie. Faktycznie w internecie
    mozna znalezc duzo informacji, ale tez trzeba wiedziec, gdzie
    szukac, wyrobic w sobie dobre nawyki itd.
    W kazdym razie wydaje mi sie, ze sa bardziej konstruktywne
    sposoby wzajemnej motywacji do zdobywania wiedzy, niz
    obrzucanie sie gownem.

    Jezeli idzie o meritum -- tzn. odroznienie deklaracji od
    definicji -- to tutaj akurat nazwy sa bardzo dobrze dobrane
    i pasuja nie tylko do kontekstu czysto informatycznego,
    ale do tego, jak sie tych slow powszechnie uzywa.

    Najkrocej rzecz ujmujac, definicja jest pojeciowym
    uchwyceniem istoty rzeczy, albo ustanowieniem relacji
    pomiedzy nazwa, a tym, do czego ta nazwa sie odnosi.

    Deklaracja zas jest jedynie okresleniem pewnego aspektu
    danej rzeczy, albo swojego rodzaju obietnica, ze pewna
    rzecz bedzie miala okreslona wlasnosc.

    Definicje zatem nadaja nazwy nowym pojeciom, z ktorych
    tworzy sie systemy. W szczegolnosci, w przypadku programow
    w jezyku C definiuje sie struktury, funkcje albo procedury
    oraz makra (a np. w C++ dodatkowo definiuje sie klasy; w
    prologu dla odmiany definiuje sie predykaty).
    Na przyklad

    double square(double x) { return x*x; }

    mowi nam, czym jest kwadrat danej liczby.

    Deklaracje funkcji w jezyku C -- w kontekscie systemu typow
    -- nazywa sie tez niekiedy sygnaturami albo prototypami.
    Na przyklad w wielu plikach naglowkowych znajdziesz cos
    takiego:

    double square(double x);

    Mowi to tyle, ze "square" jest funkcja pobierajaca jeden
    argument typu double, i zwracajaca rowniez argument typu
    double. Ale nie mowi nic o samym sposobie przeksztalcenia,
    czy tez -- jak sie ma wartosc argumentu do wartosci
    zwracanej.

    W jezyku C oprocz funkcji mozna deklarowac zmienne.
    Jezeli masz cos takiego w pliku zrodlowym (.c)
    int n;

    to to jest (poniekad) definicja, tzn. mowi nam to
    tyle, ze "n jest zmienna przechowujaca jakas liczbe
    calkowita". Ale mozesz tez miec w pliku naglowkowym
    cos takiego:

    extern int n;

    I to jest deklaracja (albo inaczej obietnica),
    ktora mowi, ze "w ktoryms z plikow zrodlowych jest
    zdefiniowana zmienna n, mogaca przechowywac liczbe
    calkowita".

    > ps. Macieju, czy zdajesz sobie sprawe z kim piszesz?

    Chyba nie zdaje. Jakze bym mial?


  • 35. Data: 2014-01-14 21:33:33
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu wtorek, 14 stycznia 2014 21:05:23 UTC+1 użytkownik Wojciech Muła napisał:
    > On Tuesday, January 14, 2014 11:03:36 AM UTC+1, g...@g...com wrote:
    >
    > > > >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"
    >
    > To są dziury bezpieczeństwa. Eval is evil.

    Eval is evil to dobra mantra dla poczatkujacych.
    (I latwo zapamietac, bo wystarczy zmienic jedna
    literke :D). Jezeli mamy jezyk, w ktorym jest
    dobrze zrobiona obsluga modulow (taki jak np. Scheme ;]),
    to mozna bez ryzyka wykonywac kod uzytkownika w danym module,
    zachowujac pelna kontrole nad funkcjami systemowymi,
    ktore sa dla tego kodu dostepne.
    Mozna rowniez odpalic evala w osobnym watku, ktoremu
    mozna ograniczyc maksymalny czas wykonania.

    > Jak potrzebujesz liczyć coś dynamicznie, to bierzesz
    > parser i coś robisz z drzewem rozbioru gramatycznego.

    I wlasnie to mam na mysli, mowiac o wynajdowaniu
    kola od nowa. Jest takie cos, jak "Greenspun's tenth rule":

    "Any sufficiently complicated C or Fortran program
    contains an ad hoc, informally-specified, bug-ridden,
    slow implementation of half of Common Lisp."

    Ale zeby nie byc goloslownym. Jeden z najbardziej szanowanych
    przeze mnie programistow, John Carmack, stworzyl kiedys engine
    dla gry komputerowej Quake. Przy okazji stworzyl rowniez
    jezyk skryptowy, dziedziczacy z C, ktory nosil nieszczegolnie
    zaskakujaca nazwe "Quake C". I mimo ze sie przy tym narobil,
    na pewno mial parser i robil cos z drzewem rozbioru gramatycznego,
    to jezyk okazal sie niewygodny, niewydajny i kaleki. Trudno jest
    ad hoc zaprojektowac dobry jezyk programowania, i jezeli jest
    taka mozliwosc, to lepiej korzystac z istniejacych i juz dobrze
    zaprojektowanych jezykow. Nie dosc, ze to mniej roboty przy
    implementacji, to jeszcze mniej nauki dla osob, ktore maja
    z tego jezyka korzystac.


  • 36. Data: 2014-01-14 21:48:03
    Temat: Re: pryszcze...
    Od: g...@g...com

    W dniu wtorek, 14 stycznia 2014 21:15:27 UTC+1 użytkownik Wojciech Muła napisał:
    > On Monday, January 13, 2014 4:19:37 PM UTC+1, g...@g...com wrote:
    >
    > > Mysle, ze gdyby w projektach tego rodzaju system typow
    > > naprawde dawal tak wielkie korzysci, to by go tak latwo
    > > nie zmarginalizowano.
    >
    > On nie jest marginalizowany.

    Gdybym mial zgadywac, zgadywalbym, ze coraz
    wiecej nowo powstajacych systemow informatycznych
    nie korzysta ze statycznych systemow typow.
    Gdybym mial zgadywac, zgadywalbym rowniez,
    ze w coraz wiekszej ilosci systemow zdarzaja
    sie bledy niedopasowania typu w czasie
    uruchomienia, ktorych mozna by bylo uniknac,
    stosujac metody sprzed 40 lat :)

    > Do rzeczy typu tysiąc pięćsetny unikalny
    > system blogowy PHP, czy Ruby wystarczy.
    > Gdy gra zaczyna się o wydajność,
    > zajętość pamięci, to języki kompilowane
    > wygrywają z definicji.

    Z tym tez bywa roznie. Po pierwsze, nic nie
    stoi na przeszkodzie, zeby kompilowac PHP
    albo interpretowac C.
    Po drugie niekiedy tanszym rozwiazaniem
    jest kupno szybszego sprzetu albo wiekszej
    ilosci pamieci. Po trzecie statyczny system
    typow na pewno nie jest sposobem na
    zwiekszenie wydajnosci czy zmniejszenie
    zajetosci pamieci, tylko na zwiekszenie
    niezawodnosci oprogramowania przez unikniecie
    pewnej klasy bledow.

    > BTW PHP5[1] umożliwiaja od jakiegoś czasu stosowanie type hintingu
    > w parametrach funkcji/metod. Co prawda to się dzieje w runtime, ale
    > to jakaś forma kontroli typów. W Pythonie też zdaje się coś takiego chcą.

    Ja im sie wcale nie dziwie. Bo statyczna kontrola
    typow jest miodzio (a PHP, jako ze ukradl skladnie
    z C, ma naturalne predyspozycje syntaktyczne
    do anotacji).


  • 37. Data: 2014-01-14 22:24:33
    Temat: Re: pryszcze...
    Od: "R.e.m.e.K" <g...@d...null>

    Dnia Tue, 14 Jan 2014 10:52:59 -0800 (PST), firr napisał(a):

    >> ps. Macieju, czy zdajesz sobie sprawe z kim piszesz?
    >
    > sam sie nie kompromituj 1%-głowku, o ile identyfikator ma w sobie sporo
    oryginalnosci
    > to kolega mz jest jawnie tępy rzucajac takimi tekstami :c

    Nie znam kolegi mz, ale zgaduje, ze skoro to Twoj kolega to trzyma adekwatny
    poziom.

    --
    pozdro
    R.e.m.e.K


  • 38. Data: 2014-01-14 22:27:08
    Temat: Re: pryszcze...
    Od: "R.e.m.e.K" <g...@d...null>

    Dnia Tue, 14 Jan 2014 12:19:13 -0800 (PST), g...@g...com
    napisał(a):

    >> ps. Macieju, czy zdajesz sobie sprawe z kim piszesz?
    >
    > Chyba nie zdaje. Jakze bym mial?

    To najwiekszy troll ostatnich lat, wystepujacy po kilkoma ksywami, srajacy
    bzdetami na wielu grupach i obrzucajacy wszystkich obelgami o podlozu
    politycznym.
    Zasada jest taka, ze zadaje pytanie i nie czyta odpowiedzi lub ich nie
    rozumie i bulgocze do znudzenia. Szkoda czasu.

    --
    pozdro
    R.e.m.e.K


  • 39. Data: 2014-01-15 00:35:32
    Temat: Re: pryszcze...
    Od: A.L. <a...@a...com>

    On Tue, 14 Jan 2014 12:33:33 -0800 (PST), g...@g...com
    wrote:

    >W dniu wtorek, 14 stycznia 2014 21:05:23 UTC+1 użytkownik Wojciech Muła napisał:
    >> On Tuesday, January 14, 2014 11:03:36 AM UTC+1, g...@g...com wrote:
    >>
    >> > > >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"
    >>
    >> To są dziury bezpieczeństwa. Eval is evil.
    >
    >Eval is evil to dobra mantra dla poczatkujacych.
    >(I latwo zapamietac, bo wystarczy zmienic jedna
    >literke :D). Jezeli mamy jezyk, w ktorym jest
    >dobrze zrobiona obsluga modulow (taki jak np. Scheme ;]),
    >to mozna bez ryzyka wykonywac kod uzytkownika w danym module,
    >zachowujac pelna kontrole nad funkcjami systemowymi,
    >ktore sa dla tego kodu dostepne.
    >Mozna rowniez odpalic evala w osobnym watku, ktoremu
    >mozna ograniczyc maksymalny czas wykonania.
    >
    >> Jak potrzebujesz liczyć coś dynamicznie, to bierzesz
    >> parser i coś robisz z drzewem rozbioru gramatycznego.
    >
    >I wlasnie to mam na mysli, mowiac o wynajdowaniu
    >kola od nowa. Jest takie cos, jak "Greenspun's tenth rule":
    >
    >"Any sufficiently complicated C or Fortran program
    >contains an ad hoc, informally-specified, bug-ridden,
    >slow implementation of half of Common Lisp."

    Z calym szacunkiem, kompletny idiotyzm. Niezaleznie od tego kto to
    powiedzial (chyba wiem kto, w kazdym arzie oszolom Lispowy)

    A.L.


  • 40. Data: 2014-01-15 00:37:19
    Temat: Re: pryszcze...
    Od: A.L. <a...@a...com>

    On Tue, 14 Jan 2014 02:22:11 -0800 (PST), g...@g...com
    wrote:

    >
    >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.

    jakei sztuczne? Ze wszystko mzoe byc 'pointer to void"?...

    A.L.

strony : 1 ... 3 . [ 4 ] . 5 ... 9


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: