DarkLang: new paradigm in software development or programming language?

I was curious if anyone has heard of or using DarkLang in Dev or Production, I have been following them lightly.

Have a look at their work at https://github.com/darklang and also their medium.com posts

I’m quite interested in this paradigm, I’m not claiming anything but its a good progress to track.

3 Likes

Heard of it, signed up for beta access, but have not been invited yet. Looks very interesting indeed, and a very good example, and use of projectional editing, let alone a potential disruptor for backend programming.

Disclaimer: I have a very limited understand of what they are doing

At a first glance, do you think that it is more crucial to their success the projectional editing aspect or the easyness of deploying the solution?

Who can tell with so little information?

I am trying to see what is different in their programming language, what new concepts they are using, but as far as I can see it looks very much like JavaScript. No new paradigm there.

I’d like to understand what makes you think Dark is like JavaScript, since it’s a statically typed functional language (source: “we made Dark a statically-typed functional language.” https://medium.com/darklang/real-problems-with-functional-languages-efe668c5264a)

Also Dark is a language+editor+infrastructure, and it is explicitly intended to build backends.
Have you read any of their Medium articles or seen a demo?

How should anybody tell at that point, they are in private beta. And why would it matter to know which of these aspects plays a bigger role in their (potential) success (and how would you even measure that), since both aspects are tightly interlocked? This is not meant rhetorically, I’d like to know why you are asking this?

I think they are going for a deliberatly closed, self-contained solution. There will be no two ways of doing things. There is the editor in which you develop using their language, and everything else is taken care of by the infrastructure.
This has some interesting properties, but of course people will resent the vendor lock-in and general lack of choice how to do things. Strangely reminds me of the American discussion about “Medicare for All” …

Because perhaps an online IDE for, let’s say, Java, which could provide automated deployment, could be perceived as almost as interesting. In that case the projectional editing would be a plus, but not seen as the main value. I think it would be useful to understand what people value, to see which competitors there could be.

I clearly missed something. Can you tell me where o find a demo, I did not see one.

Just browse their medium, there is a good amount of information there, including demo videos.

I have access to their beta.

What they have build is quite impressive. The have a projectional (they call it structured) editor with tight integration of runtime, the runtime supports incremental interpretation and their editor and proposed workflow uses this heavily. They call this “trace driven development”. Their idea of the workflow is that you create parts of you system that communicate with yet missing parts of your system (e.g. via events, http requests), you execute that part of your system via the editor and the things you called show up as missing, you create them and you do so by executing the trace that was initially sent to the missing part.

When executing traces (for development or debugging) the language and the editor track side effects so you only need to explicitly start interpretation for expression that have a side effect.

If you are interested in a demo let me know, I think I can arrange something.

IMHO thats their USP not the fact that they are “deployless”.

3 Likes

I would be interested!

Ok, I was missing a lot in my basic understanding on what they offer, thank you for clarifying!

I found the demo, and yes, I have definitely mixed it up with something else I have been looking at. Thanks for pointing it out.

The hello world is just like a Flask hello world!