Slashdot Mirror


The Slashdot Interview With Ruby on Rails Creator David Heinemeier Hansson

You asked, he answered!

Ruby on Rails Creator and founder/CTO of Basecamp, David Heinemeier Hansson has responded to questions submitted by Slashdot readers. Read on for his answers. What's your computer set-up look like
by LichtSpektren

Can you give us a glimpse into what your main work computer looks like? What's the hardware and OS, your preferred editor and browser, and any crucial software you want to give a shout-out to?

DHH: I've been all Mac since about 2002, I believe. I use a 5K iMac on my desk and a Macbook for travel. For editor, I'm on TextMate 2. I only just switched from TextMate 1.5 a few months ago when an OS X update broke something in it. That editor was just perfect for me. Perhaps in part because I helped Allan Odgaard project manage and promote the very first version. I use both Chrome and Safari for browsing. I prefer Chrome for development due to the better inspector, but I prefer Safari for general browsing and native feel.

Besides that, I'd say that my most useful development tool on OS X is probably Dictionary.app. I constantly look up words and meanings in search of the perfect variable, method, and class names. (See here for a trip down that lane).

Naming
by sunderland56

"Ruby on Rails" ? Is there a good reason for the name, or were you watching too many old western train movies?

DHH: When I first came up with Rails, it was inspired by an old Java framework called Struts. I liked how it was short and had a builder's taste to it. But when I went to register rails.org, it was taken, but RubyOnRails.org wasn't. I ended up liking the longer name even better as it highlighted the true magic of Rails: How it uses Ruby.

Influences
by Parker Lewis

What were the influences (I mean, other frameworks, even in other languages) you used while building the first Rails version?

DHH:I looked at everything I could get my hands on in PHP, Python, Perl, Smalltalk, but, most importantly, Java. Java had the most well-developed framework scene back in the early 2000s. There were a ton of great ideas just waiting to be liberated from the shackles of that awful language. So I went on a great intellectual pillage tour. As much of the inspiration was things "I absolutely abhor and wouldn't want people subjected to" (like the practice of 1000s of lines of XML configuration situps that were common at the time).

A lot of the inspiration also just came through the pattern movement, particularly Martin Fowler's Patterns of Enterprise Application Architecture. That book used Java to describe the concepts, but that was just a minor annoyance. The strength of ideas still shone clearly through. So I kinda went shopping in that book for ideas that gelled with my sensibilities for speed and cleanliness of code in Ruby.

A few times that did lead me astray. There are concepts like dependency injection that are critical for testing in languages like Java, which just don't carry their own weight in a language like Ruby. So a few times I ported an idea only to realize it just didn't fit and wasn't needed in Ruby. There was a lot of A/B testing of the code: Is it better when I apply this pattern or not? Oh, not. Gotta go then!

How do you have so much time for development?
by CySurflex

Hi DHH. How much of the code for Basecamp 3 did you personally write? and is it a challenge to clear out long stretches of time for concentrating on development (vs meetings, etc) due to your seniority at the company? From your blog posts it seems that you're definitely still significantly involved in day to day development.

DHH: I wrote the lion's share of the first release of Basecamp 3 myself. In terms of the code needed for majestic monolith at its core. We had teams working on native apps for iOS and Android and we had teams doing a new WYSIWYG editor + other supporting frameworks like Turbolinks 5. But I really did spend a ton of time programming for Basecamp 3 over the course of the 18 months we spent making it and enjoyed it tremendously.

That did come with some sacrifices to other aspects of the business at times. We did put some initiatives on the backburner and I checked in somewhat less frequently with other teams during that time. But it was greatly helped by the fact that we have such a light organization already. We don't do a lot of meetings as is. Even now, I can easily go a whole week with maybe only 1-2 meetings. And by meetings, I just mean jumping on a Google Hangout or Skype video chat with someone for less than 1 hour anyway.
This is what I enjoy most: Building software. So I'll be damned if I stop doing that just because we've had enough success that I perhaps technically don't need to. Jason perhaps doesn't need to design much of our software, but he still does that too. It's just what we love to do. Building things! And then we design a lightweight organization around that which enables us to spend most of our time doing just that.

