InfoQ Homepage Languages Content on InfoQ
-
From Imperative to Functional and Back-Monads are for Functional Languages
Grafting Functional Programming's approach of monadic composition onto imperative languages yields the worst of both worlds. And the only reason for importing the PFP abstraction is due to a flaw in that most basic concurrency abstract, the thread; a flaw that can be easily rectified by the introduction of fibers.
-
Bridging Microsoft Word and the Browser
HTML editors work fine for general formatting, but they don’t have all the capabilities that some businesses require. Creating graphics, diagrams, tracking changes and inserting comments are useful and come out of the box in Microsoft Word In this article, Prasadu Babu Dandu shows how to serve up Word documents as HTML.
-
Stylish and Sane: A Guide to Better CSS
All websites need CSS and most is awful. There's too much of it. There's a bunch of duplication. It's like a delicately spun spider web, tightly coupled and fragile. It has more patches than a bicycle wheel. It doesn't need to be this way. Rouan Wilsenach introduces the concept of component-based styling and how to curate a style guide for your site.
-
Big Memory .NET Part 2 - Pile, Our Big Memory Solution for .NET
In part one, Leonid Ganeline introduced the concept of big memory and discussed why it is so hard to deal with in a .NET environment. In part two, Dmitriy Khmaladze describes their solution NFX Pile; a hybrid memory manager written in C# with 100% managed code.
-
Q&A and Book Review of Software Development Metrics
The book Software Development Metrics by Dave Nicolette explores how to use metrics to track and guide software development. It explains how different development approaches and process models, like traditional waterfall-based or iterative agile software development, affect the choice and usage of metrics. It describes metrics that can be used for steering work and for managing improvement.
-
Big Memory .NET Part 1 – The Challenges in Handling 1 Billion Resident Business Objects
This article describes the concept of Big Memory and concentrates on its applicability to managed execution models like the one used in Microsoft’s Common Language Runtime (CLR). A few different approaches are suggested to resolve GC pausing issues that arise when a managed process starts to store over a few million objects.
-
Reactive Messaging Patterns with the Actor Model Book Review and Q&A with Vaughn Vernon
Vaughn Vernon in his new book Reactive Messaging Patterns with the Actor Model shows how this model can simplify enterprise software development. After an introduction to the basics of the actor model and tutorials on Scala and Akka the rest of the book is a patterns catalogue describing most of the patterns in the book Enterprise Integration Patterns from an actor model perspective.
-
Author Q&A with Brett Slatkin on Effective Python
InfoQ speaks with Brett Slatkin, senior staff software engineer at Google and author of Effective Python.
-
Fighting Developer Fatigue with JNBridge
Developer fatigue is the overwhelming frustration felt by developers who are under pressure to keep current with a flood of new languages, libraries, frameworks, platforms and programming models. JNBridge offers a way to help alleviate developer fatigue by allowing you to mix the libraries you know with code written in the language you are learning.
-
What's new in iOS 9: Swift and Objective-C
In this article, we are going to examine new features added to iOS and OS X El Capitan main programming languages: the recently open sourced Swift, which extends pattern matching syntax, adds feature availability and protocol extension, and overhauls error handing; Objective-C, with new interoperability features as generic collections.
-
Case for Defaulting to G1 Garbage Collector in Java 9
In this article, GC expert Monica Beckwith makes the case for JEP 248, the proposal to make G1 the default garbage collector in OpenJDK 9.
-
Projecting a Modular Future
In this article, the authors discuss modularity and projectional editing concepts used to design programming languages, using a language workbench (LWB) like Jetbrains' MPS. They discuss how they used these techniques in three different domains: embedded-software development, requirements engineering, and insurance rules.