Live data from Hacker News

Imba: A new programming language for web apps

imba.io

71–80 of 131 posts

Re: Imba: A new programming language for web apps

#71
post #67

Doesn't solve any of the big problems with large scale javascript apps: 1) Lack of type checking leading to exploding runtime exceptions 2) Object inheritance/prototype is weird and counter intuitive to other OO languages 3) Lack of proper encapsulation leading to spaghetti code when combined with #1 I suspect we are in for a new era of languages targeting web assembly to be used as webapp frontends and backends but…

There is no solution to large scale JS apps. Large systems are inherently problematic. The only way to "fix" them is to break them into smaller modules and subsystems. Fancy abstractions and features will never solve large system issues. The large system issue is that it's large.

This is too clever by half. Some tools/languages are more amenable than others to creating and maintaining large apps. Very large applications have been written and maintained in C/C++ for decades. My contention is that Javascript is particularly ill-suited to the creation and maintenance of large scale apps in the long run for the reasons explained.

Any new language which purports to be an improvement upon Javascript should at least attempt to rectify these issues. That's my thesis.

Re: Imba: A new programming language for web apps

#73
post #70
post #67

Doesn't solve any of the big problems with large scale javascript apps: 1) Lack of type checking leading to exploding runtime exceptions 2) Object inheritance/prototype is weird and counter intuitive to other OO languages 3) Lack of proper encapsulation leading to spaghetti code when combined with #1 I suspect we are in for a new era of languages targeting web assembly to be used as webapp frontends and backends but…

prototypal inheritance isn't a liability that needs to be fixed.

Yes, it is and the first reason is related to #1. Prototypical inheritance doesn't make much sense outside of a dynamic language. The second reason is because Javascript is disguised to look like Java and hence people familiar with the C-family of languages are surprised and baffled because Javascript is using the C-family syntax and idioms for classical inheritance to mask the very different prototypical inheritance.

Re: Imba: A new programming language for web apps

#74
post #67

Doesn't solve any of the big problems with large scale javascript apps: 1) Lack of type checking leading to exploding runtime exceptions 2) Object inheritance/prototype is weird and counter intuitive to other OO languages 3) Lack of proper encapsulation leading to spaghetti code when combined with #1 I suspect we are in for a new era of languages targeting web assembly to be used as webapp frontends and backends but…

There is no solution to large scale JS apps. Large systems are inherently problematic. The only way to "fix" them is to break them into smaller modules and subsystems. Fancy abstractions and features will never solve large system issues. The large system issue is that it's large.

Well, by combining small systems, you can still end up with a large system.

Abstractions absolutely can help solve the problem, by providing ways to modularize better.

Re: Imba: A new programming language for web apps

#75
post #67

Doesn't solve any of the big problems with large scale javascript apps: 1) Lack of type checking leading to exploding runtime exceptions 2) Object inheritance/prototype is weird and counter intuitive to other OO languages 3) Lack of proper encapsulation leading to spaghetti code when combined with #1 I suspect we are in for a new era of languages targeting web assembly to be used as webapp frontends and backends but…

Well put. I've been keeping an eye on elm (elm-lang.org) for a bit to see if it stands the test of enough time for me to decide to try it out. It, at least as far as I've seen, tries to address these concerns.

But who knows, maybe it's just more noise.

Re: Imba: A new programming language for web apps

#76
post #73
post #70

Earlier quoted context omitted.

prototypal inheritance isn't a liability that needs to be fixed.

Yes, it is and the first reason is related to #1. Prototypical inheritance doesn't make much sense outside of a dynamic language. The second reason is because Javascript is disguised to look like Java and hence people familiar with the C-family of languages are surprised and baffled because Javascript is using the C-family syntax and idioms for classical inheritance to mask the very different prototypical inheritance…

Javascript is disguised to look like Java because people keep trying to "fix" it.

Re: Imba: A new programming language for web apps

#78
post #71

Earlier quoted context omitted.

There is no solution to large scale JS apps. Large systems are inherently problematic. The only way to "fix" them is to break them into smaller modules and subsystems. Fancy abstractions and features will never solve large system issues. The large system issue is that it's large.

This is too clever by half. Some tools/languages are more amenable than others to creating and maintaining large apps. Very large applications have been written and maintained in C/C++ for decades. My contention is that Javascript is particularly ill-suited to the creation and maintenance of large scale apps in the long run for the reasons explained. Any new language which purports to be an improvement upon Javascrip…

This is actually quite fascinating (and part of my upcoming book...)

Despite the obvious high/low-level language differentials, people have been managing multi-million-line C code-bases since the 80's. Then again, think of how little the build tooling has actually changed -- instead of fragmenting, you're left with llvm, gcc, make at the core of most compiled software.

JavaScript is the exact opposite with the lowest possible barrier to entry (built-in to every web browser...), and the proliferation of frameworks and libraries may be due to this in combination with the lack of fundamental understanding of design patterns that can scale. Lots of people trying to partially solve symptoms, missing the forest for the trees.

Theoretically there's nothing preventing good patterns in high-level UI development, but I'm not quite sure it's been done right, yet and have no idea when the dust will settle.

Re: Imba: A new programming language for web apps

#79
post #76
post #73

Earlier quoted context omitted.

Yes, it is and the first reason is related to #1. Prototypical inheritance doesn't make much sense outside of a dynamic language. The second reason is because Javascript is disguised to look like Java and hence people familiar with the C-family of languages are surprised and baffled because Javascript is using the C-family syntax and idioms for classical inheritance to mask the very different prototypical inheritance…

Javascript is disguised to look like Java because people keep trying to "fix" it.

It was designed from the very beginning by Eich to look like Java and not because subsequent people tried to "fix" it. Where are you getting this stuff?

Re: Imba: A new programming language for web apps

#80

Actually on their own benchmark page the imba example is the slowest. http://somebee.github.io/todomvc-render-benchmark/index.html

What's your specs/browser? I get: http://i.imgur.com/dtKCSxL.png in Waterfox 40.1.0, and http://i.imgur.com/4bu0Hev.png in Chrome 47.0. 20x and 26x improvement over the slowest.
Post reply on HN