3 ms·
I have to say, the more experienced I get the less I have such kind of excitements. It sounds like K is great in certain domains, but for example looking at the
by ludamad 6y ago
I have to say, the more experienced I get the less I have such kind of excitements. It sounds like K is great in certain domains, but for example looking at the language it is missing big tools I deem important for software for example - extensive static typing, a great module system and community of modules, etc
- smabie 6y agoTraditional static typing wouldn't really help k very much since the 'type' of a variable has more to do with the dimensionality and length of the vector being processed. A dependent typing system that could statically verify the length and shape of some vectors at compile time (like Idris) could be useful though. In general though, it's very hard to judge k or any array language from the outside. You've been made to believe that a module system is necessary, or that long variable names are useful, but none of these things are true. It's only when you start using k that you realize that all of dogma our professors, our bosses, and our coworkers have imparted on us on how to structure programs is unnecessary, and worse, actually harmful. I know I sound a little preachy, but learning k/q maybe 6 months ago has completely changed my perspective on how programs should be structured. Functional Haskell or Ocaml code that I previously would have considered elegant and "correct" now strikes me as unnecessarily verbose and clunky.
- ludamad 6y ago"It's only when you start using k that you realize that all of dogma our professors, our bosses, and our coworkers have imparted on us on how to structure programs is unnecessary, and worse, actually harmful." This is an incredibly bold statement - how readable are these programs revisiting them after 5 years? Tired? I believe many programmers feel that their programs are an optimal representation - and it may be, for their current mind set, their personality, and the current problem. I don't know how you think this extrapolates to all software