<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: Dewie3</title><link>https://news.ycombinator.com/user?id=Dewie3</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 19 Jun 2026 21:58:30 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Dewie3" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Dewie3 in "Why Go is doomed to succeed"]]></title><description><![CDATA[
<p>> (1) where does Rust fit in this?<p>It doesn't. Not any more than other languages anyway.</p>
]]></description><pubDate>Sat, 13 Jun 2015 18:55:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=9712145</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9712145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9712145</guid></item><item><title><![CDATA[New comment by Dewie3 in "Why Go is doomed to succeed"]]></title><description><![CDATA[
<p>Maybe these <i>programming in the large</i> languages don't necessarily have to be fantastic for programming in the large, and in the long term. But they have to be great for this at least in the short term. So imagine that such a language shows itself to be good for making medium-scale applications in the first year (assuming that large-scale applications take longer to become "large-scale"). The code is uniform, people can easily get up to speed with whatever section they are working on, there are no <i>big</i> surprises - great. This language gets adopted in more projects because of the initial rite of passage, and some luck and marketing (hype and random factors seems to be given for new technology, in the short term). So more projects spring up following the same model. These also work great, and by now we have a handful of new, discovered concepts associated with learning and using the language. The language, ecosystem and implementations are still lean and easy to comprehend. And so some years pass.<p>Now this language is actually used for <i>large</i> applications. It's still all gravy, the code bases are still uniform and easy to understand. People can easily be trained. More projects adopt this language, or even use it to build things from scratch. It gets applied to more domains. Years pass, and things that were unobservable in the beginning start to rear its head. They weren't <i>non-existing</i>, but they were so minuscule in this large landscape (remember - big adoption of this language) that it was unobservable from the bigger picture. Now what was a problem for a few developers seems to be a problem for many people. For a while, they solve this pain point by educating about certain patterns to look out for and solve. This works for a while, but after a while more pain points become apparent. And like for the initial pain point, it is just not a pain point for a small group of ignorable developers, but indeed a systemic one. There seems to be something wrong. We can't simply solve this pain point with education and applying patterns - we need <i>abstractions</i>. There is some murmur about this - the principal point about this language was to avoid over-abstracting things. We need to practice constraint. This works for a while, but after some time the concerned voices of the people advocating this kind of restraint gets drowned out. These limitations are just <i>too much</i> for people to deal with. So people start suggesting and inventing so-called <i>abstractions</i>. And pain points are relieved. After a while you have a whole cottage industry of these abstractions. And people's day to day life with this language and its associated code bases are happier and more productive. On the other hand, there is more to learn now, and things aren't straightforward any more. You can't simply look up a library and have flat, easy to read code. You also need to learn the associated <i>abstractions</i>. You also notice that the technologies associated with these abstractions are getting kind of <i>big</i>. They are starting to take on a life of their own. And it seems like they don't really <i>fit</i>. Some of them feel kind of shoe-horned in, as if there was no general slot for them already installed, it just had to be jammed in there.<p>Now, is this language good for large-scale development? The language is still easy to learn. Somehow. There was a bunch of additions up through the years to ease some pain points. Not all of jive as well with each other, or with the original language. But with some elbow grease, it is perfectly serviceable. Not to mention all the associated technology that cropped up to assist the language in its ascent - <i>that</i> is the hard part. So the language is not <i>really</i> easy to learn any more, with the associated things. But people know it, there are code bases to maintain and it has proven that it isn't <i>useless</i>.<p>Is the language good for large-scale development? Doesn't matter. It already won and is here to stay.</p>
]]></description><pubDate>Sat, 13 Jun 2015 18:10:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=9711937</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9711937</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9711937</guid></item><item><title><![CDATA[New comment by Dewie3 in "Why Go is doomed to succeed"]]></title><description><![CDATA[
<p>When pron posts on a thread about lang X, it tends to be 30% about lang X and 70% raving about the JVM platform.</p>
]]></description><pubDate>Sat, 13 Jun 2015 17:30:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=9711783</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9711783</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9711783</guid></item><item><title><![CDATA[New comment by Dewie3 in "Downsides of Being Clever"]]></title><description><![CDATA[
<p>Ah yes, embracing your inner elitist.</p>
]]></description><pubDate>Sat, 13 Jun 2015 15:18:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=9711261</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9711261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9711261</guid></item><item><title><![CDATA[New comment by Dewie3 in "An Inside Look at Facebook’s Approach to Automation and Human Work"]]></title><description><![CDATA[
<p>Ditto.</p>
]]></description><pubDate>Sat, 13 Jun 2015 12:05:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=9710778</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9710778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9710778</guid></item><item><title><![CDATA[New comment by Dewie3 in "Downsides of Being Clever"]]></title><description><![CDATA[
<p>That doesn't look like much of a trade-off in the context of the article, though. Namely living in <i>civilization</i>.</p>
]]></description><pubDate>Sat, 13 Jun 2015 10:01:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=9710502</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9710502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9710502</guid></item><item><title><![CDATA[New comment by Dewie3 in "New documentary about diversity in tech is coming soon by Codr Tv"]]></title><description><![CDATA[
<p>> 2. Women are less prone to overconfidence<p>> 3. Women are more ambitious<p>Well okay.</p>
]]></description><pubDate>Sat, 13 Jun 2015 09:59:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=9710496</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9710496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9710496</guid></item><item><title><![CDATA[New comment by Dewie3 in "Downsides of Being Clever"]]></title><description><![CDATA[
<p>People here seem to like talking about <i>trade-offs</i>, specifically technical ones. Maybe intelligence is just another trade-off.</p>
]]></description><pubDate>Sat, 13 Jun 2015 09:41:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=9710464</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9710464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9710464</guid></item><item><title><![CDATA[New comment by Dewie3 in "How hacking helped me become Obama's CTO"]]></title><description><![CDATA[
<p>For a second I thought someone had submitted this article with their phone and by mistake left one of those "sent from my <Samsung?>" in as a trailing message.</p>
]]></description><pubDate>Fri, 12 Jun 2015 21:16:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=9708598</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9708598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9708598</guid></item><item><title><![CDATA[New comment by Dewie3 in "Fear and Loathing with APL"]]></title><description><![CDATA[
<p>Non-standard character set aside; is the terseness (one-letter commands and such) partly because of the slow input devices at the time?</p>
]]></description><pubDate>Fri, 12 Jun 2015 18:44:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=9707790</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9707790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9707790</guid></item><item><title><![CDATA[New comment by Dewie3 in "What Is Code?"]]></title><description><![CDATA[
<p>> It's circling the wagons around people who had the privilege and opportunity to learn these things before everybody else.<p>The underprivileged Bloomberg readership.</p>
]]></description><pubDate>Fri, 12 Jun 2015 11:18:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=9705148</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9705148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9705148</guid></item><item><title><![CDATA[New comment by Dewie3 in "Facebook Go"]]></title><description><![CDATA[
<p>Funny that the original intent for the Go creators was to not have to write C++[1] -- which of course is in the C/C++/Rust/D space -- and that Rob Pike seemed surprised that more C++ programmers didn't make the switch.<p>The two languages seem to diverge when it comes to the fact that Walter Bright seems to like to write both expressive and high-performance code (meaning, at the same time). That kind of philosophy tends to lead to iterators, generators[2] etc. which Go seems to look at as superfluous -- <i>just write a for loop</i>, more or less.<p>[1] Write C++ for the particular software that they make, anyway.<p>[2] Or whatever the equivalent is in D.</p>
]]></description><pubDate>Fri, 12 Jun 2015 08:25:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=9704647</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9704647</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9704647</guid></item><item><title><![CDATA[New comment by Dewie3 in "How it feels to join an all-Haskell startup"]]></title><description><![CDATA[
<p>You have some points which are to a point, and in general, true. But you present them in such a ridiculously hyperbolic way that it seems divorced from reality.<p>Applicative is a pretty standard type class which are often used in introductory resources. It is not likely to be <i>replaced</i> by anything any time soon. If you think that it is a <i>fashion</i> then you should have an idea about what it can/is likely to be replaceable by. So, please <i>do tell</i>.<p>If anything, Applicative might be less controversial than Monad. I haven't really seen much complaints about the downsides of the usages of Applicative.<p>"Barbarian" - of course any fairly level-headed explanation of Haskell concepts gets regarded as elitist. It's practically a cliché at this point.<p>Lazy evaluation - this was pretty much the <i>whole point</i> of the language. A fashion? It permeates the language, being the default evaluation strategy after all. But it is controversial whether it is better than strict (eager?) evaluation. If opinions change about this it might be because someone unearths some way to get more of the benefits of lazy evaluation, and less of the space leaks. And potential discoveries are kind of the point of research languages like this.</p>
]]></description><pubDate>Fri, 12 Jun 2015 07:30:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=9704484</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9704484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9704484</guid></item><item><title><![CDATA[New comment by Dewie3 in "How it feels to join an all-Haskell startup"]]></title><description><![CDATA[
<p>I think this is a bad comparison. If you're, say, reading music in order to play it, why would you need things like functions and renamings in order to read it? Just read it straight off - one bar at the time. There isn't any need to have some kind of "pattern" or "abstraction" that compresses 20 bars into "this one thing, more or less". And you would have to read all of it to play the piece faithfully anyway. Maybe there is some utility to be able to say "I don't care about the nuances; just show me the general structure right now". I don't know, I'm not a composer.<p>On the other hand, it is of course tremendously useful in programming to look at some lines of code and be able to say "Oh, so this code this and that", then moving on. If you want more details, dive into that section more. You soar over the code to get an overview and dive down for more specifics when you need to. A music piece can be read (and played) from beginning to end, but that is less useful in programming. Maybe for a late evening with a bottle of wine when you want to appreciate the beauty of a code base that you really like, I guess.</p>
]]></description><pubDate>Fri, 12 Jun 2015 06:59:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=9704416</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9704416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9704416</guid></item><item><title><![CDATA[New comment by Dewie3 in "How it feels to join an all-Haskell startup"]]></title><description><![CDATA[
<p>That refactor is of a common pattern (I've seen it before; I've probably written it myself) into a bog-standard use of Applicative code. This use is pretty much the introductory example for Applicative. Do you use Haskell? Because Applicative is fairly well-known, and the operators etc. aren't considered esoteric and they are not something you are likely to <i>have to learn</i> when you encounter them. If you don't use Haskell, on the other hand, I don't see how you are in a position to critique the readability of a refactor.<p>The philosophy at play here is probably not <i>code golf</i> as much as it is about the <i>principle of least power</i>[1]. Applicative is strictly less powerful than Monad. So when reading Applicative code, there is less stuff to look out for -- it is great to be able to know what an expression <i>can't do</i>, when reading it.<p>Maybe the do-notation makes it look prettier, but I don't know if it makes it more <i>readable</i>. Maybe more superficially look like imperative code which makes one think <i>Oh, I get this</i>. But it might be a false sense of safety. In any case, I guess Applicative do notation can be used (at some point).<p>[1] <a href="http://en.wikipedia.org/wiki/Rule_of_least_power" rel="nofollow">http://en.wikipedia.org/wiki/Rule_of_least_power</a></p>
]]></description><pubDate>Fri, 12 Jun 2015 06:38:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=9704368</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9704368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9704368</guid></item><item><title><![CDATA[New comment by Dewie3 in "Trine – A utility library for functional programming in JavaScript"]]></title><description><![CDATA[
<p>I thought JS was intended to be a Scheme in disguise?</p>
]]></description><pubDate>Fri, 12 Jun 2015 00:18:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=9703254</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9703254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9703254</guid></item><item><title><![CDATA[New comment by Dewie3 in "Open-sourcing Facebook Infer: Identify bugs before you ship"]]></title><description><![CDATA[
<p>Static FP languages just feel so natural for compilers - the AST can often be perfectly naturally expressed with algebraic data types. Then you want to traverse the tree and do certain things when subtrees or nodes are of a certain <i>shape</i>... which turns out that pattern matching can express very nicely.<p>I doubt that there are nicer general purpose languages than languages like Ocaml for compiler stuff, and symbolic execution somewhat by extension. Maybe languages that have more powerful <i>matching</i> and maybe even term rewriting, but I don't know if they would be considered <i>general purpose</i> (at least fairly fringe).</p>
]]></description><pubDate>Thu, 11 Jun 2015 22:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=9702732</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9702732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9702732</guid></item><item><title><![CDATA[New comment by Dewie3 in "What Is Code?"]]></title><description><![CDATA[
<p>Kind of like how calling <i>programs</i> for <i>proofs</i> seems to make most programmers uneasy. (Not that most programs that you'll run into are proofs in any interesting sense.)</p>
]]></description><pubDate>Thu, 11 Jun 2015 18:00:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=9701268</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9701268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9701268</guid></item><item><title><![CDATA[New comment by Dewie3 in "What Is Code?"]]></title><description><![CDATA[
<p>Does this brilliant webpage not know the concept of <i>skimming</i> and related approaches?</p>
]]></description><pubDate>Thu, 11 Jun 2015 17:18:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=9700996</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9700996</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9700996</guid></item><item><title><![CDATA[New comment by Dewie3 in "Tarsnap GUI for the desktop"]]></title><description><![CDATA[
<p>And I need to scroll horizontally to read the whole page. Though I guess it's easy to copy/paste into a text editor and read it there since the text is so <i>plain</i>.</p>
]]></description><pubDate>Thu, 11 Jun 2015 13:03:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=9699400</link><dc:creator>Dewie3</dc:creator><comments>https://news.ycombinator.com/item?id=9699400</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9699400</guid></item></channel></rss>