How many code in HTML, CSS, JS

How many code in HTML, CSS, JS, without a developement language? If so, what are the pluses and minuses?

1 Like

Javascript is a development language, it’s just a clumsy one.

I dunno. I go that route if I’m doing a small web project. (Generally I add the jQuery library, because it makes HTML handling less clumsy. And it’s old and stable so it’s not going to surprise me.)

It’s easier to get going with an idea if you don’t have to set up a project with Typescript or whatever other language you were considering. But then, if you have a favorite language, you can probably get it set up very quickly. So that’s not a big deal!

It’s also easier for other people to work on your project if you just use plain Javascript. This may or may not matter to you.

Or were you asking about interactive fiction in particular? If you’re trying to build an IF game, an IF-specific development tool will save you a lot of work and give you a polished result from day one. That’s important.

2 Likes

The big plus is that the web stack will run almost anywhere. The exception being retro platforms, microcontrollers, etc. But most programming options won’t run on those without difficulty either, so they’re not really direct competitors.

This year I’ve started working in Typescript and have to say that it has made a big difference. It doesn’t completely eliminate bugs, but it has definitely caught a lot of them while I was writing code and before it was published. It does require a build step, but most JS development also included a bundler build step, so it doesn’t take much to switch on TS conversion too. (In some tools like esbuild it happens automatically!)

If you’re referring to IF authoring, then the same minuses apply to JS as to every other normal language: writing a parser from scratch is a very difficult and long task. Almost everyone, both authors and players, prefer a solid and reliable parser than a bespoke one.

I think there have been some people working on JS parser, but I don’t know what stage they got to or what the development experience is like with them.

2 Likes

For modest little bits of DOM manipulation and UI tweaks, I use straight Javascript. For a large project, I’d want to look to something that lets you not have to think about some of Javascript’s oversized pile of gotchas. I have something in mind and have more or less settled on giving Clojure a shot (can compile to Javascript).

You may be thinking of QuestJS: QuestJS parser docs.

It was used for last year’s (2021) IFComp entry The House on Highfield Lane; House on Highfield Lane Post-Mortem.

I don’t have any hands on experience other than not thinking there was anything wrong with the parser in practice while playing The House on Highfield Lane.

I think a lot of JS’s rough edges have been smoothed over in recent years. Every language has gotchas, so it does help to still run a lint test of some kind.

For me Typescript’s quasi-algebraic types have made a big difference. But they don’t always work perfectly.

You had me until you brought up Clojure. Anything remotely lisp-like starts to melt my brain worse than a math exam.

The original notion had been to straight-up implement Scheme. (I deserve a parade for not attempting any puns there.) One of the best things about Javascript is that it allows functional programming (inasmuch as it has lambdas and first class functions – I’ll leave arguing about whether immutability, etc., are essential functions for something to be a real functional programming language to others).

I’d also considered Elixir which can target a browser (via a scheme familiar in the IF world: it’s compiled to the bytecode of a virtual machine whose interpreter runs in the browser). Maybe you’d prefer it.