Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


Comment: Python is good but insufficient (Score 2) 415

by MetalOne (#47410671) Attached to: Python Bumps Off Java As Top Learning Language
Python has a number of nice features for the beginner programmer.
1) It is easy to learn
2) It has a REPL.
3) It has a large standard library, and most things things in the library are easy to use.
The library is not super abstracted and overly engineered like so many other tools.
4) It has a large universe of third party libraries that are useful and easy to install.
There are bindings to many C/C++ and Fortran libraries. Things like numpy, scipy, and matplotlib.
5) The language and its libraries work on Windows/Linux/Mac.
6) The language is good at allowing one to focus on the problem at hand without worrying so much about minutiae of the language.
7) It supports imperative and object-oriented programming and has some support for functional style programming with map, filter, lambdas and list comprehensions. The functional programming support is on the weak side, but at least there is something.

The language also has some down sides.
1) Python hides low level details from the programmer. As a student learning about programming, ones needs to understand this stuff. Thus 'C' should also be taught.
2) It has been my experience that dynamic typing is useful for relativity small single person tasks. Somewhere around 30,000 lines, one begins to wish for static type checking. However, one needs a good type system. The rise of generics has greatly improved modern statically typed languages.

After reading "Learn You a Haskell For Great Good", I think all programmers should learn Haskell.
It is not really just about learning Haskell either, but understanding the power of function abstraction, combinators, referential integrity, organizing data, and managing side effects.

Comment: Re:You can't copyright facts (Score 1) 303

It has been my understanding that an API cannot be copyrighted because the API is a fact. We would not have Linux otherwise. I believe copyrighting APIs would be an even worse nightmare than patents.
Say you want a stack.

Well, you'll never be able to write one without paying up to somebody.

Comment: optimal stopping theory (Score 1) 188

by MetalOne (#46042465) Attached to: Python Scripting and Analyzing Your Way To Love
A friend of mine once told me about optimal stopping theory.
He said if you could go on 100 dates,
and had choose to one to marry,
and you had to make the decision after a date,
and without being able to choose a previous date,
when should you stop.
The answer for some sample size 'n' is to automatically discard the first n/e dates.
Then choose the first date that is better than the best one already seen.
100/e is 37.

Comment: Re:Similar language, describing different things (Score 1) 240

by MetalOne (#46030983) Attached to: Code Is Not Literature
Without any added explanation it is of course gibberish. However, I think with an additional fairly brief explanation of symbols in the example, it would be quite clear to somebody with decent mathematical/logical thinking skills. And if the person doesn't poses those skills, then there is really no point in trying. It is certainly a nice addition to a description in English as it removes any ambiguity. Conciseness is often nice, because it doesn't allow any room for extraneous stuff. Of course, sometimes very concise code can still be difficult to understand.

Comment: Re:Nothing is obvious ... (Score 1) 204

by MetalOne (#45946905) Attached to: Supreme Court Refuses To Hear Newegg Patent Case
I am being to think that this right here is the reason to abolish the patent system entirely. Clearly we don't want things that are obvious being patented. However, we have no formal test for what is obvious. Since we can't test for obviousness, both the patent office and the courts have decided to ignore obviousness, thus destroying any possible usefulness of a patent system. Now if there could somehow be a useful test for obviousness that could be applied, then we could possibly reconsider the merits of having a patent system. I don't see a formal test for obviousness ever coming to fruition though.

Comment: Re:All or nothing approach is silly (Score 1) 131

by MetalOne (#45466707) Attached to: 1.2% of Apps On Google Play Are Repackaged To Deliver Ads, Collect Info
I wish it would go a step further and not give any apps access to the contacts. It seems to me that an app that needs a contact should make a request to the operating system. The operating system could present the contacts to the user to select one, and then the operating system could return an opaque handle representing the contact to the app. The opaque handle could then be used to send email or what not.

After Goliath's defeat, giants ceased to command respect. - Freeman Dyson