I think that's really the key. We could easily have designed an organization where just sitting in meetings all day was how the weeks went for Jason and I. But that would be a special kind of hell for us both. And we get to call the shots on the direction of the company and its design, so why on earth would we subject ourselves to that?

cross-pollination with racing?
by izzo nizzo

Have you ever had a eureka or solved a bug while you were racing, or at least driving? More generally, do the abstractions that help you learn to race assist you in understanding parts of your web & technology systems?

DHH: Driving a race car fast is surprisingly similar to programming software. And managing and influencing a race team is incredibly similar to managing a software team. It's all systems theory. What are your positive feedback loops? What are the constraints you have to exploit? Same with developing a feel for grip. It's like developing an eye for good software. You get a sense of quality that's embedded in your gut feeling when you get good enough that you can just make the right calls most of the time without too much deliberation. It's a great feeling.

So is the feeling of flow. Outside of programming, racing is the one activity that has given me access to the most flow states. Learning something new just beyond the grasp of my current abilities. That's happiness.

What would you do differently?
by gabbleratchet

You are quite famous for being loudly dismissive of Rails critics. But do you ever get the urge to learn from your experience (and mistakes) and build a new framework that's different from Rails? In other words, if you could burn Rails to the ground and start over without the need to maintain any sort of backwards compatibility, what would you do differently?

DHH: Generally speaking, Rails today is my ideal version of a web development framework. Whenever I stumble across something I don't like, I change it. It's still a malleable thing. We've made enormous strides between the major versions. Every time I use Rails I think "is this the very best it could be?", if the answer is no, I either try to fix the problem myself or at least record it so others can take a stab.

So basically, I wouldn't really change anything. I don't spend a lot of time looking back at the past with regrets. I got to where I am by going where I went. Trying to retrace those past steps to fantasize about a more optimal path seems like a complete waste of time to me. It's sunk cost. A path already traveled. What interests me is looking forward and figuring out how to improve from where things stand now.

Ruby vs Python
by Anonymous Coward

Python has gained what could be called a critical mass of popularity and works at a similar level of abstraction to Ruby. If you were creating Rails today, would you still choose Ruby? What are its advantages?

DHH: Tons of languages have reached critical mass. That makes it a poor filter for selection. Ruby did so a decade ago. But I specifically picked Ruby BEFORE it had reached critical mass because I didn't give much of a damn what everyone else was using. Rails is a love letter to Ruby. Written by and for myself. Even if nobody else ever had shown interest in reading it, it would still have been worth it. I first and foremost created Rails such that I could use Ruby to build software every day.

I've yet to find another programming language that speaks to me like Ruby does. There are other languages with great ideas or some specific constructs that I find appealing, but nothing brings it together for me like Ruby does. I unashamedly love Ruby. I love writing it. I love reading it.

Python just doesn't do anything for me. I very much respect it. There's lots of shared cultural heritage between the two languages. But why would I spend my time writing software in a language below the grade of love, if I can use one that makes my brain sing?

Ramp-Up Time
by Tablizer

I tried to "get" the philosophy of RoR, but ultimate failed. It seems RoR has a steep learning curve; but once mastered, one is allegedly more productive. Some use the analogy of becoming a medical doctor: a long slog through medical school, but big benefits (such as money) await you in the end. Do you agree with this alleged trade-off profile of RoR? And, how can this approach work for decentralized departmental groups with lots of coder turn-over, especially if the bureaucracy makes it difficult to hire such that coders from other platforms are to be retrained? The ramp-up time for re-training seems hard to justify under such an environment without a RoR-only edict from on high. Would you agree RoR may not fit certain organizational environments? Thank You.

DHH: I don't agree that Rails is any harder to learn that any of the environments I know of, if your target is to build modern, full-fledged web applications. There are certainly environments, like PHP, that'll get you started more easily. And I respect PHP very much for that focus. But as soon as you go beyond the very basics, I think the learning curve there is steeper. Rails simply has so many answers to so many questions, and it introduces those answers in a pretty progressive way. You don't even have to learn what SQL injection is if you're using the preferred query methods. You SHOULD learn what that is, but you don't have to to get started. If you don't know what SQL injection is and you use the MySQL db query functions with a string-interpolated query in PHP, well, you're going to be in trouble.

