InfoQ

InfoQ

Topic/Tag specific view

Programming Content on InfoQ


Latest featured content about Programming

Distributed Systems with ZeroMQ and gevent

Topics
Python,
Messaging,
Strange Loop 2011,
Dynamic Languages,
Web Services,
Strange Loop,
Enterprise Architecture,
Concurrency,
SOA,
Distributed Systems,
Languages,
Architecture,
Conferences,
Programming,
ZeroMQ

Jeff Lindsay discusses creating distributed and concurrent systems using ZeroMQ – a lightweight message queue-, and gevent – a coroutine-based networking library.

News about Programming

Deep Dive With Microsoft Fakes – Shims

Topics
.NET Framework,
.NET,
Unit Testing,
TDD,
Testing,
Programming

Shims are a part of the Microsoft Fakes framework that allow Method interception as a part of testing – including framework methods. This allows for lesser intrusive unit testing, as shown in an article by Rich Czyzewski, “Noninvasive Unit Testing in ASP.NET MVC4 – A Microsoft Fakes Deep Dive”.

MonoDevelop 3.0 – Better Code Completion, Performance, Quick-Fix Suggestions

Topics
Mono,
MonoDevelop,
.NET,
IDE,
IDEs,
Programming

MonoDevelop 3.0 has been released and there are several new features that focus on performance and developer productivity, especially for C# developers.

Updating Web Applications Running In Production with LiveRebel 2.0

Topics
Java,
Languages,
Operations,
Deployment,
Programming,
Infrastructure,
JRebel,
Cloud Computing,
server automation

ZeroTurnaround brings its hotpatching technology into production deployments via LiveRebel, a solution for online updates of Java EE applications. New in this version are the improved user interface and the transactional nature of updates (fully reversible).

Articles about Programming

Distributed Version Control Systems in the Enterprise

Topics
Version Control,
ALM,
Source Control,
Enterprise Architecture,
Programming,
DVCS,
VCS

Every major Open Source project worldwide has already embraced Distributed Version Control Systems (DVCS), will enterprises be next?

Dan Allen on Arquillian Testing Framework

Topics
Java,
Integration Testing,
Languages,
Programming,
Frameworks,
JBoss Arquillian,
Testing

Arquillian is an integration and functional testing platform that can be used for Java middleware testing. It helps bring the tests to the runtime environment, freeing developers from managing runtime from within the test. InfoQ caught up with Dan Allen to talk about the framework features and its future roadmap.

How to Integrate Models And Code

Topics
Domain Specific Languages,
Languages,
Tools,
Model Driven Development,
Modeling,
Programming,
Agile,
Eclipse

While creating models in a form or another is very common, their combination with the code has been challenging. As a result, models are usually thrown away once the implementation has progressed. The reason is partly in the modeling languages used and partly in the tools applied. The article describes proven practices for working with both models and code.

Presentations about Programming

Skynet: A Scalable, Distributed Service Mesh in Go

Topics
Ruby,
Dynamic Languages,
Strange Loop 2011,
Strange Loop,
Languages,
Platforms,
Conferences,
Programming,
Rails,
Services,
Google Go

Brian Ketelsen introduces Skynet, a platform for polyglot, distributed and composable services that communicate with each other over RPC/JSON.

Why is a Monad Like a Writing Desk?

Topics
Clojure/West 2012,
Clojure,
Functional Programming,
Clojure/West,
LISP,
JVM Languages,
Languages,
Programming,
Monads,
Java,
Conferences

Carin Meier tells the story of Alice discovering Monads, meeting three types of monads – Identity, Maybe, State-, and learning how to implement them in Clojure.

Interviews about Programming

Trisha Gee from LMAX Discusses Concurrent Java Programming, Agile, and Diversity in IT

Topics
Java,
Scrum,
Languages,
Concurrency,
TDD,
Agile,
Programming,
Diversity in Teams,
Disruptor,
Domain Driven Design,
Testing

In a wide-ranging interview, LMAX's Trisha Gee talks to Charles Humble about using Java for low latency programming, and the Disruptor, an open source concurrent programming framework developed by LMAX. She also discusses the agile management techniques used at LMAX, and issues around gender and ethnic diversity in IT.

IBM's Tim Ellison on the Future of Java

