![]() |
![]() |
Your cart is empty |
||
Books > Computing & IT > Computer programming > Programming languages > General
While compilers for high-level programming languages are large complex software systems, they have particular characteristics that differentiate them from other software systems. Their functionality is almost completely well-defined - ideally there exist complete precise descriptions of the source and target languages. Additional descriptions of the interfaces to the operating system, programming system and programming environment, and to other compilers and libraries are often available. This book deals with the analysis phase of translators for programming languages. It describes lexical, syntactic and semantic analysis, specification mechanisms for these tasks from the theory of formal languages, and methods for automatic generation based on the theory of automata. The authors present a conceptual translation structure, i.e., a division into a set of modules, which transform an input program into a sequence of steps in a machine program, and they then describe the interfaces between the modules. Finally, the structures of real translators are outlined. The book contains the necessary theory and advice for implementation. This book is intended for students of computer science. The book is supported throughout with examples, exercises and program fragments.
Learn to build e-commerce sites using PHP by installing a server using WAMP, configuring MySQL for your product database, creating your product database and tables, and writing the required PHP scripts for accessing and inserting data into the database. Make an E-commerce Site in a Weekend: Using PHP details how to create shopping carts for your customers and how to set up secure payment and processing options. Even if you are an absolute beginner and don't have much programming experience, you can build a responsive, powerful, and fully featured e-commerce site quickly using the information in this book. You will learn to: Create and maintain your e-commerce website using PHP scripts Create, edit, and update your product database using MySQL Manage visitors to your site, create custom forms, manage session handling, and more Manage shopping carts and shipping information Receive money through different payment modes on the sale of merchandise Who This Book is For: This book is for people who want to quickly set up their first e-commerce site. The book addresses beginners who don't have a deep experience in programming languages. It teaches how to build professional fully featured e-commerce websites using PHP. The book uses practical, step-by step examples to explain all of the topics required in designing, creating, and managing an interactive e-commerce web site.
This book contains the thoroughly refereed papers from the 9th International Ershov Informatics Conference, PSI 2014, held in St. Petersburg, Russia, in June 2014. The 17 revised full papers, 11 revised short papers, and 2 system and experimental papers presented in this book were carefully reviewed and selected from 80 submissions. The volume also contains 5 keynote talks which cover a range of hot topics in computer science and informatics. The papers cover various topics related to the foundations of program and system development and analysis, programming methodology and software engineering and information technologies.
Pro Vagrant teaches you how to effectively implement and optimize Vagrant in your everyday work environment. Master the creation and configuration of virtual development environments with an easy-to-use workflow, and focus on automation. Vagrant lowers development environment setup time, increases development/production parity, and makes the "works on my machine" excuse a relic of the past. DevOps is mainstream best practice nowadays, and Vagrant sits firmly in the DevOps toolkit. This book will take you from basic usage and getting started, to provisioning with Shell, Puppet, and Chef. You will see how to use Vagrant in real-life scenarios, so that you can start to use Vagrant day-to-day in your work. Author Wodimierz Gajda is a Vagrant expert and now brings his experience to you in Pro Vagrant. This is an indispensable book for anyone using Vagrant - add it to your library today.
This book constitutes the refereed proceedings of the Third International Workshop on Formal Techniques for Safety-Critical Systems, FTSCS 2014, held in Luxembourg, in November 2014. The 14 revised full papers presented together with two invited talks were carefully reviewed and selected from 40 submissions. The papers address various topics related to the application of formal and semi-formal methods to improve the quality of safety-critical computer systems.
Leverage Xamarin.Forms to build iOS and Android apps using a single, cross-platform approach. This book is the XAML companion to the C# guide Xamarin Mobile Application Development. You'll begin with an overview of Xamarin.Forms, then move on to an in-depth XAML (eXtensible Application Markup Language) primer covering syntax, namespaces, markup extensions, constructors, and the XAML standard. XAML gives us both the power of decoupled UI development and the direct use of Xamarin.Forms elements. This book explores the core of the Xamarin.Forms mobile app UI: using layouts and FlexLayouts to position controls and views to design and build screens, formatting your UI using resource dictionaries, styles, themes and CSS, then coding user interactions with behaviors, commands, and triggers. You'll see how to use XAML to build sophisticated, robust cross-platform mobile apps and help your user get around your app using Xamarin.Forms navigation patterns. Building Xamarin.Forms Mobile Apps Using XAML explains how to bind UI to data models using data binding and using the MVVM pattern, and how to customize UI elements for each platform using industry-standard menus, effects, custom renderers, and native view declaration. What You Will Learn Create world-class mobile apps for iOS and Android using C# and XAML Build a XAML UI decoupled from the C# code behind Design UI layouts such as FrameLayout, controls, lists, and navigation patterns Style your app using resource dictionaries, styles, themes, and CSS Customize controls to have platform-specific features using effects, custom renderers, and native views Who This Book Is For XAML and C# developers, architects, and technical managers as well as many Android and iOS developers
This book constitutes the proceedings of the 24th International Conference on Compiler Construction, CC 2015, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, in London, UK, in April 2015. The 11 papers presented in this volume were carefully reviewed and selected from 34 submissions. They deal with compiler engineering and compiling techniques; compiler analysis and optimisation and formal techniques in compilers. The book also contains one invited talk in full-paper length.
Advanced Metaprogramming in Classic C++ aims to be both an introduction and a reference to C++ template metaprogramming (TMP); TMP is presented in the book as a set of techniques that will bring a new style in C++ and make code exceptionally clear and efficient. The book deals with language aspects, design patterns, examples and applications (seen as case studies). Special emphasis is put on small reusable techniques that will improve the quality of daily work. What makes the book exceptional is the level of understanding of the concepts involved imparted by the author. This is not just a rote overview of metaprogramming. You will truly understand difficult topics like static assertions, how to write metafunctions, overload resolution, lambda expressions, and many others. More than that, you will work through them with practical examples guided by the author's frank explanations. This book requires you to think and to learn and to understand the language so that you can program at a higher level.
Sudoku Programming with C teaches you how to write computer programs to solve and generate Sudoku puzzles. This is a practical book that will provide you with everything you need to write your own books of Sudoku Classic and Samurai puzzles. But be warned: after reading it, you'll discover that the puzzles in your local paper are not so challenging after all! We like Sudokus because they test our capacity to recognize and interpret patterns. But how are the clues generated? Where do those quasi-symmetrical configurations come from? When the author explored the Web to find out, he discovered that there were many sites that explained how to solve Sudokus, but none that told him how create them. He also saw many sites and apps to play Sudoku, but, perhaps not surprising, no indication of how they worked. So, he had to develop his own applications in order to find out. And, from the very start, he decided that he would publish the code for anyone else to use and perhaps tinker with, but the author wrote it in such a way that also lets readers with limited knowledge of programming techniques understand it. In fact, you could decide to start generating thousands of puzzles almost immediately, and go through the explanations of algorithms and techniques later, a bit at a time. The author chose to write the application in 'plain old C' because he wanted to make the code accessible to as many people as possible. In this book, you will find an explanation of all solving strategies, and the code to implement them. Writing the Solver application was more difficult than writing the Generator, because it required designing and implementing each strategy separately. However, the author wanted to include a solving program capable of listing the strategies necessary to solve any particular puzzle. He also wanted to check whether a puzzle was solvable analytically, without any guessing. This book includes the full listings of both the Generator and the Solver, and explanations of all C modules, with walk-throughs and examples.
Java I/O, NIO and NIO.2 is a power-packed book that is an accelerated guide and reference on buffers, files, sockets, datagrams, and pipe channels as found in the Java I/O, NIO, and NIO.2 reference implementations. In this book, you'll also learn how and when to use selectors, regular expressions, including patterns, matchers and more. You'll learn how to work with Charsets, formatters and scanners. You'll - all in all - learn how to use and apply NIO, NIO.2 and the enhancements available. After reading and using this book, you'll gain the accelerated knowledge and skill level to really build applications with efficient data access, especially for today's cloud computing streaming data needs.
The LNCS journal Transactions on Aspect-Oriented Software Development is devoted to all facets of aspect-oriented software development (AOSD) techniques in the context of all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The focus of the journal is on approaches for systematic identification, modularization, representation, and composition of crosscutting concerns, i.e., the aspects and evaluation of such approaches and their impact on improving quality attributes of software systems. This volume, the 12th in the Transactions on Aspect-Oriented Software Development series, contains one regular paper, on modular reasoning in aspect-oriented languages from a substitution perspective, and four extended, improved papers selected from those presented at Modularity 2014. Topics covered include novel dynamic semantics through delegation proxies, modularity potential detection based on co-change clusters, improvements in reusability for components of semantic specifications of programming languages, and probabilistic model checking applied to dynamically generated members of a product line.
In this 100-page book, you will find that Stripes provides a very simple learning path, where you do not need to understand the entire framework in order to use it. The concept of this book is exactly that - to get you using the framework and writing code immediately. You will be off and running in no time, and adding to your skill set as we progress. This book is written with exactly that learning method in mind. No filler, no empty explanations... just code. You won't be driving solo, however. Each code example is heavily annotated with comments and tips, so that you not only understand each snippet, but can also dive deeper if you so choose. Stripes is a web framework for the Java programming language. It was initially released in 2005 by Tim Fennell. Despite its growth and maturity, Stripes has always focused on two key principles: simplicity and ease of development. Stripes has also remained a solution for a single application tier: the web-layer. Its purpose is to handle the interaction between a web browser and server-side java code. To tie these concepts together Stripes makes heavy use of Java annotations, which we will see as we learn the various features of Stripes.
Handbook of Open Source Tools introduces a comprehensive collection of advanced open source tools useful in developing software applications. The book contains information on more than 200 open-source tools which include software construction utilities for compilers, virtual-machines, database, graphics, high-performance computing, OpenGL, geometry, algebra, graph theory , GUIs and more. Special highlights for software construction utilities and application libraries are included. Each tool is covered in the context of a real like application development setting. This unique handbook presents a comprehensive discussion of advanced tools, a valuable asset used by most application developers and programmers; includes a special focus on Mathematical Open Source Software not available in most Open Source Software books, and introduces several tools (eg ACL2, CLIPS, CUDA, and COIN) which are not known outside of select groups, but are very powerful. Handbook of Open Source Tools is designed for application developers and programmers working with Open Source Tools. Advanced-level students concentrating on Engineering, Mathematics and Computer Science will find this reference a valuable asset as well.
This easy-to-follow and classroom-tested textbook guides the reader through the fundamentals of programming with Python, an accessible language which can be learned incrementally. Features: incudes numerous examples and practice exercises throughout the text, with additional exercises, solutions and review questions at the end of each chapter; highlights the patterns which frequently appear when writing programs, reinforcing the application of these patterns for problem-solving through practice exercises; introduces the use of a debugger tool to inspect a program, enabling students to discover for themselves how programs work and enhance their understanding; presents the Tkinter framework for building graphical user interface applications and event-driven programs; provides instructional videos and additional information for students, as well as support materials for instructors, at an associated website.
Pro Java Closures and Project Lambda introduces you to significant new changes to the Java language coming out of what is termed Project Lambda. These new changes make their debut in Java 8, and their highlight is the long-awaited support for lambda expressions in the Java language. You'll learn to write lambda expressions and use them to create functional interfaces and default methods for evolving APIs, among many other uses. Java language designer Daniel Smith states the goals of Project Lambda as being to make dramatic and necessary enhancements to the programming model, smooth out rough edges in the language, preserve compatibility, all while maintaining the essence of the Java language as you've come to know it. The changes in Java 8 are significant. Syntax and usage of the language are changed considerably with the introduction of closures and lambda expressions. Pro Java Closures and Project Lambda takes you through these important changes from introduction to mastery. Through a set of clear examples, you'll learn to refactor existing code to take advantage of the new language features. You'll learn what those features can do for you, and when they are best applied.You'll learn to design and write new code having these important new features in mind from the very beginning. * Clearly explains the fantastic benefits from Project Lambda. * Explains the syntax and IDE support for the new features. * Shows how to streamline your code by bringing some of the benefits of functional programming to the Java language. * Illustrates parallelism in closures through Stream and Spliterator objects. * Explains API evolution by adding methods to existing interfaces without breaking existing interface implementations, a technique addressing potential multiple inheritance issues What you'll learn * Encapsulate key bits of logic into anonymous functions without the need for anonymous classes. * Define closures to be used as generators of comparison functions. * Define map, filter, and reduce functions that are useful in working with lists and other collections. * Trap and handle exceptions involving lambdas and closures, including the passing of exception-type parameters. * Anticipate and provide for concurrency so that your code successfully scales across multiple CPU cores.* Refactor existing code to take advantage of newly-possible closures and lambda expressions. Who this book is for Pro Java Closures and Project Lambda is aimed at Java developers interested in keeping up with the latest developments in the language. The book is of particular interest to those wanting to produce shorter and more readable code by taking advantage of language enhancements coming out of Project Lambda.
There is a growing need for research within practice settings. Increasing competition for funding requires organizations to demonstrate that the funding they are seeking is going towards effective programming. Additionally, the evidence-based practice movement is generally pushing organizations towards research activities, both as producers and consumers.There have been many books written about research methodology and data analysis in the helping professions, and many books have been written about using R to analyze and present data; however, this book specifically addresses using R to evaluate programs in organizational settings. This book is divided into three sections. The first section addresses background information that is helpful in conducting practice-based research. The second section of the book provides necessary background to begin working with R. Topics include how to download R and RStudio, navigation, R packages, basic R functions, and importing data. This section also introduces The Clinical Record, a freely available database program to help organizations record and track client information. The remainder of the book uses case studies to illustrate how to use R to conduct program evaluations. Techniques include data description and visualization, bivariate analysis, simple and multiple regression, and logistic regression. The final chapter illustrates a comprehensive summary of the skills demonstrated throughout the book using The Clinical Record as a data repository.
MATLAB is a high-level language and environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java. This book is designed for use as a scientific/business calculator so that you can get numerical solutions to problems involving a wide array of mathematics using MATLAB. Just look up the function you want in the book and you are ready to use it in MATLAB or use the book to learn about the enormous range of options that MATLAB offers. MATLAB Numerical Calculations focuses on MATLAB capabilities to give you numerical solutions to problems you are likely to encounter in your professional or scholastic life. It introduces you to the MATLAB language with practical hands-on instructions and results, allowing you to quickly achieve your goals. Starting with a look at basic MATLAB functionality with integers, rational numbers and real and complex numbers, and MATLAB's relationship with Maple, you will learn how to solve equations in MATLAB, and how to simplify the results. You will see how MATLAB incorporates vector, matrix and character variables, and functions thereof. MATLAB is a powerful tool used to defined, manipulate and simplify complex algebraic expressions. With MATLAB you can also work with ease in matrix algebra, making use of commands which allow you to find eigenvalues, eigenvectors, determinants, norms and various matrix decompositions, among many other features. Lastly, you will see how you can write scripts and use MATLAB to explore numerical analysis, finding approximations of integrals, derivatives and numerical solutions of differential equations.
A complete and systematic introduction to the fundamentals of the hyperequational theory of universal algebra, offering the newest results on solid varieties of semirings and semigroups. The book aims to develop the theory of solid varieties as a system of mathematical discourse that is applicable in several concrete situations. A unique feature of this book is the use of Galois connections to integrate different topics.
This book constitutes the thoroughly refereed post-conference proceedings of the 17th Brazilian Symposium on Formal Methods, SBMF 2014, held in Maceio, Brazil, in September/October 2014. The 9 revised full papers presented together with 2 invited talks were carefully reviewed and selected from 34 submissions. SBMF is an event devoted to the dissemination of the development and use of formal methods for the construction of high quality computational systems, aiming to promote opportunities for researchers with interests in formal methods to discuss the recent advances in this area.
This monograph is based on the third author's lectures on computer architecture, given in the summer semester 2013 at Saarland University, Germany. It contains a gate level construction of a multi-core machine with pipelined MIPS processor cores and a sequentially consistent shared memory. The book contains the first correctness proofs for both the gate level implementation of a multi-core processor and also of a cache based sequentially consistent shared memory. This opens the way to the formal verification of synthesizable hardware for multi-core processors in the future. Constructions are in a gate level hardware model and thus deterministic. In contrast the reference models against which correctness is shown are nondeterministic. The development of the additional machinery for these proofs and the correctness proof of the shared memory at the gate level are the main technical contributions of this work.
The Fortran 2003 Handbook is a definitive and comprehensive guide to Fortran 2003 and its use. Fortran 2003, the latest standard version of Fortran, has many excellent features that assist the programmer in writing efficient, portable and maintainable programs. This all-inclusive volume offers a reader-friendly, easy-to-follow and informal description of Fortran 2003, and has been developed to provide not only a readable explanation of features, but also some rationale for the inclusion of features and their use. This highly versatile handbook is intended for anyone who wants a comprehensive survey of Fortran 2003.
First book to address and assess performance of enterprise Java-based applications using the new Java EE 5 Presents Java EE 5 Performance Management as a proven methodology, featuring a set of common problems that have been observed in real-world customer environments Presents "wait-based" performance tuning methodology, the most efficient Java EE 5 tuning methodology, but one previously neglected in the Java EE 5 space
The Swift programming language has transformed the world of iOS development and started a new age of modern development. Pro Design Patterns in Swift shows you how to harness the power and flexibility of Swift to apply the most important and enduring design patterns to your applications, taking your development projects to master level. This book will teach you those design patterns that have always been present at some level in your code, but may not have been recognized, acknowledged, or fully utilized. Implementation of specific pattern approaches will prove their value to any Swift developer. Best-selling author Adam Freeman explains how to get the most from design patterns. He starts with the nuts-and-bolts and shows you everything through to advanced features, going in-depth to give you the knowledge you need. Pro Design Patterns in Swift brings design patterns to life and shows you how to bring structure and scale to your Swift code with a practical, no-nonsense approach.
* The concepts of AOP are presented independently of any particular implementation * The book covers all 4 major existing tools for AOP: AspectJ, JBoss AOP, AspectWerkz, JAC * The book covers the implementation of a technical aspect based on the Hibernate object/relational persistence framework, a J2EE application implemented with AspectJ, and applications of AOP in the domains of programming by contracts, program testing, and application management
Currently, we see a variety of tools and techniques for specifying and implementing business processes. The problem is that there are still gaps and tensions between the different disciplines needed to improve business process execution and improvement in enterprises. Business process modeling, workflow execution and application programming are examples of disciplines that are hosted by different communities and that emerged separately from each other. In particular, concepts have not yet been fully elaborated at the system analysis level. Therefore, practitioners are faced again and again with similar questions in concrete business process projects: Which decomposition mechanism to use? How to find the correct granularity for business process activities? Which implementing technology is the optimal one in a given situation? This work offers an approach to the systematization of the field. The methodology used is explicitly not a comparative analysis of existing tools and techniques - although a review of existing tools is an essential basis for the considerations in the book. Rather, the book tries to provide a landscape of rationales and concepts in business processes with a discussion of alternatives. |
![]() ![]() You may like...
Dark Silicon and Future On-chip Systems…
Suyel Namasudra, Hamid Sarbazi-Azad
Hardcover
R4,084
Discovery Miles 40 840
C++ How to Program: Horizon Edition
Harvey Deitel, Paul Deitel
Paperback
R1,861
Discovery Miles 18 610
Advanced Visual Basic 6 - Power…
Matthew Curland, Gary Clarke
Paperback
R1,304
Discovery Miles 13 040
|