Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

The illusion of static typing

Name: Anonymous 2009-09-08 9:28

You know, /prog/, I can't tell you how much disdain I have for static languages. Don't get me wrong, I don't hate them, because they really conjure very little emotion in me at all... I just don't see how they're ever useful in any possible way, and I'm constantly baffled by people who act like they're the second coming. It's like if you painted spoiler tags on the back of your car so it will go faster. In fact, not only is it pointless, it's counterproductive, because it takes away from the real power that's available to you if you know where to look.

I was talking to a Haskell programmer yesterday. (You know the type: Thinks way too much about everything, always has this lost look in his eyes, talks strictly in terms of category theory whenever he realizes he's losing an argument... Never written a macro in his life. Basically, he's going for a gold medal in the virgin olympics.) And, you know, it really struck me how desperately he was clinging to the fairy tale of the necessity of type declarations. I tried to explain to him how he was completely going against the spirit of Knuth's Law (premature optimization) but he was totally blind to it, almost like a Holocaust denier. He just didn't understand that all static languages are fundamentally prohibited from even being mentioned in the same breath as a real high-level language.

And then when I tried to coerce him with concepts like interactive development, he said (get this) "Haskell is all about interactive development." He actually said that. No joke. At first I almost laughed, and then I realized how sad it is that every time he changes a function definition, he has to sit and wait a few minutes for his compiler to make sense of this toy language's devilish semantics. And then I almost cried, /prog/, I almost wept for him, right there. I could no longer bear to tell him that Haskell is just another static language. If I'd said another word his tiny mind might have broken, and rather than make up stupid words from category theory to pad his academic resume, he might have jumped off a bridge. He must have known in his heart that Haskell was a toy, and I was systematically destroying the illusion. If only academics weren't so sensitive...

But I digress. I think the real problem is that the entire current crop of programmers has mostly been ruined by static typing. It forces them into boxes and poisons their tiny minds, when they'd have the whole world to see if only they abandoned these artificial constraints. Even scripting languages that tout themselves as "dynamic" are really backdoor OO type systems with a nice friendly clown face painted over the devouring static jaws. At times I think there's no hope for computer science.

Then again, there was a tiny glimmer yesterday. As I continued on my afternoon stroll, an acquaintance approached me (a non-programmer) and informed me he was interested in Lisp. I smiled and showed him how to install Emacs, SLIME, and naturally SBCL. He's already well on his way to joining the ranks of good programmers. I'm thankful I had the opportunity to save one person from total disaster, even if another is probably lost forever. So rejoice with me, /prog/, and let's nest some parens.

Name: Anonymous 2009-09-08 9:33

Hell, make him learn Smalltalk/ObjC for the heck of it.

(I use PLT, boo hoo)

Name: Anonymous 2009-09-08 9:40

I can't tell you how much disdain I have for static languages
they really conjure very little emotion in me at all...

Uhh... mixed feelings much?

Name: Anonymous 2009-09-08 9:58

>>2
Hygienic macros are a form of static typing.

Name: Anonymous 2009-09-08 10:02

necessity of type declarations. ... against the spirit of Knuth's Law (premature optimization)
*sigh*

Name: Anonymous 2009-09-08 10:05

>>4

DAMN UND BLAST

Name: Anonymous 2009-09-08 10:07

C

Name: Anonymous 2009-09-08 10:08

>>1
I'm glad I learned CL myself, and I do use Emacs+SLIME+SBCL myself, but I don't think static languages are all that useless. They're fine if you have a complete idea of every little detail and type of your program, but most humans can't think that far into the future.
Maybe E.N. said it better here: http://groups.google.com/group/comp.lang.lisp/msg/917737b7cc8510e3
A lot of the times we don't have a complete idea of the full solution to the problem we want to solve, in which case you have to do a lot of guesswork, and maybe guess wrong and then correct yourself.
Implementing something which has a very clear spec is also something which is usually fine to do in static languages.
The major reasons I can think of why you would use static languages are:
1)Correctness
2)Speed
but these come at a great cost of flexibility and time.

Name: Anonymous 2009-09-08 10:17

>>8
Agreed, once you know every detail of your program (which the compiler should do for you) you can translate it to a static language (which the compiler should do for you) that can immediately be run in your live image (so, the only useful static language is assembler).

Name: Anonymous 2009-09-08 10:28

The illusion of being cummed inside.

Name: Anonymous 2009-09-08 10:38

>>4
Thankfully they are not required.

Name: Anonymous 2009-09-08 10:44

Static typing makes it easier for the compiler to make certain assumptions about the data.

Name: Anonymous 2009-09-08 11:10

>>12
Protip: compilers work for us, not the other way around

Name: Anonymous 2009-09-08 11:15

>>13
Some coders work for the computer, see: C programmers.

This isn't necessarily a bad thing as given a lot of time and effort, the project will work reasonably well, maybe with some minor bugs and be very fast, it's just that not all programmers have that much time on their hands, unless they're payed to such a task.

