Microsoft went an interesting way with UAC and security in Vista. If you are running as a normal user, then if you attempt to do an operation that requires elevated priviliges, then you get prompted for an admin user id and password. Which is what you want.
Where it goes weird is if you are running as administrator then it prompts you with the allow or deny box. This is silly for power users, but for people who only used the older versions of windows and don't know much about the other user rights model in other OSes, then at least it does provide some information that some software is trying to do something significant.
I always thought the point of UAC was to push people to run as a normal user for their day to day operations. However, I don't believe Microsoft attempted to do even a little bit of education and the UAC prompt itself is not very informative.
However, I don't think Microsoft should be blasted for UAC: They tried something new and interesting to attempt to make their OS more secure.
As for the story, as long as the behavior when running as a normal user is not affected, then I don't really think it matters.
Fine. We have universal constructors, but we still need to know how to program those machines to do what we want.
Will we really know in 10 years how to properly pin point a race / group and be able to execute the biggest genocide ever?
Will we know how to use it to make a mighty nuke?
It is obviously important to think about those things but knowing how to use a hammer and a saw does not make you a home builder.
Yeah, that's funny. Also most of 'copies' are only on one line!
This is like saying you copied a painting because it has a similar blotch of color in the same spot!
I do not find that static method have any real uses in python.
In C++, their main use is to be able to write a non friend function that has access to member of the class. I guess it also allows nicer grouping.
In python, every function has access to member of the class because there are no access modifiers for members. Also, losts of classes are inside a module that has a name very close or similar to the class used. So, a function defined in the module is the same as a static method.
self is a small burden, but I put that in the language quirks bag(like parentheses in lisp).
I actually do use the this pointer in C++ and java if the editor has code completion but won't give me class members without an object.
Constructors would be nice, but it's just syntactic sugar, even in Java or C++ I prefer that function with a name that describe the constructor wraps the real constructor.
But, if you are looking for real ugliness in Python, just look at the properties. I really hope they will had prop_get and prop_set, prop_del keywords in the future.
Type is only relevant to variables not the object they point to. Obviously, an object cannot change type and so are variables in a language with static typing. But with dynamic typing it can.
So in your example, even though myVar holds a string or a Foo, you can only use methods from Object with it because that's it's type. Doing
((Foo)myvar).fooMethod() does not count because it can be seen as creating a temporary variable of type Foo.
In a dynamicaly typed language, you would only have to write myvar.fooMethod().
Microsoft went an interesting way with UAC and security in Vista. If you are running as a normal user, then if you attempt to do an operation that requires elevated priviliges, then you get prompted for an admin user id and password. Which is what you want.
Where it goes weird is if you are running as administrator then it prompts you with the allow or deny box. This is silly for power users, but for people who only used the older versions of windows and don't know much about the other user rights model in other OSes, then at least it does provide some information that some software is trying to do something significant.
I always thought the point of UAC was to push people to run as a normal user for their day to day operations. However, I don't believe Microsoft attempted to do even a little bit of education and the UAC prompt itself is not very informative.
However, I don't think Microsoft should be blasted for UAC: They tried something new and interesting to attempt to make their OS more secure.
As for the story, as long as the behavior when running as a normal user is not affected, then I don't really think it matters.
Fine. We have universal constructors, but we still need to know how to program those machines to do what we want. Will we really know in 10 years how to properly pin point a race / group and be able to execute the biggest genocide ever? Will we know how to use it to make a mighty nuke? It is obviously important to think about those things but knowing how to use a hammer and a saw does not make you a home builder.
What Taylor forgot to mention is that by default, the distro comes with *everything* you need.
With windows, you still have to buy compilers, word processor, etc.
Compute the price of that now!
Yeah, that's funny. Also most of 'copies' are only on one line! This is like saying you copied a painting because it has a similar blotch of color in the same spot!
I do not find that static method have any real uses in python. In C++, their main use is to be able to write a non friend function that has access to member of the class. I guess it also allows nicer grouping. In python, every function has access to member of the class because there are no access modifiers for members. Also, losts of classes are inside a module that has a name very close or similar to the class used. So, a function defined in the module is the same as a static method. self is a small burden, but I put that in the language quirks bag(like parentheses in lisp). I actually do use the this pointer in C++ and java if the editor has code completion but won't give me class members without an object. Constructors would be nice, but it's just syntactic sugar, even in Java or C++ I prefer that function with a name that describe the constructor wraps the real constructor. But, if you are looking for real ugliness in Python, just look at the properties. I really hope they will had prop_get and prop_set, prop_del keywords in the future.
Type is only relevant to variables not the object they point to. Obviously, an object cannot change type and so are variables in a language with static typing. But with dynamic typing it can.
So in your example, even though myVar holds a string or a Foo, you can only use methods from Object with it because that's it's type. Doing
((Foo)myvar).fooMethod()
does not count because it can be seen as creating a temporary variable of type Foo.
In a dynamicaly typed language, you would only have to write myvar.fooMethod().