Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

June 28 2012

Why learn C?

Though C has been around for decades, it's still consistently ranked at the top of any list of programming languages used and studied today. I recently spoke with David Griffiths (@dogriffiths), coauthor of "Head First C," about the reasons for C's continued (even increased) popularity and what his book offers in such an established market.

Highlights from our conversation include:

  • Why is C still popular? It's ubiquitous, closer to the hardware, and used to create other languages and operating systems. [Discussed at the 0:32 mark]
  • What kinds of software is C used for these days? System programming (in pure C) or specialized areas when working with languages that are extensions of C or closely related (e.g., knowing C makes Objective-C programming for iOS apps more efficient and C++ games programming more intuitive). [Discussed at the 3:18 mark]
  • If you learn C, what will it do for you? Knowing C gets you closer to the hardware, to better understand how things work on the system level. [Discussed at the 4:55 mark]
  • Why write Head First C? Kernighan and Richie's The C Programming Language is one of most popular, if not the most popular, programming books, and it defined the ANSI standard. That book is still the standard, but through the language hasn't changed, the audience has, and many learners are coming to the language from a different perspective and set of knowledge. [Discussed at the 6:03 mark]
  • How does Head First C make the language more accessible to this new audience? For example, it teaches how memory works in a more profound way (a concept systems programmers will likely already know, though new programmers in specialized fields might not). [Discussed at the 8:12 mark]
  • Describe the labs in Head First C. The book includes three hands-on missions for the learner, presenting the project without completed source code. In the first project, the learner uses Arduino lab to program a flower with sensors to tell you when it needs to be watered. In the second lab, a computer vision system (OpenCV) is used to capture images in a web cam to check for faces, motion, etc. And finally, the learner creates Asteroids game clone, pulling together many different concepts from the book. [Discussed at the 11:13 mark]
  • Arduino is making C popular among the Maker community. As a constrained platform, Arduino is a natural environment for C. C makes the most of the machine's performance, particularly with real-time processing of input/output. And because it's such a small language, you can become competent in basic keywords rather quickly, making small Arduino projects a gratifying introduction to programming. [Discussed at the 13:54 mark]
  • Why should colleges continue to teach C? It's an important, foundational language that requires you to understand the full stack of the technology. If you learn C, you'll understand computers at a much more profound level than if you don't. [Discussed at the 15:31 mark]

The full interview is available in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR

Related:

June 21 2012

Async and Roslyn mean more power and insight in your C# 5.0 programs

Eric Lippert is a principal developer on the C# compiler team at Microsoft. He has been with Microsoft since 1996, where he has worked on many projects including C#, VBScript, and Jscript. He also writes regularly on his blog about C#, programming languages in general, and his other interests.

Key points from the full interview (below) include:

  • Async is a major new feature in C# 5.0. It solves latency issues! [Discussed at the 3:32 mark]
  • The Roslyn project is going to vastly improve the C#/VB compiler tooling infrastructure. It will allow developers to complete their own code analysis. [Discussed at the 6:37 mark]
  • Performance analysis is key to creating an optimal C# program. [Discussed at the 9:19 mark]
  • Find out what might be coming next to C#. [Discussed at the 11:55 mark]

You can view the entire interview in the following video.

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR

Related:

June 14 2012

Why use Scala

Scala is not strictly a functional programming language — it was designed from the ground up to be an object-oriented and functional hybrid. So programmers need to choose which methodology to use, but both are available. I recently talked with Alex Payne (@al3x), co-author of the book "Programming Scala," about the advantages of using Scala.

Highlights from the full video interview include:

  • Why should you learn and use Scala? [Discussed at the 0:22 mark]
  • Advantages of combining object-oriented and functional capabilities in a programming language. [Discussed at the 1:24 mark]
  • Back end service development. [Discussed at the 2:56 mark]
  • Could Scala replace Java? [Discussed at the 4:45 mark]
  • Toolkit in use at Simple. [Discussed at the 6:00 mark]
  • How to build a better software development environment. [Discussed at the 7:25 mark]

You can view the entire conversation in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR


Related:


June 07 2012

Getting started with data-related explorations of everyday things

Sau Sheong Chang is a programmer by trade who got interested in applying his skills to questions around him. In his upcoming book, "Exploring Everyday Things with R and Ruby," he introduces these simple languages and develops a number of amusing and intriguing applications to show how other people can develop their own experiments. In this video, Chang describes his reasoning when starting a project.

Highlights from the full video interview include:

  • How Sau Sheong developed the habit of exploring things through data an programming. [Discussed at the 0:36 mark]
  • The process he uses while conducting an investigation. [Discussed at the 2:50 mark]
  • Using Ruby and R [Discussed at the 5:40 mark]
  • Some surprises Sau Sheong found while researching the book's topics. [Discussed at the 8:40 mark]
  • Iterative development process [Discussed at the 10:35 mark]
  • The biggest mistake one encounters in exploring everyday things. [Discussed at the 13:03 mark]

You can view the entire conversation in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR


Related:


May 31 2012

Using Python for Computer Vision

Python is a tremendous asset when you're trying to classify images, track changes in scenes, search for items within images, implement augmented reality, or do the myriad other things that fall under the umbrella of Computer Vision. In this interview, Jan Erik Solem, author of the upcoming book "Programming Computer Vision with Python," describes the uses for some common operations, and choices programmers have.

Highlights from the full video interview include:

  • The value of Python in computer vision [Discussed at the 0:24 mark]
  • Searching for images within images [Discussed at the 2:13 mark]
  • Clustering or grouping images [Discussed at the 3:22 mark]
  • Constructing a 3D scene from images [Discussed at the 6:11 mark]
  • Modeling and calibrating a camera [Discussed at the 7:22 mark]

You can view the entire conversation in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR


Related:



May 24 2012

Jon Loeliger offers some practices to use with Git

After finishing the second edition of "Version Control with Git," author Jon Loeliger talked to me about some of the advice he offers and how to use Git effectively as changes to code pile up.

Highlights from the full video interview include:

  • What's new in Git since the first edition of the book? [Discussed at the 0:38 mark]
  • Importance of understanding concepts behind Git [Discussed at the 2:40 mark]
  • How to manage complicated branching [Discussed at the 3:33 mark]
  • Aspects of Github beyond storage [Discussed at the 6:22 mark]

You can view the entire conversation in the following video:

OSCON 2012 — Join the world's open source pioneers, builders, and innovators July 16-20 in Portland, Oregon. Learn about open development, challenge your assumptions, and fire up your brain.

Save 20% on registration with the code RADAR

Related:

May 17 2012

JavaScript and Dart: Can we do better?


JavaScript keeps advancing by leaps and bounds, but is it powerful enough yet? Is the Web ready to take on all the challenges we throw at it?

I talked with Seth Ladd, a web engineer and Chrome Developer Advocate at Google who's working on Dart, but still, I'm happy to say, interested in JavaScript itself. He's been working with larger projects and larger teams figuring out how to build bigger, faster, and more complex applications than most of us care to dream about.

Seth's constant push - "we can do better" - takes a hard look at where we are today with web programming, acknowledging decades of improvement but looking hard for the next best thing.

Highlights from the full video interview include:

  • Speed - is JavaScript fast enough yet? [Discussed at the 2:12 mark]
  • 60 frames per second - can the browser look that smooth? [Discussed at the 3:21 mark]
  • Dart - Structure, tooling, and reaching both JavaScript and C++ programmers [Discussed at the 6:27 mark]
  • "Dart compiles to modern JavaScript today" [Discussed at the 9:16 mark]
  • "JavaScript is becoming the bytecode of the Web" - many languages compile to JavaScript [Discussed at the 11:16 mark]
  • View Source isn't what it used to be - is Github the answer? [Discussed at the 12:07 mark]


You can view the entire conversation in the following video:


Fluent Conference: JavaScript & Beyond — Explore the changing worlds of JavaScript & HTML5 at the O'Reilly Fluent Conference (May 29 - 31 in San Francisco, Calif.).



Save 20% on registration with the code RADAR20

Related:

May 10 2012

Understanding Mojito

Yahoo's Mojito is a different kind of framework: all JavaScript, but running on both the client and the server. Code can run on the server, or on the client, depending on how the framework is tuned. It shook my web architecture assumptions by moving well beyond the convenience of a single language, taking advantage of that approach to process code where it seems most efficient. Programming this way will make it much easier to bridge the gap between developing code and running it efficiently.

I talked with Yahoo architect fellow and VP Bruno Fernandez-Ruiz (@olympum) about the possibilities Node opened and Mojito exploits.

Highlights from the full video interview include:

  • "The browser loses the chrome." Web applications no longer always look like they've come from the Web. [Discussed at the 02:11 mark]
  • Basic "Hello World" in Mojito. How do you get started? [Discussed at the 05:05 mark]
  • Exposing web services through YQL. Yahoo Query Language lets you work with web services without sweating the details. [Discussed at the 07:56 mark]
  • Manhattan, a closed Platform as a Service. If you want a more complete hosting option for your Mojito applications, take a look. [Discussed at the 10:29 mark]
  • Code should flow among devices. All of these devices speak HTML and JavaScript. Can we help them talk with each other? [Discussed at the 11:50 mark]

You can view the entire conversation in the following video:

Fluent Conference: JavaScript & Beyond — Explore the changing worlds of JavaScript & HTML5 at the O'Reilly Fluent Conference (May 29 - 31 in San Francisco, Calif.).

Save 20% on registration with the code RADAR20


Related:


May 03 2012

Editorial Radar: Functional languages

Functional Languages are driving a broader set of choices for programmers. O'Reilly editors Mike Loukides and Mike Hendrickson sat down recently to talk about the advantages of functional programming languages and how functional language techniques can be deployed with almost any language. (The full conversation is embedded below.)

Andy Hunt and Dave Thomas have long recommend learning a new language each year, especially those languages that teach new concepts [discussed at the 02:02 mark]. Functional languages have made that easier. They behave in a different way than the languages many of us grew up on — procedural like C or languages derived from C. Plus, the polyglot programming movement has driven the interest in functional languages as one of the languages you might want to learn.

Programmers need to understanding the advantages of using a functional language, such as productivity, power of expressiveness, reliability, stateful objects, concurrency, natural concurrency, modularity, and composability [05:37]. Though a search still exists for a magic bullet [06:29] to make it easier for programers to better solve the problem of concurrency. CPU speeds have been stuck at roughly the same level for the last four to five years. Programmers have been given is more transistors on a chip, hence more CPUs and more cores to work with making concurrency one of the most difficult issues facing computer scientists today. Enter functional programming with improved debugging and the ability to write more reliable code in a concurrent environment.

Additional highlights from this conversation include:

  • Print book sales of functional languages are growing, especially books on R programming. And while Loukides doesn't consider R to be a functional language, some debate exists about its classification. Though it's clear the data science movement has driven the use of R because it's well designed for statistics and dealing with data. [Discussed at the 00:29 mark]
  • We'll see F# grow in the Microsoft development environment while Scala and Clojure are dominating the open source space. Erlang will also be around for a long time for building highly reliable concurrent systems. [Discussed at the 03:01 mark]
  • Since the publication of Doug Crockford's JavaScript: The Good Parts, coders have discovered the functional language abilities of JavaScript and Java. Google's release of Maps and Gmail revolutionized how JavaScript is used. Some of today's best examples include Node for high-performance websites and D3 for creating exotic and beautiful data visualizations. [Discussed at the 08:15 mark]
  • While JavaScript isn't a functional language, it's designed loosely, so it's easy to use as a functional language. You might also be interested in how functional programming techniques can be used in C++ — a blog post written by John Carmack. [Discussed at the 10:36 mark]
  • Java isn't intended as a functional language. Though Dean Wampler's Functional Programming for Java Developers provides an approachable introduction to functional programming for anyone using an object-oriented language. [Discussed at the 11:41 mark]
  • The use of a functional language or functional language techniques can make your code more robust and easier to debug. [Discussed at the 12:09 mark]

You can view the entire conversation in the following video:

Tune in next month for a discussion of NoSQL and web databases.

Fluent Conference: JavaScript & Beyond — Explore the changing worlds of JavaScript & HTML5 at the O'Reilly Fluent Conference (May 29 - 31 in San Francisco, Calif.).

Save 20% on registration with the code RADAR20

Related:

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl