Become a fan of Slashdot on Facebook


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Python is good but insufficient (Score 2) 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

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

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

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

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

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.

Slashdot Top Deals

COMPASS [for the CDC-6000 series] is the sort of assembler one expects from a corporation whose president codes in octal. -- J.N. Gray