Live data from Hacker News

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

news.ycombinator.com

301–310 of 354 posts

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

#301
post #186

I just want to compliment the OP on a very clear and comprehensive website at https://imba.io/ . It clearly explains (by showing and telling) what Imba is, why I should care, how it works and how to get started. The floating demo applications even work well on mobile. Rare to see this level of polish for these things.

I've noticed that some projects being complimented for having good docs come from CTOs (esbuild is another example). I'm hoping that by pointing out this little correlation, people might feel more inclined to spend more time on writing docs for their projects if they aspire to climb in the career ladder :)

PostgreSQL, FreeBSD, Debian, rails all have superb docs.

Also, the software quality is high. This used to be the case for Apple and windows sdks. Not anymore.. now it’s “read the code“ or stack overflow

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

#302
post #74

I’m sick of programming languages that use “fast typing” and “productiveness” as a selling point. There’s no selling point in being productive doing a counter in a few seconds, production scenarios are far more complex and very often all those new programming languages fall short to their promise. Btw I don’t want to be fast or productive, I want to write code that works decently and is great for other humans myself…

Another marketing pet peeve that I have is term "blazing" fast. I think it's so overused now on any new tool's landing page posted online that I instantly just assume that it is, in fact, of relatively average speed. Are there no other synonyms for fast these days?

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

#303
post #283
post #243

Earlier quoted context omitted.

I started working in node around version 0.8, before both native Promises and async/await. I worked with guys that started after async/await. The new guys just think of everything like it's synchronous. They don't understand Promises. They never look at code and think "I can run this in parallel with Promise.all and a reducer". They just await each thing one at a time. So, I'm not sure the async/await annotations are…

I'm new to NodeJS but it was my understanding that using await like that would help by not blocking the thread, leaving node free to process other requests.

await won't block Node from handling other requests but it will block the thread that is awaiting. For example, these will execute one after the other (the "bad way"):

  await slowThingOne();
  await slowThingTwo();
but these execute in parallel, awaiting until both are finished (the "good way"):

  await Promise.all([slowThingOne(), slowThingTwo()]);

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

#304
post #298
post #276

Earlier quoted context omitted.

No that's not what good is, I in fact love languages with concise syntax, Java is probably the worst in that department.

Really? Java has the best syntax out there. It's consistent and very easy to read unlike Go, Rust or the modern languages these days

Go is like java minus semicolons and classes. I'd say the syntax is the almost the same but go's semantics are more simplified.

I dont think there is anything special about java syntax but agree that it's simple and consistent. Java used to not have "var" and looked really dumb by having type and constructer to be the same duplicated thing, but other than that what I hate about it was mostly java beans and accessors. The problem was the idioms, not the syntax.

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

#305
post #266

Earlier quoted context omitted.

lack of types and it used to be ignorant of perf in the generated code (creating IIFE unnecessarily)

Regarding types, you're right, though JSDoc can get you very far Regarding perf (performance, I guess?) - are you speaking of the single, global one? As CS takes care of variable scoping automatically, I think it makes a lot of sense (and is deactivatable anyway)

> JSDoc can get you very far

in the sense that you write them and parse them in your brain manually. JSDoc is useful to me because IDE supports it for javascript. Without IDE support it's just a bunch of fancy comments

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

#306

Earlier quoted context omitted.

Not just you, I have a pretty beefy desktop and it's noticeably laggy when scrolling for me too. EDIT: ah - butter smooth in edge (and presumably chrome too), but laggy in firefox.

Further update - it turns out I'd turned off Hardware Acceleration in FF to avoid issues that Windows has when you have GPU accelerated content on two separate monitors with different refresh rates. It's really bad with Hardware Accel turned off, but it's still a bit laggier with it on compared to chrome/edge.

Yeah, it's not really optimized for that. The floating labels over the code examples are offset in 3d space (for a subtle parallax effect while scrolling), so when HW acceleration is off it may end up repainting the page on every scroll. The effect is probably not worth the tradeoffs :)

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

#307
Looks really good ! Well done ! One "warning" I might give is I see "imba.commit" can become a problem.

This reminds me of the AngularJS(1) days, where if something didn't work (update), you will add a few well placed $apply or $digest everywhere. And of course if it doesn't work, you throw that $apply & $digest calls in s "setTimeoutLoops"... it got ugly fast.

This was of course was not the "correct way" of doing it in a "well written application" but many programmers working on one codebase, eventually somewhere someone gets frustrated with their code not working and in 12 months, you have these little "performance suckers" all around your code.

I don't really have a solution, maybe make it more "robust" or just keep in mind, programmers of all skill level and frustration levels, might just litter the codebase with these "magic-might-fix-my-issue-calls"

Congrats again on Imba !I do really like it :)

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

#308
post #84

I just want to compliment the OP on a very clear and comprehensive website at https://imba.io/ . It clearly explains (by showing and telling) what Imba is, why I should care, how it works and how to get started. The floating demo applications even work well on mobile. Rare to see this level of polish for these things.

One piece of feedback: it took me a moment to work out what 'pt', 'o' and 'fs' were. Single character variables are fine for algorithms but for demos you really want to use actual words.

Oh YES ! 100% - or if the demo spans "multiple files" but the code-snippets doesn't include a filename comment.

I.e //app.js ...

//my-todo.js ....

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

#309
post #283

Earlier quoted context omitted.

I'm new to NodeJS but it was my understanding that using await like that would help by not blocking the thread, leaving node free to process other requests.

await won't block Node from handling other requests but it will block the thread that is awaiting. For example, these will execute one after the other (the "bad way"): await slowThingOne(); await slowThingTwo(); but these execute in parallel, awaiting until both are finished (the "good way"): await Promise.all([slowThingOne(), slowThingTwo()]);

Minor clarification, the latter example will only await until both have resolved *or* one rejects. To await the resolution of all promises, you should use the truly gamechanging `Promise.allSettled` , though you will have to transpile it if it's not supported by your target environments.

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

#310
post #233

Earlier quoted context omitted.

What does it mean for projects build using imba?

Nothing you should worry about. MIT is a very permissive license.

On side note, if you ever wonder what a licence means or do there is this website that help clarify this : https://tldrlegal.com/
Post reply on HN