For your first suggestion, I would seriously give this talk a watch, and learn from the very well-fought struggles of another PL:
youtube.com/watch?v=C2RO34b_oPM
I think julia's typesystem is quite fascinating, because it's used in a totally different way from pretty much every other PL.
Elixir is a language that really optimizes for programmer joy, one of the best PL features is the pipe operator.
I can do this:
result = value |> IO.inspect(label: "value") |> function_1 |> IO.inspect(label: "result 1") |> function_2(with_param) |> IO.inspect(label: "result 2") |> function_3 |> IO.inspect(label: "result")
instead of:
value println("value: $value") r1 = function_1(value) println("result 1: $r1") r2 = function_2(r1, with_param) println("result 2: $r2") result = function_3(r2)
Indespensable for easy-to-read code and println debugging.
That is pretty neat. Thanks for the suggestions! I'll check out that video ASAP.
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
For your first suggestion, I would seriously give this talk a watch, and learn from the very well-fought struggles of another PL:
youtube.com/watch?v=C2RO34b_oPM
I think julia's typesystem is quite fascinating, because it's used in a totally different way from pretty much every other PL.
Elixir is a language that really optimizes for programmer joy, one of the best PL features is the pipe operator.
I can do this:
result = value
|> IO.inspect(label: "value")
|> function_1
|> IO.inspect(label: "result 1")
|> function_2(with_param)
|> IO.inspect(label: "result 2")
|> function_3
|> IO.inspect(label: "result")
instead of:
value
println("value: $value")
r1 = function_1(value)
println("result 1: $r1")
r2 = function_2(r1, with_param)
println("result 2: $r2")
result = function_3(r2)
Indespensable for easy-to-read code and println debugging.
That is pretty neat. Thanks for the suggestions! I'll check out that video ASAP.