Thursday, April 19, 2012

What is HD

What is HD technology?

HD is the latest development in home entertainment. But what is it?


The home entertainment market advances at a rapid rate. Many new technologies are designed and introduced each year but only a few of them receive mainstream acceptance. The most recent of these is HD technology. HD stands for High Definition and this technology is being used to create High Definition TVs. HDTV offers a sharpness and detail that has never been experienced in home entertainment.

HDTV is the latest buzz word in the technology sphere. Everyone is heading to buy the latest and best HDTV screen available today. Many top brands bring you these screens at affordable prices with the latest features and best technology. There are many variations of HDTV and many of the key electronics manufacturers that are making them.
 High Definition TVs give crystal clear pictures integrated with Dolby Digital sound to match the quality that you experience in the cinemas. Unlike ordinary analog TVs the HDTV digitalize the TV programming to give you theatre quality pictures and audio. The widescreen High definition integrated with Dolby digital sound makes your television viewing life like. You actually are gripped by what you see. And now companies like Toshiba have brought you the HD DVD players and Blu-Ray players that help you see the real picture come alive. This helps you to see your High Definition TV in complete glory. Sony is a leading brand for HDTV yet you can find many cheaper brands that are just as good as the expensive ones.
With the “progressive” scan technology the HDTV can produce a flicker-free image. This helps you to read the text more easily and also it eases your viewing experience as fast moving images comes more relaxed on it. In short the HDTV is enabled to refresh all the one million pixels simultaneously to give you breath-taking picture quality. Can we now say that you can really live life in High Definition TV?

What is Aeronautics?

What is Aeronautics?

Link to Adult's Public Site Page



Definition

Aeronautics is the study of the science of flight. Aeronautics is the method of designing an airplane or other flying machine. There are four basic areas that aeronautical engineers must understand in order to be able to design planes. To design a plane, engineers must understand all of these elements.

Design Process

1 Aerodynamics is the study of how air flows around the airplane. By studying the way air flows around the plane the engineers can define the shape of the plane. The wings, the tail, and the main body or fuselage of the plane all affect the way the air will move around the plane.
2. Propulsion is the study of how to design an engine that will provide the thrust that is needed for a plane to take off and fly through the air. The engine provides the power for the airplane. The study of propulsion is what leads the the engineers determine the right kind of engine and the right amount of power that a plane will need
3. Materials and Structures is the study of what materials are to be used on the plane and in the engine and how those materials make the plane strong enough to fly effectively. The choice of materials that are used to make the fuselage wings, tail and engine will affect the strength and stability of the plane. Many airplane materials are now made out of composites, materials that are stronger than most metals and are lightweight.
4. Stability and Control is the study of how to control the speed, direction, altitude and other conditions that affect how a plane flies. The engineers� design the controls that are needed in order to fly and instruments are provided for the pilot in the cockpit of the plane. The pilot uses these instruments to control the stability of the plane during flight.

Engineering and Science Careers at NASA

What are the different kinds of careers in aerospace?

NASA Engineering Teams consist of many individuals - engineers, technicians, and scientists and various support personal.
Engineering and Science Careers offer:

  • Challenging jobs
  • Good pay and benefits
  • Lasting and tangible products
  • Help to humankind
  • Prestige and status
  • Continued educational experiences

Scientists

Scientists are knowledge seekers. They are inquisitive, seeking answers to known questions and finding many more questions.
  • Astronomy
  • Biology
  • Chemistry
  • Computer
  • Economics
  • Geology
  • Materials
  • Mathematics
  • Medical Doctor
  • Meteorology
  • Nutrition
  • Oceanography
  • Psychology
  • Physics
  • Physiology
  • Sociology
  • Statistics
  • Systems Analysis

Engineers

Engineers are problems solvers. They are the people that make things work and make life interesting, comfortable, and fun.
  • Aerospace
  • Architectural
  • Astronautics
  • Biomedical
  • Chemical
  • Civil
  • Computer
  • Electrical
  • Environmental
  • Industrial
  • Metallurgical
  • Mechanical
  • Nuclear
  • Petroleum
  • Safety
  • Systems

Technicians

Technicians are skilled personnel. Their skills are necessary for the research and development activities of Engineers and Scientist.
  • Aerospace
  • Aircraft
  • Avionics
  • Communications
  • Electrical
  • Electronic
  • Engineering
  • Fabrication
  • Materials
  • Mechanics
  • Modeling
  • Pattern Making

Preparing for an Aerospace Career

Engineers, scientists, and technicians rely on years of accumulated creative and academic skills to be part of a NASA Engineering Team. The journey to become a team member started when you were born and has continued throughout your life. Most engineering, scientific, and technical jobs require not only a High School Diploma or equivalent, but an Associate, Bachelor, or Graduate Degree.
While you're in High School you should take:
  • Algebra
  • Biology
  • Calculus
  • Chemistry
  • Computer Applications / Programming
  • English
  • Fine Arts / Humanities
  • Foreign Language
  • Geometry
  • Physics
  • Social Studies
  • Trigonometry
For Engineering and Science, Advanced Placement or Honors level courses are recommended.
Technicians need to meet the same general High School requirements, but Advanced Placement or Honors courses are not necessary. Drafting, mechanics, electronics, or similar technical courses are also recommended.
College and Universities seek "well rounded" students. Extracurricular activities and part time or summer jobs are also important.
Education Beyond High School
To begin a career as an Engineer or Scientist you need to obtain a Bachelor's Degree from an accredited College or University. Courses are usually completed in four to five years for full time students. Universities also offer graduate programs where students can obtain Master's and Doctoral Degrees in Science and Engineering. A Master's program generally takes two years. An additional two to four years is needed to earn a Doctorate.
Technicians typically earn a two year Associate of Science degree. Some may continue for two more years to obtain a Bachelor's degree. A few complete a five year apprenticeship program offered at some NASA field centers.
Preparing to become a NASA Engineering Team member is difficult. It requires a considerable amount of time, energy, and dedication... but the rewards are worth it.

Spaceship

Assignment: Design a Spaceship


Requirements - It must:
  • achieve mission with payload and/or passengers.
  • be easily and economically produced and maintained.
  • be reusable and have as few stages as possible to reduce cost and recover expensive materials.
  • pass all engineering and flight tests.
  • BE COST EFFECTIVE.
Engineers at NASA's Langley Research Center must consider many questions as they design the next generation of space vehicles. Their approach is not CAN they do it, but HOW can they do it BETTER than before and more cost effectively.
One of Langley's jobs is to create new and innovative technologies to meet the challenges of space flight and lower the cost of future space missions. With technological advances in many areas and expanded needs and capabilities of space missions, NASA researchers face unlimited possibilities. As they work through a series of steps from concept inception to full-scale design, they may hit stumbling blocks and be forced to retrace their steps and sometimes even start over. At every turn, however, they are pioneering their way through science and engineering, turning theories into reality. Their designs must pass final qualification tests and be proven cost efficient. Only then will they be considered for service.

What is a Spaceship

A spaceship is designed to travel in space and may be launched from Earth by a launch vehicle. It may carry a payload to accomplish a mission with or without people and return to Earth. HL-20 transport vehicle
HL-20. This personnel transporter has made it to
the mock-up stage and awaits further approval before
being built.

FIVE STEPS TO BLASTOFF

STEP ONE: Mission Purpose

What is the purpose of the mission? That question begins the avalanche of other questions which lead toward design requirements. What is the payload, how big is it, how much acceleration and entry heating must it take? Once these, and many more requirements are decided, a study is done to determine whether the mission performance requirement can be met.
HL-20 schematics
Step 1. The HL-20 was designed by NASA Langley
to carry astronauts back and forth to the space
station and to serve as an emergency return
vehicle while they are there.

STEP TWO: Design

The nature of the payload and its special needs help determine the design - shape, size and configuration - of the space vehicle. If people are going, there are obvious unique requirements, such as seating capacity, entrance and exit hatches and access to certain systems. The configuration of the spacecraft must provide for all of the support systems, such as communications, electrical systems and life support.
Cutaway view of HL-20
Step 2. Researchers considered various
configurations for the HL-20. External access to
subsystems, to allow for easy maintenance, and
enough room for eight passengers were two top priorities.

STEP THREE: Analyses

NASA Langley engineers must determine the craft's general operation before launch and upon its return. They must analyze the aerodynamic, or air flow, characteristics of the configuration, as well as monitor structural stress, effects of high speed, heat tolerances and the performance trajectory, or course it flies to space and back.
Engineers must consider appropriate new materials for the spaceship that could minimize cost and weight. Every pound of extra structure may take up to 10 pounds more in total launch weight to get it into space - and back. And every pound of structure raises the cost of the mission.
HL-20 design & analysis
Step 3. The HL-20 design was analyzed for
aerodynamics in wind tunnels and by computer,
to understand how the air would flow around
it and would affect its flight into space and back.

STEP FOUR: Testing

Once the spaceship has been designed, it must be certified for flight through a series of performance, vibration and thermal tests. It is now time to test the actual structure with models of the design.
It is not necessary to build an entire spaceship for initial testing. Instead, engineers build and test the individual components. A wing, for example, may be subjected to tests that are not appropriate for any other part of the vehicle.
After initial testing, any parts of the spaceship structure or internal systems which do not meet performance requirements are then redesigned and retested.
Water entry testing
Step 4. Water entry tests using a small-scale
model of the actual design.

STEP FIVE: Fabrication

Once a final design passes initial tests, a full-scale model, or mock-up, is fabricated in fiber glass or other inexpensive materials. Afterward, an actual prototype, called the flight model, may be built and then tested to assure the quality of design. If it passes many hours of tests including a series of experimental flight tests, it is ready for production and operation.
HL-20 interior mock-up
Step 5. A mock-up of the interior design of
the HL-20 enables real astronauts to
determine if they can move and function as planned.

Next Generation Has Arrived

Current space missions require a launch vehicle with rocket stages to get a spaceship such as the HL-20 into space. As we approach the new millennium, NASA Langley is using its experience to help industry develop and introduce the next generation of space vehicles. One of its top priorities is a fully reusable spaceship, a launch vehicle, which would fly to space and back as a single unit or single stage. Depending on the mission, the reusable launch vehicle could support sophisticated, high-precision, deployable instruments for specific scientific research. A prototype of this vehicle, the X-33, is slated to fly in 1999.
NASA Langley engineers also have an active role in the design of the International Space Station, the components of which are currently being built.

Summary

NASA Langley's current development of next generation launch vehicles follows a systemized course from inception to prototypes to flight vehicles. With the goal to reuse vehicle components and eliminate multi-stage rockets, NASA Langley researchers have brought us into the 21st Century and will continue to meet the ever changing and expanding requirements of space missions.

4G Technology

4G Technology

What is 4G technology

When talking about 4G, question comes to our mind is what is 4G Technology. 4G is short for Fourth (4th) Generation Technology. 4G Technology is basically the extension in the 3G technology with more bandwidth and services offers in the 3G. But at this time nobody exactly knows the true 4G definition. Some people say that 4G technology is the future technologies that are mostly in their maturity period. The expectation for the 4G technology is basically the high quality audio/video streaming over end to end Internet Protocol. If the Internet Protocol (IP) multimedia sub-system movement achieves what it going to do, nothing of this possibly will matter. WiMAX or mobile structural design will become progressively more translucent, and therefore the acceptance of several architectures by a particular network operator ever more common.


 
Many Technologies appear in many different flavours and have many diverse tags attached to them, but that does not really indicate that they are moving in dissimilar tracks. The technologies that fall in the 4G categories are UMTS, OFDM, SDR, TD-SCDMA, MIMO and WiMAX to the some extent.

4G Technology offers high data rates that will generate new trends for the market and prospects for established as well as for new telecommunication businesses. 4G networks, when tied together with mobile phones with in-built higher resolution digital cameras and also High Definition capabilities will facilitate video blogs.


 
After successful implementation, 4G technology is likely to enable ubiquitous computing, that will simultaneously connects to numerous high date speed networks offers faultless handoffs all over the geographical regions. Many network operators possibly utilize technologies for example; wireless mesh networks and cognitive radio network to guarantee secure connection & competently allocates equally network traffic and bandwidth.

Some of the companies trying 4G mobile communication at 100 Mbps for mobile users and up to 1 Gbps over fixed stations. They planned on publicly launching their first commercial wireless network around 2010. As far as other competitor’s mobile communication companies working on 4G technology even more quickly. Sprint Nextel was planned to launch WiMAX over 4G broadband mobile network in United States. Some of the other developed countries like United Kingdom stated a plan to sale via auction of 4G mobile frequencies couple of years back. The word “MAGIC” also refers to 4G technology which stands for Mobile multimedia, Any-where, Global mobility solutions over, Integrated wireless and Customized services.

Latest Additions:
iPhone 4S
iPhone 4
iPhone 3G
What is 5G Network
What is 3GPP

Features of JAVA 1.7

Java 1.7 - What's new? Release date, code examples and performance

[10 Apr 10 at 09:17:26 - 53 comment(s)]
I have been reading quite a lot about Java 1.7. There are articles about what's new, some code examples, some benchmark to compare performance with previous version of Java and discussion on when it will be released. I have decided to regroup all I have discovered in this article so that I and maybe you, won't have to spend hours surfing the web to find all this information. Don't hesitate to leave a comment if I missed something.

What's new in Java 1.7?

First thing first. To determine what set of small language changes should be added to JDK 7, a project has been set up called Project Coin. The final five changes (bit more than 5) are described on the following blog entry of Joseph D. Darcy.
So what made it through is the following:
  • Strings in switch
  • Automatic Resource Management
  • Improved Type Inference for Generic Instance Creation (diamond)
  • Simplified Varargs Method Invocation
  • An omnibus proposal for better integral literals
  • Language support for Collections
  • Language support for JSR 292
There is a list of other features available on the OpenJDK 7 features page.
These features are divided in different categories:

VM
  • Compressed 64-bit object pointers
  • Garbage-First GC (G1)
  • JSR 292: VM support for non-Java languages (InvokeDynamic)

lang
  • SR 294: Language and VM support for modular programming
  • JSR 308: Annotations on Java types
  • JSR TBD: Small language enhancements (the Project Coin I was talking about)
  • JSR TBD: Project Lambda

core
  • Modularization (Project Jigsaw)
  • Upgrade class-loader architecture
  • Method to close a URLClassLoader
  • Unicode 5.1
  • Concurrency and collections updates (jsr166y)
  • JSR 203: More new I/O APIs for the Java platform (NIO.2)
  • SCTP (Stream Control Transmission Protocol)
  • SDP (Sockets Direct Protocol)
  • Elliptic-curve cryptography (ECC)

client
  • XRender pipeline for Java 2D
  • Forward-port 6u10 deployment features
  • Create new platform APIs for 6u10 graphics features
  • Nimbus look-and-feel for Swing
  • Swing JLayer component

web
  • Update the XML stack
As you can see there is a lot of stuff. I personally tried the new Garbage Collector (G1) a few months back and was really impressed by the performance. Unfortunately the JVM was crashing every few hours so it couldn't be used for production. This GC is available in Java 1.6 as well but same thing, it crashes every so often.
I think that's it for the new features. Maybe it's a good idea to see some code examples now.

Code examples for new features in Java 1.7

Most of what is below come from the excellent article from Joe Wright on his blog about New language features in Java 7

Language support for collections

This is all about writing less code when you create a List, a Set or a Map. You don't have to instantiate the Object and then add the element to the Collection. You can now do it in 1 line.
List list = ["item"];
String item = list[0];

Set set = {"item"};

Map map = {"key" : 1};
int value = map["key"];

Automatic Resource Management

Annoyed to have verbose code because of try / catch statement. You will love this one.
Indeed, this:
BufferedReader br = new BufferedReader(new FileReader(path));
try {
   return br.readLine();
} finally {
   br.close();
}
Become this:
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
   return br.readLine();
}

Improved Type Inference for Generic Instance Creation (diamond)

Same thing, today you specify the Generic when you declare the interface of your object and then you have to repeat yourself when you instantiate the object. You won't have to now as you can do:
Map> map = new HashMap<>();

Underscores in numeric literals

Not sure this one will be useful to lot of people. You can do:
int billion = 1_000_000_000;

Strings in switch

Nothing to explain here, the title says it all.
String availability = "available";
switch(availability) {
 case "available":
    //code
    break;

  case "unavailable":
    //code
    break;

  case "merged":
    //code

  default:
    //code
    break;
}

Binary literals

You can create binary literals using the 0b prefix
int binary = 0b1001_1001;

That's it for the code examples. It would be great if someone can point me on more things. I am sure there are plenty of other cool stuff.

Performance of Java 1.7

