7 ms·
Reverse.jar
- nailer 16y agoThis happens, but sometimes the academic doesn't make the breadth of immediate utility for their intentions clear.
- stygianguest 16y agoThe article seems almost a direct response to the ``A statically typed language I'd actually want to use'' article: http://news.ycombinator.com/item?id=1872501 http://news.ycombinator.com/item?id=1872501 I agree wholeheartedly with the general sentiment. Even if it is a bit outdated. Type polymorphism (generics) is now well accepted.
- silentbicycle 16y agoPart of the problem is that people using said languages may not see that those problems have anything in common. When somebody comes along and says, "Dude, you can automatically handle all of those edge cases at once, with one general rule!" it sounds like a bunch of mathematical jibber-jabber. (The fact that it often is mathematical jibber-jabber doesn't help their cause, though.)
- _delirium 16y agoEarly implementations in research languages often don't actually simplify programming, even if in principle they're a good idea, which may contribute to resistance. A and B might really both be instances of some more general abstraction C, but that does you no good if specifying abstraction C is a pain in the ass, and instantiating it to make A and B each happen is tedious and complex as well.
- 8ren 16y agoIMHO the difficult part is seeing the commonality of those edge cases. That requires firstly knowing about the edge cases, and secondly seeing the problem (the commonality of those cases). The final step is a solution, which is where the maths comes in (or might). Anecdotally, it seems fairly common that maths is independently re-invented by people applying it - famously for relativity, IIRC. That's because the maths guys don't actually know about the applications. It's a truism for our industry that if a new approach really is significantly better (eg. x10) in practice, it will be adopted. You don't need to convince people; you just beat them. OTOH, there's a common wish to over-automate: to spend a week saving a second, and then it turns out to not handle the very next case. So, some people don't like to use frameworks because they are too constricting (don't handle all the cases in practice); and some (Alan Kay) even say if you can build your own infrastructure, you should. Mathematical ideas usually only work on their own assumptions - a difficult part is matching those assumptions to an application. Though maybe this isn't a problem for the generics example. There's also incidental practical issues, like the need to ship, then of back-compatibility, resulting in a current Java implementation that can't express List<Circle|Rect> (you need an explicit Shape interface/superclass). Although *ML has proper algebraic data types, does C# do it properly? I don't know.
- silentbicycle 16y ago> That's because the maths guys don't actually know about the applications. That's often a big part of it: Someone who isn't a day-to-day user of something sees an issue in it and recognizes that it could be done in a cleaner way, but explains the solution in their own terms rather than in the local language.
- bhiggins 16y agoYou know, a lot of non-academic languages are pretty crappy... like Ruby, or PHP. But I'm not impressed with languages out of academia either. I don't care about your -morphisms or fancy type systems...
- alextgordon 16y agoI disagree. It's true that a lot of programming language research is impractical in the real world, but occasionally it produces gems. I'd rather have the gems than nothing at all. The real danger is not the languages, but their proponents. Academia can't make you use Haskell, but other people can.
- strlen 16y agoYou know, creationism and demon possession are both quite crappy. But I'm not impressed with biology out of academia either. I don't care about your evolution or fancy germ theory...
- bhiggins 16y agoYour argument is so compelling. Now I see how wrong I've been. I'll just accept everything the ivory tower says from now on, on any topic, unconditionally. Brilliant.
- Luyt 16y agoReminds me of something I read on http://skeptoid.com/episodes/4217 http://skeptoid.com/episodes/4217 : Appeal to Lack of Authority Authority has a reputation for being corrupt and inflexible, and this stereotype has been leveraged by some who assert that their own lack of authority somehow makes them a better authority. Starling might say of the 9/11 attacks: "Every reputable structural engineer understands how fire caused the Twin Towers to collapse." Bombo can reply: "I'm not an expert in engineering or anything, I'm just a regular guy asking questions." Starling: "We should listen to what the people who know what they're talking about have to say." Bombo: "Someone needs to stand up to these experts." The idea that not knowing what you're talking about somehow makes you heroic or more reliable is incorrect. More likely, your lack of expertise simply makes you wrong.
- silentbicycle 16y agoIt seems to be overwhelmed. Google cache: http://webcache.googleusercontent.com/search?q=cache:16XHnrPKAVQJ:blog.tmorris.net/reversejar/+reverse.jar http://webcache.googleusercontent.com/search?q=cache:16XHnrP...
- 8ren 16y agoText-only version of cache (Full version also isn't loading) http://webcache.googleusercontent.com/search?q=cache:16XHnrPKAVQJ:blog.tmorris.net/reversejar/+%22reverse.jar%22&strip=1 http://webcache.googleusercontent.com/search?q=cache:16XHnrP...
- mjw 16y ago[only tangentially related to the sentiment here but:] There is this tendency (which I can sympathise with but only to an extent) in mathematics and to an extent computer science. "Let me solve the problem once, in as general and as abstract terms as possible. Leave the lesser minds to prove the corollaries, to apply the work. Let them take on the cognitive load of rephrasing their problems into my abstracted vocubulary in order to benefit from my vast insights and my generalised theorems." But, crucially in software development, formal systems are designed for the human brain -- and not just individual brains but whole teams of them. Programs become as much a medium of communication between humans and other humans (of varying skillsets) as between humans and computers. You can't escape UI work and UI considerations, I guess is the point :)
- brehaut 16y agoI think this line of reasoning is why the C# team avoided the M word and introduced Linq for a range of things (sequence comprehensions, reactive programming etc) and is introducing the async syntax for more stuff in 5, even though they could all be implemented with the same more general model. [edit] the M word is Monad
- alextgordon 16y agoI don't think there's anything inherently wrong with monads, it's just that nobody's figured out how to explain them yet :) This is somewhat compounded by the awful name and Haskell's less than practical character. My guess is that they'll turn up in a new language in a few years and everyone will wonder what they did without them.
- alanh 16y agoDon't people argue that jQuery is DOM manipulation in monads? I sure ask what I did before jQuery :) http://importantshock.wordpress.com/2009/01/18/jquery-is-a-monad/ http://importantshock.wordpress.com/2009/01/18/jquery-is-a-m... HN discussion: http://news.ycombinator.com/item?id=439116 http://news.ycombinator.com/item?id=439116
- highlander 16y agoIt's a balance. With overly simplistic languages, one ends up with too much code and repetition. However, when languages get more, well, 'advanced', it just gets harder to hire people who can work with it. Sure you need fewer people, but they're harder to find.
- kazuya 16y agoIn reality, the obstacle is in realizing the need of list.reverse library, rather than in making it decent.