Search results for "c programming"
Items we need to order for you

R 336.00

Build Your Own Programming Language
Written by the creator of the Unicon programming language, this book will show you how to implement programming languages to reduce the time and cost of creating applications for new or specialized areas of computingKey FeaturesReduce development time and solve pain points in your application domain by building a custom programming languageLearn how to create parsers, code generators, file readers, analyzers, and interpretersCreate an alternative to frameworks and libraries to solve domain-specific problemsBook DescriptionThe need for different types of computer languages is growing rapidly and developers prefer creating domain-specific languages for solving specific application domain problems. Building your own programming language has its advantages. It can be your antidote to the ever-increasing size and complexity of software.In this book, you'll start with implementing the frontend of a compiler for your language, including a lexical analyzer and parser. The book covers a series of traversals of syntax trees, culminating with code generation for a bytecode virtual machine. Moving ahead, you'll learn how domain-specific language features are often best represented by operators and functions that are built into the language, rather than library functions. We'll conclude with how to implement garbage collection, including reference counting and mark-and-sweep garbage collection. Throughout the book, Dr. Jeffery weaves in his experience of building the Unicon programming language to give better context to the concepts where relevant examples are provided in both Unicon and Java so that you can follow the code of your choice of either a very high-level language with advanced features, or a mainstream language.By the end of this book, you'll be able to build and deploy your own domain-specific languages, capable of compiling and running programs.What you will learnPerform requirements analysis for the new language and design language syntax and semanticsWrite lexical and context-free grammar rules for common expressions and control structuresDevelop a scanner that reads source code and generate a parser that checks syntaxBuild key data structures in a compiler and use your compiler to build a syntax-coloring code editorImplement a bytecode interpreter and run bytecode generated by your compilerWrite tree traversals that insert information into the syntax treeImplement garbage collection in your languageWho this book is forThis book is for software developers interested in the idea of inventing their own language or developing a domain-specific language. Computer science students taking compiler construction courses will also find this book highly useful as a practical guide to language implementation to supplement more theoretical textbooks. Intermediate-level knowledge and experience working with a high-level language such as Java or the C++ language are expected to help you get the most out of this book.
R 3,419.00


Introduction to Programming in Java
Programming skills are indispensable in today’s world, not just for computer science students, but also for anyone in any scientific or technical discipline. An Introduction to Programming in Java, Second Edition, by Robert Sedgewick and Kevin Wayne is an accessible, interdisciplinary treatment that emphasizes important and engaging applications, not toy problems. The authors supply the tools needed for students and professionals to learn that programming is a natural, satisfying, and creative experience, and to become conversant with one of the world’s most widely used languages. This example-driven guide focuses on Java’s most useful features and brings programming to life for every student in the sciences, engineering, and computer science. Coverage includes Basic elements of programming: variables, assignment statements, built-in data types, conditionals, loops, arrays, and I/O, including graphics and soundFunctions, modules, and libraries: organizing programs into components that can be independently debugged, maintained, and reusedAlgorithms and data structures: sort/search algorithms, stacks, queues, and symbol tablesApplications from applied math, physics, chemistry, biology, and computer science Drawing on their extensive classroom experience, the authors provide Q&As, exercises, and opportunities for creative engagement with the material throughout. Together with the companion materials, this book empowers people pursue a modern approach to teaching and learning programming. Companion web site contains Chapter summariesSupplementary exercises, some with solutionsDetailed instructions for installing a Java programming environmentProgram code and test data suitable for easy downloadDetailed creative exercises, projects, and other supplementary mat And companion studio-produced online videos provide students and professionals with the opportunity to engage with the material at their own pace and instructors the opportunity to spend their time with students helping them to succeed on assignments and exams.
R 2,649.00

R 409.00


R 702.74

R 539.00

R 611.00

R 611.00

R 611.00

R 217.00

R 367.00

R 439.00

R 1,191.00

R 611.00

