Comp Lang Perving

Syntax is the most important aspect of a programing language

The quality of a programing language, can be judged by how much of it can be explained by its syntax alone.

programing mylisp

The following is critique of programing languages, with respect to formal language perspective.

For latest additions, subscribe: Xah Programing Blog.

Syntax Soup

  1. What Are Good Qualities of Computer Language Syntax?
  2. On Constructed Languages, Computer Languages, and Their Grammar Complexity
  3. Syntax, Formal Language, Pattern Matching
  4. Formal Definition of Systematic Grammar
  5. Composable Syntax
  6. Syntax Algebra
  7. OOP Dot Notation, Dot Before Data or After?
  8. Unix Pipe as Functional Language
  9. Method Chaining, Postfix Operator, and OOP
  10. Ontology of Postfix Notation, Method Chaining, and Unix Pipe
  11. What's the Definition of Operator in Computer Language?
  12. JavaScript Syntax Soup: p in o
  13. Python Syntax Soup: x in y
  14. Context Dependent Syntax, Python, Lisp setf
  15. Java Array Syntax Soup: Syntactic Irregularity and Ad Hoc Logic
  16. Why List Comprehension is Bad
  17. What's Point-free Programing? (point-free function syntax)
  18. Problems of Symbol Congestion in Computer Languages; ASCII Jam vs Unicode
  19. Unicode in Function Names and Operator Symbol
  20. Computer Language Design: String Syntax
  21. Programing Language Design: Syntax Sugar Problem: Irregularity vs Convenience
  22. What Does it Mean When a Programing Language Claims “Whitespace is Insignificant”?
  23. OCaml Syntax Sucks
  24. If Then Else Ternary Expression
  25. Hack of Bitmask as Boolean Parameters
  26. Programing Languages Sugar Syntax: Compiler Level vs User Level
  27. camelCase vs snake_case
  28. What's the Most Readable Computer Language Syntax?
  29. JavaScript Grammar is Not Context-Free!
  30. The Naming of List Things in Computer Languages
  31. Computer Language: Predicate Function, Terminology, and Naming Convention
  32. Programing Style: Variable Naming: English Words Considered Harmful
  33. Sigil for Function Parameter Names
  34. Math Notation, Programing Language Syntax, and Thought
  35. On Meta Syntax, Formal Language, and Logic

Semantic Noodle

  1. OOP's Jargons and Complexities
  2. Meaning of Object in Computer Languages
  3. Node.js Dot Notation as Namespace Mechanism
  4. JavaScript Dot Notation, Namespace or Object System?
  5. Alan Kay on Object Oriented Programing
  6. Programing Language: Polymorphism, Dispatch, and the Tale of Poly-Tinting
  7. Why I Hate Exceptions
  8. Iterator, Enumerator, Abstraction Went Wrong
  9. Language Design: Should Array Index Start at 0 or 1?
  10. Programing Language: Syntactic and Semantic Difference of Map Function
  11. Should the Map Function Specify Order?
  12. Programing Language: Function Dependency
  13. Logic Operator as Control Flow
  14. Programing: Why I Hate C
  15. The Complexity of Java Access Specifiers
  16. Hashtable as Switch Statement
  17. Why Idioms Are Bad
  18. The Nature of Idioms in Programing Languages
  19. Perl: Difference Between List and Array
  20. Programing: Are int, float, long, double, Side-Effects of Computer Engineering?
  21. Learning Notes on Goto, Continuation, Coroutine
  22. Functional Programing Languages History Diagram
  23. What Language Does Google Facebook Twitter Paypal Wikipedia … Use?
  24. One Language to Rule Them All? Or, What Language to Use for Find Replace?
  25. On the Rectification of Programing Language Spec by Formal Language
  26. What's Ontology of Programing Language?
  27. Math vs Programing, What-is vs How-to
  28. A Class of Computer Languages: Math Languages
  29. Which Languages to Learn? Perl, Python, Ruby, JavaScript, PHP, Emacs Lisp
  30. Brainf*ck Language EOF Design Problem
  31. Programing Language: Steve Yegge on Dynamic Languages
  32. Functional Programing: is Real World Stateful?
  33. Wizard Book: Structure and Interpretation of Computer Programs
  34. Homotopy Type Theory
  35. A Functional Programing Architecture on JavaScript and Object Oriented Document Object Model
  36. What do Microsoft, Apple, Mozilla, say about Dart?
  37. HTML6, JSON SXML Simplified
  38. What Made Lambda Calculus So Powerful?
  39. Why Does Struct Datatype Encroach Namespace?
  40. Shell, REPL, Notebook, and Emacs Environment Explained
  41. Edge Cases in Computing, and What Exactly is Whitespace?
  42. Empirical Analysis of Programming Language Adoption
  43. History of Programing Languages in 1 Sentence
  44. D3.js Visualization, a Quasi Science


  1. Concepts and Confusions of Prefix, Infix, Postfix and Lisp Notations
  2. Can Lisp Macro Change Lisp Syntax?
  3. Lisp Apostrophe Quote 'f Came From MacLisp
  4. Mathematica vs Lisp Syntax
  5. Nested Syntax Design: XML vs LISP
  6. Programing Language: Systematic Syntax: Lisp vs Mathematica
  7. Language Syntax: Brackets vs Begin/End vs Indentation for Nesting
  8. LISP Syntax Problem of Piping Functions
  9. Lisp vs Perl Syntax, the Cult Problem
  10. XML is not S-Expressions
  11. Is XML Stupid Brother of Lisp Sexp?
  12. LISP Infix Syntax Survey
  13. Fundamental Problems of Lisp
  14. Famous Programers on How Common Lisp Sucks
  15. Guy Steele Says: Don't Iterate, Recurse, and Get rid of cons!
  16. Paul Graham's Infatuation with the Concept of Hacker
  17. Programing Language Design: Why Lisp Macro Sucks
  18. Why Clojure is Dense
  19. Clojure's Popularity, a Tango with Java
  20. Programing: LISP is Not Functional!
  21. Emacs Lisp: read-from-minibuffer Propels Deep Questions
  22. LISP, What Does Symbolic Language Mean?


Python Language Problems

The following articles are not in the side panel. (due to historical directory structure reasons)

Variable Naming


Language Underneath Mumble Jumble

Social Issues


Jargons of Software Industry

Jargons of Software Industry


Tech Doc Humor

documentation idiocy collection

regex and parsing

Xah Regular Expression Articles Index

Misc, unsorted yet

Programing Challenge

Programing Problems Index

If you have a question, put $5 at patreon and message me.