Live data from Hacker News

Show HN: Imba – I have spent 7 years creating a programming language for the web

news.ycombinator.com

1–10 of 354 posts

Show HN: Imba – I have spent 7 years creating a programming language for the web

#1
Hey all

My name is Sindre, and I am the CTO of Scrimba (YC S20). For the last 7 years, I have written all my web apps in a full-stack programming language called Imba. It compiles to JavaScript and its main goal is to make web developers more productive.

I just launched a major overhaul of Imba, so I wanted to share it here on HN, in case anyone are interested in learning more about it. It is very opinionated, so some of you might not like it, but I would love to hear anyones feedback regardless. Constructive criticism appreciated!

The backstory:

Imba initially started in 2012 as an effort to bring the elegance and conciseness of Ruby into the browser, and also because I felt that JavaScript and the DOM should be more tightly coupled together. Over the years, I have taken inspiration from React/JSX, and also Tailwind.

Since 2013, I have built several business-critical apps in Imba, so this is not a toy project or an academic exercise, it is extracted from a real project trying to solve real problems. Today, we are currently a small but passionate community of devs who use Imba all over the world.

The nitty-gritty details:

As mentioned, Imba compiles to JavaScript, and it works on both the frontend and backend. The quickest way to get a feeling of how it works is by checking out this video: https://www.youtube.com/watch?v=8XS5q9xhaMc

Alternatively, here is a list of the main benefits of the language:

* Clean syntax with built-in tags and inline styles

* Imba's Memoized DOM approach is *an order of magnitude* faster than Virtual DOMs (Vue, React). Learn more here: https://www.freecodecamp.org/news/the-virtual-dom-is-slow-me...

* Imba works with Node and the npm ecosystem, and integrates tightly with both JS and TypeScript

* Blazing-fast dev/build tools based on esbuild

Each of the benefits above are explained more thoroughly in our docs here, so please check it out if any of the above points spark your interest: https://imba.io

With this version I feel that I am very close to my vision for what Imba should be. In other words; it is finally ready for public consumption. I'd wholeheartedly advice you to look into it and give it a whirl if you are interested in web development :)

Hope you like it, and please share any feedback you might have in the comments!

PS! We're also hiring Imba developers at Scrimba - see https://jobs.scrimba.com/. We don't expect you to be a seasoned Imba developer, but we expect you to pick it up fast :)

Re: Show HN: Imba – I have spent 7 years creating a programming language for the web

#3
Relevant links for those who wish to look into it:

Repo: https://github.com/imba/imba

Docs: https://imba.io/language/introduction

Video: https://www.youtube.com/watch?v=8XS5q9xhaMc

Article: https://dev.to/somebee/imba-a-javascript-alternative-for-inc...

Site: https://imba.io

Discord: https://discord.gg/mkcbkRw

Twitter: https://twitter.com/imbajs

Re: Show HN: Imba – I have spent 7 years creating a programming language for the web

#4

Hey there! I think it is really cool language. You can basically get started in minutes. Does imba also have native app framework too?

No, not right now. The current version of tags is relatively tightly coupled with the DOM for maximum performance. It should be possible to create a bridge like react-native but it hasn't been an area of focus thus far!

Re: Show HN: Imba – I have spent 7 years creating a programming language for the web

#6
post #5

One thing that irks me about Javascript is "const". I think it should have been called "con". "var", "let", "con". So the first thing I did here is look up the docs and see how variables are declared. Aaarghh.. "let" and "const" again :)

Tbh, var is actually deprecated since v1, so any mention of var in the docs is a mistake. Are there any other languages using 'con' for constants?

Re: Show HN: Imba – I have spent 7 years creating a programming language for the web

#9
post #5

One thing that irks me about Javascript is "const". I think it should have been called "con". "var", "let", "con". So the first thing I did here is look up the docs and see how variables are declared. Aaarghh.. "let" and "const" again :)

Why does const irk you? const sounds a lot clearer than con. Is that your primary criteria for picking a language? ;)

Re: Show HN: Imba – I have spent 7 years creating a programming language for the web

#10
post #5

One thing that irks me about Javascript is "const". I think it should have been called "con". "var", "let", "con". So the first thing I did here is look up the docs and see how variables are declared. Aaarghh.. "let" and "const" again :)

Good idea IMO. That feature should be pretty easy to add (famous last words).
Post reply on HN