Programmers, explicitly or implicitly, when working on complex systems, end up designing some APIs to accomplish their tasks, either because the product itself is some kind of general purpose library or because they need to write some libraries and packages to put some common code of their applications.
There is plenty of information available about how to write clean and maintainable code, but not a lot about writing usable APIs. The two things are related, but they are not the same. In fact, clean code is code that is clean from the point of view of its maintainers, usable APIs, on the other hand, refer to code that programmers (other than the original author) find easy to use. We’ll see how usable APIs help in writing clean code (and vice-versa).
In this session I will introduce the concept of API usability, explain its importance – e.g., impact on productivity and defects – and show its relation with clean code, as well as some (sometimes surprising) research results from literature. I will also give some practical advice on how to start writing more usable APIs.# vimeo.com/68383287 Uploaded 505 Plays 4 Likes 0 Comments
Generic programming holds great promise – ultimate reuse, unprecedented flexibility, and never a need to reimplement an algorithm from scratch due to abstraction penalties.
Unfortunately, the shiny city on the hill is difficult to reach. C++’s generic power has effectively reached a plateau – anything but the simplest generic constructs quickly turn an exponential complexity/benefit elbow. C++11 fails to be a strong sequel in the generic programming arena, and many other languages don’t seem to “get” genericity properly at all. The D programming language is a definite exception from this trend.
D makes short work of the most formidable generic programming tasks achievable with C++, and makes virtually impossible tasks readily doable. It also reduces the relevance of “Modern C++ Design” to that of an introductory brochure (much to the dismay of that book’s author).
This talk has a simple structure. It will pose a few generic programming tasks that seem difficult or impossible with current language technology, and then will show solutions in D that solve said problems.# vimeo.com/68378925 Uploaded 1,249 Plays 4 Likes 0 Comments
Git and GitHub allow developers to work effectively together in a very flexible manner, utilizing many different workflows. But which one is the best for our project?
In this talk, I’ll explain GitHub Flow™, the way that GitHub employees (specifically on GitHub for Windows) work together. Learn how to use Pull Requests effectively - both creating them as well as managing and merging them, as well as how to document your features and review code with them.
This talk will assume basic Git knowledge and will expand on this knowledge to more advanced Git concepts in the context of GitHub.# vimeo.com/68378254 Uploaded 1,026 Plays 6 Likes 1 Comment
Chris Hardy discusses the in and outs of creating an application for Windows Phone and how this app was ported over to run on iOS, Windows 8 and Android, discussing some hints and tips on achieving this, showing code and giving numbers of downloads for the apps on multiple platforms too.# vimeo.com/68378230 Uploaded 196 Plays 2 Likes 0 Comments
Why should you learn Clojure now? It’s the coolest new language on the JVM
What makes it so cool? It’s a dynamically typed, functional Lisp that offers sophisticated capabilities like software transactional memory
Why should I learn it? Lisp is the most powerful style of programming language possible (don’t believe me? Come see - I’ll show you), so you get the best language (Lisp) on the best runtime (JVM)
Isn’t Lisp the one with all the parenthesis? Yes.
What’s so compelling about Clojure? It’s fast, expressive, powerful, and allows you to do all sorts of things that other languages won’t let you do. It’s an elegant language.
Why is the entire talk done as question and answer? It’s an homage to a series of books, The Little Lisper and The Little Schemer. Because Lisp’s are simple and homoiconic, this style works nicely for them. Besides, it’s better than 1000 bullets, isn’t it?# vimeo.com/68378228 Uploaded 688 Plays 11 Likes 0 Comments
NDC 2013 watch list
My personal watch list for NDC
Browse This Channel
More stuff from “NDC 2013 watch list”
Heads up: the shoutbox will be retiring soon. It’s tired of working, and can’t wait to relax. You can still send a message to the channel owner, though!