Live data from Hacker News

Have Static Languages Won?

pointersgonewild.com

71–80 of 120 posts

Re: Have Static Languages Won?

#71
"Dynamic languages are at a disadvantage. Most of the mainstream ones out there today were designed by amateurs, people with no formal CS background"

Patently false. * from Wikipedia

Python: Guido van Rossum * Master's degree in mathematics and computer science from the University of Amsterdam * Recognized as a Distinguished Engineer by the Association for Computing Machinery

Ruby: Yukihiro Matsumoto * Graduated with an information science degree from University of Tsukuba, where he was a member of Ikuo Nakata's research lab on programming languages and compilers

JavaScript: Brendan Eich * Brendan Eich received his bachelor's degree in mathematics and computer science at Santa Clara University. He received his master's degree in 1985 from the University of Illinois at Urbana-Champaign.

Perl: Larry Wall .... Well I guess he doesn't have a formal CS background. But he was literally a NASA rocket scientist. https://en.wikipedia.org/wiki/Larry_Wall#cite_ref-3

Re: Have Static Languages Won?

#72

Earlier quoted context omitted.

> JavaScript, PHP, Python, and Ruby are all in the top 5 spots on GitHub. All of which are established languages created in the 90's. It takes time for languages which are rapidly gaining mindshare to gain marketshare on GitHub.

> It takes time for languages which are rapidly gaining mindshare Honestly curious: which new languages are those?

Go, Swift and Rust come to mind. Some alternative JVM languages aren't doing too badly either.

Re: Have Static Languages Won?

#73
post #29

Earlier quoted context omitted.

> Just because you don't have to explicitly write out the type does not make it any less static. No, but not having to write the type was one of the biggest attractions of dynamic languages -- a lot of us didn't care that much for being fully dynamic, but just enjoyed the less ceremony of dynamic languages. As for not having to commit to types for some cases, STL languages can also have a "void *" or "variant" or "dy…

There is one other undeniable advantage to dynamic languages: you can express things in a dynamic language that you can't in a static one. Static languages try to be as sound as possible, at the cost of some completeness. Dynamic languages are less concerned with soundness and can be more complete. As an example, duck typing is usually not possible to achieve in a static language - it's really hard to allow duck typi…

>There is one other undeniable advantage to dynamic languages: you can express things in a dynamic language that you can't in a static one.

Including a static one with a "dynamic" type like C# has?

What would that be?

Re: Have Static Languages Won?

#74
post #48

Earlier quoted context omitted.

OCaml has duck typing for objects (strictly speaking it is "structural typing").

Oh, right, I never realised that structural typing was static duck typing! Scala has it too, even if it's frowned on. Thanks for enabling me to make the connection!

Doesn't Go have the same thing?

Re: Have Static Languages Won?

#75
post #71

"Dynamic languages are at a disadvantage. Most of the mainstream ones out there today were designed by amateurs, people with no formal CS background" Patently false. * from Wikipedia Python: Guido van Rossum * Master's degree in mathematics and computer science from the University of Amsterdam * Recognized as a Distinguished Engineer by the Association for Computing Machinery Ruby: Yukihiro Matsumoto * Graduated with…

You can also add:

Lua: Roberto Ierusalimschy * Associate professor at PUC-Rio.

Tcl: John Ousterhout * Professor of computer science at Stanford (and professor of computer science at Berkeley when he invented Tcl).

Plus, Python's design was based on a teaching language (ABC) that was designed based on actual usability research.

And, of course, this does not even count the classics (LISP, Smalltalk, Scheme) whose authors have pretty impressive academic pedigrees and whose designs inspired many of the more recent languages (e.g., the influences of Smalltalk and LISP on Ruby are pretty obvious).

Re: Have Static Languages Won?

#76

Earlier quoted context omitted.

So basically Scala and Haskell? I've tried Go but was turned off by the complexity of writing a sort function - an artifact of static typing. Seems to me you'll always end up with something like generics which becomes complicated quickly?

I mean every language has a baked in sort function, so maybe that is a bad place to start :) Java collection signatures are not super complex but they have fundamental bugs fixed in the slightly more complex scala collections type signatures.

No I mean using the sort framework of Go. It takes several steps to set up a comparator function.

compared to list.sort(function(a,b){return comparisonResult}) that was very demotivating to me.

Re: Have Static Languages Won?

#77

Earlier quoted context omitted.

> JavaScript, PHP, Python, and Ruby are all in the top 5 spots on GitHub. All of which are established languages created in the 90's. It takes time for languages which are rapidly gaining mindshare to gain marketshare on GitHub.

> It takes time for languages which are rapidly gaining mindshare Honestly curious: which new languages are those?

I would say go and rust.

Re: Have Static Languages Won?

#78
post #21

Earlier quoted context omitted.

Anecdotally, on my year around 75% of students were there just because CS was supposed to bring money. They've started CS studies while not knowing how to program, knowing nothing about operating systems or caring. For them it was a 9-17 future job, nothing more.

First time I've ever heard a 9-5 job called a "9-17" job. Decided to Google it to see how common it was, and all the results are for the Bible verse Job 9:17 - > He would crush me with a storm and multiply my wounds for no reason. Seems appropriate for some "9-17" jobs.

17 is 5pm expressed in 24-hour time. :)

I like your interpretation as well, though.

Re: Have Static Languages Won?

#79
post #50

I hoped to have debunked, though not thoroughly, the myth that dynamic languages cannot scale to power large projects in my recent talk at Pycon CA. Just take a look at Openstack. It's powering clouds in CERN and Yahoo! Japan where it provides the infrastructure for delivering earthquake notifications to the public -- a valuable and critical service! And it's written largely in Python. It does rely on systems written…

OpenStack is the perfect example of how Python doesn't work well for larger projects. It's only because of an absolutely massive investment in testing that OpenStack works at all. I think it's more accurate to say that OpenStack works despite an unsuitable choice for implementation language.

the level of testing OpenStack does is the only way you can really test something like OpenStack no matter what the language.

Re: Have Static Languages Won?

#80
post #74

Earlier quoted context omitted.

Oh, right, I never realised that structural typing was static duck typing! Scala has it too, even if it's frowned on. Thanks for enabling me to make the connection!

Doesn't Go have the same thing?

I know next to nothing about Go, but I think you're referring to the fact that it has some sort of implicit inheritance resolution - if there is a Reader interface with a read method, and a type A that has a read method with the same signature, then A will be considered to be a subtype of Reader, whether you marked it as such (or whether you want it or not).

I see what you mean, this feels like a static version of duck typing. I'm not sure how I feel about loosing control over what supertypes my type extends, though - well, I lie. I don't like it. But I haven't given this enough thought for a constructive, well argumented discussion on the topic.

Post reply on HN