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

I don't want OOP and static typing

Name: Anonymous 2011-04-02 19:08

What should I do?

Name: Anonymous 2011-04-02 19:10

Stop making stupid threads.

Name: Anonymous 2011-04-02 19:11

>>2
define "stupid"

Name: Anonymous 2011-04-02 19:15

Stupid, in the context of this forum, is someone that says people need to read SICP on a regular basis.

Name: Anonymous 2011-04-02 19:19


use perl;

Name: Anonymous 2011-04-02 19:20

HAVE YOU READ YOUR SICP TODAY?

Name: Anonymous 2011-04-02 19:21

>>5
Perl has OOP and static typing. Perl has everything.

>>4
what's wrong with SICP?

Name: Anonymous 2011-04-02 19:24

>>7
SICP explains relatively complicated things in an accessibly manner.

Name: Anonymous 2011-04-02 19:32

accessibly manner

Name: Anonymous 2011-04-02 19:32

>>7
Perl has operators.

Name: Anonymous 2011-04-02 19:36

>>7

Perl has .+

Name: Anonymous 2011-04-02 19:48

>>9
accessible?

Name: Anonymous 2011-04-02 23:51

Static typing is superior to dynamic typing.

Static typing means less runtime errors as all identifier names and type resolutions are evaluated at compile time. Static typing is fast, as it doesn't have to do string compares and associative hash map lookups at runtime.

Dynamic typing is for toy languages and shell scripting replacement languages.

I concur that OOP teaches bad habits, the way it is taught at most universities and colleges. That's not to say OOP isn't completely invalid, but it's certainly not the great panacea some people like to think it is.

Use C or C++, and avoid overuse of OOP techniques like class polymorphism.

Name: Anonymous 2011-04-03 0:04

>>13
o/1o

Name: Anonymous 2011-04-03 0:05

>>14
NaN.

Name: Anonymous 2011-04-03 8:54

>>15
o/(1o)
o/o
1

Name: Anonymous 2011-04-03 12:06

>>13
Static typing means less runtime errors
It catches only naive errors, like mistyped identifier names. Unit tests will catch them as well.

all identifier names and type resolutions are evaluated at compile time.
Inconvenient as it prevents late-binding and interactive development.

Static typing is fast, as it doesn't have to do string compares and associative hash map lookups at runtime.
Premature optimisation is the root of all evil. Besides, Common Lisp is fast enough, even if you use only lists. And Lists can handle anything with easy. Why defining struct Verbose {int crap; float more crap;}; when you can just (list 123 0.5)???

Static typing is superior to dynamic typing.
Dynamic typing is for toy languages and shell scripting replacement languages.
No. It isn't.

Name: Anonymous 2011-04-03 12:13

>>17
like mistyped identifier names.
Decent dynamic typed programming languages (Lisps) catch that at compile time too.

Name: Anonymous 2011-04-03 12:15

>>18
Only if you provide them with type signatures. Like these `defvar` and `defun`, you are forced to use, instead of setf.

Name: Anonymous 2011-04-03 12:16

Pythonn

Name: Anonymous 2011-04-03 12:18

>>17
struct Verbose {int crap; float more crap;};
I think you meant float more_crap!

Name: Anonymous 2011-04-03 12:21

>>19
> (set! x 3)
set!: cannot set undefined variable: x


1 ]=> (set! x 3)
;Unbound variable: x

Name: Anonymous 2011-04-03 12:22

>>17
(list 123 0.5)
That's too verbose, write '(123 0.5) instead.

Name: Anonymous 2011-04-03 12:30

>>20
Python is 100% OOP. You can't do a fuck without classes in Python.

Name: Anonymous 2011-04-03 12:31

>>23
Thanks. But I write [123 0.5]

Name: Anonymous 2011-04-03 12:33

>>22
In Scheme terms, "defined" means that it has statically typed signature. So, Scheme is a statically typed language.

Name: Anonymous 2011-04-03 12:33

>>25
Thanks, But I write (cons (quote 123) (cons (quote 0.5) (quote ())))

Name: Anonymous 2011-04-03 12:34

>>26
> (define x 2)
(set! x "hax my anus")
x
"hax my anus"


1 ]=> (define x 2)
;Value: x
1 ]=> (set! x "hax my anus")
;Value: 2
1 ]=> x
;Value 11: "hax my anus"

Name: Anonymous 2011-04-03 12:38

>>28
So?

Name: Anonymous 2011-04-03 12:40

>>29
> (number? 2)
#t

> (number? "hax my anus")
#f

Name: Anonymous 2011-04-03 12:42

>>30
So?

Name: Anonymous 2011-04-03 12:43

>>31
> (= 2 "hax my anus")
=: expects type <number> as 2nd argument, given: "hax my anus"; other arguments were: 2

Name: Anonymous 2011-04-03 20:15

>>31
THEY HAVE DIFFERENT TYPES, MORON.

Name: Anonymous 2011-04-03 20:49

>>33
YHBT

Name: Anonymous 2011-04-04 0:56

>>33
Dynamic typing means that everything have the same type. So, Scheme is statically typed. BASH, on the other hand, is dynamically typed, because of everything is a text design.

See en.wikipedia.org/wiki/Minimalism

Name: Anonymous 2011-04-04 1:08

>>35
BASH, on the other hand, is dynamically typed, because of everything is a text design.
No, everything is a text, so it's the same type. So, BASH is dynamically typed. Scheme, on the other hand, is dynamically typed, and has two interchangeable types: atoms, lists.

See en.wikipedia.org/wiki/Minimalism

Name: Anonymous 2011-04-04 1:09

>>36
s/BASH is dynamically/BASH is statically/
I guess I'll go back to /bed/, now.

Name: Anonymous 2011-04-04 4:28

>>35
weak trolling

Name: Anonymous 2011-04-04 5:52

>>38
Scheme is no better than Haskell. Deal with it.

Name: Anonymous 2011-04-04 6:46

>>39
Still weak. Try again.

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