I have used both ways, and i would say the candidates in general respond better to using the whiteboard.
I do ofcource not require syntacitly correct code or anything like that. Im looking for ideas not if they are a compiler.
Using their own computer way to many struggle with creating a new project or other basic things. And that dont make them comfortable either. It also takes much longer then using the whiteboard.
I think he's just trying to make the Java->Oracle->MySQL connection. I don't see how using Java is in any way a vote of confidence for MySQL though, so the point seems moot.
I can only speculate, because I have never used datomic.
Like FoundationDB, datomic does appear to separate transaction processing from storage.
A few relevant differences:
- Datomic provides transaction isolation through stored procedures which run on its single "transactor", while FoundationDB provides interactive transactions.
- To my knowledge datomic does not claim to be interested in high write scalability, which we definitely are.
- Datomic is designed to keep multiversion history indefinitely, while FoundationDB keeps it just long enough to execute short transactions.
Running the install script installs and starts the old version. Might wanna fix that?
edit: It just keept saying version 0.0.8 is availible for me until i ran table update 0.0.8. Just running light table looked for updates but didnt find any.
When i finaly got the 0.0.8 version it greeted me welcomme to 0.0.7 :-)
I think the site load time is an allegory for how long it takes for the JVM to start up.
There are some good links in this blog. If you are a Clojure newbie, definitely check out the text-only cache of this blog.
I also want to note that "Clojure newbie" has many meanings, depending on which direction you approach Clojure from. Depending on whether you come from Java, LISP, Python or nothing, you will start with different tracks. I would recommend that Java programmers actually start with protocols and reify, typically billed as advanced subjects, then the concurrency primitives, before getting into macros and advanced LISP stuff.
In my life, I've learned and used the following languages, in this order: Logo, Basic, Pascal, C++, Java, Python, Ruby, Clojure. Each time that I learned the next language, I thought it was a great improvement on the previous, and I wondered what I had been spending my life doing with the previous language.
My experience is that with Clojure is a testament to pretty much everything in "Beating the Averages" (http://www.paulgraham.com/avg.html) It's hard to know for sure, but I have a feeling that I will end up using Clojure far much longer than the rest of those languages, combined.
If you are contemplating learning a language for one-off commands and sysadmin scripts, then I kind of prefer Ruby over Python and Perl for expressiveness and readability. Most Rubyists are of the Rails persuasion, but I still have never learned Rails.
I came to Lisp via "The Little Schemer", and I recommend it for people who are new to Lisp (and/or programming). It's short and sweet, but explores some really interesting and deep ideas (recursion, higher order functions, the Y combinator, the halting problem, and interpreters). I like to think of it as "SICP lite".
It won't teach you Clojure, but it will open your eyes and set you on a path to Clojure, and I think give you a very strong grounding for Lisp. At least that's what I think it gave me.
On the other hand, if you really want to get up to speed on Clojure specifically, Rich Hickey's talk "Clojure for Java programmers" is a great intro to the language. I don't think you need Java experience to get something out of it, it's mostly targeted at non-Lispers without much functional programming experience.
If you can wait til Apr 22 (by Amazon's release dates), there will be 2 more clojure books which I'm pretty confident will be excellent, in addition to 2 Manning books which are also great.
hehe. the load time is more like the stunned expression you get when you realize people picked up on something you said. :-P (I should have an upgraded amt of RAM in a matter of minutes, and hopefully it'll be up again.)
Interesting recommendation for Java programmers. I've noticed a lot of people smiling instinctively when they see the Seesaw project. Seesaw turns Java Swing GUI programming from a horror into a pleasure, so that's another idea.
About Seesaw, the GUI for the Clojure namespace browser was whipped up by Frank in the course of 1 week (https://github.com/franks42/clj-ns-browser). As Frank puts it, it's a testament to Seesaw, since he had no real experience in Java Swing, and he got the GUI working from the couple of hours a night he got each day after he put his kids to sleep in that one week.
relax uncle bobo ;) I'm a general proponent of testing, but this is a game and as such the feeling is more important, not everything is capturable by tests.
Notch is creating right now, watch http://vimeo.com/36579366 "inventing on principle" which explains the importance of immediate visual feedback.
Also give him just a "little" credit for minecraft
Depends on how long ago you wrote the tests. Pretty soon the tests you will write, will most likely test that the code does what it does. Not what it should do.
And yes, it is a better problem to have, then to have code that noone wants.
except the code already works right (in proportional to your skill). and if it stops working right you did something bad. and you're using version control, so you can do diffs, rollback, do branches/forks, experiments, etc. This is a much faster workflow than being weighed down by automated test baggage. Again, some folks hold the code in their mind and do a very good job of making perfect incremental changes, only moving forward, no regressions. (not 100% of the time, but with experience/skill you can approach that, especially before you end your dev session for the day.)
If thoose folks exists, i have never met any. And if they exist, they are few. And if i then need to hire more people to work on the project. Im pretty much out of luck.
Even if i know i write perfect code (i dont). I wouldnt trust everyone that will work on my code to write perfect code.
Using their own computer way to many struggle with creating a new project or other basic things. And that dont make them comfortable either. It also takes much longer then using the whiteboard.