News for hackers. Stuff that matters.
Re:Why We Chose Typescript by TekMol on Friday June 30, 2017 @07:33PM (#14674236)

    Prove how?
By means of natural selection.

    They could have succeeded in spite of
    dynamic typing, not because of it.
You think the otherwise smart and successfull founders of these projects all made the wrong choice when it came to selecting the right tool for the job?

    Facebook defined a new programming language
No, they wrote a faster runtime.

    to add static typing to HHVM
No, they added type annotations.

    There’s a lack of good statically-typed languages
No, in the past statically typed languages were the norm. C, C++, Java...

It's just that dynamic languages outcompeted them.

Re:Why We Chose Typescript by dom0 on Friday June 30, 2017 @07:56PM (#14674341)
> It's just that dynamic languages outcompeted them.

All "trending" languages are statically typed (Rust, Go, Swift, Kotlin, ...) and all the popular JavaScrip-improved-languages are statically typed as well. Even further, many dynamically typed languages have pushed in recent years to add type annotations or even static typing (e.g. mypy).

Dynamic typing is the brainchild of the 90s for rapid initial development. Sustainability has been a big issue from the outset.

Re:Why We Chose Typescript by kazinator on Friday June 30, 2017 @08:13PM (#14674421)
Dynamic typing is from 1958 Lisp. Your history is off a bit there, by some forty years.
Re:Why We Chose Typescript by vorg on Friday June 30, 2017 @10:22PM (#14674984)
The 90's also saw much commercial experimentation with visual environments (e.g. Visual Basic, Delphi, JBuilder) with round-trip conversion between the layout form and underlying code. They were promoted for R.A.D. (rapid application development -- remember that acronym?) but, like dynamically typed languages, they also had sustainability issues.

Of course, like dynamic typing and Lisp, visual environments also had Smalltalk from way back, but they were before big business became infatuated with the ideas.

Re:Why We Chose Typescript by TimJYoung on Sunday July 02, 2017 @10:54AM (#14682735)
How do products like Delphi have sustainability (maintainability ?) issues ? Delphi/Object Pascal is statically-typed, so you can't even build an application that has issues with the code-behind for a form.

You can see errors at run-time from mismatches between the code-behind and the forms, but this has nothing to do with the language. It's just the way that certain products like Delphi decided to handle such mismatches. You'll see these types of issues with any code that performs run-time serialization/deserialization of class instances. Our product, Elevate Web Builder, uses a similar architecture with its WYSIWYG form designer/forms (they use JSON instead of a custom key-value format), but it simply ignores properties in forms that don't exist in the actual code.

Re:Why We Chose Typescript by dom0 on Friday June 30, 2017 @08:19PM (#14674456)
Lisp has nothing to do (in many ways) with the late 80s and 90s wave of dynamic languages.
Re:Why We Chose Typescript by spot on Friday June 30, 2017 @11:01PM (#14675112)
JavaScript was definitely partly inspired by Scheme.
Re:Why We Chose Typescript by zem on Saturday July 01, 2017 @03:01AM (#14675807)
likewise ruby by lisp
Re:Why We Chose Typescript by Gaelan on Saturday July 01, 2017 @03:27AM (#14675876)
I’d say Ruby’s closest sibling is Smalltalk personally.
Re:Why We Chose Typescript by kazinator on Saturday July 01, 2017 @11:28AM (#14677494)
People say this mainly because of the brace-enclosed blocks of code being functions. However, that is really just a syntactic sugar for lambda (and can even have explicit arguments: (lambda (x y) ...) <--> {|x,y| ... }.
Re:Why We Chose Typescript by zem on Saturday July 01, 2017 @05:14PM (#14679069)
there's the "everything is objects and messages sent to them" bit too, which is definitely from smalltalk. ruby took the good bits from several languages.
Re:Why We Chose Typescript by bayesian_horse on Saturday July 01, 2017 @05:11AM (#14676195)
I've still not seen a single "sustainability issue" in Python code bases which seem to stem from dynamic typing as opposed to static typing.
Re:Why We Chose Typescript by christophilus on Saturday July 01, 2017 @02:06PM (#14678153)
I think Elixir is trending, and it's not statically typed, right?

That said, I do agree that static typing is in vogue.

Re:Why We Chose Typescript by nine_k on Friday June 30, 2017 @08:29PM (#14674501)
Smart answer successful founders of Wikipedia took an existing wiki engine. Their aspirations were not in the software development area.

Highly dynamic languages like Python or PHP or Perl are easy to start with, so they're great for prototypes. Then either a serious rewrite follows, using a statically checked language, or scaffolding is erected to continue to make do with the dynamic code. Microservices help!

Re:Why We Chose Typescript by bayesian_horse on Saturday July 01, 2017 @05:12AM (#14676200)
Erm, so splitting big Python projects into microservices is proof that dynamic typing is unsustainable?
Re:Why We Chose Typescript by nine_k on Sunday July 02, 2017 @11:08AM (#14682814)
No; but a single microservice is a smaller code base that a large monolith, so the problem . Also, you normally control the microservice's interface more strictly, and change it less often, and care about compatibility and versioning more, than for a typical internal API.
Re:Why We Chose Typescript by dragonwriter on Friday June 30, 2017 @07:41PM (#14674281)
If type annotations support a static verifier, they implement static typing (which, after all, is just having a static verifier that uses some combination of annotations and inference to validate types.)
Re:Why We Chose Typescript by minitech on Friday June 30, 2017 @07:38PM (#14674269)
> You think the otherwise smart and successful founders of these projects all made the wrong choice when it came to selecting the right tool for the job?

Not at all! I think dynamic typing hurts code, but there are:

- not always alternatives

- many other slightly suboptimal choices that it’s quite possible to succeed in spite of

> No, they wrote a faster runtime.

I’m referring to Hack, which is in fact another language with static typing. (Type annotations are static typing with compromises, and you can see what’s being gone for.)

> No, in the past statically typed languages were the norm. C, C++, Java...

Those are not remotely good. Some examples closer to being good are Rust, a step in the right direction that’s still unfolding, and Haskell, a wonderful language hampered by a slow compiler and a lack of decent packages. (And probably several less popular languages, but popularity is an important factor…)

Re:Why We Chose Typescript by Turing_Machine on Friday June 30, 2017 @10:32PM (#14675021)
"Those are not remotely good. Some examples closer to being good are Rust, a step in the right direction that’s still unfolding, and Haskell, a wonderful language hampered by a slow compiler and a lack of decent packages. (And probably several less popular languages, but popularity is an important factor…)"

Wait: so you are arguing that startups should use languages that are either incomplete (Rust) or that have slow compilers and poor library support (Haskell), or possibly some other "good" language that doesn't actually even exist?

Re:Why We Chose Typescript by minitech on Saturday July 01, 2017 @01:40AM (#14675577)
I’m saying that dynamically-typed programming languages are the best choice right now, but that it’s not because they’re dynamically-typed; existing fare for statically-typed languages is just worse.

Probably should have clarified that earlier since it looks like I agree with the statement that choosing Python was “a mistake”; sorry. I don’t. Vehemently.

Re:Why We Chose Typescript by TazeTSchnitzel on Saturday July 01, 2017 @07:50AM (#14676687)
> No, they wrote a faster runtime.

Which includes a statically-typed version of PHP, namely Hack, that they use for their code.

> No, they added type annotations.

Hack's type checking is much more sophisticated than mere “annotations”. That label might be better suited to PHP's type system.

Re:Why We Chose Typescript by nv-vn on Friday June 30, 2017 @10:24PM (#14674991)
>You think the otherwise smart and successfull founders of these projects all made the wrong choice when it came to selecting the right tool for the job?

Nobody is perfect. Mark Zuckerberg has had his fair share of controversies for example.

>No, in the past statically typed languages were the norm. C, C++, Java...

Not good examples for your argument. These are largely considered poorly statically typed. Compare to ML, Haskell, Ada, Rust, Swift for reference.