Name: Anonymous 2009-09-08 11:19

>>12
>>13
Samefag, but I loled at his joke.

Name: Anonymous 2009-09-08 11:49

>>12
More importantly, static typing makes it easier for ME to make certain assumptions about the data. Additionally, the compiler can verify these assumptions for me.

Name: Anonymous 2009-09-08 12:16

>>16
Static typing is not a substitute for contracts.

Name: Anonymous 2009-09-08 12:27

>>17
It's not a substitute, it is a part of it. And any part that the compiler can verify is a Good Thing (tm) in my book.

Name: Anonymous 2009-09-08 12:32

You know, one of the reasons why SBCL is so fast is because it uses type inference to turn those dinamically typed functions into statically typed ones.

Name: Anonymous 2009-09-08 12:37

>>18
It's not a substitute, it is a part of it.
Not really.

Name: Anonymous 2009-09-08 12:52

>>19
Of course, or you could use type declarations when you need more speed. I think the point OP is trying to make is that static typing by default can be an unneeded burden on the programmer, and is only needed in latter stages of development when the design is already pretty clear and you're just hunting for speed.

Name: Anonymous 2009-09-08 13:06

OP is full of shit!

Name: Anonymous 2009-09-08 13:07

>>21
Static typing isn't much of a burden once you have type inference and a decent type system like Haskell's. It really does more often help than get in the way, actually. On the other hand, I do think Haskell's compiling times are in fact a hinderance to interactive development. But, on the original hand, a smalltalk-like environment, where you only compile one method/function at a time (instead of the whole module) and where the compiler could be doing the type inference/checking incrementally as you edit the damn function, then compiling times wouldn't matter at all.

Name: Anonymous 2009-09-08 14:19

But, on the original hand, a smalltalk-like environment, where you only compile one method/function at a time (instead of the whole module) and where the compiler could be doing the type inference/checking incrementally as you edit the damn function, then compiling times wouldn't matter at all.
something like factor?

Name: Anonymous 2009-09-08 15:04

