Stages of Denial
K is a closed-source programming language with cryptic syntax, allowing concise expressions but sacrificing readability. The author explores its potential and compares it to J and APL, discussing code clarity versus cleverness.
Read original articleThe exploration of the programming language K reveals its unique characteristics and challenges. K is a closed-source language that employs cryptic syntax, making it difficult to read and understand compared to more conventional programming languages. The author reflects on the appeal of K's concise expressions, which can perform complex operations with minimal code. However, this brevity often comes at the cost of readability and maintainability, leading to a tension between cleverness and clarity in coding practices. The author also draws comparisons to other languages like J and APL, noting their similar right-to-left evaluation and mathematical capabilities. Despite the initial frustration with K's syntax, the author begins to appreciate its potential, considering the possibility of implementing K's primitives in a more familiar programming language. The discussion highlights the ongoing debate in programming communities about the balance between succinctness and comprehensibility, as well as the subjective nature of what constitutes "readable" code. Ultimately, the author grapples with the idea that while longer, more descriptive names can enhance understanding, they can also detract from the elegance of the code.
- K is a closed-source programming language known for its cryptic syntax.
- The language allows for concise expressions but sacrifices readability and maintainability.
- Comparisons are made to J and APL, which share similar features with K.
- The author considers the implementation of K's primitives in more conventional languages.
- The discussion reflects broader debates in programming about code clarity versus cleverness.
Related
Weekend projects: getting silly with C
The C programming language's simplicity and expressiveness, despite quirks, influence other languages. Unconventional code structures showcase creativity and flexibility, promoting unique coding practices. Subscription for related content is encouraged.
I Probably Hate Writing Code in Your Favorite Language
The author critiques popular programming languages like Python and Java, favoring Elixir and Haskell for immutability and functional programming benefits. They emphasize personal language preferences for hobby projects, not sparking conflict.
Objective-C is just, like, a leaky abstraction over C
Objective-C is described as a "leaky abstraction" over C, integrating modern programming features and enabling interoperability. Its design is effective, with Objective-S proposed as a streamlined variant.
Objective-C is just, like, a leaky abstraction over C
Objective-C is described as a "leaky abstraction" over C, integrating modern programming features and enabling interoperability. Its design is effective, with Objective-S proposed as a streamlined variant.
The Liberating Experience of Common Lisp
The author critiques modern programming languages for their complexity, praising Common Lisp for its stability, unique developer experience, and creative freedom, making it preferable for software development.
They're (poorly) aping mathematical notation without the properties that give actual notations their power to augment thought using symbolic manipulation, but the people writing code in such languages don't see the need to write like mathematicians; to wit, they don't write mostly in English and save their code snippets for apposite moments when they would illuminate as opposed to obscure. Haskell programmers at least have the taste to use names in their code.
let max = list[0];
for (let i = 0; i < list.length; i++) {
max = Math.max(list[i], max);
}
at the end just implementing the variadic `Math.max()` of JavaScript by pretending that it's binary? (I bring up JavaScript because the text seems to indicate that's the language in which the snippets are written: "You suggest an alternative, wincing slightly at the lambda notation you need to avoid running afoul of JavaScript’s variadic Math.max(): ….")Step 2: https://codeberg.org/ngn/k/src/branch/master/a.c
Step 3: Uh, I think I'm urgently needed elsewhere.
Related
Weekend projects: getting silly with C
The C programming language's simplicity and expressiveness, despite quirks, influence other languages. Unconventional code structures showcase creativity and flexibility, promoting unique coding practices. Subscription for related content is encouraged.
I Probably Hate Writing Code in Your Favorite Language
The author critiques popular programming languages like Python and Java, favoring Elixir and Haskell for immutability and functional programming benefits. They emphasize personal language preferences for hobby projects, not sparking conflict.
Objective-C is just, like, a leaky abstraction over C
Objective-C is described as a "leaky abstraction" over C, integrating modern programming features and enabling interoperability. Its design is effective, with Objective-S proposed as a streamlined variant.
Objective-C is just, like, a leaky abstraction over C
Objective-C is described as a "leaky abstraction" over C, integrating modern programming features and enabling interoperability. Its design is effective, with Objective-S proposed as a streamlined variant.
The Liberating Experience of Common Lisp
The author critiques modern programming languages for their complexity, praising Common Lisp for its stability, unique developer experience, and creative freedom, making it preferable for software development.