Latest Technologies, Open Source Technology, Search Engine Optimization, PHP-MySQL, SEO Techniques, Free Open Source Softwares, Content Management system,future trends in information technology, CMS, Popular Programming Languages by Udaipur Open Source Developer Blog (PHP MYSQL in Udaipur)
Showing posts with label Popular Programming Languages. Show all posts
Showing posts with label Popular Programming Languages. Show all posts
Monday, August 1, 2011
Wednesday, May 18, 2011
Create SEO friendly URL`s using mod rewrite in PHP (.htaccess)
In this tutorial I will show you how to transform this:
Why to rewrite your URL`s ?
The main reason is because static URL`s (the second URL is static) are indexed more faster than dynamic URL`s (like the first one), because from a static URL is easier to understand what the page is about both for search engines and your visitors. When using dynamic URL`s there is an another problem: search engines are reading only the beginning of the long URL`s, so if your addresses are different only at the end, than search engines will see the same URL for all of your pages and from this reason none will be indexed.
How this works ?
We will use Apache mod_rewrite. The mod_rewrite transforms back the second URL into the first URL, so the server will access the "ugly" address, but the visitors and the search engines will see the "clear" one. mod_rewrite simply rewrites the URL`s what meets specific conditions into addresses what are understood by the server.
Let`s rewrite it!
The code what rewrites the website address needs to be placed in your .htaccess file (if you don`t have it in your root folder, create it), the code is very short:
Take it apart!
The first line: RewriteEngine on simply does what it says, it starts the rewrite engine.
Now let`s take apart the second line:
The last part of the line is the old address, the value of each variable (id, title and category) are changed to $3, $2 and $1. mod_rewrite takes these variables and places them in their new position in the new URL. In the first place for data (the first (.*)) it places the $1`s value (the category value), in the second place the value of $2 and so on. If you want to change the order just change the $1, $2 and $3 order, but be careful to set the right data type in the new URL.
http://www.mywebsite.com/tutorials.php?id=123&title=mod_rewrite&category=php
into this http://www.mywebsite.com/tutorials/php/mod_rewrite-123
Why to rewrite your URL`s ?
The main reason is because static URL`s (the second URL is static) are indexed more faster than dynamic URL`s (like the first one), because from a static URL is easier to understand what the page is about both for search engines and your visitors. When using dynamic URL`s there is an another problem: search engines are reading only the beginning of the long URL`s, so if your addresses are different only at the end, than search engines will see the same URL for all of your pages and from this reason none will be indexed.
How this works ?
We will use Apache mod_rewrite. The mod_rewrite transforms back the second URL into the first URL, so the server will access the "ugly" address, but the visitors and the search engines will see the "clear" one. mod_rewrite simply rewrites the URL`s what meets specific conditions into addresses what are understood by the server.
Let`s rewrite it!
The code what rewrites the website address needs to be placed in your .htaccess file (if you don`t have it in your root folder, create it), the code is very short:
RewriteEngine on
RewriteRule ^tutorials/(.*)/(.*)-([0-9]+)/?$ /tutorials.php?id=$3&title=$2&category=$1
RewriteRule ^tutorials/(.*)/(.*)-([0-9]+)/?$ /tutorials.php?id=$3&title=$2&category=$1
Take it apart!
The first line: RewriteEngine on simply does what it says, it starts the rewrite engine.
Now let`s take apart the second line:
RewriteRule - this tells the server about the rule to follow when rewriting the URL^ - this exponential sign means the start of the URL: http://www.mywebsite.com/tutorials - this word is simply added to the website adress/ - this character separates the directories (.*) - this tells the server that here will be placed some data (any kind of characters) (e.g.: php)- - this character will be simply added to the website adress([0-9]) - this tells the server that here will be placed a digit (e.g: 1)+ - the plus sign tells the server that here can be more digits (e.g.: 123)? - this sign tell the server that the character in it`s front it`s not required (so the URL will work with and without the last "/")$ - the dollar sign tells the server that here is the end of the rule
The last part of the line is the old address, the value of each variable (id, title and category) are changed to $3, $2 and $1. mod_rewrite takes these variables and places them in their new position in the new URL. In the first place for data (the first (.*)) it places the $1`s value (the category value), in the second place the value of $2 and so on. If you want to change the order just change the $1, $2 and $3 order, but be careful to set the right data type in the new URL.
Ruby on Rails Proves it Deserves the Hype (JAVA VS RUBY)
With the multitude of programming languages out there such as Fortran, Java, C++ and C#, you may wonder why Ruby on Rails has suddenly become such a hot topic in the development world. Created in the late 1990's by an individual in Japan, the Ruby programming language had a cult following but never reached top-tier status. In 2004, a company called 37 Signals released a Web programming framework called Rails, which was originally developed for their own in-house projects. Rails was written using the Ruby programming language. It is the combination of Ruby and Rails together that has generated notable excitement in the development community, and the emerging language and application framework is proving to be a game-changer to the world of Web application development.
Ruby on Rails' Impact on Productivity
Rails is an integrated framework that utilizes the dynamic nature of the object-oriented Ruby programming language. Rails developers emphasize features of the framework for productivity rather than tools, and they take a common approach to Web architecture that should satisfy the needs of a large portion of the Web application projects in the wild.
As Rails was developed, the innovators of the framework realized that there were a multitude of features inherent to the framework that could benefit all Web applications. Rails is an extremely productive framework for database-backed Web applications. It is different from other frameworks in that it preaches convention over configuration. Typically, if you were building a computer program, you had to start from scratch and rely heavily on the skills and experience of the team's architect to develop and adhere to standards of writing good software. Rails primarily uses conventions to avoid configuration when possible, resulting in time saving and enhanced productivity. In a study by IBM, Rails applications needed a fraction of the configuration code of Java counterparts, often by a factor of ten or more.¹ Where the programmer must specify configuration, Rails usually relies on Ruby programming language to provide configuration. The strategy saves developers many lines of code and simplifies the code that does need to be written. By taking mundane but essential decisions away from the developer, productivity increases substantially because more time and attention is spent satisfying the customer's requirements rather than the technical plumbing that can burden most projects.
Ruby on Rails is known for its ability to build Web applications quickly and with ease. For first-time users of Java, it could take about five to ten days to build a moderately useful Web application that will communicate with a database using accepted Java Web best-practices such as separating business logic, from display logic (commonly referred to as Model-View-Controller). With no prior training on Ruby on Rails, it takes about one day to accomplish the same goal using the Ruby programming language. In several more days, it is possible to build a relatively complete Web application with Ruby on Rails.
In Java, a developer has countless decisions to make about how to proceed when communicating with a database. Should I use JDBC? Should I use an Object-Relational-Mapping (ORM) library, and, if I use an ORM, which one should I choose? TopLink? Hibernate? JDO? Do I need to use EJB2 or EJB3? Rails has an ORM database layer built into its framework called ActiveRecord. Another useful feature of Rails is scaffolding -- Similar to how a building under construction uses scaffolding to assist in the construction of the final structure, Rails can generate code called scaffolding that can be used to quickly put up functional Web pages that talk to a database and allow you to add, delete and change information quickly and with very little coding. As previously mentioned, in other languages you have to select naming conventions and define the general structure of the file system, while Rails utilizes conventions and the Ruby programming language so that all of that is provided for you. Managers will appreciate the fact that Rails minimizes configuration and encourages standardization. This feature enables programming skills to be more portable. Rails developers can move from one project to another with ease, since standards common to all development projects, such as naming conventions, directory structures, unit-test frameworks, and interface templates, are already decided, with working samples always available.
Another feature of Ruby on Rails that enhances developer productivity is the rapid feedback loop. The feedback loop is the amount of time between making a change in code and seeing the results in the execution of your application on the screen. In Rails, you get nearly-instant feedback as you code. There is no compile or packaging phase needed. You can immediately load a browser page to see the results of your changes. Managers should take note of this feature, because with enhanced productivity comes improved client satisfaction. Say you are in a meeting with a client, and they have some edits that they would like for you to incorporate into their Web application. With Ruby on Rails, you can make changes promptly and see the results immediately, improving the overall client experience.
It is important to note that introducing a radically different framework such as Ruby on Rails can be detrimental to a company's development, testing, and production infrastructure. For example, Rails applications are installed differently than common development platforms such as Java or Microsoft's .NET. Operations managers need to understand how to deploy it effectively.
But Rails acceptance is already being witnessed in large companies such as IBM, Microsoft, Apple, and Sun Microsystems. Sun Microsystems supports a project called JRuby that enables Ruby applications to run in a Java Virtual Machine. Efforts like JRuby will make it easier for companies to transition and adapt to Ruby on Rails since it will become a part of a familiar structure. Apple Computer has announced that Ruby on Rails will be included in the next release of its flagship operating system, OS X 10.5 (Leopard). And, even Microsoft has included Ruby programming language support in its newest rich-Internet framework, Silverlight. The world's largest technical publisher, O'Reilly Media, has even acknowledged Ruby's rapid growth and now considers it a major language with triple digit growth between 2006 to 2007. (http://feeds.feedburner.com/~r/oreilly/radar/atom/~3/117292190/state_of_the_co_10.html)
A common question regarding Ruby on Rails relates to its performance relative to its peers. Some companies claim that Ruby on Rails does not perform as well as comparable systems. Comments such as these must be looked at objectively and balanced against productivity gains. Managers then need to make the decision of whether it is cheaper to hire people or purchase additional hardware, and chances are they will find that purchasing more hardware makes better financial sense.
Conclusion
People are paying more and more attention to Ruby on Rails, and for good reason. With the advent of the Rails framework, the Ruby programming language is making its way towards the top. By focusing on convention over configuration, Ruby on Rails is lowering the barriers of entry to programming and positively impacting employee productivity-ultimately proving that all of the hype is true and well-deserved.
Tuesday, May 10, 2011
Building Desktop Applications in PHP
Introduction
So, you’re a hotshot PHP developer. You’ve written a lot of code
powering some pretty cool websites; maybe you’ve even written some
public / open source scripts that other developers are using. You’ve
been through it all with the web, from basic database hacks to battling
with inconsistent browser rendering, and now you want to have a go at
something different.
powering some pretty cool websites; maybe you’ve even written some
public / open source scripts that other developers are using. You’ve
been through it all with the web, from basic database hacks to battling
with inconsistent browser rendering, and now you want to have a go at
something different.
Of course, the standard destination would
be desktop application development. But how can you get into desktop
application development without leaving behind all your existing PHP
skills? In this article, I’ll examine the techniques and systems you
can use to build desktop applications, from GTK libraries to native
Windows API calls.
be desktop application development. But how can you get into desktop
application development without leaving behind all your existing PHP
skills? In this article, I’ll examine the techniques and systems you
can use to build desktop applications, from GTK libraries to native
Windows API calls.
Fundamentals
Now, desktop application development is an entirely different cup of
tea. It’s not what you’re used to: you’re used to being input-driven,
but desktop apps are event driven (Delphi for PHP
is the best of both worlds). As a result, before you start developing
desktop applications, you’ll have to step back for a moment and examine
the differences.
tea. It’s not what you’re used to: you’re used to being input-driven,
but desktop apps are event driven (Delphi for PHP
is the best of both worlds). As a result, before you start developing
desktop applications, you’ll have to step back for a moment and examine
the differences.
As a web developer, you’re familiar with the
basics of web scripting. Client makes request to server, server runs
your PHP code through PHP compiler/interpreter, output is sent to
client etc. etc. Your entire request has finished very quickly;
possibly in less than a second. The user didn’t do anything in between;
the data for the request (cookie data, get / post values, server and
environment variables etc.) was all set once before your code was run.
When executing your script, PHP went from top to bottom, ending at the
last line of code in your PHP file. Once it’s finished, the request is
gone; the process finished, possibly even the thread killed.
basics of web scripting. Client makes request to server, server runs
your PHP code through PHP compiler/interpreter, output is sent to
client etc. etc. Your entire request has finished very quickly;
possibly in less than a second. The user didn’t do anything in between;
the data for the request (cookie data, get / post values, server and
environment variables etc.) was all set once before your code was run.
When executing your script, PHP went from top to bottom, ending at the
last line of code in your PHP file. Once it’s finished, the request is
gone; the process finished, possibly even the thread killed.
Desktop
applications, on the other hand, are nothing like this. Now that we
have full-on JS-heavy web applications, you should have a basic
understanding of how desktop application development works – think of
it like a web application written entirely in JavaScript. It’s heavily
event driven, with functions for different events such as a button
click or a mouse move, and it keeps going without executing any code.
In desktop applications, you first draw the window using some basic UI
code, and then wait – just wait. You have to give up a bit of control
to the operating system – for example, if you want a menu, you
(typically) tell the operating system to draw a menu and to bind some
of your functions to the menu items, then let it take care of the rest.
It takes quite a while to get used to, but soon enough you’ll get the
hang of it, and be building fantastic desktop applications in no time.
applications, on the other hand, are nothing like this. Now that we
have full-on JS-heavy web applications, you should have a basic
understanding of how desktop application development works – think of
it like a web application written entirely in JavaScript. It’s heavily
event driven, with functions for different events such as a button
click or a mouse move, and it keeps going without executing any code.
In desktop applications, you first draw the window using some basic UI
code, and then wait – just wait. You have to give up a bit of control
to the operating system – for example, if you want a menu, you
(typically) tell the operating system to draw a menu and to bind some
of your functions to the menu items, then let it take care of the rest.
It takes quite a while to get used to, but soon enough you’ll get the
hang of it, and be building fantastic desktop applications in no time.
Of
course, as your applications are written in PHP, you can also reuse all
your existing PHP code – well, almost all (HTML output won’t exactly
help). As a result, once you understand the basics of desktop
development, you can be building powerful desktop applications in no
time – you could even integrate with your existing web application!
course, as your applications are written in PHP, you can also reuse all
your existing PHP code – well, almost all (HTML output won’t exactly
help). As a result, once you understand the basics of desktop
development, you can be building powerful desktop applications in no
time – you could even integrate with your existing web application!
Benefits of desktop development
There are a number of benefits to desktop development, from
technical advantages to fundamental benefits. Here are some reasons why
you should be developing desktop applications.
technical advantages to fundamental benefits. Here are some reasons why
you should be developing desktop applications.
Technical advantages
There
are a number of basic technical advantages to desktop-based
applications. They can interact with the local filesystem, allowing
settings to be saved on the user’s computer, files to be retrieved and
manipulated, databases to be stored and so on. They generally integrate
with the GUI toolkit of the operating system, providing a UI style that
the user is familiar with – users are still getting used to the web
application interfaces of our web 2.0 applications. And finally, they
use consistent interfaces, unlike the hope-for-the-best approach to
writing HTML, allowing for complex UI elements.
are a number of basic technical advantages to desktop-based
applications. They can interact with the local filesystem, allowing
settings to be saved on the user’s computer, files to be retrieved and
manipulated, databases to be stored and so on. They generally integrate
with the GUI toolkit of the operating system, providing a UI style that
the user is familiar with – users are still getting used to the web
application interfaces of our web 2.0 applications. And finally, they
use consistent interfaces, unlike the hope-for-the-best approach to
writing HTML, allowing for complex UI elements.
Fundamental advantages
However,
perhaps most importantly, they are geared to user-driven applications,
especially where the user has content to share. Web applications can
easily bring users together, for effective sharing of information.
Desktop applications, on the other hand, can easily work with the user
and manage information, especially when there is no need to share that
information.
perhaps most importantly, they are geared to user-driven applications,
especially where the user has content to share. Web applications can
easily bring users together, for effective sharing of information.
Desktop applications, on the other hand, can easily work with the user
and manage information, especially when there is no need to share that
information.
Gaming is an excellent example; interface and
graphics issues aside, games are built around the user, and as a result
work very well on the desktop. Image editing is another; despite the
availability of online Photoshop alternatives, everything at the higher
end of image editing is still squarely on the desktop. Sure, there’s
Flickr, but Flickr is more geared towards the sharing of photos and
basic editing.
graphics issues aside, games are built around the user, and as a result
work very well on the desktop. Image editing is another; despite the
availability of online Photoshop alternatives, everything at the higher
end of image editing is still squarely on the desktop. Sure, there’s
Flickr, but Flickr is more geared towards the sharing of photos and
basic editing.
As a result, if you’re considering building an
application that fits into one of these categories, and you’ve
currently got a web application in mind, a desktop application is
definitely worth considering.
application that fits into one of these categories, and you’ve
currently got a web application in mind, a desktop application is
definitely worth considering.
Building desktop applications in PHP
To demonstrate basic application development in PHP, we’ll take a
look at the PHP-GTK extension. PHP-GTK offers GTK bindings for PHP,
allowing you to build scripts that create windows using the GTK
graphics toolkit.
look at the PHP-GTK extension. PHP-GTK offers GTK bindings for PHP,
allowing you to build scripts that create windows using the GTK
graphics toolkit.
The desktop approach
As you can
imagine, building a desktop application when coming from a web
background is a whole new ballgame. Consider that, when you run a PHP
script on the web, it goes from top to bottom. When you run a desktop
application, you open it, and wait. And wait. And wait. It doesn’t
matter how long you wait for – you are waiting, and the application is
not doing anything. Of course, the moment you click a button or open a
menu, it springs into action again. At what point in the execution of a
standard PHP script is absolutely nothing happening? (Besides in
imagine, building a desktop application when coming from a web
background is a whole new ballgame. Consider that, when you run a PHP
script on the web, it goes from top to bottom. When you run a desktop
application, you open it, and wait. And wait. And wait. It doesn’t
matter how long you wait for – you are waiting, and the application is
not doing anything. Of course, the moment you click a button or open a
menu, it springs into action again. At what point in the execution of a
standard PHP script is absolutely nothing happening? (Besides in
sleep()
) .Now,
the only real way to achieve this in PHP is an infinite loop, with a
check for some sort of change or input on every iteration. Which is
exactly how the various most of the PHP-desktop systems available
function. Of course, it would be impractical for you to code this loop
manually, as there’s a lot of code all over the place. Instead, you
tell the interface system to draw your interface and bind your
functions/methods to the interface elements. Drawing your interface
involves telling it what interface elements to create – such as buttons
and input boxes – and where to put them. Binding allows you to link
your functions/methods to certain events for these elements. For
example, you could create a button, and have one of your functions
called when the button is clicked.
the only real way to achieve this in PHP is an infinite loop, with a
check for some sort of change or input on every iteration. Which is
exactly how the various most of the PHP-desktop systems available
function. Of course, it would be impractical for you to code this loop
manually, as there’s a lot of code all over the place. Instead, you
tell the interface system to draw your interface and bind your
functions/methods to the interface elements. Drawing your interface
involves telling it what interface elements to create – such as buttons
and input boxes – and where to put them. Binding allows you to link
your functions/methods to certain events for these elements. For
example, you could create a button, and have one of your functions
called when the button is clicked.
That’s where the
fundamentals end and the various differences in systems come into play.
So, let’s take a look at some code to create a basic desktop
application.
fundamentals end and the various differences in systems come into play.
So, let’s take a look at some code to create a basic desktop
application.
PHP-GTK
PHP-GTK is one of the standard
approaches for creating desktop-based PHP applications. As it only
requires GTK for interface bindings, it’s cross-platform – you can
write your application on a Mac, test it on a Linux machine and deploy
it to a Windows box, and with no code adjustments it will look (almost)
exactly the same on each.
approaches for creating desktop-based PHP applications. As it only
requires GTK for interface bindings, it’s cross-platform – you can
write your application on a Mac, test it on a Linux machine and deploy
it to a Windows box, and with no code adjustments it will look (almost)
exactly the same on each.
Before continuing, if you want to try out the code samples, you’ll need a copy of PHP-GTK. You can download it from gtk.php.net;
there are windows binaries, but for everything else you may have to use
CVS. Installation instructions are available on the download page; you
might find these instructions for Ubuntu useful as well.
there are windows binaries, but for everything else you may have to use
CVS. Installation instructions are available on the download page; you
might find these instructions for Ubuntu useful as well.
Now, let’s take a look at a basic PHP-GTK script from the manual. Here’s the full code:
<?php// Code snippet from the PHP-GTK manual.if (!class_exists('gtk')) die("Please load the php-gtk2 module in your php.ini");
$window = new GtkWindow();$window->set_title('Our PHP-GTK window');$window->connect_simple('destroy', array('gtk', 'main_quit'));
$label1 = new GtkLabel("Hello world!");$window->add($label1);
$window->show_all();Gtk::main();?>
As you can see, it’s perfectly normal PHP code. However, it’s relatively short; it ends with a call to this mysterious
Remember that infinite loop I mentioned? When you finish creating your
window and drawing it, your scripts hand over to the GTK library that
handles that same loop. Still, it’s new territory, so let’s step
through the code and review it.
Gtk::main()
.Remember that infinite loop I mentioned? When you finish creating your
window and drawing it, your scripts hand over to the GTK library that
handles that same loop. Still, it’s new territory, so let’s step
through the code and review it.
if (!class_exists('gtk')) die("Please load the php-gtk2 module in your php.ini");
Pretty
standard stuff: we check that the ‘gtk’ class is available. Without it,
you won’t be able to render your windows with the GTK toolkit. As PHP
isn’t really designed for desktop applications, there is still the
potential for deployment quirks such as lack of the GTK module, so we
carefully check it here.
standard stuff: we check that the ‘gtk’ class is available. Without it,
you won’t be able to render your windows with the GTK toolkit. As PHP
isn’t really designed for desktop applications, there is still the
potential for deployment quirks such as lack of the GTK module, so we
carefully check it here.
$wnd = new GtkWindow();$wnd->set_title('Our PHP-GTK window');
The
class is, as it’s name suggest, a GTK window. Working with GTK in PHP
is heavily object oriented; you’ll have objects for your windows, the
interface elements on those windows, GTK itself and more. The
GtkWindow
class is, as it’s name suggest, a GTK window. Working with GTK in PHP
is heavily object oriented; you’ll have objects for your windows, the
interface elements on those windows, GTK itself and more. The
set_title()
method sets the title, similar to using a <title>
tag in HTML, with the exception that what really goes in the title bar is no longer at the mercy of the end-user environment.$window->connect_simple('destroy', array('gtk', 'main_quit'));
This
is where we start binding to the interface. When the user clicks the
close button on our application, it doesn’t just magically clean up
after itself and quit. The operating system can’t simply kill our
application; chances are we want to tie up some loose ends and clear
out data we’ve stored. As a result, we have to link the ‘destroy’
signal to the
is where we start binding to the interface. When the user clicks the
close button on our application, it doesn’t just magically clean up
after itself and quit. The operating system can’t simply kill our
application; chances are we want to tie up some loose ends and clear
out data we’ve stored. As a result, we have to link the ‘destroy’
signal to the
gtk::main_quit()
method. This method essentially ends our application so that we can cleanly exit.$label1 = new GtkLabel("Hello world!");$window->add($label1);
Now
we start creating our interface. We’ll start with a simple label. In
desktop applications, if you want to cleanly position text (and you do,
as opposed to running it all from the top-left corner of the form) it
needs to be in some sort of container, and a label is the common term
for a basic text container in a window.
we start creating our interface. We’ll start with a simple label. In
desktop applications, if you want to cleanly position text (and you do,
as opposed to running it all from the top-left corner of the form) it
needs to be in some sort of container, and a label is the common term
for a basic text container in a window.
You can position your
label, give it some additional properties and so on, but for now we’ll
just give it the text "Hello world!". By calling the
we tell GTK to put our new label on our window. Without this, the label
can’t really appear anywhere. Interestingly, this approach of not
scoping an interface element within a particular form makes element
reuse simple and effective.
label, give it some additional properties and so on, but for now we’ll
just give it the text "Hello world!". By calling the
add()
method of our GtkWindow object $window
,we tell GTK to put our new label on our window. Without this, the label
can’t really appear anywhere. Interestingly, this approach of not
scoping an interface element within a particular form makes element
reuse simple and effective.
$window->show_all();Gtk::main();
This is the interesting part. First of all, our window won’t actually appear until we call the
method on our window’s object. This call tells GTK to show the window
on the screen. However, that infinite loop I mentioned before? Now that
we’ve finished drawing our window, we’re ready to roll. We call
show_all()
method on our window’s object. This call tells GTK to show the window
on the screen. However, that infinite loop I mentioned before? Now that
we’ve finished drawing our window, we’re ready to roll. We call
Gtk::main()
, and away we go…Your first PHP-GTK application!
Monday, April 25, 2011
Programming Language Market Share (Java vs php vs ruby) (POPULARITY OF PROGRAMMING LAGUAGES)
source: www.zacker.org
Popular programming language ACCORDING TO MARKET SHARE......(%):
1. JAVA
2. PHP
3.PERL
4. C#
5. PYTHON
6. RUBY
Tuesday, March 22, 2011
GO: Google Launches Its Own Programming Language
Maybe that’s why we’re not surprised that Google is finally looking to tackle the underpinning code that runs the web. Today the search giant released Go, an open-source development language that Google believes will combine performance with speed, and one that the company probably hopes will reshape the development and software industries in its favor.
Go is based on the C programming family, one of the most widely used programming language trees in the world. However, the twist is that incorporates elements of Python (a preferred development language within Google) and the Pascal/Modula/Oberon family to make faster and more dynamic programs.
Why Did Google Make Its Own Language?
In its Go FAQ, Google explains the main motivations behind the project:
“No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends:
- Computers are enormously quicker but software development is not faster.
- Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.
- There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.
- Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.
- The emergence of multicore computers has generated worry and confusion.”
Summary: Google believes that the web and computing have changed dramatically in the last ten years, but the languages powering that computing have not. But when you get down to it, Google could benefit a great deal from not only having a more efficient programming language, but having one it designed being used in thousands web and software apps.
Programming Languages You Should Learn Right Now
Among thousands, 10 programming languages stand out for their job marketability and wide use. If you're looking to boost your career or learn something new, start here.
Knowing a handful of programming languages is seen by many as a harbor in a job market storm, solid skills that will be marketable as long as the languages are.
Yet, there is beauty in numbers. While there may be developers who have had riches heaped on them by knowing the right programming language at the right time in the right place, most longtime coders will tell you that periodically learning a new language is an essential part of being a good and successful Web developer.
"One of my mentors once told me that a programming language is just a programming language. It doesnt matter if youre a good programmer, its the syntax that matters," Tim Huckaby, CEO of San Diego-based software engineering company CEO Interknowlogy.com, told eWEEK.
However, Huckaby said that while his company is "swimming" in work, hes having a nearly impossible time finding recruits, even on the entry level, that know specific programming languages.
"Were hiring like crazy, but were not having an easy time. Were just looking for attitude and aptitude, kids right out of school that know .Net, or even Java, because with that we can train them on .Net," said Huckaby.
"Dont get fixated on one or two languages. When I started in 1969, FORTRAN, COBOL and S/360 Assembler were the big tickets. Today, Java, C and Visual Basic are. In 10 years time, some new set of languages will be the in thing. …At last count, I knew/have learned over 24 different languages in over 30 years," Wayne Duqaine, director of Software Development at Grandview Systems, of Sebastopol, Calif., told eWEEK.
By picking the brains of Web developers and IT recruiters, eWEEK selected 10 programming languages that are a bonus for developers to add to their resumes. Even better, theyre great jumping-off points, with loads of job opportunities for younger recruits.
1. PHP
2. C#
3. AJAX (Asynchronous JavaScript and XML)
4. JavaScript
5. Perl
6. C
7. Ruby and Ruby on Rails
8. Java
9. Python
10. VB.Net (Visual Basic .Net)
Monday, March 21, 2011
.NET MVC vs Ruby on Rails (Microsoft vs OPEN SOURCE)
It seems oddly regressive to be going from the polished world of Ruby and Rails to the rough hewn newborn lump of .NET MVC, but well, needs must. I’ve just finished a project in .NET MVC (RC1) and have the following thoughts that may come in handy if you are thinking of using .NET MVC instead of Rails, or are a Rails dev being forced to use .NET MVC:
- Learn C#. The most straightforward book I found was the Apress C# book Pro C# 2008 and the .NET 3.5 Platform
. You’ll only need the first half of the book.
- .NET MVC is easy to grasp if you have any prior MVC web framework experience such as Rails. Do a couple of video’s of the .NET website.
- .NET MVC is actually .NET VC. It is an attempt to replicate the Actionpack components of Rails. There is nothing included aside from a folder labeled “Models” to help you with your persistence later and domain modeling. As others have mentioned, there are other ORM tools out there, but bear in mind these are not integrated into the framework as with Rails. There are good and bad points to this, but it does mean you’ll be writing more boilerplate code and setup for your model layer than you are used to with any of the Ruby ORMs.
- The community is comparatively extremely anemic, both in terms of plugins/modules and blog posts/tutorials. After the well developed ecosystem of Rails (500+ people in IRC, loads of blogs/tutorials/newsgroups, rubygems, github etc), don’t expect to be able to rely on much else other than the .NET libraries, core MVC and Contrib packages and a handful of blogs. It is still early days for the framework, but the lack of community resources will come as a culture shock. That said, a good resource for tips is stackoverflow.com, developed using MVC .NET. From a code point of view, you will often find yourself writing model wrappers around normal .NET components, such as the Membership API, in addition to doing more setup XML pushups than you are used to.
- The official documentation is rudimentary. Even within the framework code, comments for methods are often non-existent. The DocRails and Rails Guides projects are good examples of how to get the community documenting the codebase and building a range of real world explanations. Unfortuanatly there is nothing like this for .NET MVC as yet, the framework is also not documented on MSDN at this stage.
- The API feels un-unified with different argument requirements for very similar methods. Programming to an API which is undocumented and un-unified can be quite vexing even with intellisense code completion doing the hand holding.
- .NET MVC is now NOT open source. Next step in joining the OSS community is accepting contributions.
- The routing will appear very verbose in comparison to the simple rails routing structure. That said, it does work and is round trip.
- C# is too verbose for most web work. This point really should not be underestimated. Edit: not really a fair point in this discussion
- All Ajax is done by hand (not such a problem, as it includes the jQuery library).
- Passing variables to the view can be extremely laborious. There is the ability to automatically pass objects of 1 type to the view using strongly typed views. Outside of that, you have to package/box up your variables into an array which gets sent to the view. In the view, you have to unpack/unbox the variables from the array and cast them to their original type before use. As you can imagine, this gets old, fast. This also leads to old .NET hands just coding everything in the view in a codebehind to “get the job done”. Edit: Another way round this from the comments is to make a custom composite object and pass this through to a strongly typed view. I’m not entirely sure how this reduces the effort required, but it is certainly true that the methodology advised in most of the Docs is to use the ViewData collection to pass variables to the view using a “package and pass” approach.
- It’s hard to convert ASP.NET developers to use .NET MVC as it is basically less immediately productive, and can feel like a step-backwards in their approach to webdev.
- As the MVC project is very much a reactionary response to staunch the outflow of devs to other MVC frameworks, there is a worry that MS will drop the project if forced to make a cost cutting decision (see licensing comment 6). They are certainly not going to drop normal ASP.NET. If MVC .NET is properly open sourced, this is less of an issue.
10 Reasons why – Ruby on Rails
Your development team has been frustrating you, projects start and four weeks later the development team is still developing the framework, your budget is running out. You want productivity but just don’t know how to get it. Is there an answer? One of your developers keeps mentioning this great framework called ‘Ruby on Rails’. Is this the answer? This article discusses the positives and the negatives in moving to this new technology.
1. Ruby on Rails provides a consistent approach to building web applications with an out of the box architecture. Traditionally starting a new web application is a fairly heavy weight process, you typically need to survey and choose your various software components to solve the common architectural problems of persistence, logging, build scripts, application configuration, web tier components and workflow. With the Rails framework these decisions are already made for you, so you can get on to understanding the business problem and quickly build a working system. You become productive in minutes not weeks or months.
2. In a Rails application, a pragmatic philosophy of convention over configuration is taken, this is apparent in all layers of the architecture with the highest productivity gains noticeable in the relationship between the model and the database. Once the developer understands the rules and constraints, Rails magically connects your view to your controller and model, and your model to the database. You don’t need generators or specialised tools to manage this, it all just works.
3. Unlike other productive web scripting languages, Ruby is a fully featured object-oriented language. Ruby also adds additional power with mix-ins modules which contain independent code to inject into your classes, blocks and closures simplifying client code behaviour. Its dynamic nature gives it power beyond static languages such as .NET and java, and the benefits are apparent by how the Rails framework has been put together itself.
4. Unlike other web templating technologies, the templating technology built into Rails can be used to generate web pages, emails, xml documents or any text document that requires dynamic content.
5. Rails includes a well thought out object relationship mapping tool, ActiveRecord, which provides your answer to database persistence. Your model is seamlessly persisted to the database. Transactions, inheritance models, validation, and caching have all been thought out and are production ready. With Rails you become a lot closer to the structure of the database than traditional object-oriented development methodologies. This is a good thing as over time as the database will no doubt end up being your project’s most valuable asset.
6. Rails includes support for a variety of web technologies. Every web application needs email integration at some point and Rails provides an out of the box smart solution, and as with other Rails technologies it gives you the complete package down to configuration in development, test and production environments. Ruby on Rails also supports web services, the integration with Rails due to the dynamic nature of Ruby is simply, clean and seamless. If you are moving into the Web 2.0 space, Rails provides a rich abstracted interface to implementing AJAX operations.
7. Generally software projects do not mature if at all to the point of having a solid foundation to perform database migrations and rollbacks between environments and across development systems. However with the Rails framework you will be delighted with the implementation of database migrations for applying and rolling back database changes. You enter your update and rollback scripts in Ruby, Rails understands the current version and can move forwards or backwards to any database version.
8. For development productivity, the shorter the gap between the change and test cycle the better. In Rails, changes are reflexed immediately within the runtime environment so developers can quickly iterate between fix and test cycles without any expensive redeploys. Ruby code is also easily testable. Methods and objects can be replaced at runtime so software components can easily be tested without resorting to external tools or generators.
9. Getting started with Rails is easy as generators will propel you along. An experienced Rails developer will also become aware of numerous idioms available within the Rails framework that shared the amount of code a developer need write. Overall less code to write means lower complexity, higher productivity and less bugs.
10. Ruby has been around for a long time, the Rails framework which has deservedly propelled Ruby into the spotlight has hit version 2.3 and is not only production ready but now well supported in the community and a stack of resource available on the web. Ruby and the Rails framework is open source and well supported by a clever team of contributors.
*So what are some of the cons?*
1. If you take time to follow the Ruby examples and tutorials it may give you a false sense of productivity. They typically follow the formula of creating a database model, configuring a connection to the database and joining it up to the model controller and view by use of the generators. This is all very simple involving a dozen or so lines of code. In the real world however you will be working at higher level of complexity and will need to understand multiple facets of Ruby and the Rails framework to be productive in churning out business functionality. You will need to invest in getting up to speed with the language and framework. As Ruby is a dynamic language, more automated testing is required. Your developers will need to become more disciplined and rigorous in creating unit tests as part of their development process.
2. If the type of development you are doing is glueing together existing systems or building back end systems, be aware that Rails is optimized for building web applications, your host system or enterprise database may not have the integration module you require for Ruby UPDATE (2010) – however JRuby is now maturing and can plug the gap by leveraging legacy java libraries and provide a lower cost to more enjoyable path to legacy integration. DSL’s can be engineered to remove the laborious code java developers are use to writing.
After considering the pros and cons, my advice would be that if your business or application has tight timelines, you want a more powerful web application for your buck with alone with inbuilt tools which remove the pain and setup cost of an IT project to seriously suggest considering investment into the Ruby on Rails framework.
Thursday, March 17, 2011
The Top 5 Tech Companies of 2010 (by growth) - OPEN SOURCE MARKET
the stock prices of tech companies a few years ago, blogging about the state of the market and occasionally posting comparison graphs of the largest fish in the sea. (IBM, Microsoft, Apple, Google, etc.) It occurred to me this year, when I witnessed a healthy increase in the value of one particular stock, that few people who aren’t tech investors have any idea of the relative performance of tech company stocks. So a few months ago I started asking a handful of intelligent professionals, some of whom were executive level officers in tech companies the following question:
Which tech company’s market cap has increased most this year so far?
[If you're not an investor, you may not know what market cap (market capitalization) is. It's the value of the company measured by the total value of the stock it has issued.] In asking this question, I always add “only include companies that have a market cap above $5billion.” Clearly small tech companies can exhibit very fast growth, but larger ones tend not to.
It didn’t surprise me that noone I asked got the right answer. After all, you’d need to be following the tech market reasonably closely to have any possibility of guessing the answer. But it surprised me that nobody I asked named any company that was in the top 5.
One guessed IBM. Another guessed Amazon. Most people guessed Apple. It’s clear why they would. When Apple’s market cap flew past Microsoft’s, it was all over the news. Plus the iPhone was a roaring success world wide and the iPad was selling like ice cold Coke in a heat wave. Nevertheless, Apple never made it into the top 5.
Here is the top 5, listed in reverse order, along with an explanation as to why their share prices headed for the stratosphere.
5. Red Hat: Market Cap Growth 71.95% (NASDAQ RHT)
Red Hat, the commercial hero of the Open Source movement, demonstrates that it’s possible (although it’s by no means easy) to succeed with an Open Source business model. You cannot argue with revenue growth in the 20% area and a market cap of $9 billion. With Red Hat, I believe there are two factors in play. First there is the fact that Linux is clearly thriving in the server market (although it still trails Windows by a long way). Second is that Red Hat has now moved far beyond Linux with the inexorable growth of its JBoss stack and the addition of virtualization (with the Open Source Xen and KVM), data storage technology (Infinispan) and a proposed cloud standard (Deltacloud).
Red Hat presides over a growing open source ecosystem, which is proving more and more important. It’s easy to believe that Red Hat’s success will continue.
4. Informatica: Market Cap Growth 86.90% (NASDAQ: INFA)
Informatica could be described as the gorilla in the Data Integration market. In all probability both IBM and Oracle garner as much if not more revenue from data integration software than Informatica, but Informatica has only one species of fish to fry… and focus in the tech market pays powerful dividends. Informatica is, in effect, defining what the data integration market is and it appears to be reaping the benefits accordingly.
In my view (and there’s no simple way to measure this) the need for data integration is currently growing faster than the market for software which facilitates it. The rise of Informatica in the past year certainly confirms this, but I think it’s a long term trend. If I’m right, Informatica may continue to grow at this kind of pace.
3. VMware: Market Cap Growth 113.98% (NASDAQ: VMW)
VMware is the third tech company that has more than doubled in value in the last 12 months. It’s no secret that every data center of any significant size is running a virtualization project. What has clearly happened this year is that VMware has brushed off the challenge from both Microsoft and Citrix, primarily because it has a far more comprehensive set of VM management tools.
The challenge was significant, in the sense that Microsoft was virtually giving its Hyper-V away free in an attempt to stall the remorseless march VMware’s ESX virtual machine. And Citrix had piled in with its Open Source XEN VM. But VMware was just streets ahead in making VMs work and it expanded its customer base in the teeth of tough competition – so much so that investors are no longer concerned about VMware’s competition in the server market.
Vmware is growing (in revenue terms) at a rate of about 40-50%. The fact that its market cap is growing faster than that is an expression of investor confidence.
2. Salesforce.com: Market Cap Growth 127.47% (NASDAQ: CRM)
Salesforce.com comes in a very close second, so close that one might be tempted to declare it a dead-heat. The success of Salesforce is probably no surprise. However it may surprise you that it is has more than doubled in value this year. The cloud is clearly not just hype. Stock prices don’t rise entirely on expectations, they have to be backed up with good financial performance and this has happened with Salesforce. The company is now worth well over $18 billion, almost as much as Motorola and more than Dell. Adobe and Symantech.
Salesforce is helped by the fact that it is in the vanguard of the cloud computing revolution and is attracting investors accordingly. But there is much to be impressed with. By virtue of Force.com, the company has become a great deal more than a CRM SaaS capability. It has become both a platform and a business software ecosystem. It has few competitors and, in my view, its growth is unlikely to stall any time soon.
1. ARM Holdings: Market Cap Growth 130.58% (NASDAQ:ARMH)
This is the company that designs the ARM chip that inhabits the vast majority of smart phones and also lives in the iPad. ARM, if you didn’t know, stands for Acorn Risk Machines, ARM being a descendant of a British PC company, Acorn, that did rather well until the Intel/IBM PC became ubiquitous. It created its own chip, a RISC chip which has become successful RISC chip ever. In terms of sheer numbers there will soon be more devices running ARM chips than running Intel chips. That hasn’t happened yet, but the smart-phone market is growing rapidly and it’s now approaching the PC market in size. The iPad and iPhone may run Apple chips, but they’re based on the ARM design.
The increase in stock value reflects more than just the fact that the smart phone market is growing at a pace. Earlier this year ZT Systems unveiled a server running ARM chips, which was well received. So now major server manufacturers are evaluating whether to build ARM-based servers.
Why?
The answer is: Electricity. The ARM chip family has been built for low power consumption – an absolute necessity in the mobile device market, but now also a considerable advantage in the server market, where the cost of power is a big factor. ARM is now more valuable than either AMD or nVidia.
BTW
The graph below (captured from Google Finance) provides a visual view of the share prices of these companies over the past 12 months and hence could act as a summary.
Btw, you might think that this top 5 list is of little importance beyond the fact that the share-holders of these companies have done rather well. I would beg to differ. The success of each one of these companies demonstrates a definite technology trend:
1. ARM: Mobile computing is taking off like a rocket and will likely impact corporate computing in the same way that the PC did, if not more so.
2. Salesforce.com: Cloud computing is growing fast and has traveled far beyond the world of hype that originally surrounded it. It is a force of change.
3. VMware: Virtualization is rebuilding the landscape within the data center. The hypervisor, plus the management software that accompanies it, is the OS for the x86 server farm and it will remain so.
4. Informatica: Data integration has become a thriving subsector within the corporate software market. It is now strategic.
5. Red Hat: Open Source did not go away. Its influence continues and a corporate ecosystem of Open Source software has developed. This is not going to go away. More likely it will continue to grow and may even dominate in time.
And just in case you’re wondering, Apple’s market cap growth over the past year was about 63%. Impressive, true. But it never made the cut.
Note: After I posted this, I received an email pointing out that Tibco ought to be in the top 5 listed here. Perhaps that’s true. If included, it would be first in the list, since it’s market cap has grown about 140% this year. However, its market cap is below $4 billion, so it’s moot as to whether its value is high enough to be included in this list. (I hadn’t been watching that stock, because of its relatively low market cap at the start of the year. It slipped through my net.) In any event, it is worth drawing attention to.
Tuesday, March 15, 2011
The Microsoft future according to Bill Gates
Microsoft chairman Bill Gates is proud of his latest acquisitions. A plain, steel-case watch and an extremely ordinary-looking mobile phone. The watch is not a designer model costing a million dollars and the telephone isn't studded with diamonds. So why is the world's richest man, worth over $50 billion, so excited about these products?
For a very simple reason. These products, along with several others that are on the way, will play a crucial role in defining the future of Microsoft, the world's largest software company. The watch, called a SPOT (Smart Personal Objects Technology), is fitted with Microsoft's latest software innovations and can do quite a few very smart things.
Gates's SPOT watch has a miniature central processing unit and a small but powerful FM radio antenna. These features, combined with Microsoft software, allow the wearer to access information, such as local news, weather, sports updates, personal messages and appointment reminders.
Microsoft has already tied up with various companies, including Japan's Citizen, to produce and market these watches, which will flood the US and Canadian markets in the coming months.
The Microsoft-powered mobile phone is already out in the market. The telephone, called Smartphone, has all the trappings of the latest models: a high-resolution color screen that allows you to play games, check e-mail and images and also browse the Web. But those are now run-of-the-mill features. So what's special about Microsoft's newest gadget?
Smartphone comes loaded with Microsoft's Windows software, something that almost every potential mobile phone user is familiar with. Microsoft is betting that since people use Windows in their offices and homes, having the same software loaded on their mobile will attract buyers to go for Smartphones rather than the current 3G-capable phones that come with software that may not be compatible with Windows. The Smartphone has all the usual Microsoft products: Outlook Express, Internet Explorer, MSN Messenger and Windows Media Player.
Microsoft has already tied up with a number of handset manufacturers, including Samsung and Motorola, to roll out the Smartphone. However, Microsoft has run into opposition from market leader Nokia, which has chosen to use the C++ based Symbian Operating System for its own mobiles.
Several players - including Sony Ericsson, Samsung, Panasonic and Motorola - have also agreed to sell phones with Symbian software. As Nokia has over a third of the global mobile telephone market, it can definitely offer a serious challenge to Microsoft in the dominance of the mobile phone software market. DoCoMo, the main trend setter, has also shut out Microsoft in favour of Symbian OS and Linux.
Meanwhile, Microsoft is fighting Sony and Sega in the video game console market, which it entered nearly four years ago with its Xbox console. These battles are clear signs that Microsoft is increasingly diversifying into consumer goods.
As technologies converge and an increasing amount of domestic and office equipment becomes interconnected and wired to the Internet, Microsoft sees new opportunities in new areas. The company has increased its research and development budget and will spend nearly $7 billion on R&D this year, far more than any other IT company.
How do you spend $7 billion on research and development? If you're Microsoft, you literally build the future. At the company's headquarters in Redmond, Washington, Microsoft has constructed a "concept" home that reveals how we may live just a few years from now.
For a very simple reason. These products, along with several others that are on the way, will play a crucial role in defining the future of Microsoft, the world's largest software company. The watch, called a SPOT (Smart Personal Objects Technology), is fitted with Microsoft's latest software innovations and can do quite a few very smart things.
Gates's SPOT watch has a miniature central processing unit and a small but powerful FM radio antenna. These features, combined with Microsoft software, allow the wearer to access information, such as local news, weather, sports updates, personal messages and appointment reminders.
Microsoft has already tied up with various companies, including Japan's Citizen, to produce and market these watches, which will flood the US and Canadian markets in the coming months.
The Microsoft-powered mobile phone is already out in the market. The telephone, called Smartphone, has all the trappings of the latest models: a high-resolution color screen that allows you to play games, check e-mail and images and also browse the Web. But those are now run-of-the-mill features. So what's special about Microsoft's newest gadget?
Smartphone comes loaded with Microsoft's Windows software, something that almost every potential mobile phone user is familiar with. Microsoft is betting that since people use Windows in their offices and homes, having the same software loaded on their mobile will attract buyers to go for Smartphones rather than the current 3G-capable phones that come with software that may not be compatible with Windows. The Smartphone has all the usual Microsoft products: Outlook Express, Internet Explorer, MSN Messenger and Windows Media Player.
Microsoft has already tied up with a number of handset manufacturers, including Samsung and Motorola, to roll out the Smartphone. However, Microsoft has run into opposition from market leader Nokia, which has chosen to use the C++ based Symbian Operating System for its own mobiles.
Several players - including Sony Ericsson, Samsung, Panasonic and Motorola - have also agreed to sell phones with Symbian software. As Nokia has over a third of the global mobile telephone market, it can definitely offer a serious challenge to Microsoft in the dominance of the mobile phone software market. DoCoMo, the main trend setter, has also shut out Microsoft in favour of Symbian OS and Linux.
Meanwhile, Microsoft is fighting Sony and Sega in the video game console market, which it entered nearly four years ago with its Xbox console. These battles are clear signs that Microsoft is increasingly diversifying into consumer goods.
As technologies converge and an increasing amount of domestic and office equipment becomes interconnected and wired to the Internet, Microsoft sees new opportunities in new areas. The company has increased its research and development budget and will spend nearly $7 billion on R&D this year, far more than any other IT company.
How do you spend $7 billion on research and development? If you're Microsoft, you literally build the future. At the company's headquarters in Redmond, Washington, Microsoft has constructed a "concept" home that reveals how we may live just a few years from now.
As you reach the front door, you are welcomed by a flat screen, rather than a doorbell. You can use this screen to ring the doorbell, talk to the person inside the home or leave a message, which can be accessed by telephone or e-mail.
If you're the homeowner, walk through the door and the curtains go up, letting light in, and the entire house is soon subtly illuminated. The hi-fi will access its database to play your favorite music, and the air-conditioning will be preset to the temperature you prefer.
As you move to the kitchen, you take the ingredients for your lunch - say, flour, a piece of fish and a few stalks of broccoli - to a networked table. This will activate a system that will immediately offer you a range of appropriate recipes. Your smart microwave will fix the dish for you, consulting the recipe you prefer, via the Internet.
Practically every device in the house is a "smart" device, and Microsoft has really gone the distance in showing how innovative the company can be and what an important role it could play in our lives in the future. Microsoft denies that it will get into manufacturing consumer products like telephones or microwave ovens, saying that it will drive innovation in these products by coming up with new ideas about what these products can do and networking them.
With initiatives like this, the software giant is clearly moving away from being almost entirely focused on corporate clients to targeting individual consumers. Bill Gates admits that such a shift is happening.
"Yes, we are becoming increasingly consumer-oriented," he told Arabies TRENDS. "Today, we get perhaps 10 percent of our revenue from retail consumers, and this figure may double in the next decade.''
This shift is a sign that Microsoft is at a crossroads. The company is getting into new, exciting businesses that could catapult it from being a software giant to a major player in almost all aspects of human life.
But, at the same time, it is also facing unprecedented challenges in almost every sphere of its current business where it has enjoyed market dominance. Where are these challenges coming from?
Regulators, governments and, of course, Microsoft's business rivals. The company is currently negotiating a settlement with the European Commission, which has accused Microsoft of abusing its monopoly position in the software market through the Windows operating system platform. The Europeans are especially concerned about the bundling of Microsoft's media player in the new versions of Windows, saying that it will hurt other media player companies, such as Real Media.
The case in Brussels has been going on for over a year, and a decision is likely during the first quarter of 2004. The Europeans have suggested that either Microsoft remove Media Player from Windows or that it allows other media players access to the operating system.
Microsoft is unhappy with either option, but the company realizes that European Union (EU) anti-trust authorities could prove far tougher than their US counterparts, who reached a settlement with Microsoft that was timid in comparison with the initial threats of a breakup of the company in order to end its monopoly.
Although Microsoft has been negotiating with the EU and held a special three-day hearing in November, the company seems prepared for a tough ruling from Brussels.
Gates recently told Arabies TRENDS, "If we reach an agreement, then that'll be a good thing. If we can't, then there's a next stage in their process." The next stage, of course, is for the matter to be settled in court.
If you're the homeowner, walk through the door and the curtains go up, letting light in, and the entire house is soon subtly illuminated. The hi-fi will access its database to play your favorite music, and the air-conditioning will be preset to the temperature you prefer.
As you move to the kitchen, you take the ingredients for your lunch - say, flour, a piece of fish and a few stalks of broccoli - to a networked table. This will activate a system that will immediately offer you a range of appropriate recipes. Your smart microwave will fix the dish for you, consulting the recipe you prefer, via the Internet.
Practically every device in the house is a "smart" device, and Microsoft has really gone the distance in showing how innovative the company can be and what an important role it could play in our lives in the future. Microsoft denies that it will get into manufacturing consumer products like telephones or microwave ovens, saying that it will drive innovation in these products by coming up with new ideas about what these products can do and networking them.
With initiatives like this, the software giant is clearly moving away from being almost entirely focused on corporate clients to targeting individual consumers. Bill Gates admits that such a shift is happening.
"Yes, we are becoming increasingly consumer-oriented," he told Arabies TRENDS. "Today, we get perhaps 10 percent of our revenue from retail consumers, and this figure may double in the next decade.''
This shift is a sign that Microsoft is at a crossroads. The company is getting into new, exciting businesses that could catapult it from being a software giant to a major player in almost all aspects of human life.
But, at the same time, it is also facing unprecedented challenges in almost every sphere of its current business where it has enjoyed market dominance. Where are these challenges coming from?
Regulators, governments and, of course, Microsoft's business rivals. The company is currently negotiating a settlement with the European Commission, which has accused Microsoft of abusing its monopoly position in the software market through the Windows operating system platform. The Europeans are especially concerned about the bundling of Microsoft's media player in the new versions of Windows, saying that it will hurt other media player companies, such as Real Media.
The case in Brussels has been going on for over a year, and a decision is likely during the first quarter of 2004. The Europeans have suggested that either Microsoft remove Media Player from Windows or that it allows other media players access to the operating system.
Microsoft is unhappy with either option, but the company realizes that European Union (EU) anti-trust authorities could prove far tougher than their US counterparts, who reached a settlement with Microsoft that was timid in comparison with the initial threats of a breakup of the company in order to end its monopoly.
Although Microsoft has been negotiating with the EU and held a special three-day hearing in November, the company seems prepared for a tough ruling from Brussels.
Gates recently told Arabies TRENDS, "If we reach an agreement, then that'll be a good thing. If we can't, then there's a next stage in their process." The next stage, of course, is for the matter to be settled in court.
The EU case is important for the company, but this is clearly not the biggest headache for Gates or Steve Ballmer, Microsoft's chief executive officer. Right now, almost all the energies of Microsoft's top brass seem to be focused on fighting Linux, an open-source operating system that has been developed and promoted heavily by Microsoft's main rivals in the business - primarily IBM, Sun, Novell and Oracle.
Although Linux has been around for over a decade, the operating system has only recently begun to make its presence felt in the international arena. In the corporate world, Linux-based servers have seen rapid growth and, since 1998, Linux has been the fastest growing system, outpacing every other player in the field. According to International Data Corporation, Linux shipments in the first half of 2003 grew over 51 percent in volume terms, while those of Microsoft's Windows grew by a much slower 21 percent.
Even though Windows-based servers still enjoy a 4:1 advantage over Linux in terms of the total number of servers in the market, Linux's continuing rapid growth is a clear cause for worry in Redmond.
To add to Microsoft's troubles, a number of governments around the world - from Japan to Brazil and several in the Middle East, too - are now looking at Linux as an option for their operating system needs. This has created a sense of panic within Microsoft, with CEO Steve Ballmer flying to various countries in order to convince governments that switching to Linux would be folly.
Publicly, though, Microsoft maintains a disdain for Linux and its supporters. Martin Taylor, general manager of competitive strategy at Microsoft, dismisses Linux offhand, saying that although Linux has been around for as long as Windows NT, Microsoft has garnered a huge chunk of the market. "Most of the gains that Linux is making today are at the expense of Unix. We are not affected," he says, "but other Unix-based players are."
However, Gates is more realistic about the challenge posed by Linux. "We have been competing for a long while and are still competing with a number of companies on a range of products. We compete on operating systems, on the Xbox, on browsers," he told Arabies TRENDS. "But, yes, in a way, on some parameters, Linux is the toughest competition that we have ever had."
Software security is another major challenge for Microsoft. Over the past few years, Microsoft has become one of the most popular targets for hackers, who have been attacking the company's sites and operating systems, using the weaknesses of Windows to wreak havoc on the Internet.
The attacks have increased in number and severity over the years. And last year was one of the worst that Microsoft has seen. The month of August alone saw four major Internet worm attacks, including the notorious Blaster and a new version of the SoBig worm.
What is worrying for Microsoft is not just that the attacks are becoming more vicious and damaging, but that they are also coming sooner rather than later. Most often, hackers strike once Microsoft releases a security patch, fixing a vulnerability in its software. The hackers reverse engineer the patch to find the weak spot and then attack again. While Microsoft says that it has drastically reduced the number of weak spots in its new software, the hackers are getting smarter and quicker.
Explains Scott Charney, Chief Trustworthy Computing Strategist at Microsoft, "Two years ago, the first attack came 331 days after a security patch was released, while the recent Blaster attack came barely 25 days days after the patch.
Although Linux has been around for over a decade, the operating system has only recently begun to make its presence felt in the international arena. In the corporate world, Linux-based servers have seen rapid growth and, since 1998, Linux has been the fastest growing system, outpacing every other player in the field. According to International Data Corporation, Linux shipments in the first half of 2003 grew over 51 percent in volume terms, while those of Microsoft's Windows grew by a much slower 21 percent.
Even though Windows-based servers still enjoy a 4:1 advantage over Linux in terms of the total number of servers in the market, Linux's continuing rapid growth is a clear cause for worry in Redmond.
To add to Microsoft's troubles, a number of governments around the world - from Japan to Brazil and several in the Middle East, too - are now looking at Linux as an option for their operating system needs. This has created a sense of panic within Microsoft, with CEO Steve Ballmer flying to various countries in order to convince governments that switching to Linux would be folly.
Publicly, though, Microsoft maintains a disdain for Linux and its supporters. Martin Taylor, general manager of competitive strategy at Microsoft, dismisses Linux offhand, saying that although Linux has been around for as long as Windows NT, Microsoft has garnered a huge chunk of the market. "Most of the gains that Linux is making today are at the expense of Unix. We are not affected," he says, "but other Unix-based players are."
However, Gates is more realistic about the challenge posed by Linux. "We have been competing for a long while and are still competing with a number of companies on a range of products. We compete on operating systems, on the Xbox, on browsers," he told Arabies TRENDS. "But, yes, in a way, on some parameters, Linux is the toughest competition that we have ever had."
Software security is another major challenge for Microsoft. Over the past few years, Microsoft has become one of the most popular targets for hackers, who have been attacking the company's sites and operating systems, using the weaknesses of Windows to wreak havoc on the Internet.
The attacks have increased in number and severity over the years. And last year was one of the worst that Microsoft has seen. The month of August alone saw four major Internet worm attacks, including the notorious Blaster and a new version of the SoBig worm.
What is worrying for Microsoft is not just that the attacks are becoming more vicious and damaging, but that they are also coming sooner rather than later. Most often, hackers strike once Microsoft releases a security patch, fixing a vulnerability in its software. The hackers reverse engineer the patch to find the weak spot and then attack again. While Microsoft says that it has drastically reduced the number of weak spots in its new software, the hackers are getting smarter and quicker.
Explains Scott Charney, Chief Trustworthy Computing Strategist at Microsoft, "Two years ago, the first attack came 331 days after a security patch was released, while the recent Blaster attack came barely 25 days days after the patch.
Monday, March 14, 2011
Google vs Microsoft: A Guide to the Battle
Google Chrome OS, its new operating system for PCs and netbooks. And while we’re still debating whether it will take down Windows or flop like a fish on land, we tend to forget that this isn’t the first time Google’s challenged Microsoft. In fact, it’s become almost routine.
Whether its operating systems, documents, search, communication, or mobile, the two behemoths have been increasingly butting heads in a war for tech supremacy. Now with Google Chrome OS making headlines, we thought it would be appropriate to perform a straight-up comparison of where the competition between Google and Microsoft stands. So who’s winning the war? And how will Google Chrome OS affect this longstanding battle? Here’s an overview:

Google: What is there to say, really? Search is to Google as Windows is to Microsoft. They dominate the search market by a wide margin, despite Microsoft’s best efforts (including the company’s failed attempt to buy Yahoo).
Microsoft: They had to do something drastic to compete in search, and they did with their recent launch of Bing. It’s received a lot of press, a lot of positive reviews, and has clearly caught Google’s attention. But does anyone seriously think it will overtake Google’s dominance in search anytime soon?
Advantage: Google. By light years.

Microsoft: Microsoft Office, with Word, Powerpoint, and Excel have been the leading way to create and edit documents for years, and for good reason – they’re widely used, widely known, and feature-rich. There’s also now Microsoft Office Live, which while not as collaborative as Google Docs, isn’t a bad solution and has the benefit of being connected to the desktop apps.
Google: Google Docs have been growing in features and users. They provide a level of collaboration that Microsoft documents simply don’t offer. But they don’t provide as many options as Microsoft Office and they just don’t have nearly as many users. This is one area where the majority of users still prefer the desktop to the web.
Advantage: Microsoft
Microsoft: While Google’s probably more revered for Gmail and its communication suite, Hotmail is still bigger, and Live Messenger is heavily used. Microsoft also produces the popular Outlook software and has software in a variety of arenas, such as Windows Live Meeting, giving the company an edge in the enterprise.
Google: The search giant has a suite of very popular communication products – Gmail and Gtalk being the best known. The X factor in this debate though, is the upcoming Google Wave communication platform, which has impressed us so far. There’s also the intriguing Google Voice offering to consider.
Advantage: Push

Google: Google’s has good traction with its Android mobile OS given it’s relatively new to the space. It runs on more than one million T Mobile phones and has a strong app platform. Many of Google’s apps also run well on mobile phones, especially Google Maps and YouTube.
Microsoft: Windows Mobile still shipped tens of millions of units last year, far outpacing Android. It also has apps to run Office, Outlook, and Windows Media Player. We think the long-term trend favors Google, but as of right now Microsoft is the leader.
Advantage: Microsoft, but perhaps not for long.
Microsoft: This is Microsoft’s bread and butter. Windows is the reason Microsoft makes $60+ billion in revenue every year and has stayed on top for so long. Its stranglehold is legendary. Yet Windows Vista proved that it is not invincible.
Google: Let’s say this: we can’t wait to see what Google has in store for Google Chrome OS. We’re skeptical that it could ever kill Windows, but Google will be Microsoft’s most powerful challenger yet.
Conclusion: We look forward to the upcoming war.
Whether its operating systems, documents, search, communication, or mobile, the two behemoths have been increasingly butting heads in a war for tech supremacy. Now with Google Chrome OS making headlines, we thought it would be appropriate to perform a straight-up comparison of where the competition between Google and Microsoft stands. So who’s winning the war? And how will Google Chrome OS affect this longstanding battle? Here’s an overview:
1. Search
Microsoft: They had to do something drastic to compete in search, and they did with their recent launch of Bing. It’s received a lot of press, a lot of positive reviews, and has clearly caught Google’s attention. But does anyone seriously think it will overtake Google’s dominance in search anytime soon?
Advantage: Google. By light years.
2. Documents
Google: Google Docs have been growing in features and users. They provide a level of collaboration that Microsoft documents simply don’t offer. But they don’t provide as many options as Microsoft Office and they just don’t have nearly as many users. This is one area where the majority of users still prefer the desktop to the web.
Advantage: Microsoft
3. Communication, Email, and IM
Google: The search giant has a suite of very popular communication products – Gmail and Gtalk being the best known. The X factor in this debate though, is the upcoming Google Wave communication platform, which has impressed us so far. There’s also the intriguing Google Voice offering to consider.
Advantage: Push
4. Mobile
Microsoft: Windows Mobile still shipped tens of millions of units last year, far outpacing Android. It also has apps to run Office, Outlook, and Windows Media Player. We think the long-term trend favors Google, but as of right now Microsoft is the leader.
Advantage: Microsoft, but perhaps not for long.
5. Operating System
Google: Let’s say this: we can’t wait to see what Google has in store for Google Chrome OS. We’re skeptical that it could ever kill Windows, but Google will be Microsoft’s most powerful challenger yet.
Conclusion: We look forward to the upcoming war.
Google vs. Microsoft
One of the most heated battles among technology companies was waged this year between Google Inc. and Microsoft Corp.
For those who think this corporate fight hit a crescendo in 2009, industry analysts say they better think again. It looks like this is just getting started.
The battle escalated this year as the two high-tech titans went after each other's market share and revenue stream in Internet search, operating systems,enterprise applications and browsers . With each company seeing the other as a major threat to its bread and butter products, 2009 may been just a warm-up for the battle that will ensue in the months to come.
"These two companies really squared off this year," said Jim McGregor, an analyst with In-Stat. "Both are looking for dominant positions in the Internet. For Google to increase its business, it needs to move into other territory. For Microsoft to have significant growth opportunities, it needs to become an Internet powerhouse, and they know it. This is not a war that is going to be won by one or two battles. This is going to be a prolonged activity."
He added that the battle isn't simply over which can be called top dog, because the fight is critical to both companies. "For Google, it's about expanding, and for Microsoft, it's about a life-or-death challenge," McGregor said.
The two companies basically grew into this face-off.
Google, one of the great Internet success stories, has grown into an online behemoth . With a name that has evolved into a verb meaning "to search," Google grown so much that it has become a threat to Microsoft, which has had a long and storied history of high-tech industry dominance. There was a time not so long ago when few believed that any company could rattle Microsoft, let alone a Web company like Google.
But those days are over. Google has rattled Microsoft's cage and, in turn, the software giant has set its sights on taking its new rival down a notch or two. Microsoft has spent millions of dollars and used countless manpower hours to grab a chunk of Google's search market share and topple the Web company from its new lofty perch above the high-tech industry - eliminating the threat to Microsoft's longheld industry dominance.
"The reason that Microsoft is so focused on Google is because Google is chipping away at Microsoft's crown jewels of Office and Windows with their online applications," said Dan Olds, an analyst with The Gabriel Consulting Group. "While Microsoft plays defense on the applications/operating system front, they're attacking Google on search and online services. Search is the key to Google's success since Web ads account for more than 90% of its revenue. If you can steal some eyes from Google's search engine, you cut into their ad revenue and, perhaps over time, cripple them."
This back and forth between the two companies intensified when Microsoft overhauled its far-from-beloved Microsoft Live Search and released the update, Bing search engine in June. But make no mistake about it - Google still owns the search market with a share of more than 64%. But Microsoft's Bing has failed to fail. The new search service has largely been gaining steam, albeit in small increments, but gaining nontheless.
Microsoft has more reason to hope that Bing will take a significant chunk out of Google search since the company announced plans over the summer to team with Yahoo Inc. , which holds the second-place spot in the search market - nestled snugly between Google and third-place Bing. The deal, which still has to be approved in the U.S. and in Europe, would have Yahoo give up its own search technology to use Microsoft's.
Pooling their resources and industry might, the two companies hope to do together what neither has been able to do alone - significantly make gains on Google's ubiquitous search.
The search battle heated up this fall when both companies announced they had struck individual deals to serve up real-time search results. Microsoft will be offering users real-time tweets from Twitter and posts from Facebook, while Google has already begun working with Twitter to offer up tweets in its search results.
But this fight extends beyond search.
Google pushed hard this past year to move its cloud-based office applications into the enterprise. Taking on Microsoft's ubiquitous Office applications was a bold move that could prove lucrative if it succeeds. Microsoft, however, isn't sitting back and watching Google move into that territory. The company announced this year that it plans to move its Office applications to the cloud and take on Google head-to-head.
The Google/Microsoft fight also extends into the browser arena with Google Chrome going up against Internet Explorer. Google also announced that it's working on the Linux-based Chrome OS operating system , which, if widely adopted, could help users see Google's Apps offering as a viable alternative to Microsoft's Office suite.
"This battle was always looking like a long-term conflict," Olds said. "It's the equivalent of high-tech trench warfare. In 2010, we can expect to see the bitter competition continue, with each company keeping up the heat with new features and innovations."
McGregor noted that the next 18 to 24 months are looking to be fun to watch with the two giants pulling out all the stops, and all their weaponry, to try to take down the other.
He added that the search market should expect to see a greater focus on real-time search and more advanced algorithms designed to help the search engines figure out what people are thinking and how to give them more information. For instance, instead of searching for pet stores and getting a list of stores in a certain area, users might be given a list of stores along with directions on how to get to each one from their current location.
Rob Enderle, an analyst with the Enderle Group, said we're likely to see more industry players, such as Apple Inc. , Mozilla Corp. and News Corp. aligning against Google.
"Both companies are largely betting their collective futures on this battle so the stakes are huge," Enderle said. "Microsoft is going to partner and try to starve Google out of content and partners. Google is going to work against Microsoft's pricing model and starve them out of money. Both are, for once, largely going after each other's relative weaknesses and leveraging their respective strengths, so this will likely be a battle for the history books."
Friday, March 11, 2011
3 Good Reasons To Buy an Open-PC
For many small business users, all the rational arguments for using open source software like Linux make a great deal of sense: It's free, customizable, compatible, and it's free of vendor lock-in, to name just a few.
When it comes down to the wire at purchase time, however, many fall prey to one or more of the frequently perpetuated myths out there, and vague fears of incompatibility or a lack of support or something else drive them right back into Redmond's waiting arms.
One way to make the notion of a Linux-based computer less worrisome for such users is to buy hardware preloaded with Ubuntu, Canonical's version of the open source operating system. That can go a long way toward ensuring that everything "just works" out of the box, and I've already discussed good ways and places to do this.
As of December, however, another option emerged that's well worth checking out--it's even better, in fact, from the perspective of software freedom. It's called the Open-PC, and it offers "a PC for everyday use built by the Linux community for the Linux community," in the project's own words.
With three models to choose from--two built and sold in Europe and one through ThinkPenguin in the United States--the Open-PC has several key advantages that could make it the right choice for your small business. Here are just a few to consider.
1. It's Entirely Free
You know how when you use proprietary software like Microsoft's, you tend to have to agree to an end-user license agreement that restricts with an iron hand what you can and can't do with the software? Well, the Open-PC more or less does away with that.
Only free software is used in Open-PC devices, and that includes those rascally drivers, which can on occasion cause a problem when you least expect it. All software was chosen by the Linux community through a series of surveys, in fact.
In Europe, Open-PCs reportedly use the OpenSUSE Linux distribution, according to Free Software Magazine, while the U.S. version uses Ubuntu. Either way, KDE is the standard desktop. The most important point, of course, is that you're free to alter and customize the software to suit your business's needs.
Also worth noting, though, is that--as with any instance of Linux--you're also relatively free from viruses and malware. That kind of freedom may just be worth even more, in fact.
2. It Just Works
Specs on the Open-PC sold in the United States by ThinkPenguin include a 1.6GHz Intel Atom processor, up to 4GB of DDR2 SDRAM, Intel GMA 3150 Accelerated Graphics, Realtek RTL8103EL Fast Ethernet and 4 USB ports, for example.
Perhaps even more important, however, is that--similar in many ways to a preloaded Ubuntu machine--energy-efficient Open-PCs are preconfigured to your specifications and arrive customer-ready. Only fully documented hardware is used--chosen, once again, through surveys of the Linux community--and it's designed for ease of use, even by novices. Gone can be all those fears about getting everything up and running smoothly.
3. Support Is Included
Adding further to that peace of mind is that if, by chance, you do encounter a problem, telephone and email support are included in the Open-PC's price. For those reluctant to entrust support to the community--excellent as that resource tends to be--that extra reassurance can be significant.
Bottom line? With prices starting at $249 in the United States, the Open-PC's price isn't insignificant. On the other hand, if you factor in the inclusion of support, the "just works" factor and an included donation to the KDE project, the Open-PC could be a compelling choice.
Tuesday, November 30, 2010
Why PHP Development is Very Popular in the Web Development Industry?
Now a day web development Industry has been moved in Open source application development with PHP development. All users want to develop their websites with PHP development because PHP is a Open source and we can use its easily and flexible. Today PHP web development has become a famous business among the several Company of.
Almost companies of the India outsource web development as well as PHP development, open source development. Day by day companies are fastest growing in PHP development. PHP is the most preferred languages accepted across the globe to create any applications. With use of PHP our efficiency of web development increased and also we can live web sites day by day and trough this we can grow more business. Our productivity has been increased through PHP development. Also we can reduce time and cost reduces which is the best for clients.
if you are going to plan E commerce-shopping cart designed, E-commerce development, CRM Solutions, Community tools Web Calendars, Chat software, content management systems, Discussion forum, Social bookmark sites, Blog then you should have Expertise team of PHP development otherwise you have to outsource PHP development. Now a days India is the leader in the outsource web development, PHP development. India has covered the 70% markets of outsource web development across the world.
Why PHP Development is Popular? Here are some advantages:
Ø Great performance
Ø Reliability
Ø easily embedded into HTML
Ø agreeable with servers like Apache
Ø Helps effectively in providing content from web server to client
Ø Faster speed and better efficiency then other languages
Ø Better versatility
Ø Reduce cost of Development and maintenance
Ø Easy Customization
These are all above features attract all to web development with PHP development. The market of the PHP development is growing high follow streamlined processes, provide consultancy. For the PHP development Indian markets is the charming market which is the reliable for best out source web development as well as PHP development, Open source development.
Subscribe to:
Posts (Atom)