Comment

Comment by Jorge1o1

As a kdb+/Q programmer I would say it depends on the type of problem.

For example, when working with arrays of data it certainly is easier to think and write “avg a+b” to add two arrays together and then take the average.

In a non-array programming language you would probably first need to do some bounds checking, then a big for loop, a temporary variable to hold the sum and the count as you loop over the two arrays, etc.

Probably the difference between like 6ish lines of code in some language like C versus the 6 characters above in Q.

But every language has features that help you reason about certain types of problems better. Functional languages with algebraic data types and pattern matching (think OCaml or F#) are nicer than switch statements or big if-else-if statements. Languages with built-in syntactic sugar like async/await are better at dealing with concurrency, etc.

parent Jorge1o1 2 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton