XP antivirus 2011

XP Anti-Virus 2011 or also known as Vista Anti-virus 2011 and Win 7 Anti-virus 2011 is a rogue program that will be installed on multiple operating system.

XP Antivirus

What's new in Google's Android 2.3 Gingerbread?

Part of the fun of owning an Android phone is receiving the updates -- you never know what new treats will arrive when one appears on your phone, like Santa coming down the chimney on Christmas Eve

GingerBread

Lenovo ThinkPad X1

Slimmer than Kate Moss after a month on the Slender diet is Lenovo’s gorgeous ThinkPad X1 laptop, details of which have just shimmied on to the InterWebs

Lenovo Thinkpad

Evolution of Cell Phone

Cell phones have evolved immensely since 1983, both in design and function

Evolution of Cell Phone

Samsung Galaxy S2 Review

The Samsung Galaxy S2 brings the Power of Love Samsung's history in the smartphone game has been pretty quiet – a few budget offerings, some false starts with Windows Mobile and the popular Galaxy S is pretty much it

Samsung Galaxy S2 Review

Tuesday, November 23, 2010

D Programming Language

"It seems to me that most of the "new" programming languages fall into one of two categories: Those from academia with radical new paradigms and those from large corporations with a focus on RAD and the web. Maybe it's time for a new language born out of practical experience implementing compilers." -- Michael
"Great, just what I need.. another D in programming." -- Segfault
D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability.
The D language is statically typed and compiles directly to machine code. It's multiparadigm, supporting many programming styles: imperative, object oriented, and metaprogramming. It's a member of the C syntax family, and its appearance is very similar to that of C++. Here's a quick list of features.
It is not governed by a corporate agenda or any overarching theory of programming. The needs and contributions of the D programming community form the direction it goes.
There are two versions of the language:
  1. D version 1 which is in maintenance mode.
  2. D version 2 which is recommended for new projects.

There are currently four implementations:
  1. Digital Mars dmd for Windows 1.0 2.0, x86 Linux 1.0 2.0, Mac OS X 1.0 2.0, and x86 FreeBSD 1.0
  2. LLVM D Compiler ldc for D version 1.
  3. Gnu D compiler gdc.
  4. D.NET compiler alpha for .NET for D version 2.

A large and growing collection of D source code and projects are at dsource. More links to innumerable D wikis, libraries, tools, media articles, etc. are at dlinks.
This document is available as a pdf, as well as in Japanese and Portugese translations. A German book Programming in D: Introduction to the new Programming Language is available, as well as a Japanese book D Language Perfect Guide, and a Turkish book D Programlama Dili Dersleri.
This is an example D program illustrating some of the capabilities:
#!/usr/bin/dmd -run
/* sh style script syntax is supported */

/* Hello World in D
   To compile:
     dmd hello.d
   or to optimize:
     dmd -O -inline -release hello.d
*/

import std.stdio;

void main(string[] args)
{
    writeln("Hello World, Reloaded");

    // auto type inference and built-in foreach
    foreach (argc, argv; args)
    {
        // Object Oriented Programming
        auto cl = new CmdLin(argc, argv);
        // Improved typesafe printf
        writeln(cl.argnum, cl.suffix, " arg: ", cl.argv);
        // Automatic or explicit memory management
        delete cl;
    }

    // Nested structs and classes
    struct specs
    {
        // all members automatically initialized
        int count, allocated;
    }

    // Nested functions can refer to outer
    // variables like args
    specs argspecs()
    {
        specs* s = new specs;
        // no need for '->'
        s.count = args.length;     // get length of array with .length
        s.allocated = typeof(args).sizeof; // built-in native type properties
        foreach (argv; args)
            s.allocated += argv.length * typeof(argv[0]).sizeof;
        return *s;
    }

    // built-in string and common string operations
    writefln("argc = %d, " ~ "allocated = %d",
 argspecs().count, argspecs().allocated);
}

class CmdLin
{
    private int _argc;
    private string _argv;

public:
    this(int argc, string argv) // constructor
    {
        _argc = argc;
        _argv = argv;
    }

    int argnum()
    {
        return _argc + 1;
    }

    string argv()
    {
        return _argv;
    }

    string suffix()
    {
        string suffix = "th";
        switch (_argc)
        {
          case 0:
            suffix = "st";
            break;
          case 1:
            suffix = "nd";
            break;
          case 2:
            suffix = "rd";
            break;
          default:
     break;
        }
        return suffix;
    }
}

No comments: