Writing is harder than hacking. They’re both hard to do well, but writing has an additonal element of panic that isn’t there in hacking.
With hacking, you never have to worry how something is going to come out.
Working on my thesis proposal this week; my thoughts exactly.
- JavaScript closures in for-loops | mennovanslooten.nl
- The Pragmatic Studio | Blog
Even though we’ve changed the date variable referenced by the block, when the block is called it still prints the original date and time. It’s as if time stood still when the block was declared. And that’s effectively what happens. As execution passes over the point where the block is declared, the block takes a (read-only) snapshot of all the variables in scope that the block uses. You can think of the value of the date variable as being frozen inside the block. Therefore, whenever the block is called—immediately, 5 seconds later, or just before the app quits—it always prints the original date and time.
- ridiculous_fish » Blog Archive » Will it optimize?
- millennium | On Style
In the beginning, I found several aesthetic aspects of the Google C++ style not to my taste. However in time as the project has grown I found that having a uniform style across the entire codebase to be very soothing. You can go from user interface code to the bowels of the network stack and find the same style. It requires fewer subtle context switches. Because the Google C++ style tends to be very specific about a great many things, the areas where it is silent stand out more when there are variances.
- Haskell features I’d like to see in other languages « Integer Overflow
Haskell’s notion of classes is more like Java’s notion of interfaces. A class is a list of function prototypes, and any data type for which such functions can be defined is an instance of that class. One does not inheret a parent class, but rather, one implements a class. It’s a weird distinction if you haven’t seen it before, but after I learned how to use it, I must say I prefer it.
- Monads: a language designer’s perspective - simondobson.org
- camelCase vs under_scores | Dev Art Of War
The move towards using underscores is a difficult one and I don’t know may Flash Developers who do this but once you accept having longer variable/method names to have legible descriptive ones the benefits pay off.
- Monad (functional programming) - Wikipedia, the free encyclopedia
In functional programming, a monad is a kind of abstract data type used to represent computations (instead of data in the domain model). Monads allow the programmer to chain actions together to build a pipeline, in which each action is decorated with additional processing rules provided by the monad. Programs written in functional style can make use of monads to structure procedures that include sequenced operations,[1][2] or to define arbitrary control flows (like handling concurrency, continuations, or exceptions).
- If you have to learn just one programming language | Babu Srinivasan's blog
Let’s begin with Common Lisp, Scheme, Fortran, Smalltalk, C, C++, Objective C, Ada, Java, Javascript, C#, D, Prolog, Perl, PHP, Python, Ruby, Groovy, Clojure, Lua, Forth, Factor, Erlang, OCaml, F#, Clean, Haskell, Scala and start the elimination process.
- A Day In The Life Of A Programmer v1.0
- What are the lesser known but cool data structures ? - Stack Overflow
There a some data structures around that are really cool but are unknown to most programmers. Which are they?
Everybody knows linked lists, binary trees, and hashes, but what about Skip lists, Bloom filters for example. I would like to know more data structures that are not so common, but are worth knowing because they rely on great ideas and enrich a programmer's tool box.
- YouTube - Jonathan Coulton in LA -10-Codemonkey
- Starting Out « iPhone App Development: The Missing Manual
Objective-C is an easy language to learn assuming you have good foundation with its progenitor: C. The problem is that C is not a particularly good language to start out with: it’s popularity is based on its power. And with power comes complexity.
Several followers suggested books that discussed Ruby and Python. There are a couple of reasons why these languages make good choices:
Simple syntax — when the language you use to develop your first code doesn’t get in the way, it’s much easier to focus on the concepts behind that code.
Interpreted, not compiled — C and other languages based on it (like Objective-C) are compiled languages: this extra step makes it harder to experiment and play with the concepts.
- Start In The Middle « yield thought
Start in the middle
– Paul Graham (lightly paraphrased)
- Long Golden Ears: Triple equals in JavaScript
3 equal signs, and it means equality without type coersion. In other words, if using the triple equals, the values must be equal in type as well.
e.g.
0==false // true
0===false // false, because they are of a different type
1=="1" // true, auto type coersion
1==="1" // false, because they are of a different type