What is POCO and what is DTO in the .NET world?

Plain Old CLR Object or POCO is a play on the term POJO, from the Java programming world (which was coined by Martin Fowler in 2000) and is used by developers targeting the Common Language Runtime of the .NET Framework. POCO is a concept that has been the source of many misconceptions because of the similarity with the concept of DTO (Data Transfer Object).

What is dynamic type in C#? How it is different from object?

C# 4.0 introduced a new type, dynamic. The type is a static type, but an object of type dynamic bypasses static type checking. In most cases, it functions like type object. At compile time, an element that is typed as dynamic is assumed to support any operation. Therefore, you do not have to be concerned about where the object gets its value from. However, if the code is not valid, errors are caught at run time.

What is ADO.NET?

ADO.NET is a feature of Microsoft .NET Framework that you can use to access and manipulate data. It is a part of the base class library that is included with the .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems, though it can also access data in non-relational sources.

What is encapsulation in OOP?

Encapsulation is one of the four fundamental OOP concepts. It is the inclusion within a program object of all the resources needed for the object to properly function on its own - basically, the methods and the data. The object has its public interface and other objects adhere to these interface to use the object without having to be concerned with how the object internally implements it. The idea is "don't tell me how you do it; just do it".

What are the benefits of including 'use strict' at the beginning of a JavaScript source file?

The use strict directive is new in JavaScript 1.8.5 (ECMAScript 5). It is not a statement, but a literal expression, ignored by earlier versions of JavaScript. The short answer here is that use strict is a way to voluntarily enforce stricter parsing and error handling on your JavaScript code at runtime. Code errors that would otherwise have been ignored or would have failed silently will now generate errors or throw exceptions.