News for hackers. Stuff that matters.

Show HN: My free course for learning Imba

https://scrimba.com/learn/imba

Today I launched an Imba course for Scrimba.com. Imba is an amazing language for building web applications, that deserves more attention.

Watch my announcement video: https://www.youtube.com/watch?v=CDSIsvZJhow

Take the course (it's free): https://www.scrimba.com/learn/imba

Some context:

I fell in love with the Imba programming language a couple years ago and quit my job to spend all my time building projects with Imba. The first one being TaskTXT (https://www.tasktxt.com), a plaintext notepad with built-in timers. It's full of UI details that were a joy to build with Imba. Trying to build things like this with React in the past honestly made me feel dumb.

Imba (https://www.imba.io) is a language that compiles to Javascript, like TypeScript or JSX. Imba's syntax diverges much more from Javascript, looking more like Python or Ruby. It's compatible with Javascript and Typescript and NPM modules. It also has fantastic VSCode tooling and even supports TypeScript types.

I like Imba syntax better than JS, but the real selling point is the built-in features for building web UI. Imba has first-class support for html tags, css styles, and custom web components. Those are all parts of the language. For me, Imba has replaced Javascript, HTML, CSS and React.

Imba's "Memoized DOM" model for updating the UI is an order of magnitude faster than virtual DOM approaches. This allows for simple state management, because you can pretty much re-render the whole UI whenever you want and Imba manages to do that very efficiently. There's an older article about this here (https://www.freecodecamp.org/news/the-virtual-dom-is-slow-me...) if you want to dig into the technical details.

People often ask for examples of things made with Imba, and the most prominent one is the learn-to-code site, Scrimba.com and its interactive editor. Scrimba was was built by Sindre (creator of Imba) and the Scrimba team. The fact that Scrimba's editor was made with Imba grabbed my attention when I first learned about the language. It's one of the most impressive web applications I've ever seen.

Sindre originally built Scrimba to share Imba, but until now there's not been a real Imba course on Scrimba! So, I'm pleased to be fixing that today.

I know Imba looks strange to a lot of people. Imba programmers are used to people looking at it and declaring it to be stupid and wrong. An open mind is required. Imba doesn't have to be for everyone, but for a certain type of developer who values design, and wants to build expressive UI quickly, it's pure magic.

( 14 comments | 63 points | on HN )
Re:Show HN: My free course for learning Imba by e12e on Tuesday May 24, 2022 @07:33PM (#31498796)
This looks very interesting, thanks for sharing. I remember seeing imba quite a while ago - looking forward to see what it is like now.

A couple of related threads:

From 9 months ago:

> Show HN: Imba – I have spent 7 years creating a programming language for the web https://news.ycombinator.com/item?id=28207662

And thread from seven years ago:

> Imba – A new programming language for the web https://news.ycombinator.com/item?id=10091454

(and on a related note, that thread reminded me that mithril.js exists - looks like the project is still alive, too: https://mithril.js.org/ ).

Re:Show HN: My free course for learning Imba by pier25 on Tuesday May 24, 2022 @07:19PM (#31498697)
Imba has some amazing ideas.

What's the state of SSR, streaming, hydration, and partial hydration?

I seem to remember reading this was going to be included in v2 a couple of years back?

The docs mention Imba is a full-stack language, but I can't find anything in the docs on how to set up a server, hydration, etc.

Re:Show HN: My free course for learning Imba by trafnar on Wednesday May 25, 2022 @12:49PM (#31507083)
Imba 2 does have some level of support for SSR/hydration, but I haven't used those features myself.
Re:Show HN: My free course for learning Imba by pier25 on Wednesday May 25, 2022 @03:24PM (#31509326)
Somebee replied in 2020 that partial hydration would be available too:

> the scrimba site is using partial hydration heavily. Hope to get imba 2.0 final out in a few months

https://news.ycombinator.com/item?id=24580723

Re:Show HN: My free course for learning Imba by knight17 on Tuesday May 24, 2022 @06:42PM (#31498408)
This looks really nice. This is a video of author creating a simple counter with two buttons using imba. It demonstrates how CSS styling, code, and HTML works together in this language:

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

Re:Show HN: My free course for learning Imba by revertmean on Wednesday May 25, 2022 @07:32AM (#31503034)
If you haven't seen Scrimba before (I hadn't), click the "Why Scrimba?" link on the page.

It looks like it's just a video, but it's not. You can pause the "video" and then edit the code and run it. If that doesn't make sense just try it! It's pretty cool.

Re:Show HN: My free course for learning Imba by vosper on Tuesday May 24, 2022 @05:54PM (#31497945)
Offtopic: Are people downvoting or flagging reasonable comments without replying? The only comments so far are two dead comments that seem perfectly fine to me. If you're one of the people who downvoted, could you take the time to reply?
Re:Show HN: My free course for learning Imba by robertlagrant on Tuesday May 24, 2022 @07:42PM (#31498864)
I didn't downvote, but they look like spam. That might be why.
Re:Show HN: My free course for learning Imba by macintux on Tuesday May 24, 2022 @08:43PM (#31499321)
One was from a brand new user, with that as its only comment, but I vouched for the other.
Re:Show HN: My free course for learning Imba by ibdf on Wednesday May 25, 2022 @01:36PM (#31507793)
Coming from a Vue and Node background, Imba looks quite interesting. I would be curious to see the source code for some larger projects.
Re:Show HN: My free course for learning Imba by _mikey_ on Wednesday May 25, 2022 @03:41PM (#31509518)
Imba's website is written in imba: https://github.com/imba/imba.io

Here's a PWA I've spent considerable time on: https://github.com/familyfriendlymikey/JILU

Re:Show HN: My free course for learning Imba by ibdf on Thursday May 26, 2022 @02:29PM (#31521819)
Thank you. I will take a look at them.
Re:Show HN: My free course for learning Imba by Artistry121 on Tuesday May 24, 2022 @07:53PM (#31498945)
Lovely! I was reading the imba docs this weekend trying to get started and boom! Here it is. You’re a hero. Thanks.
Re:Show HN: My free course for learning Imba by charlieyu1 on Wednesday May 25, 2022 @05:07AM (#31502100)
Imba is definitely interesting. I may try it some day