283 karma · joined December 10, 2011
However, even at the time, there were "elites" among the colonists who wouldn't have agreed. And so its been ever since. The rhetoric of a democratic republic used to sway and motivate regular folks in order to protect the power and interests of a few.
I was also surprised at the time by often seeing "Department of Defense", as we were bunker busting and daisy cutting the crap out of people across the globe. I also just recently learned that we don't know the number of US military installations around the globe (700?, 900?) and instead of dismantling them after collapse of USSR, we found new justifications.
Be interesting to know how it stacks up against other approaches in this regard.
"main point here is that it's interesting"
That it is.
I've always wondered why assumptions about transaction costs and execution speed never show up in these kinds of "studies". Anyone who has participated in markets understands they have a significant impact on results.
Also, doesn't it seem obvious that you would analyze the results based on multiple random entry & exit points rather than cherry-picked (or arbitrary) time periods?
- Don't do any processing after the pattern match within a function; break into smaller functions
- Reach for pattern matching before if/else
- Avoid the use of var
- Avoid dropping through to wildcard pattern. (This tip was from Yaron Minsky of OCaml fame)
In conjunction with preferring the use of combinators over loops, and using Option (and being forced to think about None), we got surprisingly functional Scala code in a short time.
Since I recently went through coworkers writing "bad" (by which I mean non-idiomatic) Scala, and repairing the situation, I can say that it was surprisingly easy to lay down "functional constructs" and the result was amazing. The code became reliable, well-structured, and easy to leverage. Switching to Scala for our projects -- including introducing procedurally minded programmers to it -- was a huge win for us.
Hmmm, are you sure about that?
Being a student and learning are not the same thing. To be successful in school, you have to excel at the former.
(require 'color-theme) (color-theme-initialize) (load-file "~/.emacs.d/themes/color-theme-sunburst.el")
I believe this observation is a bit misleading. Indeed, Scala does offer some alternatives, but these are helpful in the transition from other languages with less powerful type systems. Idiomatic Scala is not really a hodge-podge of choices.
File > Preferences > External Tools
Program: /Applications/Emacs.app/Contents/MacOS/Emacs
Parameters: +$LineNumber$ "$FilePath$"
Working Directory: /Applications/Emacs.app/Contents/MacOS
Then I map a key to open this (Cmd-E)
On the emacs side, I have the following to pick up changes to an open buffer that were made in Intellij
(global-auto-revert-mode 1)
I also work in a number of non-JVM languages in Emacs, and have used it for quite a long time. For JVM work, IntelliJ is, as you say, 'a little more productive'.
Haskell has relatively simple syntax and coherent semantics (being unencumbered by a 'foreign' VM eco-system, such as the JVM). As such, it is somewhat easier to get into. But to quote Gerry Sussman (co-author of SICP and Scheme), 'Haskell is the most advanced of the obsolete languages'. It gets deep pretty fast. You don't learn Haskell, so much as get initiated into it. It's an ongoing process. This can be said of Scala as well. Neither are particularly small languages when you consider their entire respective eco-systems.
In general, if you are already competent in a mainstream, dynamic language, and want to get your feet wet in functional language concepts, diving into Haskell is not a bad idea; but you are not likely to stick with it. I would recommend Clojure for such people. However, if you are already a Java programmer (and don't completely hate it), then the transition to Scala will be tough, but somewhat gradual. It is designed to be. But I would also say that the Scala world (not so much the language itself) is easier to grok if you know Haskell to at least an intermediate level. I think it is worth the time to learn Haskell and build something useful with it. It does not need to precede learning Scala, however.
But if you find 'fun' and large amounts of text distracting, then Graham Hutton's 'Programming in Haskell'[1] is a better introduction to what Haskell is about.
As a Haskell programmer, I thought the Taliban comment was funny.
I don't find the language to be a kitchen-sink at all. It is a fusion of OO and FP, and so would reasonably be expected to support features from each of those paradigms. And it does so quite nicely. It is very well designed for this purpose. However it does provide facilities that allows the libraries to become arguably complicated, especially if you are not used to them. But being unfamiliar with a library's API is not really the same thing as the language being unreadable or obfuscated.
Well, the early days of computing had domain specific languages, and I'm afraid we are getting back to that. The days of a one-size-fits-all language are over. Your best bet is to learn the principles and then the syntax differences just aren't that troublesome. The problem is that when you are new to programming, you learn only a small subset of those principles, and then are stumped when it is time to pick up a new language because it may rely on new concepts.
In education, Scheme once occupied the role of being the language in which you could learn and investigate a broad range of principles of computation. However, the perceived need for vocational training seems to have pushed Scheme out of the curriculum.
Today, Haskell is the best choice for this role.
http://scala-ide.org/download/nightly.html#scala_ide_helium_...