Clojure: High Performance JVM Programming
Explore the world of lightning fast Clojure apps with asynchronous channels, logic, reactive programming, and moreAbout This Book* Discover Clojure's features and advantages and use them in your existing projects* Explore lesser-known and more advanced features, constructs, and methodologies such as asynchronous channels, actors, logic programming, and reactive programming* Measure and monitor performance, and understand optimization techniquesWho This Book Is ForIf you're looking to learn more about its core libraries and delve into the Clojure language in detail, then this book is ideal for you. Prior knowledge of the Clojure language is required.What You Will Learn* Understand tools for the Clojure world and how they relate to Java tools and standards (such as Maven)* Write simple multicore programs using Clojure's core concepts, such as atoms, agents, and refs* Get to grips with Clojure's concurrency and state-management primitives in depth* Analyze latency using the Criterium library* Avoid reflection and boxing with type hints* Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers* Modify and add features to the Clojure language using macros* Test your code with unit tests, specs, and type checks to write testable code* Troubleshoot and style your Clojure code to make it more maintainableIn DetailClojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts and features such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which makes it a great choice to create modern, performant, and scalable applications.This learning path aims at unleashing the true potential of the Clojure language so you can use it in your projects. It begins with installing and setting up the Clojure environment before moving on to explore the language in depth. You'll get acquainted with its various features such as functional programming, concurrency, reducers, transducers, core.async and core.logic, and so on with a great level of detail.Moving on, you'll also learn how to enhance performance using Java interoperability and JVM-specific features from Clojure; you'll even master language features such as asynchronous channels, actors, logic programming, reactive programming, metaprogramming, and so on.This learning path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:* Clojure for Java Developers by Eduardo Diaz* Clojure High Performance Programming, Second Edition by Shantanu Kumar* Mastering Clojure by Akhil WaliStyle and approachThis is an easy-to-follow, step-by-step guide to start writing Clojure programs, making use of all of its varied features and advantages.
R 3,371.89

R 580.00

R 367.00

R 611.00


R 445.00

R 367.00

R 641.00



R 397.00



Learning Network Programming with Java
Harness the hidden power of Java to build network-enabled applications with lower network traffic and faster processesAbout This Book• Learn to deliver superior server-to-server communication through the networking channels• Gain expertise of the networking features of your own applications to support various network architectures such as client/server and peer-to-peer• Explore the issues that impact scalability, affect security, and allow applications to work in a heterogeneous environmentWho This Book Is ForLearning Network Programming with Java is oriented to developers who wish to use network technologies to enhance the utility of their applications. You should have a working knowledge of Java and an interest in learning the latest in network programming techniques using Java. No prior experience with network development or special software beyond the Java SDK is needed. Upon completion of the book, beginner and experienced developers will be able to use Java to access resources across a network and the Internet.What You Will Learn• Connect to other applications using sockets• Use channels and buffers to enhance communication between applications• Access network services and develop client/server applications• Explore the critical elements of peer-to-peer applications and current technologies available• Use UDP to perform multicasting• Address scalability through the use of core and advanced threading techniques• Incorporate techniques into an application to make it more secure• Configure and address interoperability issues to enable your applications to work in a heterogeneous environmentIn DetailNetwork-aware applications are becoming more prevalent and play an ever-increasing role in the world today. Connecting and using an Internet-based service is a frequent requirement for many applications. Java provides numerous classes that have evolved over the years to meet evolving network needs. These range from low-level socket and IP-based approaches to those encapsulated in software services.This book explores how Java supports networks, starting with the basics and then advancing to more complex topics. An overview of each relevant network technology is presented followed by detailed examples of how to use Java to support these technologies.We start with the basics of networking and then explore how Java supports the development of client/server and peer-to-peer applications. The NIO packages are examined as well as multitasking and how network applications can address practical issues such as security.A discussion on networking concepts will put many network issues into perspective and let you focus on the appropriate technology for the problem at hand. The examples used will provide a good starting point to develop similar capabilities for many of your network needs.Style and approachEach network technology's terms and concepts are introduced first. This is followed up with code examples to explain these technologies. Many of the examples a
R 1,889.00

R 244.00

R 489.00

R 4,559.00

R 455.00


































