General Development Archive

A woman’s story

A beautiful story about Gwen Barzay, a black woman who broke both racial and gender barriers to become an early computer programmer. "Today she is retired, and like most retirees, she asks her son to help her with computers. She likes her Mac and runs a small business buying and selling books on line. What does she have to say about the difficulties she faced breaking into a male-dominated industry? 'I had it easy. The computer didn't care that I was a woman or that I was black. Most women had it much harder.'" The computer didn't care. Beautifully put.

Go version 1 released

"Today marks a major milestone in the development of the Go programming language. We're announcing Go version 1, or Go 1 for short, which defines a language and a set of core libraries to provide a stable foundation for creating reliable products, projects, and publications. Go 1 is the first release of Go that is available in supported binary distributions. They are available for Linux, FreeBSD, Mac OS X and, we are thrilled to announce, Windows."

Why vim uses the hjkl keys as arrow keys

"I was reading about vim the other day and found out why it used hjkl keys as arrow keys. When Bill Joy created the vi text editor he used the ADM-3A terminal, which had the arrows on hjkl keys, so naturally he reused the same keys." As interesting as that is, John Graham-Cumming goes even further back in history. "The reason that keyboard had those arrows keys on it was because those keys correspond to CTRL-H, J, K, L and the CTRL key back then worked by killing bit 6 (and bit 5) of the characters being typed." Truly fascinating stuff, even though it's from way before my time (I'm from 1984).

Opa 0.9.0 ‘S4’ released

Opa, the new open source programming language for web applications, just released its 0.9.0 'S4' version. Opa is a single programming language for specifying client code, server code and database code. The new release introduces two major features: A new default syntax that resembles JavaScript and was asked for by the community, and an abstraction layer for the NoSQL database MongoDB. Features that were previously supported by the internal Opa database are now available with the fast-growing, scalable NoSQL database. Together, Opa and MongoDB, provide a way to develop complex web applications and have them scale out easily. Many other smaller features have been added, as the number of contributors to the code on github grows.

C++ AMP Open Specification Published

"As an industry trend, advancement in heterogeneous hardware has progressed at a rapid pace. This in turn has fueled developer desire to target such hardware for accelerated computation, necessitating a significant step forward in programming models to enable such practices. C++ Accelerated Massive Parallelism (C++ AMP) is a new technology implemented in Visual Studio 11 that helps C++ developers use accelerators such as the GPU for parallel programming."

Programming Opa: Web Development, Reimagined

InfoWorld's Rick Grehan takes an in-depth look at Opa, MLstate's attempt to provide a single language for Web app development, and one of 10 cutting-edge programming languages that could shake up the future of IT. "With Opa, you write your Web application as though it were a single-tier program, and the compiler handles the knotty details of partitioning your program and deploying the resulting components to their proper domains. The compiler also builds the communication infrastructure among application components, and that infrastructure is invisibly managed by the runtime. The security weaknesses inherent in today's Web applications are virtually eliminated."

The Rust Compiler 0.1 Released

"Today Mozilla and the Rust community are releasing version 0.1 of the Rust compiler and associated tools. Rust is a strongly-typed systems programming language with a focus on memory safety and concurrency. This is the initial release of the compiler after a multi-year development cycle focusing on self-hosting, implementation of major features, and solidifying the syntax. Version 0.1 should be considered an alpha release, suitable for early adopters and language enthusiasts. It's nifty, but it will still eat your laundry."

Shed Skin 6 Years Later

It has been 6 years since we last mentioned Shed Skin, a restricted-Python to C++ compiler (Python 2.4-2.6). In the meantime, development has continued at a rapid pace. Shed Skin has taken part in the GSOC and GHOP projects. It is now able to generate extension modules, which can be used in larger Python programs. Its type inference engine has become orders of magnitude faster. One of the Shed Skin example programs, a work-in-progress C64 emulator is now compiled in under a minute on a fast PC. In total there are 64 non-trivial example programs. As may be expected from a static compiler, performance is better than when using PyPy in many cases. Though of course we have to mention that PyPy is much less restricted, and also improving at a rapid pace.