Secondly, I don't care at all about solving the problem of revolving-door shops where the purpose is to churn through low-skilled labor as quickly as possible. That's a dystopian world of development. What's funny, though, is that Rails actually DOES work pretty well in that environment given all the strong conventions. Most people can jump from one Rails app to another an quickly have a very good idea of what's going on. Try that in an environment that either emphasizes home-grown frameworks or stitching a thousand tiny packages together. Good luck!

I think the fact is that development software with a revolving-door team is always going to be a clusterfuck.

Elixir and Phoenix
by olafura

What do you think of Elixir and Phoenix? I haven't used Ruby on Rails but I really like Phoenix and looking at Rails I can see a lot of influences. But it's hard to beat the foundation that Erlang brings. Maybe I should have taken a better look at Rails while I was still using Python.

DHH: I love seeing entirely new paradigms being popularized and explored. Erlang is fascinating and I can totally see where some of its trade-offs make perfect sense. You'd be crazy to write the message bus of WhatsApp in Rails, for example. But likewise, I think you'd be wasting your time trying to make Basecamp happen in Elixir. And as it so happens, I write Basecamp and not WhatsApp, so naturally I gravitate towards technology that works best for that.

But it's also great to see many of the ideas, conventions, and even vocabulary we developed for Rails is spreading to other environments. Rails itself borrowed so much from earlier frameworks and languages that its wonderful to see it pass that forward.

Personally, my brain works better with object-oriented programming than it does functional. And so too does my sense of aesthetic.

In a Javascript world
by gabbleratchet

With the rise of Javascript front-end frameworks (Ember, Angular, etc.), is there really a serious place for large opinionated server-side frameworks any more? Is Rails destined to be a framework for writing APIs to feed front-end frameworks? And if so, is that enough?

DHH: Whether you hand-roll your JavaScript or use a framework, you're going to need a backend (well, in most cases anyway). Very little of Rails is concerned with generating HTML views. The vast majority of the framework is focused on building domain models with Active Record or controllers with Action Pack or sending email with Action Mailer or queueing jobs with Action Job. I'd reckon that spending time programming the HTML views is probably 15% of the effort for me. The other 85% would be the same whether Rails was doing the HTML or a JavaScript framework did it clientside.

But it seems like that's one of the lessons people have to learn by themselves. Just try to string things together on your own a few times and you'll quickly get an appreciation for what Rails provides as a backend framework. We've had tons of programmers try just that and come back for refuge.

Activerecord shortcomings
by sg_oneill

As far as I can tell, by default ActiveRecord does not enforce referential integrity at the database level. Is there a reason for this omission? Also is there any plan to introduce parameterized queries for raw SQL queries. I still keep seeing people on stack-overflow recommending interpolation as an alternative, and this seems rather dangerous.

DHH: Active Record defaults to using foreign keys for dependent tables and has done so for a while. It's supported doing so for even longer. It also supports parameterized queries for custom WHERE statements and you can you the escape helpers if you're writing the whole SQL statement from scratch.

We don't have a single full SQL statement in Basecamp 3. The number of cases where that's needed is simply vanishingly small these days. But yeah, sure, you can still take off all the safety gear we provide by default and jump head first into murky water.

Abstractions
by almeida

I worked on a project around 2007 that used Ruby on Rails. That was my first experience with Ruby and my first experience with a real web product. I liked Ruby and Rails, but it was easy to get bitten by some of the abstractions. I remember the site bogged down really bad whenever we searched for a record in a large database table. The problem was that the database was hidden behind ActiveRecord, so it was easy to forget we were using a database at all. Writing a for loop to search for a record that matched some criteria felt natural, because our interface was with objects, not the underlying tables. However, behind the scenes, each iteration was a separate query. The result was thousands and thousands of queries, instead of just a single query with a simple WHERE clause. We were essentially doing in Ruby what we could have done much more efficiently in SQL. Once we realized the problem, we rewrote that kind of code so it used more or less raw SQL. The result was much faster, but we lost the readability of the abstraction. Everyone on the team was new to Ruby and Rails (grad students who shuffled in and out each semester), so it's possible that we were just doing things completely wrong. Still, it feels like it shouldn't have been that easy to shoot ourselves in the foot. Have things improved since then? How do you balance nice abstractions like ActiveRecord with performance? How do you make it clear to novices what's going on internally, so they can avoid the mistakes that we made?

DHH: Rails makes it really easy to get going, it tries to guide you to an enlightened path, but ultimately, you still have to learn a lot to be a successful developer. I don't know why people keep expecting that it doesn't require careful, prolonged study to become proficient with a development platform like Rails. All we promise is that it's easy to get started, which means you'll hopefully gather the motivation to keep going. Because making your way through "My First Rails App" isn't the destination, it's the start of the journey.

Developing web applications is complicated. As in there are a lot of moving parts and learning about all of them is key to mastering the domain. Yes, you can get started with very little base knowledge, and that's wonderful. It helps more people start the journey rather than having a 4-day tall wall of byzantine XML configurations to complete before your app server will say HELLO WORLD. But it's not the matrix. You can't just load a cartridge and proclaim I KNOW RAILS NOW. It doesn't work like that.

In terms of the specifics, you should look into preloading. We don't use any raw SQL any where in Basecamp 3 and we don't need to. You can easily avoid N+1 queries and other performance bottlenecks and still keep the abstractions in place. But yes, it takes some time to learn that. And if all you know is SQL plus a little bit of Ruby and Rails, I can definitely see how you end up with "fuck it, let's just write raw SQL, rather than learn the abstractions". That's the tradeoff with frameworks. I think that's the natural evolution of learning. Beginners make mistakes. Those mistakes motivate learning how you can avoid them in the future. After a few runs through that cycle, you're no longer a beginner, but a novice. Keep going and you'll get proficient. Go further still and you just might one day become an expert. Expect to be an expert on day one? You'll likely never become one.

What are your thoughts on the MEAN stack?
by itsmash

What are your thoughts on the MEAN stack ( MongoDB, Express.js, Angular, and Node.js)?

DHH: It takes all kinds of people to make the world go around :)

what still makes you excited about Rails?
by Anonymous Coward

First of all, thank you for Rails, it helped me to convince my former employer to look beyond Java for web application development and now about half of the projects I do is helping teams of smart people who've painted themselves into a corner using the platform. What a beautiful statefull mess we living in! I personally feel your contribution to web application development in general is not Rails but the explosion of batteries included web frameworks we are seeing around us now. Things got shaken up 10+ years ago and they are still stirring. Yes, the github is full of failed frameworks withering away but also some really cool stuff spawned in the ripples Rails caused. My question: now that things have cooled down a bit regarding Ruby on Rails (merb and arel have been assimilated, framework upgrades are almost doable, most have settled on minitest, etc) what still makes you excited about this project or are you secretly migrating basecamp to phoenix and assimilate that into Rails too?

DHH: I love writing software for the web in Ruby. The web changes, our applications change. Both those vectors of change cast new light on what the perfect framework should look like. So I keep chasing those rays as they deflect. It's a lot of fun. The work is never done. We've just released Rails 5.0 which was a major step forward. It adopted WebSockets as a first-class target for Rails applications and did it in a way that builds on everything else we already have in Rails. I got to use that feature to build some awesome real-time stuff in Basecamp 3. That's such an addictive and rewarding cycle. One that I doubt I'll ever tire from.

Talking about Danish devs
by hcs_$reboot

Why is Denmark so keen to develop languages?

DHH: Danes simply have to learn other languages to communicate with the world at large. Danish is spoken by some six million people. It's almost impossible for foreigners to learn. So I guess a bunch of us combine those two factors to come up with ways to communicate with computers and communities.

Just stopping by to say: Thanks!
by Pirulo

