Earlier quoted context omitted.
> So it seems extremely shortsighted to choose a language because it's easy to learn and similar to what you already know! But the benefits are that many new people will be able to pick it up quickly and easily. Other people's code will be easy to understand and maintain. So it's good for everyone in the long run. Being able to express complicated ideas in simple ways is very valuable. If you think it's an advantage…
In other words, Go is yet another "lowest common denominator"language,a spiritual successor to Java. If you're not working with the lowest common denominator, Go is not for you.
Replacing Python
51–60 of 144 posts
Re: Replacing Python
#52I think the important insight from these articles is not which language the author ends up using (OCaml[1]), but rather which languages he's managed to rule out by now. In particular, I think it's good advice to avoid both ATS (however much I like dependent types) and Go, both for completely different reasons. You probably wouldn't want to use Rust in the short term either. [1]: http://roscidus.com/blog/blog/2013/09/…
Re: Replacing Python
#53Earlier quoted context omitted.
If I need to install the JVM just to try your software, then it's going to remain untried - however many design patterns you've managed to cram into it.
Why, because the JVM is too big?
Re: Replacing Python
#54I think the important insight from these articles is not which language the author ends up using (OCaml[1]), but rather which languages he's managed to rule out by now. In particular, I think it's good advice to avoid both ATS (however much I like dependent types) and Go, both for completely different reasons. You probably wouldn't want to use Rust in the short term either. [1]: http://roscidus.com/blog/blog/2013/09/…
Re: Replacing Python
#55Earlier quoted context omitted.
If I need to install the JVM just to try your software, then it's going to remain untried - however many design patterns you've managed to cram into it.
Why, because the JVM is too big?
Re: Replacing Python
#56Earlier quoted context omitted.
If I need to install the JVM just to try your software, then it's going to remain untried - however many design patterns you've managed to cram into it.
Why, because the JVM is too big?
Re: Replacing Python
#57Earlier quoted context omitted.
Wouldn't it be better to avoid calling the V() default constructor every time the function is called? You never know, it might have some long-winded side effect... template R defaulted(const V& val, const R& default_val) { const static V v0; return val == v0 ? default_val : val; }
There was a time (before C++11) when not even local static variable initialization was guaranteed to be thread safe. And there are a few other reasons why it is discouraged: http://google-styleguide.googlecode.com/svn/trunk/cppguide.x... So it's basically defensive programming, but I agree with you that it's probably too defensive nowadays.
Also, I don't think Google's style guide is the be-all-and-end-all of good C++ style. Virtually non of Boost's code would comply with it. "We do not use C++ exceptions" indeed!
Re: Replacing Python
#58Earlier quoted context omitted.
Why, because the JVM is too big?
Sounds more like trolling than participating to a rational discussion
Re: Replacing Python
#59The first Python example throws up a big red flag: manually parsing command line arguments instead of using argparse. Why reinvent the wheel when there is a standard library to handle it? Likewise, asserting that "For storing general records, Python provides a choice of classes and tuples" completely ignores one of Python's fastest and most powerful data types: dictionaries. Lastly, in get_value, the nest of ifs is u…
Over the last decade, there's probably been half a dozen "standard" command line parsing tools. getopt being the classic, then we had optparse and that got deprecated, then we got argparse. And there there's e.g. twisted.usage and the pretty cool docopt. In this case the author wants to parse "program [optional args]" and does that in a few lines of code. You seriously think that's a "big red flag" ? Do you also beli…
Re: Replacing Python
#60The first Python example throws up a big red flag: manually parsing command line arguments instead of using argparse. Why reinvent the wheel when there is a standard library to handle it? Likewise, asserting that "For storing general records, Python provides a choice of classes and tuples" completely ignores one of Python's fastest and most powerful data types: dictionaries. Lastly, in get_value, the nest of ifs is u…
Over the last decade, there's probably been half a dozen "standard" command line parsing tools. getopt being the classic, then we had optparse and that got deprecated, then we got argparse. And there there's e.g. twisted.usage and the pretty cool docopt. In this case the author wants to parse "program [optional args]" and does that in a few lines of code. You seriously think that's a "big red flag" ? Do you also beli…
I'm not the one who first mentioned that hand-written option parsing is a red flag. But it is one--especially in Python, which has nice things built in.