Live data from Hacker News

Ask HN: Have you created a programming language and why?

news.ycombinator.com

131–140 of 247 posts

Re: Ask HN: Have you created a programming language and why?

#131
post #87

Earlier quoted context omitted.

What are your personal opinions on the future of Coffeescript? It's still being used for Atom, but I've noticed colleagues are finally getting used to ES6 and similar languages and switching to them. I'm still stuck on Coffeescript though for all of my frontend projects. It's too closely aligned to my utopia of a language to try to find anything else (which would surely have a smaller following anyway).

My personal opinion is much as it has been from day one: > I'm not about to start using it for real projects, > it's really just a thought experiment about how nice > JavaScript could be with an alternative syntax. (Source: https://news.ycombinator.com/item?id=1014225 ) I've used it a bit for fun, but never for work. And I think that the future of JavaScript is probably always going to be JavaScript — until a web lan…

For what it's worth, I have been working on serious production coding projects using CoffeeScript full time for the last 4 years! Moreover, I like it a lot and have no plans to change to another language anytime soon. So thanks!

Re: Ask HN: Have you created a programming language and why?

#132
post #41

I created a scripting language for my interactive fiction engine because the existing ones have too many assumptions about gameplay. It's Turing complete with ultra minimalist syntax using punctuation as the few keywords it has.

Github page? Sounds interesting as I've always wanted to write one, but never had the time and I'm sure Inform7 is bigger than what I need.

Re: Ask HN: Have you created a programming language and why?

#133

Earlier quoted context omitted.

One academic also did make in Prolog. That way it was ddclarative and used logic programming.

Make is declarative. It has rules that you declare; it figures out which ones fire and in what order.

I know that. The imication is they redid a declarative program in a declarative language.

Re: Ask HN: Have you created a programming language and why?

#134
I haven't created a programming language per se, but I created https://mypost.io/ which is a bit more advanced than most single webpage creation platforms, as it allows HTML, CSS, and JavaScript. With that--I basically added hundreds of lines of code to accept BBCode. From random strings and names to advanced mathematical equations and formulas. I mean, I didn't write the scripts per se, as I'm using javascript code, available on the Internet, but I did write the BBCode that makes them all easier to write out and publish on the website. For the math, however, I'm still writing up the documentation.

Re: Ask HN: Have you created a programming language and why?

#135
I built a DSL for creating easy to build tests for a frequently updated enterprise web application. Selenium and it's counterparts, while very powerful were entirely too much to take on for many people and the vendor's testing was kind of a joke.

What my DSL did was translate a lot of language into terminology that made more sense to people in that space, and wrapped frequently used combinations of functions together. I.e. if we wanted to test if an element was present in the navigation bar, we wouldn't have to find the navigation bar slideout toggle switch, validate that it was open or open it, ensure that the navbar was populated, then use an xpath query to determine whether it was present, we could just declare a simple one line test.

I had no experience with building DSLs (Domain Specific Languages) previously, no experience building an IDE, and no experience with creating or parsing syntax trees. I just knew that there was a problem and it needed to be solved.

What was conceptually very simple turned complex quickly as I ferreted out the long term goals and researched how I could build something that I could responsibly transition to people less willing to hack their way through things.

I could have built an API rather than a whole new language, but I had compelling reasons not to go that route.

Did it catch on? Yes, and no. It's been 4 or 5 years since I released it to a customer and it's still being actively used. The entire target market was less than 3000 customers, so it was never going to be a household name.

I have to say it was one of the more eye opening projects that I have taken on. The growth experience was infinitely valuable, and like all lower-level things it provided great perspective that can be useful on a variety of projects.

Re: Ask HN: Have you created a programming language and why?

#136
post #81

Inspired by Algorithmic Information Theory, the theory of shortest programs, I set out to create the simplest possible computational model with binary input and output. The Binary Lambda Calculus is described in [1],[2] and further inspired this IOCCC winner [3]. [1] http://tromp.github.io/cl/Binary_lambda_calculus.html [2] http://tromp.github.io/cl/cl.html [3] http://www.ioccc.org/2012/tromp/hint.html

I think I once read that only an exponentially small fraction of binary strings are valid BLC programs. In theory this means you could create shorter programs by merely enumerating valid BLC programs, which is bothersome. Is this a correct characterization and do you see a fix?

EDIT: there's the paper https://www.cambridge.org/core/journals/journal-of-functiona... citing an exponent of 1.963447954...

Re: Ask HN: Have you created a programming language and why?

#137

I made ChoiceScript, a DSL for writing interactive novels in the style of choose-a-path gamebooks, but longer, richer, and deeper. https://www.choiceofgames.com/make-your-own-games/choicescri... The goal was to build a language simple enough that we could teach it to non-coder authors, to scale up the number of interactive novels we could publish. It seems to be working. ChoiceScript is the core of our business; we'r…

Out of curiosity, what's your opinion of Squiffy?

I haven't used Squiffy myself. There are a lot of tools out there to let you build interactive fiction, either parser-based games where you type your actions, or choice-based games where you choose what you want to do from a list. For many people learning to code, building a tool like this is literally their second program, right after "hello world." Building a full-blown "Choose Your Own Adventure" is one of the tutorial projects in "JavaScript for Kids for Dummies."

The most popular type of choice-based IF is hypertext IF, and the most popular tool for building hypertext IF is Twine. Squiffy is most directly a Twine competitor, but almost all hypertext IF is developed in Twine; nobody's using Squiffy.

That may not be Squiffy's fault. Generally speaking, IF tools rise above the noise when someone writes a Great Game in that tool, regardless of whether the tool is strictly better or worse than anybody else's tool. Then people who admire the game say, "I want to make a game like that! How did you make it?" and that gets the ball rolling.

Since Twine is more popular than Squiffy, I'd advocate that anybody starting today use Twine. (And so the rich get richer.)

We don't use Twine or Squiffy at Choice of Games, partly because Twine isn't very well suited to writing really large interactive novels, (our minimum is 100,000 words of code+text) but also because hypertext UI isn't that easy to use on mobile devices; it can be hard to accurately tap on links in the text, as opposed to tapping big buttons at the end of the text. (You can use buttons in place of links in Twine, but you start fighting the tool pretty quickly.)

Re: Ask HN: Have you created a programming language and why?

#138
Yes. I created an internal language called "Lispon".

A lisp using json instead of sexprs. e.g. ["op", "arg", "arg"]. The team had a couple of requirements for a service we wrote: 1. Need to do batching. 2. Need to do stored-templated json responses based on data in our DB. 3. Need to not cost the project more than a week.

We had worked around #1 and #2 in awkward and debt riddled ways. (The client of the service was PHP with lack luster JSON processing, the service was java) So I whipped up Lispon and evaluator in about 3 days and had it integrated in another day.

It's lifespan was intended to be somewhat short, but like all code it's somewhat slow to get replaced and is doing its job adequately. JSON based sexprs are terrible to read.

Re: Ask HN: Have you created a programming language and why?

#139

Earlier quoted context omitted.

My personal opinion is much as it has been from day one: > I'm not about to start using it for real projects, > it's really just a thought experiment about how nice > JavaScript could be with an alternative syntax. (Source: https://news.ycombinator.com/item?id=1014225 ) I've used it a bit for fun, but never for work. And I think that the future of JavaScript is probably always going to be JavaScript — until a web lan…

For what it's worth, I have been working on serious production coding projects using CoffeeScript full time for the last 4 years! Moreover, I like it a lot and have no plans to change to another language anytime soon. So thanks !

Thanks everyone for this chain. I started up a new Rails project a few months ago and decided to stick with ES6 for the Javascript instead of Coffeescript. Part of what bothered me about Coffeescript is how difficult it seemed to be to find any recent activity of any type about it, plus how much it seems to have diverged from the feature set of ES6.

Re: Ask HN: Have you created a programming language and why?

#140
I forked an existing scripting language https://github.com/mingodad/squilu (from https://github.com/albertodemichelis/squirrel) and did some bug fixes and modifications to better suite my needs:

- C/C++/Java/Javascript like syntax

- Be able to write a subset of C/C++/Javascript (meaning it can be interpreted or compiled when performance matter)

- No global variables by default, warning when locals are overridden

- Clean hash tables (no builtin methods/preperties)

- Fast enough (sadly it can't beat lua/luajit)

- Small and easy to extend (one man can master it)

- Cross platform

...

Post reply on HN