Products related to Programming:
-
Software Engineering at Google : Lessons Learned from Programming Over Time
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy.This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life?Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software.This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code:How time affects the sustainability of software and how to make your code resilient over timeHow scale affects the viability of software practices within an engineering organizationWhat trade-offs a typical engineer needs to make when evaluating design and development decisions
Price: 52.99 £ | Shipping*: 0.00 £ -
Programming Language Cultures : Automating Automation
In this book, Brian Lennon demonstrates the power of a philological approach to the history of programming languages and their usage cultures.In chapters focused on specific programming languages such as SNOBOL and JavaScript, as well as on code comments, metasyntactic variables, the very early history of programming, and the concept of DevOps, Lennon emphasizes the histories of programming languages in their individual specificities over their abstract formal or structural characteristics, viewing them as carriers and sometimes shapers of specific cultural histories.The book's philological approach to programming languages presents a natural, sensible, and rigorous way for researchers trained in the humanities to perform research on computing in a way that draws on their own expertise. Combining programming knowledge with a humanistic analysis of the social and historical dimensions of computing, Lennon offers researchers in literary studies, STS, media and digital studies, and technical fields the first technically rigorous approach to studying programming languages from a humanities-based perspective.
Price: 19.99 £ | Shipping*: 3.99 £ -
PLC Hardware and Programming
Price: 23.95 £ | Shipping*: 3.99 £ -
Effective Software Development for the Enterprise : Beyond Domain Driven Design, Software Architecture, and Extreme Programming
It’s a jungle out there. Delivering software solutions with predictable costs, time, scope, and quality has become more complicated than ever.Developers need to account for multiple moving targets, including often avoided but always relevant factors such as culture, people, and leadership.To effectively deal with these challenges, it’s necessary to rethink the entire delivery chain of modern software development.This book addresses all these topics, putting everything in perspective, from the potential awkwardness created by cultural differences to connecting code with business outcomes to make delivering quality solutions possible.As a software engineer who strives to be his best and challenge the status quo when building IT systems, author Tengiz Tutisani always wanted a book that would cover all of these elements from a developer’s perspective — so he wrote one.Effective Software Development for the Enterprise builds on advanced disciplines, methodologies, and techniques derived from domain-driven design, software architecture, and extreme programming.Its objective is to aid modern software engineers and solution architects in building and delivering high-quality solutions for an enterprise while meeting ambitious criteria:Meet users' expectationsDeliver solutions on time with no defectsCreate products that can scale-out horizontallySolutions should not require a dedicated production support teamAccelerate development paceDouble ROI per developer, team, and softwareYou will learn how to achieve these objectives in any engineering environment by developing solid strategies based on the industry's well-known, recognized, and proven patterns and principles.After reading this book, you will be ready to effectively deal with any and all challenges posed by today’s hyper-competitive, globally-diverse, fast-moving enterprise environment. Who This Book Is ForProfessional software engineers and solution architects, as well as those aspiring to become one.Additionally, software engineering leaders will benefit from reading it, as it will help them maximize their impact via successful software project deliveries.
Price: 54.99 £ | Shipping*: 0.00 £
-
What is the difference between hardware programming and software programming?
Hardware programming involves writing code that directly controls the physical components of a computer or electronic device, such as microcontrollers, sensors, and actuators. This type of programming requires a deep understanding of the underlying hardware architecture and often involves working with low-level languages like assembly or C. On the other hand, software programming involves writing code that runs on a computer's operating system and interacts with hardware through high-level programming languages like Python, Java, or C++. Software programming focuses on creating applications, games, and other software that users interact with, while hardware programming focuses on controlling the behavior of physical devices.
-
Is learning programming and software development very challenging?
Learning programming and software development can be challenging for some people, as it requires logical thinking, problem-solving skills, and attention to detail. However, with dedication, practice, and the right resources, it is definitely achievable. Breaking down complex concepts into smaller, more manageable parts and seeking help from online tutorials, courses, and communities can make the learning process easier and more enjoyable. Ultimately, the level of challenge will vary depending on the individual's background, experience, and learning style.
-
Which programming languages are used in software development?
There are many programming languages used in software development, including popular languages such as Java, Python, C++, JavaScript, and Ruby. Each language has its own strengths and is used for different purposes in software development. For example, Java is commonly used for building enterprise-level applications, while Python is known for its simplicity and versatility. C++ is often used for system software and game development, while JavaScript is essential for web development. Overall, the choice of programming language depends on the specific requirements of the software being developed.
-
Why do you need software for hardware-level programming?
Software is needed for hardware-level programming because it provides a way to communicate with and control the physical components of a computer system. Hardware-level programming involves writing code that directly interacts with the hardware, such as configuring registers, setting up interrupts, and managing memory. Without software, it would be impossible to manipulate the hardware at such a low level and create efficient and optimized programs that fully utilize the capabilities of the hardware. Additionally, software provides a layer of abstraction that simplifies the complexity of hardware interactions, making it easier for programmers to work with the underlying hardware components.
Similar search terms for Programming:
-
Modern Python Programming using ChatGPT : 10x your software development skills with Python
Price: 34.99 £ | Shipping*: 0.00 £ -
Programming Rust : Fast, Safe Systems Development
Systems programming provides the foundation for the world's computation.Writing performance-sensitive code requires a programming language that puts programmers in control of how memory, processor time, and other system resources are used.The Rust systems programming language combines that control with a modern type system that catches broad classes of common mistakes, from memory management errors to data races between threads. With this practical guide, experienced systems programmers will learn how to successfully bridge the gap between performance and safety using Rust.Jim Blandy, Jason Orendorff, and Leonora Tindall demonstrate how Rust's features put programmers in control over memory consumption and processor use by combining predictable performance with memory safety and trustworthy concurrency. You'll learn:Rust's fundamental data types and the core concepts of ownership and borrowingHow to write flexible, efficient code with traits and genericsHow to write fast, multithreaded code without data racesRust's key power tools: closures, iterators, and asynchronous programmingCollections, strings and text, input and output, macros, unsafe code, and foreign function interfacesThis revised, updated edition covers the Rust 2021 Edition.
Price: 63.99 £ | Shipping*: 0.00 £ -
Programming and Engineering Computing with MATLAB 2023
Price: 68.99 £ | Shipping*: 0.00 £ -
Programming and Engineering Computing with MATLAB 2019
Price: 59.00 £ | Shipping*: 0.00 £
-
What is the difference between software development and programming?
Software development is a broader term that encompasses the entire process of creating software, including planning, designing, testing, and maintaining software applications. Programming, on the other hand, refers specifically to the act of writing code to instruct a computer to perform certain tasks. While programming is a key component of software development, software development involves a more comprehensive approach that includes various stages beyond just writing code.
-
Which programming language is suitable for software development for the PC?
There are several programming languages that are suitable for software development for the PC, but some of the most popular and widely used ones include C++, Java, and C#. C++ is a powerful and versatile language that is commonly used for developing system software and applications that require high performance. Java is a popular choice for developing cross-platform applications, as it can run on any operating system that has a Java Virtual Machine. C# is commonly used for developing Windows applications and is well-integrated with the .NET framework. Ultimately, the choice of programming language depends on the specific requirements of the software being developed and the preferences of the development team.
-
Which hardware is suitable for programming?
For programming, a suitable hardware would be a computer with a fast processor, ample RAM, and a good amount of storage space. A laptop or desktop with a multi-core processor, such as an Intel Core i5 or i7, would be ideal for handling the demands of programming. Additionally, having at least 8GB of RAM and a solid-state drive (SSD) for faster data access and program loading would be beneficial. A good graphics card is not necessary for programming unless you are also doing graphic-intensive tasks such as game development or 3D modeling.
-
"Is my hardware sufficient for programming?"
The sufficiency of your hardware for programming depends on the specific requirements of the programming tasks you want to perform. Generally, a modern computer with a decent amount of RAM (8GB or more) and a fast processor (i5 or higher) should be sufficient for most programming tasks. However, if you are working on more resource-intensive projects such as game development or machine learning, you may need more powerful hardware. It's also important to consider the specific software and tools you will be using, as some may have higher hardware requirements.
* All prices are inclusive of VAT and, if applicable, plus shipping costs. The offer information is based on the details provided by the respective shop and is updated through automated processes. Real-time updates do not occur, so deviations can occur in individual cases.