Developers Must Unite For Mobile App Portability

Fatal Exception's Neil McAllister sees a glaring omission among the proposed plans for the new Application Developers Alliance for mobile app developers: any clear focus on easing cross-platform mobile development. 'Currently, the leading mobile operating systems are all vertically integrated "walled gardens," and developing versions of the same app for multiple platforms is both challenging and costly,' McAllister writes. 'That's where an organization like the Application Developers Alliance could help. By organizing app developers from all across the mobile OS market, it could act as a unified voice to put pressure on Apple, Google, and others to lower barriers to entry for their platforms. ... But as long as it's being underwritten by leading proponents of the status quo, it seems unlikely that the Application Developers Alliance would rock the boat by taking a stand against walled-garden-style mobile platforms.'

10 Programming Languages That Could Shake Up IT

InfoWorld's Neil McAllister takes a look at 10 cutting-edge programming languages, "each of which approaches the art of software development from a fresh perspective, tackling a specific problem or a unique shortcoming of today's more popular languages. Some are mature projects, while others are in the early stages of development. Some are likely to remain obscure, but any one of them could become the breakthrough tool that changes programming for years to come - at least, until the next batch of new languages arrives."

How Xamarin Gave Mono a Life After Novell

On May 4, 2011, Novell conducted a large round of layoffs as part of its post-merger with Attachmate -- and one of the casualties was the 30-person team that worked on Mono. Fewer than two weeks after Novell swung the axe, de Icaza announced the launch of Xamarin. Xamarin is going strong: The company is generating self-sustaining revenue and is on a steady product launch schedule. (Last week it rolled out Mono for Android 4.0, which lets developers make apps that work with the latest version of Android, Ice Cream Sandwich.)

Why We Need More Programming Languages

Fatal Exception's Neil McAllister writes in favor of new programming languages given the difficulty of upgrading existing, popular languages. 'Whenever a new programming language is announced, a certain segment of the developer population always rolls its eyes and groans that we have quite enough to choose from already,' McAllister writes. 'But once a language reaches a certain tipping point of popularity, overhauling it to include support for new features, paradigms, and patterns is easier said than done.' PHP 6, Perl 6, Python 3, ECMAScript 4 -- 'the lesson from all of these examples is clear: Programming languages move slowly, and the more popular a language is, the slower it moves. It is far, far easier to create a new language from whole cloth than it is to convince the existing user base of a popular language to accept radical changes.'

Welcome to Ceylon

"Ceylon is a programming language for writing large programs in a team environment. The language is elegant, highly readable, extremely typesafe, and makes it easy to get things done. And it's easy to learn for programmers who are familiar with mainstream languages used in business computing. Ceylon has a full-featured Eclipse-based development environment, allowing developers to take best advantage of the powerful static type system. Programs written in Ceylon execute on any JVM."

What I’m Thankful For As A Developer

Fatal Exception's Neil McAllister gets into the holiday spirit with a post that gives thanks to technical advances for developers, including open source tools, modern IDEs, and distributed version control. 'I'm old enough to remember when performance-critical routines meant hand-coded assembly language and sometimes even keying in machine code as hexadecimal digits. We've come a long way since those bad old days, and not surprisingly we owe a lot of our progress to technology. So for this Thanksgiving, here are just a few of the modern advances for which I, as a developer, give thanks.' What are you giving thanks to?

PyPy 1.7 Widens the Performance “Sweet Spot”

"The PyPy development team has released version 1.7 of its 'very compliant' Python interpreter with integrated tracing just-in-time compiler. The developers say that the focus of the new update was widening the range of code that PyPy can speed up, which the developers refer to as the 'sweet spot'. In their benchmarks, PyPy 1.7 performs approximately 30 per cent faster than 1.6 and 'up to 20 times faster on some benchmarks'."