via HNTweets
Google’s Go and implicit interface declaration … Comments: https://news.ycombinator.com/item?id=5773810
Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts
Monday, May 27, 2013
Tuesday, May 21, 2013
Friday, December 14, 2012
The NoSQL Ecosystem
by Adam Marcus in The Architecture of Open Source Applications.
Unlike most of the other projects in this book, NoSQL is not a tool, but an ecosystem composed of several complimentary and competing tools. The tools branded with the NoSQL monicker provide an alternative to SQL-based relational database systems for storing data. To understand NoSQL, we have to understand the space of available tools, and see how the design of each one explores the space of data storage possibilities.
If you are considering using a NoSQL storage system, you should first understand the wide space of options that NoSQL systems span. NoSQL systems do away with many of the traditional comforts of relational database systems, and operations which were typically encapsulated behind the system boundary of a database are now left to application designers. This requires you to take on the hat of a systems architect, which requires a more in-depth understanding of how such systems are built.
Guido Van Rossum Left Google for Dropbox
From Forbes by Tomio Geron, Forbes Staff.
Dropbox Snags Google Exec And Python God Guido Van Rossum
Image credit: by Doc Searls via Wikipedia.
Sunday, December 02, 2012
Tuesday, July 10, 2012
Why is Clojure so slow?
RT @newsycombinator
From Martin's Computer Programming Blog.
What we can see it that Java itself accounts for 0.35s of the startup time, but unfortunately Clojure adds another second(!) on top of that. This 1.3s pause before main gets called is why Clojure is unsuitable for "terminal scripts". The running time of any scripts (like lein or starting the REPL) will be totally dominated by the startup time. Most Clojure developers will not notice this too much to, since they spend almost all their time in the REPL itself, but users of those Clojure programs will!
My summary is that it spends 95% of the startup-time loading the clojure.core namespace (the clojure.lang.RT class in particular) and filling out all the metadata/docstrings etc for the methods. This process stresses the GC quite a bit, some 130k objects are allocated and 90k free-d during multiple invokes of the GC (3-6 times), the building up of meta data is one big source of this massive object churn.
Tuesday, July 03, 2012
Why Did Borland Fail?
I loved Turbo Pascal. Here's one person's explanation of what happened at Borland.
via Flipboard on Android.
Tuesday, June 26, 2012
Saturday, June 23, 2012
Why we owe it all to Alan Turing
by Dan Crow on Gigaom.
…he, more than anyone, can be said to be the father of the computer. So what was his great insight? What is it he did that shaped our world so profoundly?
The Church-Turing Thesis has two very important implications.
First, it recognized the fundamental limitations of the system — for example, that there are some programs that are not computable by any machine.
But it was the second implication that was most profound: within its limitations, a Turing Machine can be programmed to run any piece of software. In fact, one of the programs that can be run on a Turing Machine is a simulation of a Turing Machine. And the simulated Turing Machine can itself run any program that a Turing Machine can run.
This is the genius of Turing’s work, his key insight. He has defined a “Universal Machine” — one that can run simulations so powerful they are themselves universal machines.
Sunday, May 27, 2012
Saturday, April 28, 2012
Thursday, April 26, 2012
A Forgotten Principle of Compiler Design
from Programming in the 21st Century.
That a clean system for separately compiled modules appeared in Modula-2, a programming language designed by Niklaus Wirth in 1978, but not in the 2011 C++ standard…hmmm, no further comment needed. But the successor to Modula-2, Oberon, is even more interesting.
Wednesday, March 07, 2012
Friday, February 17, 2012
Strings in Scheme Lisp
I was recently trying to find what string functions were built into Scheme. Yes, it actually is in the manual but my web search brought up this site: Python vs. Scheme: strings.
R-Like Statistics in Clojure
“Incanter is a Clojure-based, R-like platform for statistical computing and graphics.
Incanter can be used as a standalone, interactive data analysis environment or embedded within other analytics systems as a modular suite of libraries.” From incanter.org..
Monday, January 30, 2012
Friday, January 27, 2012
Google’s Python Lessons are Awesome
via Hartley Brody
Google's Python class
The lovably geeky Nick Parlante — a Google employee and CS lecturer at Stanford — has written some awesomely succinct tutorials that not only tell you how you can use Python, but also how you should use Python. This makes them a fantastic resource, regardless of whether you’re just starting, or you’ve been working with Python for awhile.
Google's Python class
Subscribe to:
Posts (Atom)


