0
Your cart

Your cart is empty

Browse All Departments
Price
  • R50 - R100 (4)
  • R100 - R250 (261)
  • R250 - R500 (3,668)
  • R500+ (10,897)
  • -
Status
Format
Author / Contributor
Publisher

Books > Computing & IT > Computer programming > Programming languages

Designing Elixir Systems With OTP (Paperback): James Edward Gray II Designing Elixir Systems With OTP (Paperback)
James Edward Gray II; Contributions by Bruce Tate
R831 Discovery Miles 8 310 Ships in 10 - 15 working days

You know how to code in Elixir; now learn to think in it. Learn to design libraries with intelligent layers that shape the right data structures, flow from one function into the next, and present the right APIs. Embrace the same OTP that's kept our telephone systems reliable and fast for over 30 years. Move beyond understanding the OTP functions to knowing what's happening under the hood, and why that matters. Using that knowledge, instinctively know how to design systems that deliver fast and resilient services to your users, all with an Elixir focus. Elixir is gaining mindshare as the programming language you can use to keep you software running forever, even in the face of unexpected errors and an ever growing need to use more processors. This power comes from an effective programming language, an excellent foundation for concurrency and its inheritance of a battle-tested framework called the OTP. If you're using frameworks like Phoenix or Nerves, you're already experiencing the features that make Elixir an excellent language for today's demands. This book shows you how to go beyond simple programming to designing, and that means building the right layers. Embrace those data structures that work best in functional programs and use them to build functions that perform and compose well, layer by layer, across processes. Test your code at the right place using the right techniques. Layer your code into pieces that are easy to understand and heal themselves when errors strike. Of all Elixir's boons, the most important one is that it guides us to design our programs in a way to most benefit from the architecture that they run on. The experts do it and now you can learn to design programs that do the same. What You Need: Elixir Version 1.7 or greater.

LogiQL - A Query Language for Smart Databases (Paperback): Terry Halpin, Spencer Rugaber LogiQL - A Query Language for Smart Databases (Paperback)
Terry Halpin, Spencer Rugaber
R2,093 Discovery Miles 20 930 Ships in 10 - 15 working days

LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build applications that combine transactional, analytical, graph, probabilistic, and mathematical programming. LogiQL makes it possible to build hybrid applications that previously required multiple programming languages and databases. In this first book to cover LogiQL, the authors explain how to design, implement, and query deductive databases using this new programming language. LogiQL's declarative approach enables complex data structures and business rules to be simply specified and then automatically executed. It is especially suited to business applications requiring complex rules to be implemented efficiently, for example predictive analytics and supply chain optimization. Suitable for both novices and experienced developers, the book is written in easy-to-understand language. It includes many examples and exercises throughout to illustrate the main concepts and consolidate understanding.

PhoneGap Build - Developing Cross Platform Mobile Applications in the Cloud (Hardcover): Bintu Harwani PhoneGap Build - Developing Cross Platform Mobile Applications in the Cloud (Hardcover)
Bintu Harwani
R2,306 Discovery Miles 23 060 Ships in 10 - 15 working days

PhoneGap is a standards-based, open-source development framework that can be deployed to any mobile device without losing the features of the native app-allowing for access to device contacts, the local file system, camera, and media on multiple platforms without requiring users to write a single line of code. Ideal for intermediate to advanced users, PhoneGap Build: Developing Cross Platform Mobile Applications in the Cloud offers the comprehensive coverage you need to harness the power of this dynamic tool. It provides complete coverage of the cloud computing platform and the theories behind cloud computing, using a series of engaging examples. The book explains the differences between existing mobile platforms, the different types of browsers they support, and the programming languages and integrated development environment required to develop apps for each of them. It then describes how PhoneGap makes the task of developing cross-platform mobile apps easier. This book will teach you how to use: HTML5, CSS3, and JavaScript to develop apps for devices across various mobile operating systems PhoneGap Build to develop mobile apps in the cloud PhoneGap with Sencha Touch and jQuery Mobile Back end databases to store and retrieve information The text starts with simpler applications and gradually moves toward describing advanced concepts and how to exploit different application programming interfaces and methods. By the time you finish the book, you will learn how to develop feature-rich mobile applications that can run on the cloud to support different platforms. Supplying authoritative guidance and proven best practices for designing cloud-based applications, the book is an ideal reference for cloud system developers, architects, and IT professionals. It is also suitable for use in instructional settings.

