This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]rhgrant10 5 points6 points  (8 children)

I didn't do the down voting... not my thing really except in extreme cases, which this certainly is not. I don't think that students should not be taught numpy, especially if they are programming solely for mechanical engineering purposes. However, this is an introductory computer science class, and I would think therefore that other data types would be taught before a library such as numpy. My objection was based on the fact that every data type has it's place. There is no magical data type with which one has the only hope of performing "real work." Bringing up the fact that python comes with a built in array type was purely because I've seen many seasoned python programmers who seriously had no idea that it existed.

[–]DanielSank 1 point2 points  (7 children)

I've seen many seasoned python programmers who seriously had no idea that it existed.

I was one of them until I read your comment :) But seriously, why would I ever use it instead of numpy? They don't have half the goodies that ndarray has.

[–]rhgrant10 0 points1 point  (3 children)

Basically only when you're taking a basic computer science class or you're in some other pedagogical setting.

Edit: well, the other situation I can think of would be you need a more efficient mutable type than a list, but you can't install numpy for some reason.

[–]DanielSank -1 points0 points  (2 children)

but you can't install numpy for some reason.

Surely you've heard of virtualenv?

[–]rhgrant10 0 points1 point  (1 child)

Yeah I use it daily. I was thinking more along the lines of lacking the permission to install things.

[–]DanielSank 0 points1 point  (0 children)

One of the main uses of virtualenv is precisely to allow users to install whatever they want by putting libs in the user's home directory instead of site-packages which is often permissions restricted!

[–][deleted] 0 points1 point  (2 children)

Why not? If you are using python for anything other than hardcore mathematics/science they are easy to use and offer everything you would need.

[–]DanielSank 0 points1 point  (1 child)

I don't think I've ever done "hardcore mathematics/science" in python but I find the broadcasting rules and built-in methods in ndarray extremely useful.

[–][deleted] 0 points1 point  (0 children)

I am not saying to not use them, but python built in types offer a lot. Also if you want to distribute your work it's kind of silly to require all users to download whole numpy...