When comparing J vs Lobster, the Slant community recommends Lobster for most people. In the question“What are the best (productivity-enhancing, well-designed, and concise, rather than just popular or time-tested) programming languages?” Lobster is ranked 26th while J is ranked 34th. The most important reason people chose Lobster is:
Unlike Rust doesn't make the programmer jump through hoops, mainly automatic. Does an analysis similar to the Rust borrow checker to infer lifetimes, but makes life easier on the programmer.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Every function is an operator
3 classes of operators (verbs, adverbs, and conjunctions) with verbs the most basic function that take either 1 or 2 (infix) parameters. Operators allow function composition with a minimum of parentheses.
Pro Simpler Imperative language constructs as failback to functional programming
J also supports multiline functional definitions similar to BASIC/Pascal. Including error handling.
Pro Compiled language speed from interpreted language.
Each built in operator is a C/asm function, and special code further optimizes some operator combinations. Result is optimized C speed from quick parsing. Array orientation parses and compiles a function once, and applies it to all array items.
Pro 25 year old language, with core unchanged in last 10 years
Still actively developed, but most recent changes have been in libraries and IDE and platform support.
Language is considered "perfected"... though not quite.
Pro Language reference has simple one page index
Complete core programming functional tools allow writting programs and libraries without imports.
Pro No operator precedence rules
(... within each of the 3 operator classes) makes reading code easier. Very simple parsing rules.
Pro Compile time reference counting
Unlike Rust doesn't make the programmer jump through hoops, mainly automatic. Does an analysis similar to the Rust borrow checker to infer lifetimes, but makes life easier on the programmer.
Pro Python-esque syntax
There's an audience who loves that.
Pro WebAssembly backend
More options for users.
Pro Inline structs
Structs are allocated in their parent, and come at zero overhead.
Pro Automatic memory management
Better than Rust. No sadism.
Pro Type inference algorithm
Just works. Goes further than most languages in terms of allowing code without types.
Cons
Con Syntax is pure madness
quicksort=: (($:@(<#[), (=#[), $:@(>#[)) ({~ ?@#)) ^: (1<#)
Con Small community
Lead doesn't appear to be so ambitious or has a vision to push making more popular.
Con Compile time reference counting not 100%
Around 5% of time, need to escape to runtime reference counting. Working to get the percentage as low as possible.
Con Lobster not yet totally written in Lobster
Core written in C++. Plans to change that, but has been a long time.
Con Python-like syntax, but different use case and domain
Not Python compatible and often significantly different in purpose and use cases.