Focusing on the essential principles of programming languages, this book serves as a comprehensive introduction to the foundations that govern most languages. It covers both functional and logic programming, providing readers with a broad perspective on how programming languages function as the linguistic interface between humans and machines. The text is designed to enhance understanding of how to control machine behavior, making it an indispensable resource for anyone looking to grasp the fundamentals of programming languages.
Martin Erwig Knihy





Software Language Engineering
6th International Conference, SLE 2013, Indianapolis, IN, USA, October 26-28, 2013. Proceedings
- 397 stránek
- 14 hodin čtení
This book constitutes the refereed proceedings of the 6th International Conference on Software Language Engineering, SLE 2013, held in Indianapolis, IN, USA, in October 2013. The 17 technical papers presented together with 2 tool demonstration papers and one keynote were carefully reviewed and selected from 56 submissions. SLE’s foremost mission is to encourage, synthesize and organize communication between communities that have traditionally looked at software languages from different and yet complementary perspectives. The papers are organized in topical sections on domain-specific languages; language patterns and evolution; grammars; tools; language analysis; and meta- and megamodelling.
Grundlagen funktionaler Programmierung
- 192 stránek
- 7 hodin čtení
Dawno temu był sobie algorytm
- 360 stránek
- 13 hodin čtení
Książka Dawno temu był sobie algorytm wyjaśnia koncepcje informatyki poprzez znane historie i codzienne sytuacje. Autor tłumaczy przetwarzanie informacji jako coś, co dzieje się poza komputerami, a informatykę jako studium systematycznego rozwiązywania problemów. Martin Erwig pokazuje, że wiele codziennych czynności dotyczy rozwiązywania problemów. Na przykład poranne wstawanie: wstajemy z łóżka, bierzemy prysznic, ubieramy się, jemy śniadanie. Ta prosta codzienna rutyna rozwiązuje powtarzający się problem za pomocą serii dobrze zdefiniowanych kroków. W informatyce takie rutynowe działanie nazywamy algorytmem. Książka wyjaśnia pojęcia z zakresu przetwarzania za pomocą przykładów z życia i popularnych opowieści. Na przykład Jaś i Małgosia wykonują algorytm powrotu z lasu do domu. Film Dzień świstaka ilustruje problem nierozwiązywalności; Sherlock Holmes manipuluje strukturami danych podczas rozwiązywania zagadek kryminalnych; magię w świecie Harry’ego Pottera można zrozumieć dzięki typom i abstrakcjom; natomiast Indiana Jones pokazuje złożoność wyszukiwania. Po drodze autor omawia reprezentacje i różne sposoby organizacji danych; trudne problemy; język, składnię i niejednoznaczność; struktury sterujące, pętle i problem stopu; różne rodzaje rekurencji; a także reguły znajdowania błędów w algorytmach. Książka zdobyła nagrodę American Book Fest za najlepszą książkę w kategorii Edukacja / Nauka.
"Picture a computer scientist, staring at a screen and clicking away frantically on a keyboard, hacking into a system, or perhaps developing an app. Now delete that picture. In Once Upon an Algorithm, Martin Erwig explains computation as something that takes place beyond electronic computers, and computer science as the study of systematic problem solving. Erwig points out that many daily activities involve problem solving. Getting up in the morning, for example: You get up, take a shower, get dressed, eat breakfast. This simple daily routine solves a recurring problem through a series of well-defined steps. In computer science, such a routine is called an algorithm. Erwig illustrates a series of concepts in computing with examples from daily life and familiar stories. Hansel and Gretel, for example, execute an algorithm to get home from the forest. The movie Groundhog Day illustrates the problem of unsolvability; Sherlock Holmes manipulates data structures when solving a crime; the magic in Harry Potter's world is understood through types and abstraction; and Indiana Jones demonstrates the complexity of searching. Along the way, Erwig also discusses representations and different ways to organize data; "intractable" problems; language, syntax, and ambiguity; control structures, loops, and the halting problem; different forms of recursion; and rules for finding errors in algorithms. This engaging book explains computation accessibly and shows its relevance to daily life. Something to think about next time we execute the algorithm of getting up in the morning"--The publisher