Live data from Hacker News

Cell Lang: Why yet another programming language?

cell-lang.net

61–70 of 126 posts

Re: Cell Lang: Why yet another programming language?

#61

Earlier quoted context omitted.

I know it's a total pipe dream, but this is what makes me most sad about lisp never being taken seriously. It could have been common practice to create and pull in new language constructs like what this is doing.

Languages that rely on the user creating their own language constructs suffer from a balkanization of the language - each team creates their own language, and cannot share code. This is why D does not have a macro preprocessor.

I agree it's much easier to make a mess, but I can see doing it the right way being extremely powerful.

One (slightly contrived) example is javascript's different (sub?) languages. JSX, await/async, typescript, pre-processors, etc.

It would be best practice to pull in popular versions of these things as opposed to rolling your own.

However, I also don't think there's much issue with some custom languages as part of a normal codebase when used in moderation.

There's not that much difference between using a traditional API that requires function calls in the right order, maybe some testing to ensure you're using it correctly, etc.

With a "new" language you can put a lot of that as static-typing style compile requirements. Essentially more guard rails to using a library correctly, and an opportunity to make a set of scoped primitives specific to what problem you're trying to solve. Ruby on rails is the best example of this sort of system.

Again though, I know it's a huge pipe dream, and for these ideas to go forward will require a LOT of change in our intuitions and methods of developing software. I'll never stop dreaming though ;)

Re: Cell Lang: Why yet another programming language?

#63
post #51

Earlier quoted context omitted.

Clojure seems to be gaining more and more momentum, unfortunately just as I changed jobs away from a clojure shop.

How is it gaining momentum? "Who's hiring" posts have zero clojure positions and that is a place where you might expect to see such positions.

While a fair assumption, we're only seeing a small subset of software jobs here: mostly SV-style big tech. And with that a set of specific technologies that have become popular in the space.

A lot of smaller shops use more unique technologies for different fields that I'm sure are using clojure for some things.

Frankly, I'm just guessing, and would love to see some hard data on this stuff.

Re: Cell Lang: Why yet another programming language?

#64
post #21

> Why yet another programming language? 'Because I wanted to' is a sufficient reason. Create all the programming languages you want and share it with the world!

It is a sufficient reason, but that does not mean that you cannot also mention other reasons, and how it might be better for some kinds of uses, etc.

Re: Cell Lang: Why yet another programming language?

#65

Earlier quoted context omitted.

Languages that rely on the user creating their own language constructs suffer from a balkanization of the language - each team creates their own language, and cannot share code. This is why D does not have a macro preprocessor.

I agree it's much easier to make a mess, but I can see doing it the right way being extremely powerful. One (slightly contrived) example is javascript's different (sub?) languages. JSX, await/async, typescript, pre-processors, etc. It would be best practice to pull in popular versions of these things as opposed to rolling your own. However, I also don't think there's much issue with some custom languages as part of a…

There's no doubt it is extremely powerful. But the result is everyone invents their own DSL, which is inevitably undocumented and nobody else wants to touch it.

> However, I also don't think there's much issue with some custom languages as part of a normal codebase when used in moderation.

Easy to say, but too many step over the line.

Re: Cell Lang: Why yet another programming language?

#67

Earlier quoted context omitted.

Agreed! Even if the new thing doesn't reach mainstream adoption it might still cause change in the mainstream choices - like how redux was inspired by Elm Secondly I think it's sad that someone building something will be asked to justify their decision in terms of economics. If it makes that person excited and happy to build a thing then I don't think any further justification is needed

In my experience, people believe that programming languages are a solved space, and we should stick with what we have. It's an unfortunate view. Languages are actually very polarized today. I think there's a lot of room for a mainstream language that could be safe, fast, and most importantly, easy. Today's languages are generally two out of three. Luckily, a lot of languages are exploring that space! * Vale is blendi…

Languages are not that polarized. Most languages are in fact compromises, design-wise, rather than very principled (polarized). Rust[1] and ATS are the only no-compromise newish (this century) languages that are very principled. (EDIT: in the high-level with low-level control category.)

Being supposedly easier is also easier (design-wise) than being principled, since you are able to compromise on whatever dimension (like e.g. memory safety) as long as you make things just a bit easier than the competition.[2] A language like Rust, on the other hand, has to (1) make Safe Rust memory safe and (2) make make it possible to create Safe Rust APIs using Unsafe Rust.

Polarized design is the road less travelled.

[1] All your examples mention “borrow checker”…

[2] For propaganda purposes, a subjective criteria like “easier to use” (than e.g. Rust, if that is applicable) is better than a technical criteria like being memory safe.

Re: Cell Lang: Why yet another programming language?

#69
post #24

Earlier quoted context omitted.

temporal.io = durable actors for microservices workflows

Trying to understand what this is. A kind of Erlang runtime for Go/Java/PHP/TS?

The "Concepts" section is a good intro: https://docs.temporal.io/temporal

Re: Cell Lang: Why yet another programming language?

#70
post #15

I think robust information software (AKA "CRUD" apps, data visualization and interaction etc.) should definitely be built with higher level paradigms, DSLs or a language that provides such capabilities out of the box for these reasons: - principle of least power - can often be talked and reasoned about more easily - lends itself to visualization - can be tested more easily and uniformly - eliminates certain classes o…

> this is kind of already how many are programming in modern FP languages like Clojure (via libraries).

Would you have links about this programming style and some of these libraries?

Post reply on HN