2013

Computer Science Programming Basics in Ruby - David Grossman, Gideon Frieder, Ophir Frieder

2013
english

 Computer science introductory texts are often unnecessarily long. Many exceed 500 pages, laboriously describing every nuance of whatever programming language they are using to introduce the concepts.

 There is a better way: a programming language that has a low entry barrier. Preferably, the language selected should be a real, widely used language with a subset that is powerful and useful, yet mercifully small. Such a choice should arm the readers with marketable tools. The esoteric details of the programming language, however, should be ignored but with pointers for future investigation provided.

 Ruby is a programming language well suited to this task. It is object-oriented, interpreted, and relatively straightforward. More so, instead of being purely educationally oriented, its popularity in industry is steadfastly growing.

 Our book should be covered in sequential fashion. Each chapter assumes that the material from the preceding chapters has been mastered. To focus the discussion, we ignore gory details, such as user interface design and development issues, that we believe are ancillary to the core of computer science. Such issues should be, and are, covered in depth in a variety of subsequent courses.

 Our target audience is students and practitioners who wish to learn computer science using Ruby rather than just how to program in a given language. This book consistently emphasizes why computer science is different from computer programming. Students and practitioners must understand what an algorithm is and what differentiates differing algorithms for the same task. Although we are living in an era of growing compu‐ tational resources, we are also living in a world of growing data sets. Data amass every day; thus, efficient algorithms are needed to process these data.

 Students and practitioners completing a course using this book possess foundational knowledge in the basics of computer science and are prepared to master abstract and advanced concepts. Second semester courses should rely on languages other than Ruby, furthering the understanding that programming languages are just interchangeable, expressive tools. We know, however, that many students and practitioners may not take another computer science course. If that is the case, this book provides them with an overview of the field and an understanding of at least one popular programming lan‐ guage that happens to be useful from both a practical and a pedagogical standpoint.

 Concepts taught in this book provide students and practitioners with a sufficient foundation to later learn more complex algorithms, advanced data structures, and new programming languages.

 Finally, we hope to instill a core appreciation for algorithms and problem solving so students and practitioners will solve problems with elegance and inspiration rather than simply plowing ahead with brute force.

Go to >

Программирование на языке Lua. 3 изд - Роберту Иерузалимски

2013
Lua
русский

 Эта книга является обновленной и расширенной версией второго издания книги «Programming in Lua» (также известной как PiL 2). Хотя структура книги практически та же самая, это издание включает в себя изрядное количество нового материала.

 Во-первых, я обновил всю книгу до Lua 5.2. Особую значимость представляет глава об окружениях, которая была практически полностью переписана. Я также переписал несколько примеров, чтобы показать преимущества от использования новых возможностей, предоставляемых Lua 5.2. Тем не менее, я четко обозначил отличия от Lua 5.1, поэтому вы можете использовать книгу и для этой версии языка.

 Во-вторых, что более важно, я добавил упражнения во все главы книги. Эти упражнения варьируются от простых вопросов о языке до небольших полноценных проектов. Некоторые примеры иллюстрируют важные аспекты программирования на Lua и так же важны, как примеры, которые расширяют ваш набор полезных приемов.

 Как и в случае с первым и вторым изданиями «Programming in Lua», мы опубликовали это третье издание самостоятельно. Несмотря на ограниченные возможности распространения, этот подход обладает рядом преимуществ: мы сохраняем полный контроль над содержимым книги; мы сохраняем все права на предложение книги в других формах; мы свободны выбирать, когда выпустить следующее издание; мы можем быть уверены, что выпуск данной книги не будет прекращен.

Go to >

Programming in Lua. 3 Ed - Roberto Ierusalimschy

2013
Lua
english

 This book is an updated and expanded version of the second edition of Programming in Lua (also known as the PiL 2 book). Although the book structure is virtually the same, this new edition has substantial new material.

 First, I have updated the whole book to Lua 5.2. Of particular relevance is the chapter about environments, which was mostly rewritten. I also rewrote several examples to show how to benefit from the new features offered by Lua 5.2. Nevertheless, I clearly marked the differences from Lua 5.1, so you can use the book for that version too.

 Second, and more important, I have added exercises to all chapters of the book. These exercises range from simple questions about the language to full small-size projects. Several exercises illustrate important aspects of programming in Lua and are as important as the examples to expand your toolbox of useful techniques.

 As we did with the first and second editions of Programming in Lua, we selfpublished this third edition. Despite the limited marketing, this avenue brings several benefits: we have total control over the book contents; we keep the full rights to offer the book in other forms; we have freedom to choose when to release another edition; and we can ensure that the book does not go out of print.

Go to >

Программирование на Go - Марк Саммерфильд

2013
русский

 На сегодняшний день Go – самый впечатляющий из новых языков программирования. Изначально он создавался для того, чтобы помочь задействовать всю мощь современных многоядерных процессоров. В этом руководстве Марк Саммерфильд, один из основоположников программирования на языке Go, показывает, как писать программы, в полной мере использующие его революционные возможности и идиомы.

 Данная книга представляет собой одновременно и учебник, и справочник, сводя воедино все знания, необходимые для того, чтобы продолжать освоение Go, думать на Go и писать на нем высокопроизводительные программы. Автор приводит множество сравнений идиом программирования, демонстрируя преимущества Go перед более старыми языками и уделяя особое внимание ключевым инновациям. Попутно, начиная с самых основ, Марк Саммерфильд разъясняет все аспекты параллельного программирования на языке Go с применением каналов и без использования блокировок, а также показывает гибкость и необычность подхода к объектно-ориентированному программированию с применением механизма динамической типизации.

 Издание предназначено для программистов разной квалификации, желающих освоить и применять в своей практике язык Go.

Go to >