The Best Mac OS X Software Tools
An anonymous reader writes "Mac advocate John C. Welch weighs in with his list of the top 20 Mac OS X products (except Welch manages to list 22). The collection of software tools ranges from the obvious, such as Boot Camp, to the obscure but perhaps more useful — little-known apps like Peter Borg's Lingon, for creating launchd configuration files. What's on your personal list of indispensable Mac productivity aids and programming tools? Also, do you think Welch gives too much air time to built-in OS X tools at the expense of third-party products such as NetworkLocation?"
So, instead, I'll point out that you misunderstood: they mean "typing" as in "writing text on a keyboard with fingers".
I should start using this in interviews to weed out people like you. You are talking about dynamic typing, not weak typing.
There is static/dynamic as well as weak/strong typing.
C and C++ are weak typed, you know those languages that a lot of OSs are written in. However they are static typed. Something like Ruby is strong and dynamically typed.
And dynamically typed languages are hardly dangerous; even the often mentioned "if you make a typo it doesn't catch it" reasoning isn't even correct most the time. Pleased to be explaining it to you:
In Ruby, for example, a variable is created when it's first assigned (and you don't specify its type), like this:
foo = "Hello"
if later you use foo, but miss-type it, it generates an error:
length = fooo.length
in this case, it will complain ("undefined local variable or method `fooo' for main:Object") and catch your typo.
In addition Ruby, as an example, is strongly typed you can't just add a string to an integer:
i = 0
foo = "1"
i = i + foo
In this case i is an integer and foo is a string, you can't treat foo like an integer without an error, because although it is dynamically typed it is strongly typed.
Typing in the program and worrying about syntax and language details is probably the easiest part of programming. Developing a good design and actually engineering an application is the hard part. If you can do that, you can surely program it in to a computer.