Welcome!

Microservices Expo Authors: Stackify Blog, Jason Bloomberg, Pat Romanski, Elizabeth White, Steve Wilson

Related Topics: Microsoft Cloud, Industrial IoT, Microservices Expo, Machine Learning , Silverlight

Microsoft Cloud: Book Review

Book Review: Essential C# 5.0

Part of the Microsoft Windows Development Series

If you are looking to get into .NET development, this book is a great place to start. This book will teach you all you need to know about C# development. It will provide C# beginners with a complete foundation on which to build other .NET skills like WPF, Windows 8 App Store, XAML, ASP.NET, ASP.NET MVC, etc. The book does not cover the libraries to implement these technologies, but that is a good thing. You should have a solid understand of C# before moving on to them.

I have read a lot of C# books that include coverage of the base class libraries, WPF, Windows Forms, and ASP.NET as the second half of the book. I have never bothered with those parts of the book unless I was simply looking for an introduction to a new technology. They are never covered in-depth enough to do them justice. By leaving them out of this book, the authors were able to provide deeper coverage of the C# 5.0 language.

The book covers a ton of topics. I have listed the chapters below to give you an idea of the topics covered.

1. Introducing C#
2. Data Types
3. Operators and Control Flow
4. Methods and Parameters
5. Classes
6. Inheritance
7. Interfaces
8. Value Types
9. Well-Formed Types
10. Exception Handling
11. Generics
12. Delegates and Lambda Expressions
13. Events
14. Collection Interfaces with Standard Query Operators
15. LINQ with Query Expressions
16. Building Custom Collections
17. Reflection, Attributes, and Dynamic Programming
18. Multithreading
19. Thread Synchronization
20. Platform Interoperability and Unsafe Code
21. The Common Language Infrastructure
A. Downloading and Installing the C# Compiler and CLI Platform
B. Tic-Tac-Toe Source Code Listing
C. Interfacing with Mutithreading Patterns Prior to the TPL and C# 5.0
D. Timers Prior to the Async/Await Pattern of C# 5.0
Index
Index of 5.0 Topics
Index of 4.0 Topics
Index of 3.0 Topics

One of the coolest things about this book is the 4 indexes. Not only is there a really nice complete index, the authors have also provided an index for .NET 3.0, 4.0, and 5.0 topics to make it easier to find version specific topics.

Each chapter starts with a mind map that provides an at-a-glance view of the topics covered in the chapter. These give you a really nice view of what to expect from the chapter.

Each chapter is packed with sidebar coding guidelines containing dos, don'ts, considerations, and things to avoid for the topic at hand.

The authors also have included sections titled Beginner Topics and Advanced Topics. These are nice because it helps those just getting started to identify advanced topics that they can skip when just starting out, and it shows advanced readers what they can skip when delving into a topic.

They have also include something pretty cool they call Language Contrast sidebars. They identify key differences between C# and other languages. The languages include C++, Java, and Visual Basic .NET.

Although the things I mentioned above add tremendous value to the book, the best the about the book is the author's writing styles. Both of them write in a way that makes the book interesting and easy to read. The flow of topics are very logical making the book easy to read cover to cover, but it is also a great reference. The indexes I have mentioned above really help make this fast and easy to use reference.

The only ding I will give this book is the download for the sample code is not complete. Mark (one of the authors) says on his site you can email him to request individual samples. I had emailed him asking where the download was because I couldn't find it the second time I looked for it, and got back a response that he is travelling until February. I was looking for the download because I noticed samples missing and wanted to see if there was a more complete version available. There are projects for the samples that are missing, but they are just empty. The author's should take the time to fix this. Either delete the empty projects, or complete them. They should also include a read me file explaining the missing samples are intentionally missing.

The missing source code does not take any value away from the book. They are complete in the book and are small. It was just a bit confusing.

Over all I highly recommend this book to all levels of C# developers. I will definitely be keeping this book by my side.

For more book recommendations check out my .NET, iOS, and Java Architecture and Development Book Recommendations for 2013

Essential C# 5.0 (4th Edition)

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

