Framework-based Software Development in C++


Book Description

Appropriate for a graduate level course in Computer Science or Software Engineering. The first book that presents a software development methodology for building C++ class frameworks using emerging object standards: CORBA, STL, and ODMG-93. It may be viewed as a software developers handbook, one that explains how to use Object-Oriented Design the way in which it was originally intended.




F# for C# Developers


Book Description

Extend your C# skills to F#—and create data-rich computational and parallel software components faster and more efficiently. Focusing on F# 3.0 and Microsoft Visual Studio 2012, you’ll learn how to exploit F# features to solve both computationally-complex problems as well as everyday programming tasks. Topics include: C# and F# data structures; F# for functional, object-oriented, and imperative programming; design patterns; type providers; and portable support for Windows 8. You’ll examine real-world applications, including Windows 8-style HTML5 and JavaScript apps, along with cloud and service apps. You’ll write your own type provider. And you’ll see how to expand F# computation power to high-performance GPU computing.





Book Description




C Programming Language


Book Description

C++ was written to help professional C# developers learn modern C++ programming. The aim of this book is to leverage your existing C# knowledge in order to expand your skills. Whether you need to use C++ in an upcoming project, or simply want to learn a new language (or reacquaint yourself with it), this book will help you learn all of the fundamental pieces of C++ so you can begin writing your own C++ programs.This updated and expanded second edition of Book provides a user-friendly introduction to the subject, Taking a clear structural framework, it guides the reader through the subject's core elements. A flowing writing style combines with the use of illustrations and diagrams throughout the text to ensure the reader understands even the most complex of concepts. This succinct and enlightening overview is a required reading for all those interested in the subject .We hope you find this book useful in shaping your future career & Business.




Category Theory for Programmers (New Edition, Hardcover)


Book Description

Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybody with some experience in programming.That's because, just like programming, category theory is about structure. Mathematicians discover structure in mathematical theories, programmers discover structure in computer programs. Well-structured programs are easier to understand and maintain and are less likely to contain bugs. Category theory provides the language to talk about structure and learning it will make you a better programmer.




F# in Action


Book Description

F# is engineered to make functional programming practical and accessible. This book will get you started writing your first simple, robust, and high performing functional code. F# lets you keep your code simple even in the most complex applications—and it’s the perfect language for taking your first steps in functional programming. This practical, example-driven guide shows you how to build professional applications the F# way. In F# in Action you will learn how to: Write performant and robust systems with succinct F# code Model domains quickly, easily and accurately with F#’s type system Design solutions using functional programming patterns Ingest and process disparate data sources Develop data-driven web applications Unit test F# code Effectively model data using a variety of techniques Use scripts to rapidly explore domains F# in Action is based on author and Microsoft F# MVP Isaac Abraham’s years of experience working with developers as an F# consultant. It upgrades .NET development skills with the core principles of functional programming, and you’ll soon see how F#’s functional-first approach makes it easy to learn this powerful paradigm. Forewords by Phillip Carter and Tomas Petricek. About the technology F# is a uniquely powerful programming language. Its “light touch” approach to functional programming helps you deliver error-free code without a lot of complex math and academic theory. Simply put, F# exists to help you write better software faster, and this book will show you how. About the book F# in Action teaches you to write professional quality applications in F#. For each concept, feature, and technique you’ll find hands-on examples, starting with simple data transformations and progressing all the way to a full-size web app. Throughout the book, you’ll take advantage of battle-tested .NET tools to take on a wide range of tasks—from data analysis to interoperability with C#. What's inside Model domains with F#’s type system Ingest and process disparate data sources Unit test F# code Use scripts to rapidly explore domains About the reader For readers comfortable with any OO or FP language. Prior .NET knowledge not required! About the author Isaac Abraham is an experienced .NET developer, trainer, and Microsoft MVP for his contributions to the .NET community. Technical editor on this book was Michael Ciccotti. Table of Contents 1 Introducing F# 2 Hands on with F# 3 F# Syntax Basics 4 F# Fundamentals 5 Shaping data 6 Functions and modules 7 Working with collections 8 Patterns and unions 9 Building rich domains 10 Working effectively with data 11 F# Interop 12 Asynchronous programming 13 Web programming 14 Testing F# code 15 Pure functional programming 16 Where next?




User Interface Design for Programmers


Book Description

