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
> 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 ]
...```
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