Component- Oriented Development and Assembly - Paradigm, Principles, and Practice using Java (Hardcover): Piram Manickam, S.... Component- Oriented Development and Assembly - Paradigm, Principles, and Practice using Java (Hardcover)
Piram Manickam, S. Sangeetha, S. V. Subrahmanya
R2,311 Discovery Miles 23 110 Ships in 10 - 15 working days

Although industry has been leveraging the advancements of component-oriented development and assembly (CODA) technology for some time, there has long been a need for a book that provides a complete overview of the multiple technologies that support CODA. Filling this need, Component-Oriented Development and Assembly supplies comprehensive coverage of the principles, practice, and paradigm of component-oriented development and assembly. The first part of the book provides the conceptual foundation for component-oriented software. Part II focuses on the various standard Java component models and describes how to develop a component-oriented system using these component models. Part III covers the various aspects of the component-oriented development paradigm. Based on the authors' research and teaching experience, the text focuses on the principles of component-oriented software development from a technical concepts perspective, designer's perspective, programmer's perspective, and manager's perspective. Covering popular component development frameworks based on Java, it is suitable as a textbook for component-oriented software for undergraduate and postgraduate courses. It is also an ideal reference for anyone looking to adopt the component-oriented development paradigm. The book provides readers with access to all the source code used in the book on a companion site (http://www.codabook.com). The source code for the CODA implementation of the case study presented in Chapter 11 is also hosted on the website. The website will also serve as a technical forum for further discussions on the topic and for any updates to the book.

Learning Java Through Games (Paperback, New): Lubomir Stanchev Learning Java Through Games (Paperback, New)
Lubomir Stanchev
R2,813 Discovery Miles 28 130 Ships in 10 - 15 working days

Learning Java Through Games teaches students how to use the different features of the Java language as well as how to program. Suitable for self-study or as part of a two-course introduction to programming, the book covers as much material as possible from the latest Java standard while requiring no previous programming experience. Taking an application-motivated approach, the text presents an abundance of games. Students must read through the whole chapter to understand all the features that are needed to implement the game. Most chapters start with a description of a game and then introduce different Java constructs for implementing the features of the game on need-to-use bases. The text teaches students not only how to write code that works but also how to follow good software practices. All sample programs in the text strive to achieve low cohesion and high coupling-the hallmarks of well-designed code. Many programs are refactored multiple times to achieve code that is easy to understand, reuse, and maintain. The first part of the book covers basic programming techniques, such as conditional statements, loops, methods, arrays, and classes. The second part focuses on more advanced topics, including class inheritance, recursions, sorting algorithms, GUI programming, exception handling, files, and applets.

Process Engineering and Design Using Visual Basic (R) (Hardcover, 2nd edition): Arun Datta Process Engineering and Design Using Visual Basic (R) (Hardcover, 2nd edition)
Arun Datta
R5,801 Discovery Miles 58 010 Ships in 10 - 15 working days

Software tools are a great aid to process engineers, but too much dependence on such tools can often lead to inappropriate and suboptimal designs. Reliance on software is also a hindrance without a firm understanding of the principles underlying its operation, since users are still responsible for devising the design.
In Process Engineering and Design Using Visual Basic, Arun K. Datta provides a unique and versatile suite of programs along with simultaneous development of the underlying concepts, principles, and mathematics. Each chapter details the theory and techniques that provide the basis for design and engineering software and then showcases the development and utility of programs developed using the material outlined in the chapter. This all-inclusive guide works systematically from basic mathematics to fluid mechanics, separators, overpressure protection, and glycol dehydration, providing basic design guidelines based on international codes. Worked examples demonstrate the utility of each program, while the author also explains problems and limitations associated with the simulations.
After reading this book you will be able to immediately put these programs into action and have total confidence in the result, regardless of your level of experience. Companion Visual Basic and Excel files are available for download on under the "Downloads/Updates" tab on this web page.

Practical Programming, 3e - An Introduction to Computer Science Using Python 3.6 (Paperback): Paul Gries, Jennifer Campbell,... Practical Programming, 3e - An Introduction to Computer Science Using Python 3.6 (Paperback)
Paul Gries, Jennifer Campbell, Jason Montojo
R1,138 R992 Discovery Miles 9 920 Save R146 (13%) Ships in 10 - 15 working days

Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6. No programming experience required! Incremental examples show you the steps and missteps that happen while developing programs, so you know what to expect when you tackle a problem on your own. Inspired by "How to Design Programs" (HtDP), discover a five-step recipe for designing functions, which helps you learn the concepts--and becomes an integral part of writing programs. In this detailed introduction to Python and to computer programming, find out exactly what happens when your programs are executed. Work with numbers, text, big data sets, and files using real-world examples. Create and use your own data types. Make your programs reliable, work with databases, download data from the web automatically, and build user interfaces. As you use the fundamental programming tools in this book, you'll see how to document and organize your code so that you and other programmers can more easily read and understand it. This new edition takes advantage of Python 3.6's new features, including type annotations on parameters, return types and variable declarations, and changes to string formatting. Most importantly, you'll learn how to think like a professional programmer. What You Need: You'll need to download Python 3.6, available from https://python.org. With that download comes IDLE, the editor we use for writing and running Python programs. (If you use Linux, you may need to install Python 3.6 and IDLE separately.)

Green and Sustainable Computing: Part II, Volume 88 (Hardcover, New): Atif Memon Green and Sustainable Computing: Part II, Volume 88 (Hardcover, New)
Atif Memon
R3,691 Discovery Miles 36 910 Ships in 10 - 15 working days

Since its first volume in 1960, Advances in Computers has presented detailed coverage of innovations in computer hardware, software, theory, design, and applications. It has also provided contributors with a medium in which they can explore their subjects in greater depth and breadth than journal articles usually allow. As a result, many articles have become standard references that continue to be of sugnificant, lasting value in this rapidly expanding field.
In-depth surveys and tutorials on new computer technologyWell-known authors and researchers in the fieldExtensive bibliographies with most chaptersMany of the volumes are devoted to single themes or subfields of computer science

Functional Programming in C# - How to write better C# code (Paperback): Enrico Buonanno Functional Programming in C# - How to write better C# code (Paperback)
Enrico Buonanno
R1,183 Discovery Miles 11 830 Ships in 10 - 15 working days

Functional programming is a way of thinking about programs that emphasizes functions, while avoiding state mutation. C# includes a number of functional features and libraries, enabling us to take advantage of these benefits. Functional Programming in C# teaches readers to apply functional thinking to real-world scenarios. They'll start by learning the principles of functional programming, and how they translate in the C# language. By the end of this book, readers will be able to integrate functional techniques, making their C# programs robust and maintainable, and helping them to become more well rounded developers. Key Features: * Introduction to functional programming * Real-world examples * Integrate functional techniques * Become a well rounded developer This book is designed to help C# programmers with an OOP background understand functional thinking. About the Technology: Functional programming is a way of thinking about programs that emphasizes functions, while avoiding state mutation. It allows us to write elegant, intention-revealing code, that shines in testability and support for concurrency.

C Programming - A Modern Approach (Paperback, Second Edition): K.N. King C Programming - A Modern Approach (Paperback, Second Edition)
K.N. King
R1,874 Discovery Miles 18 740 Ships in 9 - 17 working days

Professor King's spiral approach made it accessible to a broad range of readers, from beginners to more advanced students. With adoptions at over 225 colleges, the first edition was one of the leading C textbooks of the last ten years. The second edition maintains all the book's popular features and brings it up to date with coverage of the C99 standard. The new edition also adds a significant number of exercises and longer programming projects, and includes extensive revisions and updates.

Real-Time UNIX (R) Systems - Design and Application Guide (Hardcover, 1991 ed.): Borko Furht, Dan Grostick, David Gluch, Guy... Real-Time UNIX (R) Systems - Design and Application Guide (Hardcover, 1991 ed.)
Borko Furht, Dan Grostick, David Gluch, Guy Rabbat, John Parker, …
R4,195 Discovery Miles 41 950 Ships in 18 - 22 working days

A growing concern of mine has been the unrealistic expectations for new computer-related technologies introduced into all kinds of organizations. Unrealistic expectations lead to disappointment, and a schizophrenic approach to the introduction of new technologies. The UNIX and real-time UNIX operating system technologies are major examples of emerging technologies with great potential benefits but unrealistic expectations. Users want to use UNIX as a common operating system throughout large segments of their organizations. A common operating system would decrease software costs by helping to provide portability and interoperability between computer systems in today's multivendor environments. Users would be able to more easily purchase new equipment and technologies and cost-effectively reuse their applications. And they could more easily connect heterogeneous equipment in different departments without having to constantly write and rewrite interfaces. On the other hand, many users in various organizations do not understand the ramifications of general-purpose versus real-time UNIX. Users tend to think of "real-time" as a way to handle exotic heart-monitoring or robotics systems. Then these users use UNIX for transaction processing and office applications and complain about its performance, robustness, and reliability. Unfortunately, the users don't realize that real-time capabilities added to UNIX can provide better performance, robustness and reliability for these non-real-time applications. Many other vendors and users do realize this, however. There are indications even now that general-purpose UNIX will go away as a separate entity. It will be replaced by a real-time UNIX. General-purpose UNIX will exist only as a subset of real-time UNIX.

Bioinformatics - A Practical Guide to NCBI Databases and Sequence Alignments (Hardcover): Hamid D. Ismail Bioinformatics - A Practical Guide to NCBI Databases and Sequence Alignments (Hardcover)
Hamid D. Ismail
R2,812 Discovery Miles 28 120 Ships in 10 - 15 working days

- the book provides a unique overview of the NCBI resources, including BLAST (which are foundational to bioinformatics), and how to use them, making it a great introduction to bioinformatics and a great resource for those just starting in an industry lab - whereas many bioinformatics books try to cover every aspect of the topic and easily confuse readers, this is highly practical and focuses on key resources and tools, and how to use them - the companion website contains tutorials, R and Python codes, instructor materials including slides, exercises, and problems for students

Open Source Data Warehousing and Business Intelligence (Hardcover, New): Lakshman Bulusu Open Source Data Warehousing and Business Intelligence (Hardcover, New)
Lakshman Bulusu
R4,242 Discovery Miles 42 420 Ships in 10 - 15 working days

Open Source Data Warehousing and Business Intelligence is an all-in-one reference for developing open source based data warehousing (DW) and business intelligence (BI) solutions that are business-centric, cross-customer viable, cross-functional, cross-technology based, and enterprise-wide. Considering the entire lifecycle of an open source DW & BI implementation, its comprehensive coverage spans from basic concepts all the way through to customization. Highlighting the key differences between open source and vendor DW and BI technologies, the book identifies end-to-end solutions that are scalable, high performance, and stable. It illustrates the practical aspects of implementing and using open source DW and BI technologies to supply you with valuable on-the-project experience that can help you improve implementation and productivity. Emphasizing analysis, design, and programming, the text explains best-fit solutions as well as how to maximize ROI. Coverage includes data warehouse design, real-time processing, data integration, presentation services, and real-time reporting. With a focus on real-world applications, the author devotes an entire section to powerful implementation best practices that can help you build customer confidence while saving valuable time, effort, and resources.

Go Programming Language, The (Paperback): Alan Donovan, Brian Kernighan Go Programming Language, The (Paperback)
Alan Donovan, Brian Kernighan
R910 R779 Discovery Miles 7 790 Save R131 (14%) Ships in 5 - 10 working days

The authoritative resource to writing clear and idiomatic Go to solve real-world problems Google's Go team member Alan A. A. Donovan and Brian Kernighan, co-author of The C Programming Language, provide hundreds of interesting and practical examples of well-written Go code to help programmers learn this flexible, and fast, language. It is designed to get you started programming with Go right away and then to progress on to more advanced topics. Basic components: an opening tutorial provides information and examples to get you off the ground and doing useful things as quickly as possible. This includes: command-line arguments gifs URLs web servers Program structure: simple examples cover the basic structural elements of a Go program without getting sidetracked by complicated algorithms or data structures. Data types: Go offers a variety of ways to organize data, with a spectrum of data types that at one end match the features of the hardware and at the other end provide what programmers need to conveniently represent complicated data structures. Composite types: arrays slices maps structs JSON test and HTML templates Functions: break a big job into smaller pieces that might well be written by different people separated by both time and space. Methods: declarations with a pointer receiver struct embedding values and expressions Interfaces: write functions that are more flexible and adaptable because they are not tied to the details of one particular implementation. Concurrent programming: Goroutines, channels, and with shared variables. Packages: use existing packages and create new ones. Automated testing: write small programs that check the code. Reflection features: update variables and inspect their values at run time. Low-level programming: step outside the usual rules to achieve the highest possible performance, interoperate with libraries written in other languages, or implement a function that cannot be expressed in pure Go. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download and may be conveniently fetched, built, and installed using the go get command.

Retargetable C Compiler, A - Design and Implementation (Paperback): David Hanson, Christopher Fraser Retargetable C Compiler, A - Design and Implementation (Paperback)
David Hanson, Christopher Fraser
R1,534 Discovery Miles 15 340 Ships in 18 - 22 working days

Designed as a self-study guide, the book describes the real-world tradeoffs encountered in building a production-quality, platform-retargetable compiler. The authors examine the implementation of lcc, a production-quality, research-oriented retargetable compiler, designed at AT&T Bell Laboratories for the ANSI C programming language. The authors' innovative approach-a "literate program" that intermingles the text with the source code-uses a line-by-line explanation of the code to demonstrate how lcc is built.

Programming 16-Bit PIC Microcontrollers in C - Learning to Fly the PIC 24 (Paperback, 2nd edition): Lucio Di Jasio Programming 16-Bit PIC Microcontrollers in C - Learning to Fly the PIC 24 (Paperback, 2nd edition)
Lucio Di Jasio
R1,216 Discovery Miles 12 160 Ships in 10 - 15 working days

New in the second edition:

* MPLAB X support and MPLAB C for the PIC24F v3 and later libraries

* I2C interface

* 100% assembly free solutions

* Improved video, PAL/NTSC

* Improved audio, RIFF files decoding

* PIC24F GA1, GA2, GB1 and GB2 support

Most readers will associate Microchip's name with the ubiquitous 8-bit PIC microcontrollers but it is the new 16-bit PIC24F family that is truly stealing the scene. Orders of magnitude increases of performance, memory size and the rich peripheral set make programming these devices in C a must. This new guide by Microchip insider Lucio Di Jasio teaches readers everything they need to know about the architecture of these new chips: How to program them, how to test them, and how to debug them. Di Jasio s common-sense, practical, hands-on approach starts out with basic functions and guides the reader step-by-step through even the most sophisticated programming scenarios. Experienced PIC users, including embedded engineers, programmers, designers, and SW and HW engineers, and new comers alike will benefit from the text s many thorough examples, which demonstrate how to nimbly sidestep common obstacles and take full advantage of the many new features.


* A Microchip insider introduces you to 16-bit PIC programming the easy way * Condenses typical introductory "fluff" focusing instead on examples and exercises that show how to solve common, real-world design problems quickly * Includes handy checklists to help readers perform the most common programming and debugging tasks"

Data Structures and Algorithms in C++: Pocket Primer (Paperback): Lee Wittenber Data Structures and Algorithms in C++: Pocket Primer (Paperback)
Lee Wittenber
R964 R818 Discovery Miles 8 180 Save R146 (15%) Ships in 18 - 22 working days

This book takes a minimalist approach to the traditional data structures course. It covers only those topics that are absolutely essential; the more esoteric structures and algorithms are left for later study. Suitable for an introductory data structures course or self-study, this book is written from the ground up in C++ (not translated from a Java-based text), and uses features of the C++ Standard Template Library to illustrate important concepts. A unique feature of the text is its use of literate programming techniques (originally developed by Donald Knuth) to present the sample code in a way that keeps the code from overwhelming the accompanying explanations. This book is suitable for an undergraduate data structures course using C++ or for developers needing review. Features: Takes a ""minimalist"" approach to the material that presents only essential concepts. This enables readers to focus on (and remember) just what they'll need. Uses select features of the C++11 standard to simplify the sample code and make it easier to understand. Connects the concepts directly to the classes provided the Standard Template Library (STL), and shows how these classes can be implemented in C++. Uses ""literate programming"" techniques that allow the presentation of the sample code to more clearly show the details of the code as well as how the pieces fit together.

Concurrency in .NET - Modern patterns of concurrent and parallel programming (Paperback): Riccardo Terrell Concurrency in .NET - Modern patterns of concurrent and parallel programming (Paperback)
Riccardo Terrell
R1,374 R1,191 Discovery Miles 11 910 Save R183 (13%) Ships in 10 - 15 working days

Description Functional languages help developers support concurrency by encouraging immutable data structures that can be passed between threads without having to worry about a shared state, all while avoiding side effects. Functional Concurrency in .NET teaches readers how to build concurrent and scalable programs in .NET using the functional paradigm. This intermediate-level guide is aimed at developers, architects, and passionate computer programmers. Key Features * In-depth explanations * Hands-on examples * Step-by-step instructions Audience This book is for readers with solid knowledge of a mainstream programming language, preferably C# or F#. About the technology To maximize the utilization of the computational resources available, the Microsoft .NET platform provides parallel execution of code through multithreading. By leveraging parallelism, a program can take full advantage of the resources available. Riccardo Terrell is a .NET seasoned software engineer, senior software architect and Microsoft MVP who is passionate about functional programming. He is well known and actively involved in the functional programming community including .NET meet ups and conferences and is the organizer for the Washington DC F# User Group. MANNING

The Cucumber Book 2e (Paperback, 2nd Revised edition): Matt Wynne The Cucumber Book 2e (Paperback, 2nd Revised edition)
Matt Wynne; Contributions by Aslak Hellesoy, Steve Tooke
R1,041 R819 Discovery Miles 8 190 Save R222 (21%) Ships in 10 - 15 working days

Your customers want rock-solid, bug-free software that does exactly what they expect it to do. Yet they can't always articulate their ideas clearly enough for you to turn them into code. You need Cucumber: a testing, communication, and requirements tool-all rolled into one. All the code in this book is updated for Cucumber 2.4, Rails 5, and RSpec 3.5. Express your customers' wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples into Cucumber and let it guide your development. Build just the right code to keep your customers happy. You can use Cucumber to test almost any system or any platform. Get started by using the core features of Cucumber and working with Cucumber's Gherkin DSL to describe-in plain language-the behavior your customers want from the system. Then write Ruby code that interprets those plain-language specifications and checks them against your application. Next, consolidate the knowledge you've gained with a worked example, where you'll learn more advanced Cucumber techniques, test asynchronous systems, and test systems that use a database. Recipes highlight some of the most difficult and commonly seen situations the authors have helped teams solve. With these patterns and techniques, test Ajax-heavy web applications with Capybara and Selenium, REST web services, Ruby on Rails applications, command-line applications, legacy applications, and more. Written by the creator of Cucumber and the co-founders of Cucumber Ltd., this authoritative guide will give you and your team all the knowledge you need to start using Cucumber with confidence. What You Need: Windows, Mac OS X (with XCode) or Linux, Ruby 1.9.2 and upwards, Cucumber 2.4, Rails 5, and RSpec 3.5

Formal Languages, Automata and Numeration Systems Volume 1 (Hardcover): M Rigo Formal Languages, Automata and Numeration Systems Volume 1 (Hardcover)
M Rigo
R3,782 Discovery Miles 37 820 Ships in 18 - 22 working days

Formal Languages, Automaton and Numeration Systems presents readers with a review of research related to formal language theory, combinatorics on words or numeration systems, such as Words, DLT (Developments in Language Theory), ICALP, MFCS (Mathematical Foundation of Computer Science), Mons Theoretical Computer Science Days, Numeration, CANT (Combinatorics, Automata and Number Theory).Combinatorics on words deals with problems that can be stated in a non-commutative monoid, such as subword complexity of finite or infinite words, construction and properties of infinite words, unavoidable regularities or patterns. When considering some numeration systems, any integer can be represented as a finite word over an alphabet of digits. This simple observation leads to the study of the relationship between the arithmetical properties of the integers and the syntactical properties of the corresponding representations. One of the most profound results in this direction is given by the celebrated theorem by Cobham. Surprisingly, a recent extension of this result to complex numbers led to the famous Four Exponentials Conjecture. This is just one example of the fruitful relationship between formal language theory (including the theory of automata) and number theory.Contents to include: - algebraic structures, homomorphisms, relations, free monoid - finite words, prefixes, suffixes, factors, palindromes- periodicity and Fine-Wilf theorem- infinite words are sequences over a finite alphabet- properties of an ultrametric distance, example of the p-adic norm- topology of the set of infinite words- converging sequences of infinite and finite words, compactness argument- iterated morphism, coding, substitutive or morphic words- the typical example of the Thue-Morse word- the Fibonacci word, the Mex operator, the n-bonacci words- wordscomingfromnumbertheory(baseexpansions, continuedfractions, ...) - the taxonomy of Lindenmayer systems- S-adic sequences, Kolakoski word- repetition in words, avoiding repetition, repetition threshold- (complete) de Bruijn graphs- concepts from computability theory and decidability issues- Post correspondence problem and application to mortality of matrices- origins of combinatorics on words- bibliographic notes- languages of finite words, regular languages- factorial, prefix/suffix closed languages, trees and codes- unambiguous and deterministic automata, Kleene's theorem- growth function of regular languages- non-deterministic automata and determinization- radix order, first word of each length and decimation of a regular language- the theory of the minimal automata- an introduction to algebraic automata theory, the syntactic monoid and thesyntactic complexity- star-free languages and a theorem of Schu ̈tzenberger- rational formal series and weighted automata- context-free languages, pushdown automata and grammars- growth function of context-free languages, Parikh's theorem- some decidable and undecidable problems in formal language theory- bibliographic notes- factor complexity, Morse-Hedlund theorem- arithmetic complexity, Van Der Waerden theorem, pattern complexity - recurrence, uniform recurrence, return words- Sturmian words, coding of rotations, Kronecker's theorem- frequencies of letters, factors and primitive morphism- critical exponent- factor complexity of automatic sequences- factor complexity of purely morphic sequences- primitive words, conjugacy, Lyndon word- abelianisation and abelian complexity- bibliographic notes- automatic sequences, equivalent definitions- a theorem of Cobham, equivalence of automatic sequences with constantlength morphic sequences- a few examples of well-known automatic sequences- about Derksen's theorem- some morphic sequences are not automatic- abstract numeration system and S-automatic sequences- k - ∞-automatic sequences- bibliographic notes- numeration systems, greedy algorithm- positional numeration systems, recognizable sets of integers- divisibility criterion and recognizability of N- properties of k-recognizable sets of integers, ratio and difference of consec-utive elements: syndeticity- integer base and Cobham's theorem on the base dependence of the recog-nizability- non-standard numeration systems based on sequence of integers- linear recurrent sequences, Loraud and Hollander results- Frougny's normalization result and addition- morphic numeration systems/sets of integers whose characteristic sequenceis morphic- towards a generalization of Cobham's theorem- a few words on the representation of real numbers, β-integers, finitenessproperties- automata associated with Parry numbers and numeration systems- bibliographic notesFirst order logic- Presburger arithmetic and decidable theory- Muchnik's characterization of semi-linear sets- Bu ̈chi's theorem: k-recognizable sets are k-definable - extension to Pisot numeration systems- extension to real numbers- decidability issues for numeration systems- applications in combinatorics on words

The D Programming Language (Paperback): Andrei Alexandrescu The D Programming Language (Paperback)
Andrei Alexandrescu
R1,059 R1,004 Discovery Miles 10 040 Save R55 (5%) Ships in 10 - 15 working days

"To the best of my knowledge, D offers an unprecedentedly adroit integration of several powerful programming paradigms: imperative, object-oriented, functional, and meta."
--From the Foreword by Walter Bright
"This is a book by a skilled author describing an interesting programming language. I'm sure you'll find the read rewarding."
--From the Foreword by Scott Meyers D is a programming language built to help programmers address the challenges of modern software development. It does so by fostering modules interconnected through precise interfaces, a federation of tightly integrated programming paradigms, language-enforced thread isolation, modular type safety, an efficient memory model, and more."The D Programming Language "is an authoritative and comprehensive introduction to D. Reflecting the author's signature style, the writing is casual and conversational, but never at the expense of focus and precision. It covers all aspects of the language (such as expressions, statements, types, functions, contracts, and modules), but it is much more than an enumeration of features.Inside the book you will findIn-depth explanations, with idiomatic examples, for all language featuresHow feature groups support major programming paradigmsRationale and best-use advice for each major featureDiscussion of cross-cutting issues, such as error handling, contract programming, and concurrencyTables, figures, and "cheat sheets" that serve as a handy quick reference for day-to-day problem solving with DWritten for the working programmer, "The D Programming Language "not only introduces the D language--it presents a compendium of good practices and idioms to help both your coding with D and your coding in general.

Data Structures and Other Objects Using C++ (Paperback, United States ed of 4th revised ed): Michael Main, Walter J. Savitch Data Structures and Other Objects Using C++ (Paperback, United States ed of 4th revised ed)
Michael Main, Walter J. Savitch
R5,028 Discovery Miles 50 280 Ships in 10 - 15 working days

This book successfully balances the introduction of object-oriented concepts with data structures in C++.
KEY TOPICS: Provides interfaces for the principal example classes, which are compliant with the ANSI/ISO C++ Standard Library classes. Thorough coverage of the role of the const keyword in the C++ Standard Library. Covers C++ features such as namespaces, static member constants, typename keyword, and inheritance. Thorough review of C++ syntax and OOP concepts, make the book accessible for programmers at various levels. The book also gives readers a firm grasp of key concepts and allows programmers experienced in another language to adjust easily. A solid foundation in building and using abstract data types is also provided, along with an assortment of advanced topics such as B-trees for project building and graphs.
This book is designed for novice programmers who have learned the concepts of objects and classes and want to move on to the data structures topics of recursion and data abstraction.

Modern C Up and Running - A Programmer's Guide to Finding Fluency and Bypassing the Quirks (Paperback, 1st ed.): Martin... Modern C Up and Running - A Programmer's Guide to Finding Fluency and Bypassing the Quirks (Paperback, 1st ed.)
Martin Kalin
R1,313 R1,091 Discovery Miles 10 910 Save R222 (17%) Ships in 18 - 22 working days

Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas. The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients. Memory efficiency and safety are the two major challenges in C programming, and you'll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals. Many books introduce C, but few also explain how to use it properly and optimally. Essential C does just that. What You'll Learn Accelerate your path to C mastery with this book for experienced programmers Refresh your approach to program structure and data types Dive into aggregates and pointers using modern C language Revisit storage classes and scope Dive into concurrency (multiprocessing and multithreading) and instruction-level parallelism Finish with regular expressions, assertions, signals, locales and more Who This Book Is For Professional programmers or software developers who has prior experience with C or in general wanting an accelerated learning guide to modern C programming language.

How Things Work - The Computer Science Edition (Hardcover): Charles F. Bowman How Things Work - The Computer Science Edition (Hardcover)
Charles F. Bowman
R3,937 Discovery Miles 39 370 Ships in 10 - 15 working days

It's axiomatic to state that people fear what they do not understand, and this is especially true when it comes to technology. However, despite their prevalence, computers remain shrouded in mystery, and many users feel apprehensive when interacting with them. Smartphones have only exacerbated the issue. Indeed, most users of these devices leverage only a small fraction of the power they hold in their hands. How Things Work: The Computer Science Edition is a roadmap for readers who want to overcome their technophobia and harness the full power of everyday technology. Beginning with the basics, the book demystifies the mysterious world of computer science, explains its fundamental concepts in simple terms, and answers the questions many users feel too intimidated to ask. By the end of the book, readers will understand how computers and smart devices function and, more important, how they can make these devices work for them. To complete the picture, the book also introduces readers to the darker side of modern technology: security and privacy concerns, identity theft, and threats from the Dark Web.

Murach's ADO.NET 3.5 LINQ and the Entity Framework with VB 2008 (Paperback): Anne Boehm Murach's ADO.NET 3.5 LINQ and the Entity Framework with VB 2008 (Paperback)
Anne Boehm
R1,455 R1,273 Discovery Miles 12 730 Save R182 (13%) Ships in 10 - 15 working days

You won't get far as a Visual Basic developer unless you know how to write database applications. That's where this book comes in. It shows you how to use Visual Studio 2008 and ADO.NET 3.5 to develop database applications the way the best professionals do. That includes the full gamut of skills you need, from using prototyping features that generate ADO.NET code...to writing your own ADO.NET code from scratch so you can closely control how the database processing works...to using .NET 3.5 features like LINQ and the ADO.NET Entity Framework that actually change the way you think about handling data. What's more, this book takes you from beginner to database professional in a logical progression that makes each step easier to master: In section 1, you will get a basic introduction to databases, SQL, and ADO.NET. If you already have ADO.NET experience, you can skip ahead. In section 2, you will quickly be prototyping database applications using Rapid Application Development (RAD) tools like data sources. In section 3, you will learn how to build 3-layer applications the ways the pros do, with presentation, business, and database classes. This is where you'll get into ADO.N ET coding to create your own database classes. Section 4 covers LINQ (Language-Integrated Query), a .NET 3.5 feature that lets you handle all types of data using a query language that's integrated into Visual Basic and that saves you a lot of ADO.NET coding. That means you'll learn how to: Use LINQ to DataSet to query the data in typed or untyped datasets; Use LINQ to SQL, which allows you to generate an object model from the objects in a SQL Server database that can then be used to access and update the database data...a feature that offers you some of the same benefits as the Entity Framework; Use LINQ to XML to manipulate XML data much more easily than you can using the Document Object Model; Use LINQ data source controls with web applications. In section 5, you will learn to work with the ADO.NET Entity Framework...another way to let .NET generate the code you need and do more of the work for you. Using this feature, you create an Entity Data Model that defines a conceptual model for the business objects used by an application, a storage model for the objects in a database, and mappings that relate the two. Then: You can use LINQ or a special form of SQL to retrieve data into the business objects; You can work with the business objects and save changes to the database using generated code; You can use Entity data source controls with web applications.

Free Delivery
Pinterest Twitter Facebook Google+
You may like...
Advanced SQL with SAS
Christian F. G. Schendera Hardcover R2,458 Discovery Miles 24 580
Introduction to Computational Economics…
Hans Fehr, Fabian Kindermann Hardcover R4,258 Discovery Miles 42 580
The C++ Project - A companion for…
Marcos Tewfiq Hardcover R1,392 R1,170 Discovery Miles 11 700
Basic Python Commands - Learn the Basic…
Manuel Mcfeely Hardcover R780 R679 Discovery Miles 6 790
C Programming - C Programming Language…
Adam Dodson Hardcover R551 R505 Discovery Miles 5 050
Advanced Python Commands - Become a…
Manuel Mcfeely Hardcover R781 R685 Discovery Miles 6 850
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad Hardcover R3,940 Discovery Miles 39 400
Introducing Delphi Programming - Theory…
John Barrow, Linda Miller, … Paperback  (1)
R751 Discovery Miles 7 510
C++ Programming - Program Design…
D. Malik Paperback R1,646 R1,523 Discovery Miles 15 230
FORTRAN 90 for Scientists and Engineers
Brian Hahn Paperback R1,359 Discovery Miles 13 590

 

Partners