Sunday, June 17, 2012

History of programming frameworks

In the beginning of time (for programmers), all of the software had to be custom written by the same team. Right from the interface, to the background logic, to tests, and the code to handle user input. Everything was custom coded. There were no common grounds on which two different teams could build their projects.

As it is evident, this is a pretty inefficient way to write code, and building large projects is terribly-terribly hard. As the complexity of computer software grew, computer scientists realized things could not be allowed to remain the way they were.

The programming languages that were subsequently developed were higher level, and had ready made libraries, which held functions that a programmer could call to perform routine tasks like printing data on the monitor, drawing a line, basic math, etc. A programmer could construct libraries of his own, and connect them to several projects, or even sell them to other programmers.

In higher level languages like C++ this was a much encouraged trend. Hundreds of ready-made source code units cropped up that let you do everything from handling input devices, to drawing complex interfaces, and calculating complex mathematical functions. They were called libraries, and sometimes when they became more complex, frameworks.

After Windows became the most popular operating system. Microsoft released a set of ready-made libraries they called the MFC (Microsoft Foundation Classes), which made windows based software development easier in C++ by giving the programmer quick access to many interface elements, and required functions. The MFC was the most popular framework for years.

Tuesday, March 27, 2012

Birth of the .Net (Dot Net) Framework

The .Net framework is the result of the natural progression of framework design. The earlier libraries and even MFC suffered from several shortcomings that sometimes created problems for programmers instead of solving them. They were hated as much they were loved (It's true even for dotnet I guess).

When Sun Micrososystems announced the release of Java, it was given a wonderful response by the programming community, because it solved many of those problems. The most appealing feature was portability, or the run-anywhere power that Java offered. This created a sudden burst in the demand for Java programmers and it became the hottest thing in programming.

An interesting feature of Java was its large framework, which let the programmers get rid of a lot of routine coding.

Another important thing that Java did, was show Microsoft what their available tools lacked, and what could be done to make things better for programmers. Microsoft then sanctioned the creation of a new programming platform that would solve many of the programmer's problems, and help retain its position as the leading development solution provider . The result was .Net framework.

Hacker 'command' servers seized in US: Microsoft

SAN FRANCISCO: Microsoft on Monday said that cyber crime "command" servers in two US states were seized in an ongoing campaign to sever online crooks from infected computers used as virtual henchmen. The software colossus capitalized on laws crafted to fight organized crime groups to obtain court orders to seize servers in Pennsylvania and Illinois being used to control computers corrupted by malicious code. Viruses slipped into people's computers stole online bank account and password information and relayed it to crooks who have looted more than $100 million in the past five years, according to court documents. The "worldwide, illegal" computer networks were an amalgam of more than 13 million infected machines referred to as "Zeus botnets" due to the type of malicious code involved. Zeus malware is designed to log keystrokes typed on computers, watching for patterns that indicate information about online bank accounts. "A number of the most harmful botnets using the Zeus family of malware worldwide have been disrupted in an unprecedented, proactive cross-industry operation against this cybercriminal organization," Microsoft digital crimes unit senior attorney Richard Boscovich said in a blog post. The seizure of "command and control" servers by Microsoft employees escorted by police on Friday was the latest move by the industry to cut elusive cyber criminals off from infected computers used to do their bidding. Microsoft six months ago took down a "botnet" believed to have been used for nefarious activities including spam, stock scams, and sexual exploitation of children, and sued the owner of an online domain used to control operations. The disrupted "Kelihos" network was an apparent reincarnation of the first botnet Microsoft took down with a combination of legal and technical tactics. A year ago, Microsoft dismantled a "notorious and complex" network of virus-infected computers used to send billions of email messages daily hawking fake drugs. That Rustock "botnet" consisted of about a million computers that were infected with malicious code to let hackers covertly control the machines from afar using "command and control" servers. Owners of infected computers are typically not aware that hackers are using their devices. Cutting hackers off from online servers that act as intermediaries, collecting data from and giving orders to armies of infected "zombie" computers, is a creative new tactic in the war on cyber crime. The raids on office buildings in Pennsylvania and Illinois on Friday involved federal court warrants obtained under different laws, including a racketeering act designed to fight the Mafia. Microsoft has teamed up with industry allies and law enforcement agencies to destroy spam or crime spewing botnets to defend the reputation and reliability of the software on which the US technology company's fortune is based. Microsoft six months ago took down a "botnet" believed to have been used for nefarious activities including spam, stock scams, and sexual exploitation of children, and sued the owner of an online domain used to control operations. The disrupted "Kelihos" network was an apparent reincarnation of the first botnet Microsoft took down with a combination of legal and technical tactics.

Saturday, February 11, 2012

What is .Net Framework & How does it work

The .Net framework is a set of readymade programming functions that a programmer can use to perform many common and vital functions. It also has a comprehensive set of elements, that the programmer can use to design the application (software) that he/she is making.

The .Net framework supports the development of both Windows applications (through WinForms), and Web Applications/Websites (through ASP.Net).

The .Net framework is really huge, and is being constantly expanded by Microsoft's programmers to bring newer, and newer functionality. Like C++ library set, the .Net framework is divided into groups (called namespaces), which hold related functions and classes. You can 'use' a namespace in your project and get access to all the classes and functions found in that namespace.

The .Net framework is not limited to one programming language. Many programming languages support the .Net framework, and can call the functions from it. The most popular languages that support the .Net framework are C# (pronounced C.Sharp. Created along with .Net framework), and VB.Net. Many non-Microsoft programming languages too have emerged for the .Net Framework.

At the moment the .Net framework supports only Microsoft Windows and its main job is to hide the complexity of Windows programming by exposing it through a easier-to-use, and more logical classes. It stands over the Windows API, and many features in .Net framework make use of the Windows API internally to give you the functionality you need. There are people who want .Net Framework for other operating systems, and Mono is one such project that aims to port .Net Framework to Linux.

For the Internet, .Net framework allows the creation of rich dynamic websites through ASP.Net. ASP.Net supports C# and VB.Net programming languages and works on Windows Server. Many popular commercial websites have been created using ASP.Net, an example is Orkut, a popular social website.

If you are running a program that makes the use of .Net, you can run it only if you have .Net framework installed on your PC. If you've bought a new computer, or use a newer version of the Windows operating system, the .Net framework will be pre-installed. If you have an older machine or OS, you might need to download and install it. Look on Google.com.

New Thoughts

TCP/IP is the communication protocol for the internet. TCP/IP defines the rule computers must follow to communicate with each other over the internet.
Browsers and servers use TCP/IP to connect to the Internet.
A browser uses TCP/IP to access a server. A server uses TCP/IP to send HTML back to a browser.