299 reputation
211
bio website careers.stackoverflow.com/…
location Phoenix, AZ
age 36
visits member for 4 years, 3 months
seen Nov 21 at 7:45
Heart Throb

Nov
29
comment What are the drawbacks of Python?
@ErikReppen, performance isn't the only tradeoff. Having developed with Python, I know firsthand that development aids such as refactoring tools and code autocompletion are hampered because of the lack of static typing, and you also lack build-time type checking. Nobody's saying that dynamic typing is "hugely problematic." There are just language tradeoffs.
May
2
comment What are the drawbacks of Python?
False, Evan. Compilers don't just check for syntactic errors; they'll also detect if you're accessing a member that doesn't exist (for example, if you mistyped the name of a property) or if you're attempting operations on a value that are not supported by the type (like trying to call something that's not a function). There's a huge class of errors that will never become runtime errors in statically-typed languages because the code won't compile. Don't deny this fact and downvote; as I said, it's arguable whether the reduced safety is worth the added power; some prefer it that way.
Apr
6
comment Starting an HTML canvas game with no graphics skills
Also wanted to call out that opengameart.org, which is linked to in that tutorial, looks like a valuable resource.
Apr
6
comment Starting an HTML canvas game with no graphics skills
Thanks! If I choose to go with 2D, that tutorial will help me out a lot.
Apr
6
comment Starting an HTML canvas game with no graphics skills
But are 2D graphics easier than WebGL 3D graphics?
Mar
10
comment JavaScript client for talking with WCF server with WebSockets binding
The SignalR alternative to WCF looks exceptionally promising. Thanks for your answer.
Sep
28
comment Should I tell someone that their commit caused a regression?
Yes, but be careful about introducing new process. If you introduce too much process and call too many meetings, that slows the pace of development and poisons company-wide morale. I've seen too many shops overreact to one person's mistake. Only if the mistake is indicative of a broken process should new process be appropriate.
Jun
17
comment Jobs that use programming which aren't in the technology sector
"If you want to make about the same money... go run a fast food joint"? Rarely.
Dec
18
comment What are the drawbacks of Python?
Lack of static typing makes it easier for programmers to write code that has runtime errors. In C#, int foo = 4; Console.Write(foo.Length); doesn't compile, so the error "Int32 doesn't have a property Length" cannot accidentally make its way into published software. In python, unless you run optional secondary tools to look for errors like that, code that accesses non-existing members of objects can go undetected until it ends up causing runtime errors.
Nov
13
comment What parts of your coding standard contribute to quality code?
I disagree to some extent. I have to deal with too much code where the function names are vague, ambiguous, or misleading, and to figure out what the code actually does, you always have to go to that method anyway. Just looking at your second example, it's extremely unclear what the code does. Hopefully you'd use more concrete names in practice.
Nov
11
comment What's a nice explanation for pointers?
Agreed, @Benjol. I'm surprised that the syntax int* ip isn't more common. I finally started understanding pointers once I saw code that was formatted like this. Then I could read it as "ip is of type int pointer."
Nov
11
comment What are the drawbacks of Python?
@missingfaktor, @MAK, obviously duck typing was an intended feature. But most design decisions introduce objective benefits and drawbacks. The added code flexibility is a benefit of dynamic typing, and the additional classes of potential runtime errors is a drawback. The subjective part is whether the feature is worth it.
Sep
17
comment What syntax element do you hate most in a programming language you use frequently?
Good point. It's too bad * doesn't bind to the type.