Live data from Hacker News

Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

lostechies.com

1–10 of 31 posts

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#2
"I haven’t listened to the interview so I honestly don’t know if the quote is taken out of context or not"

WTF? -1 for not trying.

There's a panel discussion with:

    Erik Meijer (misc, head of Cloud Programmability Team at Microsoft)
    Gilad Bracha (Dart)
    Martin Odersky (most recently Scala)
    Anders Hejlsberg (Turbo Pascal, Delphi, C# etc)
    Peter Alvaro (researcher e.g. datalog)
And some ungooglable twerp doesn't actually listen to it?

Argument from authority seems spot-on when you're replying to something they said.

Make that -2

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#4

"I haven’t listened to the interview so I honestly don’t know if the quote is taken out of context or not" WTF? -1 for not trying. There's a panel discussion with: Erik Meijer (misc, head of Cloud Programmability Team at Microsoft) Gilad Bracha (Dart) Martin Odersky (most recently Scala) Anders Hejlsberg (Turbo Pascal, Delphi, C# etc) Peter Alvaro (researcher e.g. datalog) And some ungooglable twerp doesn't actually…

in all fairness, that sentence is said more like a passing comment and not a discussion topic

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#5

Certainly, large programs are harder to maintain than small programs. Certainly, modularity and encapsulation helps, in any language. The implication that, therefore, choice of language is irrelevant to maintainability is spurious.

did you listen to the talk

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#6
Link-bait.

The problem of composability has been debated to death and is in general recognized to be the biggest problem of our software industry. Even Unix-derived operating systems come these days with pretty big and monolithic pieces of software. Even Emacs is technically a big and monolithic piece of software, at least when compared to Vi.

     But Derick, You Write Large JavaScript Apps ...
     I write JavaScript applications that appear to be large.
Not trying to make an argument about who Derick is, but he's arguing against Anders Hejlsberg, a very talented software engineer and language designer. Certainly we should be wary about appeals to authority (just like the one I've made), however let's not get ahead of ourselves and forget the shoulders of the giants on which we stand.

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#7
post #4

"I haven’t listened to the interview so I honestly don’t know if the quote is taken out of context or not" WTF? -1 for not trying. There's a panel discussion with: Erik Meijer (misc, head of Cloud Programmability Team at Microsoft) Gilad Bracha (Dart) Martin Odersky (most recently Scala) Anders Hejlsberg (Turbo Pascal, Delphi, C# etc) Peter Alvaro (researcher e.g. datalog) And some ungooglable twerp doesn't actually…

in all fairness, that sentence is said more like a passing comment and not a discussion topic

I posted the original to reddit/r/javascript so I've got a point to defend ;)

In the video, they do talk about tooling, IDEs, auto-completion, libraries, dynamic types, and so on. Refactoring tools come up repeatedly.

So you can build up a richer context to the reasoning.

There's even discussion about reasoning about systems made from components running on different machines, which is not far from what this Derek chap responds with as his perceived solution.

Its not all tightly packed into a sound-bite.

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#8
The original talk: http://css.dzone.com/articles/you-can-write-large-programs

Martin Odersky keeps a sober view on all of this. His insights on sound/unsound type systems is really good.

Also, Peter Alvaro makes a very good complaint about having a distinction of library creators and every-day programmers, which the others seem to believe not only to be true, but also to be inevitable (I obviously side with Peter on this).

The conversation is much better than this sad remark.

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#9
I've had this discussion with co-workers before about scripting languages, and in particular Python, as that is what I am working with currently. I feel that once Python -- or indeed any loosey-goosey language that lack strong types -- programs grow beyond a certain size you easily fall into the "inconsistency trap", especially if you have many programmers working on the same code base.

You have to be extra diligent with docstrings; unit tests and variable naming, or invent your own poor, ad hoc type checking with isinstance, or liberal use of exception handling if you insist on ensuring that Python's duck typing continues to work in your program.

Invariably you'll end up with two camps: those who feel scales to large codebases, and those who do not; those in the former camp have (almost never) had to maintain a millions of lines of code before so they do not know just how helpful having a strict compiler is, and just how hard it is to refactor or infer the meaning of code due to the dynamic nature of the language. Linting will only get you so far.

It's perfectly possible to write maintainable, large programs in dynamic languages, but it is infinitely harder than it should be.

Re: Anders Hejlsberg Is Right: You Cannot Maintain Large Programs In JavaScript

#10
post #9

I've had this discussion with co-workers before about scripting languages, and in particular Python, as that is what I am working with currently. I feel that once Python -- or indeed any loosey-goosey language that lack strong types -- programs grow beyond a certain size you easily fall into the "inconsistency trap", especially if you have many programmers working on the same code base. You have to be extra diligent…

Python is actually strongly typed. For example, 1+"1" will fail in python. Type errors will (usually) make the program crash. I believe this is a major plus over javascript when writing and maintaining large programs.
Post reply on HN