Friday, March 27, 2015
Go, a Google-developed open source language intended to focus on simplicity and efficiency, has been getting a lot of attention lately. Launched late in 2009, the statically typed language is perhaps best known for being used in the development of the red-hot Docker container platform. "Go was born out of frustration with existing languages and environments for systems programming," an FAQ on Go reads.
Like any technology, though, it has its adherents and critics. Here are some key benefits and perceived drawbacks of the language as told by experts familiar with it.
It's easy to install applications written in Go, and it's easy to write them, says Go developer Steve Francia, chief of operations of the Docker open source project and creator of Hugo, a website engine written in Go. The language also has the edge when it comes to compilation. "C and C++ and Java take a long time to compile, [but Go] is very quick," said Francia, noting that Go applications are compiled to a single executable, whereas languages like Ruby, PHP, and C++ have a lot of dependency libraries that have to be installed alongside the application. Besides speed, Go also boasts a simple, small language syntax -- developers could read the entire Go specification within two hours and understand it, Francia says.
"It has concurrency built into it as a language, which makes it nice that it can advantage of multicore processors out of the box," Francia says. As Web developer Will Yager, who has been a critic of Go, avers, "Go's concurrency support is fairly solid, and its built-in channel abstraction works fairly well."
The best reason to use Go, Yager says: "It has the financial support of one of the world's largest software corporations" in Google. This means Go has a solid standard library and good cross-platform support, but Yager is skeptical of how long Google will remain committed to it.
The language is growing at a phenomenal rate, adding user groups and conferences dedicated to it around the globe, says Go contributor and blogger Dave Cheney. "Go attracts its fair share of critics, but I think the numbers speak for themselves. There are a growing number of professional programmers who see the value in a language that just lets them get things done."
Go runs nearly everywhere, says Francia. "It's very easy to run it on Windows or Linux or OS X or even things like Raspberry Pi."
Andrew Gerrand, a participant in the Go project and an engineer at Google, says "portability has been an important consideration from the very beginnings of the Go project. We launched supporting two operating systems and three processor architectures, and effortless cross-compilation is a product of our emphasis on portability." Cross-compilation capabilities, meanwhile, have had Go offering "excellent" support for producing binaries for foreign platforms, where Go does not have to be installed on the target, Cheney says. "When Go 1.5 ships in August any Go programmer will be able to cross compile their program without having to go through a fussy setup phase," he writes.
Because of the heritage of its compilers, which were based on the Plan 9 tool chain, Go has always had a straightforward model for using a compiler, for example, on a Mac, to produce a binary running on Windows or Linux, Cheney says. Go's "easy cross-compilation" will enable developers to ship binaries for ARM64 and PowerPC64 platforms "with a minimum of fuss," when planned support for these platforms is ready, concurs Gerrand. "In fact, with the entire tool chain recently converted to Go, we now have much less platform-specific code in our core distribution, which makes it easier than ever to port Go to new operating systems and processor architectures."
As Francia points out, Go is still a very young language. "I'm shocked how far it's come and how short it's been established, but the reality is, this a very young language with a very young ecosystem around it." This means there aren't many libraries for it yet, leaving developers to write libraries themselves. While languages like Python and Java have great libraries for natural language processing, for example, Go is lacking in this regard. "Another shortcoming of Go," Francia adds, "is that in spite of good effort from the people and [being] an easy language to learn, there's not a lot of learning resources yet for Go." This includes a shortage of books and online courses on the language.
"Go's main marketing claim is that it is simple," Yager says. "Unfortunately, Go's simplicity is mostly superficial, and in its effort to find simplicity, it threw away decades of valuable programming language progress." He believes that much of Go's support is derived from a desire to return to purportedly simpler days of programming. "A common sentiment among Go supporters is that modern languages are too complicated and 'academic', whereas they see Go as a 'working man's' language."
It's easy to crank out Go code, while many modern languages force programmers to front-load the design aspect of a program, which is mistaken for a loss of productivity, according to Yager. "In reality, the increased up-front design cost of modern languages, like Rust, Haskell, Scala, and so on, translates to a decreased overall cost -- with less time spent reimplementing and debugging. But the immediate gratification afforded by a 'simple' language like Go is hard to ignore."
Go claims to follow the tradition of C but actually abandons almost everything that made C elegant, Yager believes. "C requires no runtime and is portable across all Von Neumann computers, while Go requires a complicated runtime, a heap, and an operating system."
This story, "Google's Go language is off to a great start, but still has work ahead" was originally published by InfoWorld.
at 6:40:00 PM
| Facebook CEO Mark Zuckerberg has announced new features 'Facebook Messenger'. Facebook has opened up its Messenger service for developers to create apps and for shoppers to communicate directly with retailers.|
Facebook unveiled the new features at its annual developer conference in San Francisco, for the first time allowing developers to create apps that function inside the Messenger service used by more than 600 million people.
The new features is the latest effort to transform its mobile messaging service into a full-featured platform with the same pull with consumers and businesses as its flagship 1.4-billion user social network.
The new Messenger will feature more than 40 different apps in the next few days. This will allow users to send each other sports clips, animations and other items. The new Messenger meant to improve conversations between users.
Facebook hopes to turn its messaging service into one that operates independently of the company's social media network as it faces intensifying competition from Twitter and Google.
Facebook must pre-approve apps that seek to be integrated into its Messenger service, rather than downloaded separately. But any developer is free to add basic features that will make portions of their apps compatible with Messenger.
Sushma rani, EFYTIMES News Network
|Microsoft has announced its partnership with Android giant Samsung, pre-installing their apps and services like OneNote, Skype, and OneDrive apps on the new Samsung flagships the Galaxy S6 and Galaxy S6 Edge smartphones. The new Microsoft is doing everything it can to get Office into the hands of people on those devices.|
Microsoft’s prime priority in the mean time is clearly extra utilization, not sales. The firm is letting cellular customers run Office on their telephones and tablets free, in hopes of ultimately luring them to purchase premium options obtainable by means of an Office subscription service.
We’ve seen how great the upcoming Windows 10 OS looks like, and we’re bracing for what Windows Phone will bring us this year or the next. In the meantime, the Redmond-based software giant is extending its reach as it looks to partner with Android manufacturers and place their software on devices.
This so-called freemium approach to making money is the standard for countless app startups today.
The company really is pushing for cross-platform usage with its apps. These will lead to more visibility for Microsoft, a company which we once thought would decline with the Windows platform. How different things now look, with some new perspective and a little effort.
Sushma rani, EFYTIMES News Network
| Electronic ecommerce company has announced the launch of unlimited storage plans. Aimed at new and existing Amazon Cloud Drive users alike, the service will cost as little as $11.99 a year.|
Last year, Amazon gave a boost to its Prime members when it launched a free, unlimited photo storage for them on Cloud Drive and today, the company is expanding that service as a paid offering to cover other kinds of content, and to users outside of its loyalty program.
The new feature will be split into two tiers—one for backing up and storing photos only and another for backing up all types of digital files from MP3s to documents and movies.
The move is a clear attempt by Amazon to compete against the likes of Dropbox, Google, Microsoft and the many more in the crowded market for cloud-based storage services. It’s not the first to offer “unlimited” storage, but it looks like it’s the first to market this as a service to anyone who wants it.
Customers can start experiencing unlimited cloud storage for free with a 3-month trial on either plan. Prime members and Fire device owners who already enjoy unlimited photo storage can choose to sign up for the Unlimited Everything Plan to store videos and files in addition to photos. Existing Cloud Drive customers can change their plans now by simply logging into their Cloud Drive accounts.
Sushma rani, EFYTIMES News Network