>>14
            o                                           
                 O       /`-.__                         
                        /  \.'^|                        
           o           T    l  *                        
                      _|-..-|_                          
               O    (^ '----' `)     MY COMPUTER CONJURES THE
                     `\-....-/^      SPIRITS OF ME WITH C!
           O       o  ) "/ " (      /                   
                     _( (-)  )_
                 O  /\ )    (  /\
                   /  \(    ) |  \
               o  o    \)  ( /    \
                 /     |(  )|      )
                (    o \ \( /     )
                 ( O    \_ /     )
                  ( ,   (_)     )
                   (  O        )
                    (o___     )
              _.-''^^__O_^^''-._ ________
             /  -''^^    ^^''-  \       /|
            .`.  `'''----'''^  .`. ____/ |
           /   `'--..____..--'^   \    | |
          /                        \   | |
          |                        |   | |
          |                        |   | |
          \                        /   |@|
           \                      /    | /
            `.                  .`_____|/
              `.              .'
                `-..______..-'



?

Name: Anonymous 2009-09-08 15:09

>>24
What, Factor has type inference now?

Name: Anonymous 2009-09-08 15:23

>>26
Factor is my favorite font.

Name: Anonymous 2009-09-08 15:49

>>26
it infers stack effects.

Name: Anonymous 2009-09-08 15:52

where is this from? Is this original?

Name: Anonymous 2009-09-08 15:57

>>29
Seems so.

Name: Anonymous 2009-09-08 16:14

>>12
This kind of reasoning is what makes Haskell one of the worst examples of the tradeoff between complexity in the compiler and complexity that the programmer has to deal with.

Name: im 12 and what is this 2009-09-08 16:23

whats a statically typed

Name: Anonymous 2009-09-08 16:27

>>32
Go write a C compiler or something, kid.

Name: Anonymous 2009-09-08 17:43

>>31
Lispmonglers love saying this but I'm pretty sure it doesn't actually mean anything.

Name: Anonymous 2009-09-08 17:44

>>34
Learn Scheme, Learn CL, Learn Haskell. Make your own informed choices.

Name: Anonymous 2009-09-08 18:08

>>35
Of course, the properly informed chooser will always arrive at "Common Lisp is the language for me!" but >>34-chan doesn't have to know that.

Name: Anonymous 2009-09-08 18:24

>>34
Look at me I'm a fucking stupid head

Name: Anonymous 2009-09-08 20:46

>>21
That's the sort of thing you're supposed to define during the design phase, not the coding phase. Coding is fucking easy when the specs are clear.

Name: Anonymous 2009-09-08 20:49

>>38
If you have a crystal clear spec and your problems have no hint of uncertainty in them, then by all means use a static language, you likely won't have any benefits.

Excuse us, the less-than-godlevel programmers that use explorative programming.

Name: Anonymous 2009-09-08 20:50

s/won't have any benefits/won't have any benefits from a language with a dynamic type system/

Name: Anonymous 2009-09-09 16:26

>>17,20
And for your next trick, you're gonna show us all a dynamic language with terse syntax for basic contracts.

Name: Anonymous 2009-09-09 20:15

>>41
Yep: ;;; This should be greater than zero

Name: Anonymous 2009-09-09 20:31

As I continued on my afternoon stroll

stroll

troll

Name: Anonymous 2009-09-09 20:55

>>41
( ゚ ヮ゚) COBOL!

Name: Anonymous 2009-09-23 10:47

:3

Name: Anonymous 2009-09-23 12:44

Lisp
good programmers

Just the laugh I needed first thing in the morning. Carry on.

Name: Anonymous 2009-09-23 15:33

>>15
>>12 and >>13 are not samefag, but >>13 and >>14 are.

>>17 lol Ada

Anywho, let's hear it for lua.

Name: TRUE TRUTH EXPERT !tQq1sLlmuk 2009-09-23 15:34

hELLO I AM >>46'S GIRLFRIEND AND TODAY HE WOKE ME UP SUDDENLY WHEN HE BURSTED INTO LAUGHS READING A STUPID INTERNET JOKE. i WAS FUCKING ANNOYED BECAUSE HE DIDN'T FUCK ME WELL, SO I WAS HOPING FOR A GOOD SLEEP. aT LEAST THE JOKE HAD TO BE GOOD, BUT THEN I FOUND OUT IT MAKES FUN OF LISP. hE NEVER SAW ME AGAIN.

KIDS, IF YOU DON'T WANT TO END UP A FAILURE LIKE >>46 DO DRUGS AND LEARN LISP.

Name: Anonymous 2009-09-23 17:46

>>47
>>12,14 may be samefag, but as >>13 I can insure you I am not either of them.

Name: Anonymous 2009-09-23 17:47

>>49
insure

Name: Anonymous 2009-09-23 18:11

>>48

I'm sorry but my g/f doesn't like morning sex, but she woke me up last night at 2am.

She also knows how to type unlike you...
FV

Name: Anonymous 2009-09-23 21:40

>>51
☣ Please try to ignore troll posts ☣

Name: Anonymous 2009-09-24 1:31

>>2-
PleEaseE Trey TO iGnOERE TroELL POwSTs

Name: Anonymous 2009-09-24 9:08

>>50
Welcome to /prog/. Please leave.

Name: Anonymous 2009-09-24 9:21

>>54
Did you mean: /lounge/?

Name: Anonymous 2009-09-24 9:24

>>55
Do you want an /lounge/ meetup!

Name: Anonymous 2009-09-24 10:15

>>56
You mean we aren't having one already? Then where are all these VIP quality imbeciles coming from?

Name: Anonymous 2009-09-24 13:34

This thread is a repost from some comp.lang.lisp troll, you anuses:
http://groups.google.com/group/comp.lang.lisp/browse_thread/thread/bfd69ded63ceef14#

Name: Anonymous 2009-09-24 13:45

>>58
Most people here have fallen for /b/ trollan, are you seriously thinking that they won't fall for this?

Name: Anonymous 2009-09-24 13:55

>>58-59
Look at the date on the c.l.l post:
Wed, 23 Sep 2009
and >>1's post:
2009-09-08
I believe we can say this troll originated in here!

Name: Anonymous 2009-09-24 13:55

>>59 BZZZT wrong, its copypasted from us
: Wed, 23 Sep 2009 00:00:10 -0700 (PDT) - usenet
nonymous : 2009-09-08 09:28   - /prog/

Name: Creationist Patrick 2009-09-24 13:56

>>60
I think that you're an idiot, and that OP traveled in time. You can't disprove it thus you lose.

Name: The Doctor 2009-09-24 14:25

>>62
Your theory makes sense to me.

Name: loungesan 2009-09-24 14:29

The illusion of being cummed inside.

Name: Anonymous 2009-09-24 17:10

>>64
How can I achieve?

Name: Anonymous 2009-09-24 18:41

The pleasure of being cuddered inside

Name: Anonymous 2009-09-24 18:58

>>66

█████████████████████████████████████████████████████
██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██
██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██
██▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓██
██▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓██
██▓▓▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓██
██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓██
██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██
█████████████████████████████████████████████████████

Name: Anonymous 2009-09-25 4:53

>>67
Is that a piano keyboard in some kind of huge frame?

Name: Anonymous 2010-04-14 15:00

( °‿‿°)

Name: Anonymous 2012-11-05 19:05

I'm bringing back this hot piece of ass.

Name: Anonymous 2012-11-05 20:02

>>72
Thank you, god of hot asses.

Name: Anonymous 2012-11-05 21:37

>>67
this reminds me of the kind of shit i did in my old ZX81 spectrum....

Not much choices having line-numbered Basic and 1KB of RAM. That machine was so bad it was funny.

Don't change these.
Name: Email:
Entire Thread Thread List