@MicroservicesExpo Stories
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
We define Hybrid IT as a management approach in which organizations create a workload-centric and value-driven integrated technology stack that may include legacy infrastructure, web-scale architectures, private cloud implementations along with public cloud platforms ranging from Infrastructure-as-a-Service to Software-as-a-Service.
When you focus on a journey from up-close, you look at your own technical and cultural history and how you changed it for the benefit of the customer. This was our starting point: too many integration issues, 13 SWP days and very long cycles. It was evident that in this fast-paced industry we could no longer afford this reality. We needed something that would take us beyond reducing the development lifecycles, CI and Agile methodologies. We made a fundamental difference, even changed our culture...
As many know, the first generation of Cloud Management Platform (CMP) solutions were designed for managing virtual infrastructure (IaaS) and traditional applications. But that’s no longer enough to satisfy evolving and complex business requirements. In his session at 21st Cloud Expo, Scott Davis, Embotics CTO, will explore how next-generation CMPs ensure organizations can manage cloud-native and microservice-based application architectures, while also facilitating agile DevOps methodology. He wi...
These days, change is the only constant. In order to adapt and thrive in an ever-advancing and sometimes chaotic workforce, companies must leverage intelligent tools to streamline operations. While we're only at the dawn of machine intelligence, using a workflow manager will benefit your company in both the short and long term. Think: reduced errors, improved efficiency and more empowered employees-and that's just the start. Here are five other reasons workflow automation is leading a revolution...
As today's digital disruptions bounce and smash their way through conventional technologies and conventional wisdom alike, predicting their path is a multifaceted challenge. So many areas of technology advance on Moore's Law-like exponential curves that divining the future is fraught with danger. Such is the problem with artificial intelligence (AI), and its related concepts, including cognitive computing, machine learning, and deep learning.
We have Continuous Integration and we have Continuous Deployment, but what’s continuous across all of what we do is people. Even when tasks are automated, someone wrote the automation. So, Jayne Groll evangelizes about Continuous Everyone. Jayne is the CEO of the DevOps Institute and the author of Agile Service Management Guide. She talked about Continuous Everyone at the 2016 All Day DevOps conference. She describes it as "about people, culture, and collaboration mapped into your value streams....
In our first installment of this blog series, we went over the different types of applications migrated to the cloud and the benefits IT organizations hope to achieve by moving applications to the cloud. Unfortunately, IT can’t just press a button or even whip up a few lines of code to move applications to the cloud. Like any strategic move by IT, a cloud migration requires advanced planning.
Did you know that you can develop for mainframes in Java? Or that the testing and deployment can be automated across mobile to mainframe? In his session and demo at @DevOpsSummit at 21st Cloud Expo, Dana Boudreau, a Senior Director at CA Technologies, will discuss how increasingly teams are developing with agile methodologies, using modern development environments, and automating testing and deployments, mobile to mainframe.
“Why didn’t testing catch this” must become “How did this make it to testing?” Traditional quality teams are the crutch and excuse keeping organizations from making the necessary investment in people, process, and technology to accelerate test automation. Just like societies that did not build waterways because the labor to keep carrying the water was so cheap, we have created disincentives to automate. In her session at @DevOpsSummit at 20th Cloud Expo, Anne Hungate, President of Daring System...
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory?
Most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes a lot of work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reduction in cost ...
Docker is on a roll. In the last few years, this container management service has become immensely popular in development, especially given the great fit with agile-based projects and continuous delivery. In this article, I want to take a brief look at how you can use Docker to accelerate and streamline the software development lifecycle (SDLC) process.
@DevOpsSummit at Cloud Expo taking place Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center, Santa Clara, CA, is co-located with the 21st International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is ...
Cloud adoption is often driven by a desire to increase efficiency, boost agility and save money. All too often, however, the reality involves unpredictable cost spikes and lack of oversight due to resource limitations. In his session at 20th Cloud Expo, Joe Kinsella, CTO and Founder of CloudHealth Technologies, tackled the question: “How do you build a fully optimized cloud?” He will examine: Why TCO is critical to achieving cloud success – and why attendees should be thinking holistically ab...
DevOps is good for organizations. According to the soon to be released State of DevOps Report high-performing IT organizations are 2X more likely to exceed profitability, market share, and productivity goals. But how do they do it? How do they use DevOps to drive value and differentiate their companies? We recently sat down with Nicole Forsgren, CEO and Chief Scientist at DORA (DevOps Research and Assessment) and lead investigator for the State of DevOps Report, to discuss the role of measure...
If you are part of the cloud development community, you certainly know about “serverless computing”, almost a misnomer. Because it implies there are no servers which is untrue. However the servers are hidden from the developers. This model eliminates operational complexity and increases developer productivity. We came from monolithic computing to client-server to services to microservices to serverless model. In other words, our systems have slowly “dissolved” from monolithic to function-by-func...
While some vendors scramble to create and sell you a fancy solution for monitoring your spanking new Amazon Lambdas, hear how you can do it on the cheap using just built-in Java APIs yourself. By exploiting a little-known fact that Lambdas aren’t exactly single-threaded, you can effectively identify hot spots in your serverless code. In his session at @DevOpsSummit at 21st Cloud Expo, Dave Martin, Product owner at CA Technologies, will give a live demonstration and code walkthrough, showing how ...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.