I have picked up the tests I ran from an article from Taranfx posted here.
So the tests are the following (my code, not his but I followed the same ideas). I ran all of this on a Macbook Pro running ArchLinux (the one with an Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz. I think 2 years old). I have 2Gb of RAM. I set the Heap Size to 728m (-Xms728m -Xmx728m).
Test 1. Add 1 Million String values to a List (the String is a UUID generated using UUID.randomUUID()).
Test 2. HashMap with 1 million keys, values. Each key, value pair is being calculated via concurrent thread. The key is a UUID and the int is generated using Math.random()
Test 3. Printing 1 million items of ArrayList to number of Files (1000). Writing to different files happening in parallel.
I am just comparing Java 1.6 (1.6.0_19) vs Java 1.7 (b87). I added Java 1.5 to this benchmark following a request in the comments but not Java 1.4 as it is from an other age to me.
So here is the result
Performance benchmark Java 1.5 vs Java 1.6 vs Java 1.7

Java 1.5Java 1.6Java 1.7
Test 110,698 sec9,481 sec9,328 sec
Test 269,827 sec37,935 sec36,636 sec
Test 326,931 sec30,868 sec27,383 sec
The difference of performance is clearly not as big as it is in the article of Taranfx. It appears that our implementation of his tests are probably quite different as well as my tests are taking a lot more time than his.

Release date of Java 1.7

In November 2009, it was planned to be in September 2010 as there would be 3 more milestones. Milestone 6 was completed with build 84. b85 was scheduled for the 4th of March 2010, first build of Milestone 7. b87 used in this article has been released the 25th of March 2010. So it looks like a release for September 2010 is more than likely. Though I have been reading an interesting subject on the stackoverflow forum here. You can check the blog of Alex Miller as well. He publishes links to all blog and news items referring to the progress of Java7

What are the new features in JDBC 4.1 of Java 1.7?