I am impressed by all the sour bitching about RoR in /. If you tried, and cannot learn it, then programming just might not be for you. Granted, it might not be the perfect fit for everybody, but RoR has an impressive merit on the growth of the web. 10 years ago I discovered it, and the framework taught me how to structure complex business applications and back them with proper unit and integration testing. Today we run a company on the 6 digit revenue that is backed mostly by RoR. Thanks David!

DHH: Thanks! Always great to hear people who bootstrap new businesses with Rails.

51 comments

  1. Must have been one of those F- CS grads by Anonymous Coward · · Score: 0

    Talk about a lot of ego and not much interest in learning. No wonder Ruby on Rails turned out to be so terrible.

  2. Really? by fluffernutter · · Score: 1, Flamebait

    Really? The first answer and he thinks we care what version of TextMate he uses? I stopped reading there. Who cares what editor he uses.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    1. Re:Really? by Anonymous Coward · · Score: 1

      No kidding, especially when *everybody knows* that BBEdit is the best editor for Macs.

    2. Re:Really? by Anonymous Coward · · Score: 1

      I stopped reading there.

      Thanks for letting us know.

      Who cares what editor he uses.

      LichtSpektren. If you read up until his first answer, you should have seen that.

    3. Re:Really? by Anonymous Coward · · Score: 0

      Who cares what editor he uses.

      Hipsters!

      You do understand this is the guy that wrote RubyOnFails?

    4. Re:Really? by Anonymous Coward · · Score: 0

      Not sure about that, I like KomodoEdit

    5. Re:Really? by 0100010001010011 · · Score: 3, Funny

      Who cares what editor he uses.

      This coming from the group that gets in pissing contests of vi vs emacs?

    6. Re:Really? by fluffernutter · · Score: 1

      Definitely vi. Emacs is so terrible it's not worth mentioning.

      --
      Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    7. Re:Really? by Anonymous Coward · · Score: 0

      Definitely emacs. Vi is so terrible it's not worth mentioning.

    8. Re:Really? by Anonymous Coward · · Score: 0

      If you don't care how his computer is set up, how about you skip the "What is your computer setup like?" question.

  3. unfortunately based on a dead-end by Anonymous Coward · · Score: 0

    Unfortunately Ruby (horrible to read) and its environment - bundler, gems, rvm, capistrano are absolutely terrible.
    Extremely messy and intrusive in a host system, broken between any updates..

    Ok so you can make it work, for small projects. Where Python is cleaner, clearer, with the same feature set.
    Going to medium or larger projects you still go for Java..

    1. Re:unfortunately based on a dead-end by Gr8Apes · · Score: 1, Insightful

      I think a better question he should have answered is:

      Why should I develop anything in RoR since it has so many core issues, including security, performance, and scalability?

      I think the answer to that question would reveal why RoR, and Ruby itself, are a declining minuscule percentage of new projects, much like no one writes anything new in Pascal or Basic anymore.

      Stating "It's dead, David" is probably the only conclusion.

      --
      The cesspool just got a check and balance.
    2. Re:unfortunately based on a dead-end by Anonymous Coward · · Score: 0

      Where Python is cleaner, clearer, with the same feature set.

      Python is disgusting and packaging is a much bigger mess in Python.

      go for Java

      Fuck off Pajeet.

  4. Really? by Anonymous Coward · · Score: 0

    "I am impressed by all the sour bitching about RoR in /. If you tried, and cannot learn it, then programming just might not be for you."

    RoR is a burning trash fire. If you're using exclusively RoR you're out of you're mind.

  5. Re:vai dar o cú cheiradora de de pó do c by Anonymous Coward · · Score: 0

    Sorry, he doesn't speak Klingon.

  6. Thanks for doing this by Anonymous Coward · · Score: 1

    I am loving the interviews popping up on Slashdot fairly regularly now. Keep it up! And thanks David.

    1. Re:Thanks for doing this by Anonymous Coward · · Score: 0

      Oh hey David!

  7. I do by Anonymous Coward · · Score: 0

    but what the hell is Rails ?

  8. Re:Softball interview by Slashdot, as always by Anonymous Coward · · Score: 0

    Why was this modded -1? It's completely true. I bet the mods are trying to save face, these interviews are always a fucking joke.

  9. Re:vai dar o cú cheiradora de de pó do c by NotAPK · · Score: 1

    Google Translate: "One of the reasons I like Fran is that it is able to break the face of that little shit of Helena to me."

  10. Re:Softball interview by Slashdot, as always by Anonymous Coward · · Score: 0

    Why was this modded -1? It's completely true. I bet the mods are trying to save face, these interviews are always a fucking joke.

    Because that's what small minds do when confronted with truth that doesn't affirm their emotional investments. They seek a way to silence it. It's always been that way. The concept of "shooting the messenger" goes back to a time when the only way to shoot anything was with a sling or a bow and arrow.

    The correct response to such truth is to abandon any worldviews that are in conflict with it, maybe to work to change the truth so that in time it becomes something one finds more palatable. But you just can't expect small minded people to have the integrity, courage, or patience to do anything like that. To expect that is to set oneself up for disappointment. No, petty small minded people will just click to down-mod, declare their "victory" to themselves, and rejoin the echo chamber. They require the company of the like-minded to reassure themselves because they have no other foundation.

    For those who can recognize what they're seeing, this is an early warning sign that a site or community is on the decline. Genuine discourse without censorship is always a healthy thing, and that's what this site is losing.

  11. Too bad bash on Ubuntu on Windows wasn't out yet.. by Mal-2 · · Score: 2

    It's really too bad the questions had to be submitted before the advent of (release) bash on Ubuntu on Windows. Otherwise we could have asked how to get maximum Inception value, as RoR is good for two layers with a single effort.

    Ruby on Rails on bash on Ubuntu on Windows on Parallels on OS X?

    --
    How is the Riemann zeta function like Trump rallies? Both have an endless number of trivial zeros.
  12. Conflating language and Framework by mpol · · Score: 3

    And I respect PHP very much for that focus. But as soon as you go beyond the very basics, I think the learning curve there is steeper. Rails simply has so many answers to so many questions, and it introduces those answers in a pretty progressive way. You don't even have to learn what SQL injection is if you're using the preferred query methods. You SHOULD learn what that is, but you don't have to to get started. If you don't know what SQL injection is and you use the MySQL db query functions with a string-interpolated query in PHP, well, you're going to be in trouble.

    Probably he knows the difference :). But he seems to just try to make a point where there is none. He is making a wrong comparison. Ruby on Rails is a framework and should have classes/methods to handle SQL queries, just like any proper framework. Ruby and PHP are languages and shouldn't do that. If you use a framework in PHP, or even a CMS as WordPress or Drupal, you have classes/methods for doing SQL queries.

    --

    Well, don't worry about that. We can get you back before you leave. (Dr. Who)
    1. Re:Conflating language and Framework by Anonymous Coward · · Score: 0

      Honestly I think you're giving him a bit too much credit. "You don't even have to learn what SQL injection is if you're using the preferred query methods." You mean...like...ones that aren't vulnerable to SQL injection attacks David? The ones you just told us we didn't need to know about?

      Incidentally, when DHH is finished huffing nitrous oxide out of whipped cream cans, he might want to do a bit of Google searching...there's an entire page dedicated to SQL injection attacks against Rails...

    2. Re:Conflating language and Framework by Trailer+Trash · · Score: 2

      Due to Ruby's extensive support for metaprogramming, Rails ends up being a cross between a language and a framework.

    3. Re:Conflating language and Framework by Anonymous Coward · · Score: 0

      Ruby on Rails is a framework and should have classes/methods to handle SQL queries, just like any proper framework. Ruby and PHP are languages and shouldn't do that.

      But PHP does. Literally in the language - like the mysql functions are fucking reserved words. That's how painful PHP is.

    4. Re:Conflating language and Framework by Anonymous Coward · · Score: 0

      there's an entire page dedicated to SQL injection attacks against Rails... [rails-sqli.org]

      I was going to say that the examples on the site use SQL fragments and thus are not the safe methods and that the site is completely missing the point...

      but then I noticed that there are some more clever things described too, so instead I'll just say: Interesting.

      (Though my overall reaction to the site remains: how often do you really pass user input to a HAVING or GROUP BY clause? They're not engineered for that, and I certainly wouldn't expect them to be either!)

    5. Re:Conflating language and Framework by Anonymous Coward · · Score: 0

      The :select option allows complete control over the SELECT clause of the query.

      Well, no shit. It's stupid to list it as an injection vector though.

  13. Re:Let's clarify some things by Anonymous Coward · · Score: 2, Insightful

    Maybe comments are down because the comment sections get filled with vile, angry people like you?

  14. Almost impossible to learn Danish? by Zontar_Thing_From_Ve · · Score: 1

    Sorry David Hansson, but I'm calling bs on that one. Let's see which of the following difficulties Danish has that truly difficult to learn languages have...

    Does it have a really weird alphabet or even worse ideographs? Nope. Standard Latin alphabet.

    Does it have no relation at all to any more commonly spoken languages? Not only is it close enough to Norwegian and Swedish that the degree of mutual intelligibility is very high among them, it's also a Germanic language which makes it kind of related to English, German and Dutch. Lots of people speak those. So it's not like, say, Basque.

    Does it have tones like Mandarin (4) or Vietnamese (6) or Cantonese (6 or 7 or even more depending on the source)? Nope.

    Does it have tons of cases like Finnish which apparently has 15 and Hungarian which has so many that even linguists don't agree on how many it has? No.

    Foreigners may not learn Danish because it's not particularly useful to them, but let's get over this idea that modern Danish is just far too complicated for foreigners to ever learn, OK?

    1. Re:Almost impossible to learn Danish? by Anonymous Coward · · Score: 0

      Hansson lives on the assumption that if someone doesn't do something that he does, they are a moron.

    2. Re:Almost impossible to learn Danish? by Anonymous Coward · · Score: 0

      Danish are high in sugar, though. Fattening if consumed on a daily basis.

    3. Re:Almost impossible to learn Danish? by Anonymous Coward · · Score: 0

      Not only is it close enough to Norwegian and Swedish that the degree of mutual intelligibility is very high among them

      I'm pretty sure you're mixing up languages there. Norwegian and Swedish are largely mutually intelligible, yes, but Swedish and Danish definitely aren't 'very high' on that scale.

  15. Re:Let's clarify some things by Anonymous Coward · · Score: 0

    Maybe comments are down because the comment sections get filled with vile, angry people like you?

    Yes, constructive criticism and a desire for a vibrant, geeky community moderated by wiser people is definitely the product of a vile and angry person.

    I think you're seeing your own reflection.

  16. Re:Let's clarify some things by whipslash · · Score: 4, Informative

    I'm gonna weigh in here. Normally I don't react to trolls in the comments because I'd rather the comments stay on topic about the story. I read every story and the vast majority of comments as my time allows. I rarely ever downmod, as other users usually do a good job. I think you're a bit confused if you think someone telling me to commit suicide is "constructive criticism". Judging by your past comments you're just a troll, and hey, that's fine. This isn't Reddit, we're not going to ban you. People can accuse of us "blatant slashvertisements" as the OP here does constantly, but the fact is we have never been paid for a story. There's no way to prove that, but its the truth so if you want to keep accusing us of that, you can, if it makes you feel good rather than just scrolling past the story and reading one that interests you. Again, we're not going to ban you. If you get downmodded for other users, perhaps its because you consistently post things people don't want to read instead of posting a thoughtful comment about the topic at hand.

    The fact is the world of technology is a lot larger and more broad than it was when Slashdot was started years ago, so we cover more topics. There are more nerdy topics now than ever. If you wanted to improve Slashdot you'd email your feedback to us rather than starting flame wars in the comments. I assure you I read and consider every email I get. This will probably fall on deaf ears to trolls, but I thought I'd weigh in in case any cooler heads are reading and interested in what I have to say.

  17. Proponents [Re:Really?] by Tablizer · · Score: 1

    "If you tried [RoR], and cannot learn it, then programming just might not be for you"

    I've seen too many similar statements from proponents of various frameworks/tools/languages/paradigms: "If you don't get X, you are stupid and should be flipping burgers."

    After more than a decade of debating so called Golden Hammers and probing their justifications, I've concluded that people just vastly think differently and there are many ways to shave a cat (skinning them is too mean).

    Some techniques just resonate with certain brains better. There is no reason to make it personal or mean.

    I've met other Table Oriented Programming thinkers ("Tablizers"), and they love it also, but selling TOP to others has fallen flat.

    They seem to prefer coding attributes (or what should be attributes) into what TO ME is verbose and hard-to-read code. But they LIKE reading that verbose code and even seem fast at it. Boggle. It's like Fred Flintstone preferring to stick with his feet-powered-car instead of getting a Honda. If Fred can get around well and quickly in his Footillac Deluxe, I guess I shouldn't care, as long as he doesn't force his car choice on me.

    Hopefully each can find or make a shop where the other developers like and use your favorite tools also, and everybody is happy and productive with tools that fit their mind like a glove.

    Sunshine, Unicorns, Rainbows, and YourFavStack

    Peace! -Tablizer
           

  18. Re:Let's clarify some things by Anonymous Coward · · Score: 0

    Why did you give him such easy questions? There isn't one question about how RoR is struggling, or at the very least, dropping in user share year after year. Why not give someone a challenging question for once?

    The reason no one EVER takes these interviews seriously is because only the "nice" questions are given and answered.

  19. Re:Let's clarify some things by whipslash · · Score: 1

    I can't force anyone to answer questions they don't want to. Also, we gave him every single question that were asked by users that were worded civilly. If the question was extremely toxic and rude we didn't give it to him. Why would someone who is taking out time to answer questions respond to people rudely insulting him? If you can get an inventor like DHH to answer some questions that are worded extremely toxically, let me know and I'll post it here.

  20. Re:Let's clarify some things by whipslash · · Score: 1

    Not every interview is as great as the Larry Wall one, but that doesn't mean we're going to stop doing them.

  21. Re:Let's clarify some things by whipslash · · Score: 1

    Read through the original question thread. We sent all the ones that weren't personally insulting him. I'm not here to spend my time proving to some irrationally angry (adult, I assume) person freaking out about an interview he or she is smashing his keyboard about. If you don't like it, scroll on. If you do, read it and/or comment. If you're too dense to see you're acting like a petulant child, then so be it. We're not banning you like Reddit or any other site you can still get your rocks off complaining if you'd like. Or maybe you're just good at trolling me.

  22. Re:Let's clarify some things by Anonymous Coward · · Score: 0

    Normally I don't react to trolls in the comments because I'd rather the comments stay on topic about the story. ... If you wanted to improve Slashdot you'd email your feedback to us rather than starting flame wars in the comments.

    I do apologize for responding to this rather than responding to the topic at large (which I enjoyed), but it appears this is the only reasonable, public place to respond. I'm curious, can anyone post a story to the meta part of slashdot? When I looked at the last few years of meta posts, it seemed they all came from the corporate side of slashdot, not the users. I appreciate that there is a 1-to-1 method of interaction via email, but how can the community discuss what sorts of things would make slashdot better outside of times management thinks it is appropriate?

    The fact is the world of technology is a lot larger and more broad than it was when Slashdot was started years ago...

    My thinking of the concerns of these sorts of trolls is that tech has become a watered down and a commoditized thing. Innovation genuinely seems to be slowing down or perhaps the public's ability/willingness to embrace new things has sped up. Either way, that is troubling to some.

    One option is to publish very deep articles or articles only a few people could appreciate (e.g. http://www.ribbonfarm.com/2015/12/01/can-you-hear-me-now/ ). This would genuinely be of interest to a few of these trolls (assuming the objection they raise is sincere). The other option is to post very a large variety of content, with the majority being relatively fluffy (e.g. "Best Java 8 feature").

    The first option really limits audiences and the second tends to make the site very "beginner" oriented. I realize it is a balancing act, but at present it is hard to know how the editors choose to balance those (and other) concerns. Perhaps if slashdot encourage more meta-conversation, we could work together to find a better balance.

    Thanks for being so open about the subject!

    - JCD