General Development Archive

Microsoft’s Roslyn: Reinventing the Compiler as we Know it

"Looking past the Metro hype, the Build conference also revealed promising road maps for C#, Visual Studio, and the .Net platform as a whole. Perhaps the most exciting demo of the conference for .Net developers, however, was Project Roslyn, a new technology that Microsoft made available yesterday as a Community Technology Preview. Roslyn aims to bring powerful new features to C#, Visual Basic, and Visual Studio, but it's really much more than that. If it succeeds, it will reinvent how we view compilers and compiled languages altogether."

What’s Hot (or Not) In Scripting Languages

Just-in-time compilers, browser wars, and developer enthusiasm are just a few of the trends separating today's hot scripting languages from the pack. InfoWorld's Peter Wayner surveys programmers, commit logs, search engine traffic, and book sales data to provide a barometer of scripting languages -- JavaScript, ActionScript, Perl, Python, Ruby, Scala, R, and PHP -- providing a best-guess forecast of which languages are rising and falling in scripting hipness.

IT Inferno: The Nine Circles Of IT Hell

InfoWorld's Dan Tynan takes us on a tour of the nine circles of IT hell, a place 'not unlike the underworld described by Dante in his Divine Comedy.' 'But here, in the data centers, conference rooms, and cubicles, the IT version of this inferno is no allegory. It is a very real test of every IT pro's sanity and soul,' Tynan writes. From IT limbo, to tech lust, to stakeholder gluttony, to tech-pro treachery, the IT inferno is not buried deep within the earth, it's just down the hall. 'Thankfully, as in Dante's poetic universe, there are ways to escape the nine circles of IT hell. But IT pro beware: You may have to face your own devils to do it. Shall we descend?'

Announcing Opa: Making Web Programming Transparent

"Opa, a new opensource programming language aiming to make web development transparent has been publicly launched. Opa automatically generates client-side Javascript and handles communication and session control. The ultimate goal of this project is to allow writing distributed web applications using a single programming language to code application logics, database queries and user interfaces. Among existing applications already developed in Opa, some are worth a look. Best place to start is the project homepage which contains extensive documentation while the code of the technology is on GitHub. A programming challenge ends October 17th." This is weird. 'Opa' is the nickname my friends gave me 6 years ago. It's still used more often than my actual name...

Six Python Web Frameworks Compared

InfoWorld's Rick Grehan provides an in-depth comparison of six Python Web frameworks, including CubicWeb, Django, Pyramid, Web.py, Web2py, and Zope 2. 'No matter what your needs or leanings as a Python developer might be, one of these frameworks promises to be a good fit,' Grehan writes. 'As usual, the choice is highly subjective. You will find zealots for each product, and every zealot is able to present rational reasons why their chosen framework is superior.'

EKOPath 4 Compiler Suite Going Open Source

"PathScale announced today that the EKOPath 4 Compiler Suite is now available as an open source project and free download for Linux, FreeBSD and Solaris. This release includes documentation and the complete development stack, including compiler, debugger, assembler, runtimes and standard libraries. EKOPath is the product of years of ongoing development, representing one of the industries highest performance Intel 64 and AMD C, C++ and Fortran compilers." More here.

Could You Live Without Blocking Calls?

After having an interesting discussion with Brendan on the topic of deadlocks in threaded and asynchronous event handling systems (see the comments on this blog post), I just had something to ask to the developers on OSnews: could you live without blocking API calls? Could you work with APIs where lengthy tasks like writing to a file, sending a signal, doing network I/O, etc is done in a nonblocking fashion, with only callbacks as a mechanism to return results and notify your software when an operation is done?

Native x86 Android Runtime: Android Applications on Windows

"A startup called BlueStacks has developed an Android runtime environment for the Windows operating system. It will enable users to run Android applications alongside conventional Windows software on Microsoft's operating system. The technology impressed some major investors who have supplied $7.6 million in Series A funding so that BlueStacks can turn its software into a business."

Javascript Emulator Lets Linux Run in a Browser Tab

The name Fabrice Bellard may not be recognizable to a lot of people, but the work he carries out as a programmer and computer scientist is. . . . He is a very talented programmer, and his latest project demonstrates once again just how talented he is. Using the super-fast JavaScript engines that now come as standard in popular web browsers, he has managed to create a PC emulator that runs in a browser. As a demonstration he has posted a link to a version of the Linux kernel running in such a scenario.

The Rise (And Fall?) of Application Stores

Application stores are growing everywhere like mushrooms. While users have initially embraced application stores because of the ease they offer with application installation, developers have several complaints. Division of profits from paid application and ineffectiveness of the screening process are among the major issues. Are application stores the best distribution channel possible? Can they satisfy both developers and users?

Open Source Programming Tools on the Rise

InfoWorld's Peter Wayner takes a look at 13 open source development projects making waves in the enterprise. From Git to Hadoop to build management tools, "even in the deepest corners of proprietary stacks, open source tools can be found, often dominating. The reason is clear: Open source licenses are designed to allow users to revise, fix, and extend their code. The barber or cop may not be familiar enough with code to contribute, but programmers sure know how to fiddle with their tools. The result is a fertile ecology of ideas and source code, fed by the enthusiasm of application developers who know how to 'scratch an itch'."

LLVM 2.9 Released

"This release includes 6 months of development that provide major enhancements and new features over the LLVM 2.8 release. LLVM 2.9 includes much better optimization and code generation than LLVM 2.8 (particularly for modern ARM targets), improved support for C++'0x in Clang, and a much more mature LLDB."

ISO Finalizes C++ Update

The C++ programming language is about to be updated, as the ISO steering committee for the language has approved the final draft specifying its next version. The ISO/IEC Information Technology Task Force will review the steering committee's Final Draft International Standard will review and, barring any complications, publish the draft later this year. It will be known as C++ 2011.

Enlightenment Libraries Reach 1.0

Enlightenment version 16 was one of most configurable window managers back in late nineties (and still is). For the next version however Rasterman and friends decided to create a complete desktop shell instead of just a simple window manager. Enlighenment version 17 is therefore based on a set of graphical libraries which can used for other applications as well. But do we need another set of libraries when QT and GTK+ are already mature and stable? Depending on your needs, you might find that using the Enlightenment libraries is truly an enlightening experience!

Recent Google Go Build Brings Treats for Windows

Go is a highly hyped (last year) new programming language by Google. Thanks to ongoing community effort, its Win32 compatibility constantly improves. This week's rolling release should be considered a major milestone. In the somewhat dry words: "implementation of callback functions for Windows" and "cgo: windows/386 port", it introduces two major breakthroughs for this platform: WinAPI GUI support, and the ability to easily wrap and link external (non-Go) libraries. Note that there's an unofficial compiled build for Win32 available for download.