JDBC 4.1 becomes part of Java 1.7 / Java SE 7. The upcoming JDBC 4.1 will have two new features when compared to JDBC 4.0 and earlier versions. They are:
Usage of try-with-resources Statement: In JDBC 4.1, the statement try-with-resources can be used to close the JDBC resources automatically. Using this try-with-resources, the objects of type java.sql.connection, java.sql.ResultSet and java.sql.statement can be automatically closed. Example of try-with-resources in JDBC 4.1 is:
public static void sampleQueryProcessing(Connection sampleCon) throws SQLException {
     String sampleQuery = "select ROLLNO, NAME, ADDRESS from STUDENT";
     try (Statement sampleStmt = sampleCon.createStatement()) 
 
   {
       ResultSet sampleResultSet = sampleStmt.executeQuery(sampleQuery);
       while (rs.next()) 
 
      {
            int rollNo = sampleResultSet.getInt("ROLLNO");
            String studentName = sampleResultSet.getString("NAME");
            String studentAddress = sampleResultSet.getString("ADDRESS");
            System.out.println(“ROLLNO:” + rollNo + " NAME: " + studentName + "
                     ADDRESS: " + studentAddress);
      }
    }
  } 
In this Java code snippet, a method called sampleQueryProcessing processes a query to retrieve records from STUDENT table of Oracle database. Notice the difference in try statement.
The try statement “try (Statement sampleStmt = sampleCon.createStatement())” is an example of the try-with-resources statement in JDBC 4.1. In this line of code, a new Statement instance called sampleStmt is created within the try statement. When the try block terminates, the object sampleStmt will be automatically closed.
RowSetFactoryInterface and RowSetProviderClass: The JDBC 4.1 belonging to Java 1.7 / Java 7 introduces a new interface called RowSetFactoryInterface and a new class called RowSetProvider class using which any types of row sets that are supported by the JDBC Driver can be created. Example of RowSetFactory and RowSetProvider is:
public void sampleMethod(String sampleUserName, String samplePassword) throws SQLException  
{
               RowSetFactory sampleRowSetFactory = null;
               JdbcRowSet sampleRowSet = null;
                   try 
 
               {
                               sampleRowSetFactory = RowSetProvider.newFactory();
                               sampleRowSet = sampleRowSetFactory.createJdbcRowSet();
                               sampleRowSet.setUrl("jdbc:sampleDriver:sampleAttribute");
                               sampleRowSet.setUsername(sampleUserName);
                               sampleRowSet.setPassword(samplePassword);
                               sampleRowSet.setCommand(""select ROLLNO, NAME, ADDRESS 
 
                                              from STUDENT");
                               sampleRowSet.execute();
                              // …
               }
               catch(Exception e)
               {
               }
}
Here the object sampleRowSetFactory of the interface RowSetFactory is initially set to null. Then inside try block, the object is instantiated using:
sampleRowSetFactory = RowSetProvider.newFactory();
The object is thus assigned with default implementation of RowSetFactory namely com.sun.rowset.RowSetFactoryImpl. If the JDBC Driver has any RowSetFactory Implementation defined, then that can be used instead of newFactory. When sampleRowSetFactory is instantiated, it can be used to create an object of JDBCRowSet and configure its database connection properties.
When Java 1.7 is released, these two features will be extensively used in JDBC 4.1

Features of .NET

What's New in the .NET Framework 4

.NET Framework 4
186 out of 249 rated this helpful - Rate this topic

Updated: March 2012
This topic contains information about key features and improvements in the .NET Framework version 4. This topic does not provide comprehensive information about all new features and is subject to change.
The .NET Framework 4 introduces an improved security model. For more information, see Security Changes in the .NET Framework 4. For lists of new namespaces, new types, and new members added to existing types, see New Types and Members in the .NET Framework 4. Other new features and improvements in the .NET Framework 4 are described in the following sections:
The following optional updates to .NET Framework 4 are also available:
  • Visual Studio 2010 Service Pack 1 (SP1), which includes an update to the .NET Framework 4.
  • Update 4.0.3 for Microsoft .NET Framework 4 and earlier updates, which include several enhancements for the .NET Framework.
The .NET Framework 4 is highly compatible with applications that are built with earlier .NET Framework versions, except for some changes that were made to improve security, standards compliance, correctness, reliability, and performance.
The .NET Framework 4 does not automatically use its version of the common language runtime to run applications that are built with earlier versions of the .NET Framework. To run older applications with .NET Framework 4, you must compile your application with the target .NET Framework version specified in the properties for your project in Visual Studio, or you can specify the supported runtime with the Element in an application configuration file.
If your application or component does not work after .NET Framework 4 is installed, please submit a bug on the Microsoft Connect Web site. You can test compatibility as described in the .NET Framework 4 Application Compatibility topic and learn about new features by using the Visual Studio 2010 and .NET Framework 4 Walkthroughs.
For guidance about migrating to the .NET Framework 4, see Migration Guide to the .NET Framework 4 and Version Compatibility in the .NET Framework.
The following sections describe deployment improvements.

Client Profile

The .NET Framework 4 Client Profile supports more platforms than in previous versions and provides a fast deployment experience for your applications. Several new project templates now target the Client Profile by default. For more information, see .NET Framework Client Profile.

In-Process Side-by-Side Execution

This feature enables an application to load and start multiple versions of the .NET Framework in the same process. For example, you can run applications that load add-ins (or components) that are based on the .NET Framework 2.0 SP1 and add-ins that are based on the .NET Framework 4 in the same process. Older components continue to use the older .NET Framework version, and new components use the new .NET Framework version. For more information, see In-Process Side-by-Side Execution.

Portable Class Library

When you install Visual Studio 2010 Service Pack 1 (SP1) and the Portable Library Tools, you can create portable class libraries that run on a variety of .NET Framework platforms without recompiling. For more information, see Portable Class Libraries.
Back to top
The following sections describe new features and improvements provided by the common language runtime and the base class libraries.

Diagnostics and Performance

Earlier versions of the .NET Framework provided no way to determine whether a particular application domain was affecting other application domains, because the operating system APIs and tools, such as the Windows Task Manager, were precise only to the process level. Starting with the .NET Framework 4, you can get processor usage and memory usage estimates per application domain.
You can monitor CPU and memory usage of individual application domains. Application domain resource monitoring is available through the managed and native hosting APIs and event tracing for Windows (ETW). When this feature has been enabled, it collects statistics on all application domains in the process for the life of the process. See the new AppDomain.MonitoringIsEnabled property.
You can now access the ETW events for diagnostic purposes to improve performance. For more information, see CLR ETW Events and Controlling .NET Framework Logging. Also see Performance Counters and In-Process Side-By-Side Applications.
The System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute attribute enables managed code to handle exceptions that indicate corrupted process state.

Globalization

The .NET Framework 4 provides new neutral and specific cultures, updated property values, improvements in string handling, and other improvements. For more information, see What's New in Globalization and Localization.

Garbage Collection

The .NET Framework 4 provides background garbage collection. This feature replaces concurrent garbage collection in previous versions and provides better performance. For more information, see Fundamentals of Garbage Collection.

Code Contracts

Code contracts let you specify contractual information that is not represented by a method's or type's signature alone. The new System.Diagnostics.Contracts namespace contains classes that provide a language-neutral way to express coding assumptions in the form of preconditions, postconditions, and object invariants. The contracts improve testing with run-time checking, enable static contract verification, and support documentation generation. For more information, see Code Contracts.

Design-Time-Only Interop Assemblies

You no longer have to ship primary interop assemblies (PIAs) to deploy applications that interoperate with COM objects. In the .NET Framework 4, compilers can embed type information from interop assemblies, selecting only the types that an application (for example, an add-in) actually uses. Type safety is ensured by the common language runtime. See Using COM Types in Managed Code and Walkthrough: Embedding Type Information from Microsoft Office Assemblies (C# and Visual Basic).

Dynamic Language Runtime

The dynamic language runtime (DLR) is a new runtime environment that adds a set of services for dynamic languages to the CLR. The DLR makes it easier to develop dynamic languages to run on the .NET Framework and to add dynamic features to statically typed languages. To support the DLR, the new System.Dynamic namespace is added to the .NET Framework.
The expression trees are extended with new types that represent control flow, for example, System.Linq.Expressions.LoopExpression and System.Linq.Expressions.TryExpression. These new types are used by the dynamic language runtime (DLR) and not used by LINQ.
In addition, several new classes that support the .NET Framework infrastructure are added to the System.Runtime.CompilerServices namespace. For more information, see Dynamic Language Runtime Overview.

Covariance and Contravariance

Several generic interfaces and delegates now support covariance and contravariance. For more information, see Covariance and Contravariance in Generics.

BigInteger and Complex Numbers

The new System.Numerics.BigInteger structure is an arbitrary-precision integer data type that supports all the standard integer operations, including bit manipulation. It can be used from any .NET Framework language. In addition, some of the new .NET Framework languages (such as F# and IronPython) have built-in support for this structure.
The new System.Numerics.Complex structure represents a complex number that supports arithmetic and trigonometric operations with complex numbers.

Tuples

The .NET Framework 4 provides the System.Tuple class for creating tuple objects that contain structured data. It also provides generic tuple classes to support tuples that have from one to eight components (that is, singletons through octuples). To support tuple objects that have nine or more components, there is a generic tuple class with seven type parameters and an eighth parameter of any tuple type.

File System Enumeration Improvements

New file enumeration methods improve the performance of applications that access large file directories or that iterate through the lines in large files. For more information, see How to: Enumerate Directories and Files.

Memory-Mapped Files

The .NET Framework now supports memory-mapped files. You can use memory-mapped files to edit very large files and to create shared memory for interprocess communication.

64-Bit Operating Systems and Processes

You can identify 64-bit operating systems and processes with the Environment.Is64BitOperatingSystem and Environment.Is64BitProcess properties.
You can specify a 32-bit or 64-bit view of the registry with the Microsoft.Win32.RegistryView enumeration when you open base keys.

Other New Features

The following list describes additional new capabilities, improvements, and conveniences. Several of these are based on customer suggestions.
  • To support culture-sensitive formatting, the System.TimeSpan structure includes new overloads of the ToString, Parse, and TryParse methods, as well as new ParseExact and TryParseExact methods.
  • The new String.IsNullOrWhiteSpace method indicates whether a string is null, empty, or consists only of white-space characters. New overloads have been added to the String.Concat and String.Join methods that concatenate members of System.Collections.Generic.IEnumerable<T> collections.
  • The String.Concat method lets you concatenate each element in an enumerable collection without first converting the elements to strings.
  • Two new convenience methods are available: StringBuilder.Clear and Stopwatch.Restart.
  • The new Enum.HasFlag method determines whether one or more bit fields or flags are set in an enumeration value. The Enum.TryParse method returns a Boolean value that indicates whether a string or integer value could be successfully parsed.
  • The System.Environment.SpecialFolder enumeration contains several new folders.
  • You can now easily copy one stream into another with the CopyTo method in classes that inherit from the System.IO.Stream class.
  • New Path.Combine method overloads enable you to combine file paths.
  • The new System.IObservable<T> and System.IObserver<T> interfaces provide a generalized mechanism for push-based notifications.
  • The System.IntPtr and System.UIntPtr classes now include support for the addition and subtraction operators.
  • You can now enable lazy initialization for any custom type by wrapping the type inside a System.Lazy<T> class.
  • The new System.Collections.Generic.SortedSet<T> class provides a self-balancing tree that maintains data in sorted order after insertions, deletions, and searches. This class implements the new System.Collections.Generic.ISet<T> interface.
  • The compression algorithms for the System.IO.Compression.DeflateStream and System.IO.Compression.GZipStream classes have improved so that data that is already compressed is no longer inflated. Also, the 4-gigabyte size restriction for compressing streams has been removed.
  • The new Monitor.Enter(Object, Boolean) method overload takes a Boolean reference and atomically sets it to true only if the monitor is successfully entered.
  • You can use the Thread.Yield method to have the calling thread yield execution to another thread that is ready to run on the current processor.
  • The System.Guid structure now contains the TryParse and TryParseExact methods.
  • The new Microsoft.Win32.RegistryOptions enumeration lets you specify a volatile registry key that does not persist after the computer restarts.
  • Registry keys are no longer restricted to a maximum length of 255 characters.
Back to top
The Managed Extensibility Framework (MEF) is a new library in the .NET Framework 4 that helps you build extensible and composable applications. MEF enables you to specify points where an application can be extended, to expose services to offer to other extensible applications and to create parts for consumption by extensible applications. It also enables easy discoverability of available parts based on metadata, without the need to load the assemblies for the parts. For more information, see Managed Extensibility Framework Overview and Managed Extensibility Framework. For a list of the MEF types, see the System.ComponentModel.Composition namespace.
Back to top
The .NET Framework 4 introduces a new programming model for writing multithreaded and asynchronous code that greatly simplifies the work of application and library developers. The new model enables developers to write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool. The new System.Threading.Tasks namespace and other related types support this new model. Parallel LINQ (PLINQ), which is a parallel implementation of LINQ to Objects, enables similar functionality through declarative syntax. For more information, see Parallel Programming in the .NET Framework.
Back to top
Networking improvements include the following:
  • Security improvements for Windows authentication in several classes, including System.Net.HttpWebRequest, System.Net.HttpListener, System.Net.Mail.SmtpClient, System.Net.Security.SslStream, and System.Net.Security.NegotiateStream. Extended protection is available for applications on Windows 7 and Windows Server 2008 R2. For more information, see Integrated Windows Authentication with Extended Protection.
  • Support for Network Address Translation (NAT) traversal using IPv6 and Teredo. For more information, see NAT Traversal using IPv6 and Teredo.
  • New networking performance counters that provide information about HttpWebRequest objects. For more information, see Networking Performance Counters.
  • In the System.Net.HttpWebRequest class, support for using large byte range headers (64-bit ranges) with new overloads for the AddRange method. New properties on the System.Net.HttpWebRequest class allow an application to set many HTTP headers. You can use the Host property to set the Host header value in an HTTP request that is independent from the request URI.
  • Secure Sockets Layer (SSL) support for the System.Net.Mail.SmtpClient and related classes.
  • Improved support for mail headers in the System.Net.Mail.MailMessage class.
  • Support for a null cipher for use in encryption. You can specify the encryption policy by using the System.Net.ServicePointManager class and the EncryptionPolicy property. Constructors for the System.Net.Security.SslStream class now take a System.Net.Security.EncryptionPolicy class as a parameter.
  • Credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication in the System.Net.NetworkCredential class. To improve security, passwords may now be treated as System.Security.SecureString instances rather than System.String instances.
  • Ability to specify how a URI with percent-encoded values is converted and normalized in the System.Uri and System.Net.HttpListener classes. For more information, see the System.Net.Configuration.HttpListenerElement, System.Configuration.SchemeSettingElement, System.Configuration.SchemeSettingElementCollection, and System.Configuration.UriSection classes.
Back to top
ASP.NET version 4 introduces new features in the following areas:
  • Core services, including a new API that lets you extend caching, support for compression for session-state data, and a new application preload manager (autostart feature).
  • Web Forms, including more integrated support for ASP.NET routing, enhanced support for Web standards, updated browser support, new features for data controls, and new features for view state management.
  • Web Forms controls, including a new Chart control.
  • MVC, including new helper methods for views, support for partitioned MVC applications, and asynchronous controllers.
  • Dynamic Data, including support for existing Web applications, support for many-to-many relationships and inheritance, new field templates and attributes, and enhanced data filtering.
  • Microsoft Ajax, including additional support for client-based Ajax applications in the Microsoft Ajax Library.
  • Visual Web Developer, including improved IntelliSense for JScript, new auto-complete snippets for HTML and ASP.NET markup, and enhanced CSS compatibility.
  • Deployment, including new tools for automating typical deployment tasks.
  • Multi-targeting, including better filtering for features that are not available in the target version of the .NET Framework.
For more information about these features, see What's New in ASP.NET 4 and Visual Web Developer.
Back to top
Windows Presentation Foundation (WPF) version 4 contains changes and improvements in the following areas:
  • New controls, including Calendar, DataGrid, and DatePicker.
  • VisualStateManager supports changing states of controls.
  • Touch and Manipulation enables you to create applications that receive input from multiple touches simultaneously on Windows 7.
  • Graphics and animation supports layout rounding, Pixel Shader version 3.0, cached composition, and easing functions.
  • Text has improved text rendering and supports customizing the caret color and selection color in text boxes.
  • Binding is supported on the Command property of an InputBinding, dynamic objects, and the Text property.
  • XAML browser applications (XBAPs) support communication with the Web page and support full-trust deployment.
  • New types in the System.Windows.Shell namespace enable you to communicate with the Windows 7 taskbar and pass data to the Windows shell.
  • The WPF and Silverlight Designer in Visual Studio 2010 has various designer improvements to help create WPF or Silverlight applications.
For more information, see What's New in WPF Version 4.
Back to top

ADO.NET

ADO.NET provides new features for the Entity Framework, including persistence-ignorant objects, functions in LINQ queries, and customized object layer code generation. For more information, see What's New in ADO.NET.

Dynamic Data

For ASP.NET 4, Dynamic Data has been enhanced to give you even more power for quickly building data-driven Web sites. This includes the following:
  • Automatic validation that is based on constraints that are defined in the data model.
  • The ability to easily change the markup that is generated for fields in the GridView and DetailsView controls by using field templates that are part of a Dynamic Data project.
For more information, see What's New in ASP.NET 4 and Visual Web Developer.

WCF Data Services

ADO.NET Data Service has been renamed to WCF Data Services, and has the following new features
  • Data binding.
  • Counting entities in an entity set.
  • Server-driven paging.
  • Query projections.
  • Custom data service providers.
  • Streaming of binary resources.
For more information, see What's New in WCF Data Services.
Back to top
Windows Communication Foundation (WCF) provides the following improvements:
  • Configuration-based activation: Removes the requirement for having an .svc file.
  • System.Web.Routing integration: Gives you more control over your service's URL by allowing the use of extensionless URLs.
  • Multiple IIS site bindings support: Allows you to have multiple base addresses with the same protocol on the same Web site.
  • Routing Service: Allows you to route messages based on content.
  • Support for WS-Discovery: Allows you to create and search for discoverable services.
  • Standard endpoints: Predefined endpoints that allow you to specify only certain properties.
  • Workflow services: Integrates WCF and WF by providing activities to send and receive messages, the ability to correlate messages based on content, and a workflow service host.
  • WCF REST features:
    • Web HTTP caching: Allows caching of Web HTTP service responses.
    • Web HTTP formats support: Allows you to dynamically determine the best format for a service operation to respond in.
    • Web HTTP services help page: Provides an automatic help page for Web HTTP services, similar to the WCF service help page.
    • Web HTTP error handling: Allows Web HTTP Services to return error information in the same format as the operation.
    • Web HTTP cross-domain JavaScript support: Allows use of JSON Padding (JSONP).
  • Simplified configuration: Reduces the amount of configuration a service requires
For more information, see What's New in Windows Communication Foundation.
Back to top
Windows Workflow Foundation (WF) provides improvements in the following areas:
  • Improved workflow activity model: The Activity class provides the base abstraction of workflow behavior.
  • Rich composite activity options: Workflows benefit from new flow-control activities that model traditional flow-control structures, such as Flowchart, TryCatch, and Switch<T>.
  • Expanded built-in activity library: New features of the activity library include new flow-control activities, activities for manipulating member data, and activities for controlling transactions.
  • Explicit activity data model: New options for storing or moving data include variable and directional arguments.
  • Enhanced hosting, persistence, and tracking options: Hosting enhancements include more options for running workflows, explicit persistence using the Persistactivity, persisting without unloading, preventing persistence by using no-persist zones, using ambient transactions from the host, recording tracking information to the event log, and resuming pending workflows by using a Bookmark object.
  • Easier ability to extend the WF Designer: The new WF Designer is built on Windows Presentation Foundation (WPF) and provides an easier model to use when rehosting the WF Designer outside of Visual Studio.
For more information, see What's New in Windows Workflow Foundation.
Back to top
Platform updates are feature upgrades to the .NET Framework 4. These updates add types and members that you can target when you build your applications. The goal of platform updates is to incrementally expose new features so that you can build rich applications now, before the next major .NET Framework release. The latest platform update available is Update 4.0.3.
Each platform update builds on previous updates, so you can install Update 4.0.3 to get all the features listed in the following table.
Feature
4.0.1
4.0.2
4.0.3
Compensation for custom hosts



SqlWorkflowInstanceStore on SQL Azure



State machine workflows (including designer support)



SQL Server Express Local Database Runtime support in SqlClient



AlwaysOn support in SqlClient



New assemblies in .NET Framework 4 Portable Class Libraries



Correlated Connection ID in SqlClient



Sustained low latency in garbage collection



Windows Workflow Foundation messaging activities enabled across multiple hosts



Support for running workflows in partial trust



Platform Updates

To install a platform update on Visual Studio 2010, you must first install Visual Studio 2010 Service Pack 1 (SP1), and then download one of these packages: design-time update, multi-targeting pack, or run-time update. To develop applications, download the design-time update.
Downloads for Update 4.0.3:
  • Design-time update includes the multi-targeting pack and the run-time update. The update configures Visual Studio 2010 SP1 with new .NET Framework targeting profiles, adds new IntelliSense files, and adds items to the toolbox. This is the only update you need to develop applications. See Knowledge Base article KB2600214.
  • Multi-targeting pack contains reference assemblies and IntelliSense files for the platform update. This package is installed as part of the design-time update, but you can install it independently if you want to configure the .NET Framework 4.0.3 on a computer that contains Visual Studio 11 Beta. See Knowledge Base article KB2600213.
  • Run-time update contains the run-time files for the platform update. This package must be deployed on systems where applications that target the platform update are deployed. It is installed as part of the design-time update. See Knowledge Base article KB2600211.
The latest update (4.0.3) includes all the features from the earlier updates. We recommend that you install the latest update. If you want to install an earlier update, see the following articles on the Microsoft Support website:

.NET Framework Compatibility

All of the features in the platform update will also be available in the production release of the .NET Framework 4.5. Therefore, applications you build for Update 4.0.3 will also work with the production version of the .NET Framework 4.5. Applications that you built for Update 4.0.1 or 4.0.2 will run on a computer that has the .NET Framework 4 and the 4.0.3 run-time update installed. We recommend that you upgrade applications from earlier updates to the Update 4.0.3 run-time, but this is not required.

Targeting Update 4.0.3

When you install the design-time update, you will be able to create new applications that target either the .NET Framework 4.0.3 or the .NET Framework 4.0.3 Client Profile. You can select the target framework when you create a new project or in the project Properties dialog box.

Deploying Update 4.0.3

To configure a computer to run applications that target Update 4.0.3, you must deploy the following run-time files with your application:
  • Update 4.0.3 run-time files.
  • Either the full .NET Framework 4 or the .NET Framework 4 Client Profile (if you target the .NET Framework 4.0.3 Client Profile) for the appropriate .NET Framework 4 run-time files.
For more information, see .NET Framework Deployment Guide for Developers and .NET Framework Client Profile.

Features

The following features are included in the latest platform update.

Compensation for Custom Workflow Hosts

The platform update adds the System.Activities.Statements.CompensationExtension extension to enable compensation behavior in Windows Workflow Foundation. For information about compensation support for custom workflow hosts, see Knowledge Base article KB2478063.

Persistence for SQL Azure

The platform update enables you to use SQL Workflow Instance Store with SQL Azure. For information about persistence support for SQL Azure, see Knowledge Base article KB2478063.

State Machine Workflows

The following new classes were added to support state machine workflows:
  • System.Activities.Statements.StateMachine
  • System.Activities.Statements.State
  • System.Activities.Core.Presentation.FinalState
  • System.Activities.Statements.Transition
  • System.Activities.Statements.Tracking.StateMachineStateQuery
  • System.Activities.Statements.Tracking.StateMachineStateRecord
For more information about how to use the new state machine functionality, see How to: Create a State Machine Workflow and Introduction to State Machine Hands On Lab.

SQL Server Express Local Database Runtime Support in SqlClient

For more information, see SQL Server Express LocalDB Reference in the SQL Server documentation.

AlwaysOn Support for SqlClient

For more information, see AlwaysOn Availability Groups in the SQL Server documentation.

New Assemblies in .NET Framework 4 Portable Class Libraries

The System.Xml.Linq.dll and System.ComponentModel.DataAnnotations.dll assemblies were added to the Portable Class Library project in the .NET Framework 4.0.3. For more information, see Portable Class Libraries.

Correlated Connection ID in SqlClient

SqlClient sends the connection ID to the server so it can be logged. SqlClient also includes the following capabilities to retrieve the connection ID on the client side if it is available:
  • ConnectionId property on SqlConnection
  • ConnectionId property on SqlException
  • SqlException.ToString will include the connection ID
For more information, see SQL Server Extended Events and Data Tracing in ADO.NET.

Sustained Low Latency in Garbage Collection

The value SustainedLowLatency was added to the GCLatencyMode enumeration. Use this setting to minimize the likelihood of a full-blocking garbage collection during time-sensitive operations. However, full-blocking garbage collection may still occur in situations such as low memory or if garbage collection is deliberately induced. The SustainedLowLatency setting is applicable only when concurrent garbage collection is enabled. If concurrent garbage collection is not enabled, SustainedLowLatency does not affect garbage collection behavior. For more information, see Latency Modes.

Windows Workflow Foundation Messaging Activities Enabled Across Multiple Hosts

This update introduces a new workflow extension that is used by messaging activities to send or receive messages. The extension must be provided by the host to be available for execution. The new extension provides methods for each step in the messaging patterns. A host author implements the methods to use with the existing Windows Workflow Foundation 4 programing model.

Workflows in Partial Trust

This update enables workflows that use Windows Workflow Foundation 4 to run in partially trusted environments. However, SqlWorkflowInstanceStore and Visual Basic expressions are not supported by this update and are not available in partial trust.

Reliability Updates

In addition to the platform updates, the .NET Framework provides reliability updates that fix stability, reliability, and performance issues in the .NET Framework 4. These updates are recommended for all developers who want to improve the performance of their applications:
Date
History
Reason

March 2012
Added information about Update 4.0.3.

Information enhancement.

October 2011
Added information about Update 4.0.2.

Information enhancement.

June 2011
Added information about Update 4.0.1.

Information enhancement.
Did you find this helpful?
Community Content Add
Annotations FAQ
New global assembly cache
.NET Framework 4 has a separate global assembly cache, which may be only viewed with gacutil -l. The directory c:\windows\assembly shows the global assembly cache of previous versions of .NET Frameworks. The utility gacutil is usually installed in C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\gacutil.exe
and is in the path of the Visual Studio Command Prompt (2010).