1,361 karma · joined June 14, 2010
Edit: To your point regarding English having both connection to meaning and pronunciation - that's definitely true, it's just not as immediately clear/visually identifiable, and not as dense. One could certainly argue that, if native speakers are having serious issues learning pronunciation in a language, then the language makes a poor tradeoff with density there.
I'd maybe argue that the use of Chinese characters in Japanese allows me to read much faster than if all writing were in Hiragana, particularly since people tend to identify words more by their shape, but Hangul does this quite well on its own, so I think maybe there's not as strong of a need for it in Korean.
Certainly the concept of composability isn't unique to the Haskell community, no one's implying that it is. In fact, part of the point is that even these specific abstractions aren't unique to Haskell, but available anywhere, as they've been borrowed from mathematics. Composability and consistency are things that the mathematics community does exceedingly well, and the Haskell community has chosen to learn from them, while most other language communities do these things poorly, as they've chosen to reinvent the wheel. The GoF Design Patterns, in particular, are a rather verbose reinventing-the-wheel of well-known concepts like partial application, but with inconsistent vocabulary and implemented with regards to the limitations of some specific language's semantics, and do a poor job isolating the minimal set of constraints necessary to get the intended emergent properties. Calling a person or community arrogant for trying to highlight the utility of learning these lessons isn't helpful to anyone.
Case in point: I'm currently developing in Javascript, but I use these patterns (Monad, Applicative Functor, etc) to manage things like asynchronous code and error handling, because they're far more flexible/composable and reliable (in terms of not having side effects) than the other offerings on hand, and I know that will always be the case, because these abstractions were designed with the constraint of composability in mind: in fact, they are, by definition, the minimum set of constraints required to get these emergent properties. The benefit that Haskell itself offers is that it can check at compile time that these constraints hold true.
- It would signal a shift toward gimmicky experiences targeting a
casual market that wouldn't spend several hundred dollars on a
piece of esoteric hardware.
- It would spoil an opportunity to partner with a company that has
much more experience in hardware, gaming, dev tools, or anything
else Oculus could use to take off.
- The likely integration with Facebook's authentication and social
services will cause the product to suffer from all the ill will and
distrust Facebook has generated within parts of its userbase and
the developer community. Branding is important, and to these
communities - the ones Oculus likely needs to take off - Facebook's is poison.
An acquisition by Zynga or Gree might've been almost as bad, but any of the other companies mentioned wouldn't have signaled such a shift, and such a betrayal of the intent of the initial kickstarter investors and hopes of its supporters. Oculus appears to gain nothing but money from this deal. I'd say the announcement alone squanders Oculus' only relevant lead over Sony and others.Additionally, the abstraction features Java does offer are implemented with some heavy language syntax, and often can't be generated at runtime or pre-compile time, at least not easily, and so there's a limit to the abstraction, even taking into account Java Generics. That's something where homoiconic languages like Clojure have a particular advantage.
As a result, abstracting things in these ways (which in other languages is incredibly common) gets to be painfully verbose. Often, things that would be beautifully abstracted in these ways are just left unabstracted (as in-line boilerplate) - the verbosity introduced makes the code less readable, rather than more, and so there's a stigma against "over-abstracted" code. The result is that code that does, or could, make use of these things takes exceedingly more code in Java than in a language like Clojure. Of course, conventions in Java of, e.g., giving each curly brace its own line aren't helping its case in line counts, either.
As for hardware, if you can't find an NES, you can always use a third-party retro console, like the Retron 3.[1]
Also, if you're worried about compatibility, Byuu's cycle-accurate SNES emulator[2] has been expanded to run NES, Gameboy, and Gameboy Advance games, so testing on actual hardware is a lot less necessary than it used to be.
[1] http://www.thinkgeek.com/product/13f8/ [2] http://byuu.org/higan/
Not trying to compete with SO, but we think those questions need a home, and share eterm's view that maybe they're not a good fit for SO's format.
There is a Japanese programming language, Mind, which is a stack language written entirely in Japanese, though I don't think it ever gained popularity. It's kind of sad there hasn't been more exploration into this - there's a lot less impedance mismatch in going from Japanese (or Korean) to postfix than there is going from English to prefix.
http://en.wikipedia.org/wiki/Non-English-based_programming_l...
We'll definitely be iterating on how we rank and present viewpoints to try to reduce bias. We don't want to remove indicators of popularity entirely, though, since that would reduce the utility of the site for readers who are still trying to decide. We do intend, though, to at least provide enough information for users to judge where there may be bias for themselves, and we'll try to eliminate it where we can.
http://slant.co/topics/446/~what-is-the-best-alternative-to-...
Using a Promises, as opposed to reducing a list of computations async-style, also limits you to the Promise object's interface, so you lose (or at least add cruft to) the flexibility and composability of using native lists. By sequencing computations with lists, if I want some insight into what's happening, I just List.map(apply compose, logFunc). With promises, I have some work to do.
Promises have their uses, but it's definitely a tradeoff, and for most HTTP servers, I'd argue that their utility does seem a bit limited. I'd similarly say that making a point of using FRP to build a server would probably be a bit overkill for the task.
[1] http://stackoverflow.com/questions/12593080/heroku-hosted-po...
> Do they go grocery shopping?
Not really - in college most people relied on the meal plan. At the house, we make heavy use of Amazon and Instacart. Those who do shop still don't enjoy having to remember to get cash and make change.
> Sounds like a personality issue
People forget, or just forget to grab cash, because it's not something they normally do, and no one enjoys playing debt collector. WePay can hold balances, too, so the app is basically just a more convenient version of the whiteboard, but with the extra feature of saving a trip to the ATM.
If obtaining cash was somehow related to a personality issue, but that person was otherwise a good housemate, it'd be worth it to throw some technology at the problem and make it a non-issue.
> checks
People are more likely to have a computer, so there's no need to add paper and OCR into the mix when there are better options.
> and then pays 4%
Only if the retailer is passing the transaction fee onto the customer, in which case they can pay with some other method.
People paying debts can link a bank account, so their transaction fee is maybe 50 cents.
More importantly though, when people are splitting bills more than twice a week (often with different subsets of the group), getting paid back isn't just a pain, it gets to be a source of tension in the house - really quickly no one wants to split bills, because no one wants to have to harass their friends about money.
With the bill split app, the person who pays racks up reward points on their credit card, and all they have to do is type in how much everyone owes, and that's the end of it. Everyone else clicks a button and they're paid up.
We've been using Split&Pay ( https://itunes.apple.com/us/app/splitandpay/id593386557 ) - payment is really smooth (just click the button in the e-mail and you're done), particularly since we all already have WePay accounts, since that's how we organize our rent payments.
Full disclosure: Author of the app is one of my housemates, and founding engineer of WePay.