-
X-Received: by 10.49.3.226 with SMTP id f2mr1681qef.40.1389731613196; Tue, 14 Jan
2014 12:33:33 -0800 (PST)
X-Received: by 10.49.3.226 with SMTP id f2mr1681qef.40.1389731613196; Tue, 14 Jan
2014 12:33:33 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!p15no14795840qaj.0!news-out.google.com!fv6n
i3230qab.1!nntp.google.com!p15no14795830qaj.0!postnews.google.com!glegroupsg200
0goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 14 Jan 2014 12:33:33 -0800 (PST)
In-Reply-To: <0...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.67.189.218;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 89.67.189.218
References: <lb0rbd$l6n$1@node2.news.atman.pl>
<7...@g...com>
<lb0sk5$mgl$1@node2.news.atman.pl>
<9...@g...com>
<o...@4...com>
<a...@g...com>
<s...@j...net>
<4...@g...com>
<c...@4...com>
<4...@g...com>
<g...@4...com>
<a...@g...com>
<0...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4...@g...com>
Subject: Re: pryszcze...
From: g...@g...com
Injection-Date: Tue, 14 Jan 2014 20:33:33 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:204915
[ ukryj 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
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2025-01-01 Już nie płoną
- 2025-01-01 Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- 2025-01-01 Co tam u Was
- 2025-01-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z bibl. Qt) i D.
- 2025-01-01 Gdańsk => Delphi Programmer <=
- 2025-01-01 Łódź => Programista Full Stack .Net <=
- 2025-01-01 Żerniki => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-01 Wrocław => Specjalista ds. Sprzedaży <=
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-01 Przypomnienie: Mini Netykieta polskich grup dyskusyjnych wer. 3.2.2
- 2024-12-31 Zamykanie konta dziecka.
- 2024-12-31 Czy apka bankowa to gra komputerowa?
- 2024-12-31 Szukam: czujnik ruchu z możliwością zaączenia na stałe
- 2024-12-31 Warszawa => Solution Architect (Java background) <=