Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror

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

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 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.
push,
pop,
empty.

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

Comment optimal stopping theory (Score 1) 188 188

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.
http://en.wikipedia.org/wiki/S...

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

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 204

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 131

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.

The most difficult thing in the world is to know how to do a thing and to watch someone else doing it wrong, without commenting. -- T.H. White

Working...