-
Data: 2014-01-14 21:33:33
Temat: Re: pryszcze...
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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.
Następne wpisy z tego wątku
- 14.01.14 21:48 g...@g...com
- 14.01.14 22:24 R.e.m.e.K
- 14.01.14 22:27 R.e.m.e.K
- 15.01.14 00:35 A.L.
- 15.01.14 00:37 A.L.
- 15.01.14 00:43 A.L.
- 15.01.14 00:46 firr
- 15.01.14 00:53 firr
- 15.01.14 00:53 g...@g...com
- 15.01.14 01:04 g...@g...com
- 15.01.14 01:25 g...@g...com
- 15.01.14 05:48 A.L.
- 15.01.14 08:03 Paweł Kierski
- 15.01.14 09:38 inny punkt siedzenia...
- 15.01.14 10:03 Maciej Sobczak
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają