-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Edek Pienkowski <e...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: program stockfish
Date: Wed, 9 May 2012 08:11:02 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 57
Message-ID: <jod8qm$4bq$1@inews.gazeta.pl>
References: <jnivql$1da$1@inews.gazeta.pl> <jnja6r$l6u$1@inews.gazeta.pl>
<jnjc0h$opr$1@inews.gazeta.pl> <jnjmib$iao$1@inews.gazeta.pl>
<jnjpqs$p51$1@inews.gazeta.pl> <jnrv8o$snq$1@inews.gazeta.pl>
<jnsagj$s1c$1@inews.gazeta.pl> <jntbl9$gbt$1@inews.gazeta.pl>
<jnthcq$s0q$1@inews.gazeta.pl> <jnticg$v6$1@inews.gazeta.pl>
<jntjv4$4i5$1@inews.gazeta.pl> <jntl43$740$1@inews.gazeta.pl>
<jntnvj$d5i$1@inews.gazeta.pl> <jnuhim$8mr$1@inews.gazeta.pl>
<jnv259$h20$1@inews.gazeta.pl> <job9h6$1uk$1@news.task.gda.pl>
<joc066$bgl$1@inews.gazeta.pl>
NNTP-Posting-Host: static-81-219-27-34.devs.futuro.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1336551062 4474 81.219.27.34 (9 May 2012 08:11:02 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Wed, 9 May 2012 08:11:02 +0000 (UTC)
X-User: pieniekusenet
User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b
master)
Xref: news-archive.icm.edu.pl pl.comp.programming:197136
[ ukryj nagłówki ]Dnia Tue, 08 May 2012 20:37:26 +0000, M.M. napisal:
> zażółcony <r...@c...pl> napisał(a):
>
>> Imo, jeśli chodzi o kompilatory, to podstawą jednak jest teoria
> Z pewnością podstawą każdego trudniejszego zadania jest teoria.
>
> Jednak podstawy to zdecydowanie nie wszystko. Weźmy np. taki
> teoretyczny algorytm mini-max, albo nawet alpha-bete do gry w
> szachy czy warcaby - program oparty jedynie o takie podstawy nie
> będzie grał lepiej niż małpa. A tymczasem dobre programy pokonują
> najlepszych ludzi, dobre kompilatory generują lepszy kod maszynowy
> niż programiści...
>
> Samo parsowanie albo zamiana na kod maszynowy nie wydaje się
> trudnym zadaniem. Bardzo pracochłonnym jest, ale każdy przeciętny
> programista jakby zadał sobie ten spory trud to podejrzewam żeby zrobił
> kompilator języka C.
Zwłaszcza, że najpopularniejsze kompilatory C/C++ nie mają generowanych
parserów, pisane są ręcznie.
>
> Natomiast strasznie enigmatyczne wydaje mi się generowanie ekstremalnie
> wydajnego kodu maszynowego - takiego prawie optymalnego.
Niektóre uczelnie uczą albo uczyły zaczynając nie od parsowania
tylko od struktur danych i optymalizacji. Wszystko co wrzuca
się do worka zwanego peephole jest jak najbardziej odpowiednie
na początek. Jeżeli mnie pamięć nie myli, ten program zajęć pomija
całkowicie parsowanie. Nie jestem pewien czy określenie "teoria"
jest najszczęśliwsze, bo zajęcia to głównie praktyka, cała teoria
sprowadza się do reguły as-if oraz rozwinięć w kierunku przekształceń
co może zahaczać o różne tematy takie jak currying.
>
>> + warsztaty praktyczne na dobrej uczelni. Jeden semestr np. na PP z
>> przedmiotu Języki Formalne I Kompilatory i temat stoi otworem,
>> uporządkowany. Prowadzą jak po sznurku.
>
>> Najpierw scanner, potem na to jakiś YACC a potem... Imo ważna
>> jest kolejność wchodzenia w temat, np. sam fakt rozdzielenia
>> scannera od parsera to pierwszy kroczek do przodu. Potem stopniowe
>> dodanie do tego kompilacji do jakiegoś kodu pośredniego itp itd.
> Zawsze mnie dręczył temat jakiegoś języka który by się dało
> skompilować nie do kodu maszynowego, ale do innego języka wysokiego
> poziomu, choćby do tych trzech: Javy, C i C++ :) Składnia jakaś
> Javo-podobna...
Tak jest i/lub było. Kiedyś Fortran kompilował się do C, później
od razu do formy pośredniej, bo tak jest lepiej. Istnieje co najmniej
kilka kompilatorów tworzących nie binarki a może nie tyle Javę,
co bajtkod JVM. Nie muszą mieć składni Javo-podobnej, to są bardziej
strukturalne zależności. Więc możesz stworzyć kolejny.
Edek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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??
Najnowsze wątki
- 2025-03-03 Pruszków => Specjalista ds. public relations <=
- 2025-03-03 Białystok => System Architect (Java background) <=
- 2025-03-03 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-03 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-03 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-03-03 Warszawa => Spedytor Międzynarodowy <=
- 2025-03-03 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-03-03 Katowice => Key Account Manager (ERP) <=
- 2025-03-02 Tusk idzie na rekord deportacji po 1989 [Będzie popyt na prawników]
- 2025-03-01 Obywatel telefonuje 112 lub 986
- 2025-03-01 detektyw (?) Rutkowski działał jako prasa