Earlier quoted context omitted.
> Python falls through because it doesn't have real lambda. No it doesn't. Been using it for about 10 years can't remember being bothered by lacks of "real lambdas" > There are minor details wrong with JavaScript. Normally you don't encounter them in daily use. If there would be minor detail we wouldn't have had the "Good Parts" book. And trying to deals with variables in Javascript is pain, var vs no var, what does…
I assume you're referring to the "Wat" talk by Gary Bernhardt, here. My question is why does it matter? It's funny and notable behavior, but why is this a problem that a real programmer will face dealing with a real problem? (For reference, [] + [] = "", [] + {} = Object, {} + [] = 0, {} + {} = NaN)
The March Towards Go
151–160 of 217 posts
Re: The March Towards Go
#152Earlier quoted context omitted.
> Python falls through because it doesn't have real lambda. No it doesn't. Been using it for about 10 years can't remember being bothered by lacks of "real lambdas" > There are minor details wrong with JavaScript. Normally you don't encounter them in daily use. If there would be minor detail we wouldn't have had the "Good Parts" book. And trying to deals with variables in Javascript is pain, var vs no var, what does…
I assume you're referring to the "Wat" talk by Gary Bernhardt, here. My question is why does it matter? It's funny and notable behavior, but why is this a problem that a real programmer will face dealing with a real problem? (For reference, [] + [] = "", [] + {} = Object, {} + [] = 0, {} + {} = NaN)
Re: The March Towards Go
#153Earlier quoted context omitted.
This blog post misses a very good Python replacement, namely Nimrod ( http://nimrod-lang.org ).
With the exception of speed, why does Python need a replacement? I am using Python daily, and pretty much all performance problems (with my work) can be solved at the database or caching level. I get the impression that Numpy can produce reasonable performance for numeric problems. In my experience developer productivity is of far more importance to business than language performance (obviously that depends on your d…
You seem to be assuming that Nimrod would necessarily be less productive to work with than Python?
Re: The March Towards Go
#154Earlier quoted context omitted.
If you normally only do a couple lines of jQuery per day then I agree that you don't encounter the warts very often. If however you want to do even some OOP you cannot miss the world of hurt that is coming your way. Then there's the horrible weak type system which makes maintenance of anything needlessly complex, not to mention the global variables, unused reserved words, anything that has to with numbers etc.
TypeScript solves JavaScript's type problems pretty well, it's worth a look.
Re: The March Towards Go
#155Earlier quoted context omitted.
Because thanks to our experience with strong typed languages with native compilers and type inference, we know better. Many of us have had the fortune to work with C, C++, Ada, .NET, Java, Delphi, Modula and Oberon derived languages, ML language family. So we already know what modern strong typed languages, with native compiler toolchains, are capable of in terms of language features. And going Go feels a bit backwar…
My professional history is with C, C++, C#, Fortran, even years of Object Pascal in Delphi back in the day. In no universe does Go feel like it's a "bit backwards", and I think you're trying to speak for a group without their input. Indeed, an implementation I regularly use now is high performance algorithms in C++ (the Intel vectorizing compiler is superb) to function libraries, Go/cgo as the extremely efficient, ve…
The ones addressed by Rob Pike on his post about C++ developers.
Now I spend more time with Rust and D instead.
Re: The March Towards Go
#156Earlier quoted context omitted.
> Python falls through because it doesn't have real lambda. No it doesn't. Been using it for about 10 years can't remember being bothered by lacks of "real lambdas" > There are minor details wrong with JavaScript. Normally you don't encounter them in daily use. If there would be minor detail we wouldn't have had the "Good Parts" book. And trying to deals with variables in Javascript is pain, var vs no var, what does…
I assume you're referring to the "Wat" talk by Gary Bernhardt, here. My question is why does it matter? It's funny and notable behavior, but why is this a problem that a real programmer will face dealing with a real problem? (For reference, [] + [] = "", [] + {} = Object, {} + [] = 0, {} + {} = NaN)
About Python lambdas, I miss them a lot. But one can not have everything...
Re: The March Towards Go
#157Earlier quoted context omitted.
I assume you're referring to the "Wat" talk by Gary Bernhardt, here. My question is why does it matter? It's funny and notable behavior, but why is this a problem that a real programmer will face dealing with a real problem? (For reference, [] + [] = "", [] + {} = Object, {} + [] = 0, {} + {} = NaN)
Because it hides errors instead of helping the developer find them
(Not snarky - I don't know JS)
Re: The March Towards Go
#158I'll be gladly left behind.
Re: The March Towards Go
#159Earlier quoted context omitted.
Incidentally, your link includes a great example of Go's error handling - which is inevitably what actually happens in languages without exceptions: errors are silenced and the program marches on, each step making less sense than the previous. It's a good talking point that you can always check error values - but it never really happens, in part because library designers try to avoid putting the burden on themselves…
>It seems that having exceptions in the language is a great predictor for libraries/built-ins barfing upon bad input vs silently producing garbage Maybe so, but having exceptions in a language is also a good predictor for the misuse of exceptions for purposes other than error handling. For instance, Python has the StopIteration exception to signal the end of an iteration. Exceptions force API designers to decide whet…
Is that really a problem? I once hated such uses, but could never point why.
Re: The March Towards Go
#160Earlier quoted context omitted.
Because it hides errors instead of helping the developer find them
Are JS developers often adding empty arrays and empty objects together? This seems more like a corner case than a real issue. (Not snarky - I don't know JS)
Those values are usually in variables that and have been set maybe from a backend reply or from the UI at some point.
That is just one instance of the sloppy mess of weak typing. Instead of writing a long list of it I just used an example to illustrate.