Topics
Java SE,
GarbageCollection,
Java,
Languages,
OSGi,
Programming,
Modularity

Tim Ellison talks to Charles Humble about Lambda, extension methods, modularity, and plans for Java beyond Java 8

Books about Programming

Identity Management on a Shoestring

Topics
Java,
Languages,
Identity Management,
Programming,
Security,
Enterprise

The authors of this book share their experience and lessons learned while building an enterprise-wide Identity and Access Management system using an architectural approach called LIMA.

Good Relationships

Topics
Neo4j,
Spring Data,
Spring,
Neo,
Graph Database,
Dependency Injection,
SpringSource,
Java,
NoSQL,
VMWare,
Design Pattern,
Languages,
Database,
Patterns,
Design,
Object Oriented Design,
Companies,
Programming,
Enterprise

With Spring Data, the ever popular Spring Framework has cultivated a new patch of ground, bringing Big Data and NOSQL technology like Neo4j to enterprise developers. This guide introduces you to Spring Data Neo4j, using the fast, powerful and scalable graph database Neo4j to enjoy the benefits of having good relationships in your data.

Priming Kanban

Topics
Release,
Team Collaboration,
Kanban,
Quality,
Version Control,
Distributed Team,
Collaboration,
Agile Techniques,
Lean,
Project Management,
Software Craftsmanship,
Agile in the Enterprise,
Source Control,
Teamwork,
Agile,
WIP,
Programming

This mini-book offers an easy to follow 10 step guide to taking the initial plunge and start using Lean principles to optimizing value and flow in your system. Each step consists of a section explaining “why” followed by examples of specific tools, practices and rules that have helped other teams better understand and optimize their system.

Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings

Topics
Self-organizing Team,
Scrum,
Teamwork,
Methodologies,
Programming,
Agile,
Training / Certification

Scrum, arguably the fastest-growing Agile methodology, is well described in the original Scrum books, which tend to be read once and put aside. Scrum is a framework with simple rules. This Scrum Checklist will help you to remember these simple rules in the heat of daily work and stress. It enable you to create an enjoyable and productive work environment with your Scrum-Team.

Getting Started with Grails, Second Edition

Topics
Grails,
Java Web Frameworks,
Groovy,
Web Frameworks,
Dynamic Languages,
Java,
JVM Languages,
WOA,
Languages,
Programming,
Architecture

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Composite Software Construction

Topics
WS Standards,
BPMN,
BPEL,
WSDL,
ESB,
Domain Specific Languages,
Business Process Management,
SOA Platforms,
Web Services,
Orchestration,
SOA,
Business,
Languages,
Enterprise Architecture,
SOA Appliance,
Architecture,
Programming,
Infrastructure,
Service Design,
Modeling,
Service Data Objects,
WS-AtomicTransactions,
Service Component Architecture,
WS-Star,
MDA

Composite Software offers a new level of granularity when compared to SaaS (Software as a Service). Composite Software is about enabling "right-sourcing", i.e. move (or keep) arbitrary small or large elements of functionality wherever it is the most cost effective to operate them, not just entire systems. Economically, "right-sourcing" is far more efficient than "outsourcing" and SaaS. The goal of this book is start by understanding today’s software construction processes and technologies and explore why and how it should be evolved to support core composition mechanisms.

Starting Struts 2

Topics
Struts,
Java Web Frameworks,
Java,
Languages,
Architecture,
Programming,
Book Review

Within this book you will find everything you need to get up and running using Struts2 – from the architecture and configuration, to implementing actions and the supporting infrastructure such as validation and internationalization. Above all else, it focuses on the practical – with plenty of code and productivity tips to get you started using Struts2 today.

Agile Patterns: The Technical Cluster

Topics
Process Adoption,
Continuous Integration,
Introducing Agile,
Adoption,
Unit Testing,
Agile Techniques,
Patterns and Practices,
Software Testing,
Agile in the Enterprise,
Methodologies,
Business/IT Alignment,
Value & Metrics,
TDD,
Agile,
Patterns,
Testing,
Enterprise Architecture,
Programming

This book guides the reader on crafting their own agile adoption strategy focused on their business values and environment. This strategy is then directly tied to patterns of agile practice adoption that describe how many teams have successfully (and unsuccessfully) adopted them. Business values are also a component of these patterns so your adoption is always focused on addressing your particular environment.