Most programmers' fear of user interface (UI) programming comes from their fear of doing UI design. They think that UI design is like graphic design—the mysterious process by which creative, latte-drinking, all-black-wearing people produce cool-looking, artistic pieces. Most programmers see themselves as analytic, logical thinkers instead—strong at reasoning, weak on artistic judgment, and incapable of doing UI design. In this brilliantly readable book, author Joel Spolsky proposes simple, logical rules that can be applied without any artistic talent to improve any user interface, from traditional GUI applications to websites to consumer electronics. Spolsky's primary axiom, the importance of bringing the program model in line with the user model, is both rational and simple. In a fun and entertaining way, Spolky makes user interface design easy for programmers to grasp. After reading User Interface Design for Programmers, you'll know how to design interfaces with the user in mind. You'll learn the important principles that underlie all good UI design, and you'll learn how to perform usability testing that works.




C# Design and Development


Book Description

John P. Mueller demonstrates how you can fine-tune your skill set to create an elegant design that will scale well and produce reliable, speedy, secure, and efficient code. You?ll explore several applications and design strategies using C# and you?ll learn the best approaches for various system configurations. Mueller shares expert advice on how to create better applications by using fine-tuned design strategies and new methods for writing applications using less code, which improves efficiency. Topics include understanding the application lifecycle, defining a design strategy, designing with speed and security in mind, scripting the IDE, working with controls and components, testing, debugging and quality assurance, serializing XML, working with LINQ, augmenting applications using F#, and much more.




SQL Server 2016 Developer's Guide


Book Description

Get the most out of the rich development capabilities of SQL Server 2016 to build efficient database applications for your organization About This Book Utilize the new enhancements in Transact-SQL and security features in SQL Server 2016 to build efficient database applications Work with temporal tables to get information about data stored in the table at any point in time A detailed guide to SQL Server 2016, introducing you to multiple new features and enhancements to improve your overall development experience Who This Book Is For This book is for database developers and solution architects who plan to use the new SQL Server 2016 features for developing efficient database applications. It is also ideal for experienced SQL Server developers who want to switch to SQL Server 2016 for its rich development capabilities. Some understanding of the basic database concepts and Transact-SQL language is assumed. What You Will Learn Explore the new development features introduced in SQL Server 2016 Identify opportunities for In-Memory OLTP technology, significantly enhanced in SQL Server 2016 Use columnstore indexes to get significant storage and performance improvements Extend database design solutions using temporal tables Exchange JSON data between applications and SQL Server in a more efficient way Migrate historical data transparently and securely to Microsoft Azure by using Stretch Database Use the new security features to encrypt or to have more granular control over access to rows in a table Simplify performance troubleshooting with Query Store Discover the potential of R's integration with SQL Server In Detail Microsoft SQL Server 2016 is considered the biggest leap in the data platform history of the Microsoft, in the ongoing era of Big Data and data science. Compared to its predecessors, SQL Server 2016 offers developers a unique opportunity to leverage the advanced features and build applications that are robust, scalable, and easy to administer. This book introduces you to new features of SQL Server 2016 which will open a completely new set of possibilities for you as a developer. It prepares you for the more advanced topics by starting with a quick introduction to SQL Server 2016's new features and a recapitulation of the possibilities you may have already explored with previous versions of SQL Server. The next part introduces you to small delights in the Transact-SQL language and then switches to a completely new technology inside SQL Server - JSON support. We also take a look at the Stretch database, security enhancements, and temporal tables. The last chapters concentrate on implementing advanced topics, including Query Store, columnstore indexes, and In-Memory OLTP. You will finally be introduced to R and how to use the R language with Transact-SQL for data exploration and analysis. By the end of this book, you will have the required information to design efficient, high-performance database applications without any hassle. Style and approach This book is a detailed guide to mastering the development features offered by SQL Server 2016, with a unique learn-as-you-do approach. All the concepts are explained in a very easy-to-understand manner and are supplemented with examples to ensure that you—the developer—are able to take that next step in building more powerful, robust applications for your organization with ease.




The Practice of Programming


Book Description

With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. The practice of programming is more than just writing code. Programmers must also assess tradeoffs, choose among design alternatives, debug and test, improve performance, and maintain software written by themselves and others. At the same time, they must be concerned with issues like compatibility, robustness, and reliability, while meeting specifications. The Practice of Programming covers all these topics, and more. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. It includes chapters on: debugging: finding bugs quickly and methodically testing: guaranteeing that software works correctly and reliably performance: making programs faster and more compact portability: ensuring that programs run everywhere without change design: balancing goals and constraints to decide which algorithms and data structures are best interfaces: using abstraction and information hiding to control the interactions between components style: writing code that works well and is a pleasure to read notation: choosing languages and tools that let the machine do more of the work Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from the principles and guidance in The Practice of Programming.