Hacker Newsnew | past | comments | ask | show | jobs | submit | aeonflux's commentslogin

I don't think rewrite the in Scala was great decision, business wise. Fast forward 15 years its way lower on popularity than Ruby. Not sure what they use these days though.


"There are only two kinds of languages: the ones people complain about and the ones nobody uses." -- Bjarne Stroustrup, The C++ Programming Language


Results from outsourcing can vary. You might end-up with totally unmatched 5 candidates and complain that there is no good people on the market. How would asses that the agency did good job (or any job at all)?


Types are helpful in large codebases, but in Web Apps they tend to get into the way more than they help. You can still use semi-typed constructs in Ruby, but you have the freedom to choose where you need them.

After moving to writing web in Go (from Ruby) I am still baffled how much more boiler plate there is and how much slower things move because of this. Types are great when you want to refactor some things, but thats just part of the job.

In Ruby I loved how can you just quickly jump into REPL or just do inline breakpoint to inspect state: `scope.map(&:names).last.tally.sort_by(&:last).reverse.first(10)`

Something like this is such a chore in Go that I simply skip it more often than not.

> it uses a lot of special characters, which makes writing the code slower

I don't get this part. What special characters?


Unfortunately I don't have much experience with Go, I did try it for the sake of trying it, and I see your point, it is a bit more complicated to write code compared to JS/TS (two languages I know very well) or even Java (disclaimer: I think Java sucks).

> I don't get this part. What special characters?

For example let's look at this code:

```

class ProductsController < ApplicationController before_action :set_product, only: %i[ show edit update destroy ]

  def index
    @products = Product.all
  end
...

```

You can see a bunch of special characters: < : , % [] @

For example, if I wanted to write the same code in Typescript, based on my setup I might just need do something like this:

```

instance.get("/products", () => ProductsRepository.find());

```

Where instance is my router instance (fastify, express, whatever) and ProductsRepository is a TypeORM repository. My before_action might just be a middleware I pass to the callbacks chain or register as global middleware


You're mostly comparing frameworks here. For example, using the Roda framework instead of Rails you can define a route like this:

  r.get "products" { ProductsRepository.all }
which is pretty close to your Express example.

You don't say what set_product should do but with any Rack application like Roda or Rails you can also set middleware as you suggest for Express.

With regard for special characters vs reserved keywords, that seems to be mostly about personal preference and familiarity.

e.g. I know that in a class declarion in Ruby < means the same thing as extends in JavaScript. I don't really notice the difference day to day.

Same for @products vs this.products. This doesn't seem like a conceptually big differnce to me.

As for %i[] to define an array of symbols, the typescript equivalent would be:

  const symbols: symbol[] = [Symbol("show"), Symbol("edit"), Symbol("update"), Symbol("destroy")];
Personally I always use [:show, :edit, :update, :destroy], it's more obvious IMHO. I use Rubocop to autoconvert that in any code I inherit.

What makes me love Rails is all the little trivial methods like one to quickly format arrays into gramatically correct sentences. Or the Array() wrap method when dealing with APIs.

Or the way Rails handles dates and times like 1.business_day.from_now

Or any number of other little utilities that are easy enough to write yourself but add friction when they're missing.

Rails gives me a well supported fullstack of what I need and I know that it and Ruby are constanly improving because its backed by some massive companies.

I don't think there's any need for you to adopt it though. That podcast is just about why DHH loves Ruby and Rails that doesn't invalidate what you're already happy with.

There is more than one way to do things.


Hey man, you should really put some effort into formatting the code samples, as they are awful to read.


I'm not the author, but if you wanted them to see that you could post it on the article's comments section


Could you point out where do you get your data from? Anything to back-up your claims that Rails is in decline and Elixir/Phoenix is growing? For a time not long ago I was heavily into looking for an Elixir gig, but couldn't really find offers, while there were still tons of offers for Rails development.


List is available after paying. Which makes a lot of sense.


This project pretty much pivoted into https://dragonruby.org, a framework for making 2d games in Ruby. It's pretty active and in-development, but has nothing to do with building cross-platform apps per se. No idea why this was posted.


I do ask this question in a initial questionnaire. I list bunch of technologies and just require this input. I do agree with all the points in the article, but my goal is to have relative scale. I am not able to verify all the needed technologies, but I can do verify few. Whatever the scale candidate choose, I assume its consistent. If someone self-scores 9/10 out of Postgres and doesn't understand basic things, I can safely assume his other 9/10 are worthless.


Agreed, it's a bozo filter. It's not intended to find good candidates, it's intended to weed out bad ones.


Pointless story about running outdated, vunerable software.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: