in reply to Re^4: Static typing is mostly a waste of time
in thread Static typing is mostly a waste of time

C. It's statically and weakly typed. The weak part comes from the fact that you can convert from one type to another with no problem. If you only have one type, it cannot be converted to another type, and is thus a strongly typed system. Personally, I think the static/dynamic difference is a bunch of crap. Every language has a set of static types. The big problem is that people think that strings and numbers are necessarily different types when languages like Perl obviously demonstrate that they're not.
  • Comment on Re^5: Static typing is mostly a waste of time

Replies are listed 'Best First'.
Re^6: Static typing is mostly a waste of time
by Anonymous Monk on Apr 13, 2005 at 15:44 UTC
    The weak part comes from the fact that you can convert from one type to another with no problem.
    But I thought you were claiming that "Assignment is also polymorphic". Why doesn't that apply for C as well?
      Interesting argument. The difference is that I cannot reconsitute the original value to any degree. If I convert from a double to an int and back again, I still have the same value (albeit with rounding errors). Same thing between chars and longs, etc. With Perl, if I apply scalar context to an array, I cannot retrieve the original array in any way.
        #include<stdio.h> main() { char scalar; void *tmp; char *arr = "abcde"; scalar = arr; //convert array to scalar tmp = scalar; arr = tmp; //convert scalar back to array to see if we can //retrieve the original array in any way printf("%s\n",arr); //Whoops, Segfault. Can't reconsitute. }
        I love Perl. You love Perl. Millions of people love and enjoy Perl. It can be used sucessfully for a myriad of different tasks. People can make money using Perl. Perl takes what is good from other languages, and omits the bad. Perl is pragmatic. Perl is popular. Perl is good. But can we admit that any attempt at describing Perl's type system as anything other than an ad-hoc mess is bound to result in inconsistancy and frustration?