Showing posts with label New Innovation. Show all posts
Showing posts with label New Innovation. Show all posts

Friday, November 13, 2009

Go: Google's new open source programming language

Google never seems to just be satisfied with the status quo, and when they run out of fields to compete in they create their own! Google’s new “Go” programming language is one of their newest ventures, a language which is an amalgamation of Python and C++.

 

The Go language, in development since September 2007, has been unveiled by Google along with the release of a free and open source compiler. In fact, Google has released both a stand-along compiler implementation with cryptic names such as 6g (amd64 compiler), 8g (x86 compiler), and 5g (ARM compiler) and one which is a front-end for GCC (gccgo).


Born out of frustration with existing system languages, Go attempts to bring something new to the table, and mix the ease of dynamically typed and interpreted languages with the efficiency of compiled languages.

 

So why make a new programming language?

 

Google believes that the current languages have run their course. The prominent languages in use today (C/C++, Java, C#) are all based around a similar syntax, and updating and adding new features in these language consists of piling on libraries, with little or no upgrade to the core of the language itself. What Google intends to do requires more than just the addition of a new library.

Hello World in Go

package main
 
import "fmt"
 
func main() {
  fmt.Printf("Hello, ??n")
}

 

The landscape of computing has changed a lot since C, and as Google notes “Computers are enormously quicker but software development is not faster.” Languages have had to morph quite a bit to take on support concepts such as parallel processing, and garbage collection.

 

Go, on the other hand has been designed by Google from the ground up as “a concurrent, garbage-collected language with fast compilation”.

 

In order to not alienate the majority of developers though, its syntax is quite similar to C, and would not take much time for a developer to catch on to.

 

Go has accomplished some impressive feats. The language is designed to compile fast and Go can compile a “large" program in a few seconds on a single computer. It is designed to simplify the creation of application which can better utilize today’s multi-core processors. The language supports concurrent execution and communication between concurrent processes natively, and is fully-garbage collected.

 

Goroutines allowed are Google’s answer to threading in Go, and any function call which is preceded by the go statement runs in a different goroutine concurrently. A feature called channels allows for easy communication and synchronization between such routines.

 

Unlike other object oriented languages, Go has a much “simplified” type structure, which disallows sub-classing! Go offers a different flavour of object oriented programming using interfaces, which Google believes will simplify use.

 

By using interfaces, explicit type hierarchies need not be defined, instead, a type will satisfy all interfaces which are subsets of its methods. The relationships between types and interfaces need not be defined explicity! This can have some interesting implications as people can add interfaces to connect unrelated types even later in the development of an application.

 

Go seems inspired by Python as well. Python has been one of Google’s favoured languages and was the sole language supported on Google’s AppEngine when it launched. Like Python, Go supports “slices”, which allow you to refer to parts of arrays using a simple syntax. Thus for an array “a” with 100 elements, a[23,42] will result in an array with elements 23 through 42 of a. Go also tracks the length of arrays internally, further simplifying array usage. Additionally, Maps in Go allow you to create “arrays” with custom index types, and are a native feature of the language.

 

One consistent point in the features of Go is that it is better to have one excellent implementation of commonly used features such as garbage collection, strings, maps etc. rather than have them rethought and re-implemented in each program.

 

As nearly all Google products, Go is “beta” and not yet suitable for production use. By releasing it early Google hopes to garner a community around it and hopes that enough people will be interested in it to justify continued development.

 

Get out there and grab Go now! Like any Google product it has the capacity to become standard for the next generation.

 

Friday, October 9, 2009

Obscure Google Features

One of the most frequently used reason for removing features from Google's products is that not many people used them. Here's a recent example:

"Google Base has its own search page for users to search across everything that's been uploaded, but it isn't widely used. Instead, people search on Google Product Search for products, or on Google Maps to find houses for rent or sale. Therefore, we're planning to retire Google Base's separate search page in a few weeks."

Google Base search is not the only obscure Google feature. Even though it's difficult to estimate how often each feature is used, it's safe to say that the following features are rarely used:

1. Gmail mute. The option that lets you ignore boring conversations from mailing lists is available in Gmail's standard interface and it has recently been added to Gmail Mobile.

2. Google Reader's auto sorting. "This works by prioritizing subscriptions with fewer items. So, with this setting, your friend's blog with one item a month will not be drowned out by higher volume sites such as the New York Times because we'll raise the blog to the top."

3. Google Chrome's docking positions. "Drag a tab to pre-defined locations, or docking positions, on your computer monitor or browser window to quickly resize your browser window. When the docking icon appears, release the mouse over the icon to have the tab snap in place."

4. GoogleTournament function from Google Spreadsheets. "The GoogleTournament function returns live data for games occurring during the Men's and Women's NCAA Division I Basketball Championship."

5. Google Toolbar's "up" button lets you go up one level in a web site.

6. Google Music Search, used for showing outdated information about music artists.

Can you think of other obscure Google features that are probably used by a small number of people?


Courtesy : googlesystem.blogspot.com

Thursday, October 1, 2009

Google has Done it Again !!! A Very Smart Innovation


Check out this device ...


Guess what you can do with a touch screen, camera, scanner, WiFi, and google maps ...
View a building through it, and it gives you all the information about that building....







Choose a building and touch a floor and it tells you more details of the building. You can use it when you want to know a car model, an insect name, what kind of food is served at a restaurant and how much, who built a bridge, etc. etc. 











It’s got a scanner built in. 


so you can use it this way when you want to check the meaning of a word in the newspaper, book, magazine, etc. It would be much easier to read a real book. You can use the dictionary, wikipedia, thesaurus and anything else available on the web. What do you think? 








Indoor guide:
 Works in a building, airport, station, hospital, etc.









Automatic simultaneous translation: here Latin to English. 







Search keyword: Helpful when you want to find out a word from a lot of text in newspaper/book






Nutrition: This kind of function would be helpful for health freaks.. 









Wednesday, September 30, 2009

100K Google Wave Invites

Some call Google Wave the next big thing on the Internet while others think that it does not add anything new or exciting to the web. Whatever it is, most users have not had a chance to test Google Wave as Google has closed registration for the service. The Google blog announced yesterday that they will open the service to a new batch of 100.000 users. Registrations on the other hand remain closed and the only way users can grab one of these invites is by being a developer who have been active in the developer preview started in June, being one of the first users who signed up for Google Wave (and offered to give feedback) or by being a select customer of Google Apps.
Best chance for most interested users is therefore if they have filled out the registration form at the Google Wave website back when it was announced for the first time. Everyone else will have to wait just a bit longer before they can experience the service first hand.
Take a look at the video about Google Wave if you have not heard about it before: (it’s long)
Your best bet currently is to signup at the website as soon as possible for a chance to be included in one of the upcoming invitation rounds (it is likely that there will be more or that Google will let users who have registered join eventually).




Coursey - Ghack