9,170 reputation
12352
bio website future-web-app.blogspot.com
location Israel
age 41
visits member for 3 years, 11 months
seen 15 hours ago

I mostly do Erlang and CoffeeScript these days and am the author of "Building Web Applications in Erlang" and "Programming HTML5 Applications" Both of which were published by O'Reilly.

I am also very interested in the question, How do I become a great developer and spend a fair bit of time thinking about it.

I am also a compulsive writer. I love writing as it forces me to really think about what is important and how to make ideas seem more concreate


Nov
16
comment How can one manage thousands of IF…THEN…ELSE rules?
Check out learnprolognow.com And embededing prolog inside another language is a lot easier than it used to be
Oct
10
comment How can IO cause side effects in Functional Programming?
In part because you have to assume that in a lazy language that you don't always know in what order things are going to happen.
Oct
1
comment First languages with generic programming support
Well "Generics" only make sense for some kinds of static typing. There are many kinds of type systems that have different properties.
Sep
16
comment Static typing vs. dynamic typing
There are some real benifits to static typing, but also some downsides, in some ways it depends on how expressive your type system is. the Type systems of most OO langauges are pretty basic, and then you get stuff like Haskell, Agda and such which just do crazy things with types. I would suggest doing some real reading on types if you want to go there
Sep
16
comment Using SVN with multiple developers but without creating branches
Even at $7/gb vs dev time, who cares
Sep
16
comment Using SVN with multiple developers but without creating branches
Really, they are arguing about a few gigabytes? 10gb of space costs what $0.50 these days (On a bad day)
Jul
18
comment Does this kind of programming language exist?
Honestly I don't know what the C looks like. Clearly it is valid C code and will compile and run. C is not all that strongly typed to begin with.
Jul
15
comment In what programming language did “let” first appear?
for any question "In what programming language did X first appear" lisp is a pretty good guess for a correct answer
Apr
11
comment Should I stick with or abandon Python to deal with concurrency?
Also if you have DJango templates they can be used in erlang with Erlydtl
Mar
31
comment How to distribute, one virtual token to each person in this world, and make sure nobody gets more than one?
In my case not, but I can imagine cases where that might happen, esp if you might want to visit countries that might not like each other's stamps. For example going into some Arab countries is harder if you have an Israeli stamp on your passport
Mar
31
comment How to distribute, one virtual token to each person in this world, and make sure nobody gets more than one?
And I know many people who have 2 or even 3 passports, quite legally.
Feb
25
comment Is there a web-specific reason for the design choices behind the JavaScript language?
Also note that the DOM was something that was added into JavaScript much later, a lot of it was just it came out in a hurry and no one thought it was going to turn into this HUGE thing
Feb
24
comment Do we need Logging when doing TDD?
Even if you have 100% coverage do you have it for every possible thing that can happen? What if the network connection to your database goes down? Will your tests tell you that?
Feb
16
comment Unit testing multiple conditions in an IF statement
Well order should not matter, && is communitive, or at least should be
Feb
6
comment Is it worth the time to run static analysis tools (e.g. Findbugs) on test classes?
I make sure static analysis is part of my normal build on whatever I can.
Feb
4
comment Is type safety worth the trade-offs?
It should also be pointed out that classifying things as "Static" vs "Dynamic" is only one dimension of an N space, there is also the issues of how expressive the type system is, can it do inference and a bunch of other factors. You can't compare the type systems of say "C" (Static but week) to Haskell (Static But Strong) or Erlang (Mostly dynamic, but strong)
Jan
30
comment How to unit test a missing case in a switch statement where all cases are true
Then when you update the library, dialyzer will update its lookup table and let you know. Mind you it is possible to have a wildcard case clause that might catch these, but in general Erlang discourages defensive programming.
Jan
30
comment How to unit test a missing case in a switch statement where all cases are true
Well Erlang does not have an enum per se, but you can have unions of atoms. If you add a new element to a union if it won't match dialyzer, which is a static analysis tool, will tell you that it can't match
Jan
7
comment Side Effects Breaking Referential Transparency
Also if those functions are transparent or "pure" the order that they actually run in is not important, we don't care if foo() or bar() runs first, and in some cases they may never evaluate if they are not needed
Dec
30
comment Why would a company develop an atmosphere which discourage code comments?
This is when you want to comment, yes I can see that foo has been set to 1, but if you set it to 137 leaving a note saying why it should be 137 would be helpful.