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

Pages: 1-4041-

Smalltalk

Name: Anonymous 2011-02-01 8:16

Why good OOP programming languages like Smalltalk are forgotten, and shit ones like C++ and Java are everywhere?

Name: Anonymous 2011-02-01 8:28

>good
>OOP
/0

Name: Anonymous 2011-02-01 8:29

>>2
Smalltalk
Your opinion is invalid.

Name: Anonymous 2011-02-01 8:29

There's a similar opposition between the use of lists to represent things and the use of "objects" with named, typed fields. I went through a stage, after I'd been programming in Lisp for 2 or 3 years, where I thought the old way of using lists to represent everything was just a hack. If you needed to represent points, surely it was better to declare a proper structure with x and y fields than to use a list of two numbers. Lists could contain anything. They might even have varying numbers of elements.

I was wrong. Those are the advantages of using lists to represent points.

Over the years my appreciation for lists has increased. In exploratory programming, the fact that it's unclear what a list represents is an advantage, because you yourself are unclear about what type of program you're trying to write. The most important thing is not to constrain the evolution of your ideas. So the less you commit yourself in writing to what your data structures represent, the better.

Name: Anonymous 2011-02-01 8:31

It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. -- Alan Perlis

Name: Anonymous 2011-02-01 8:33

>>2
Lose the neckbeard, get a job.

Name: Anonymous 2011-02-01 8:51

>>2
your quote is invalid
your sage is invalid
and so is your argument

Name: Anonymous 2011-02-01 9:22

the fact that it's unclear what a list represents is an advantage, because you yourself are unclear about what type of program you're trying to write. The most important thing is not to constrain the evolution of your ideas.
That might be true but I think you're mistaking indecision and lack of formal structure with a range of freedom.  The actual creative benefit of starting from a Spartan environment is not always fully utilized because the programmer has already limited his own program by speculating about it.  On the other hand, if you can provide a more quantitative explanation of this advantage I'd be interested in hearing it.

Name: Anonymous 2011-02-01 9:27

>>8
And everybody else went and chased static. And they've been doing it like crazy. And they've, in my opinion, reached the theoretical bounds of what they can deliver, and it has FAILED. These static type systems, they're WRONG. Wrong in the sense that when you try to do something, and they say: No, category theory doesn't allow that, because it's not elegant... Hey man: who's wrong? The person who's trying to write the program, or the type system?

Name: Anonymous 2011-02-01 9:28

>>4
What about returning multiple (values) vs a list of values?

To represent points, I'd use (cons x y), you a list and someone a struct, in Lisp there's no ``right way to do it'', all the ways are right ways.

Name: Anonymous 2011-02-01 9:36

Monad is just one of typeclasses. And a typeclass is a some abstract entity, that allows concrete types to use some functions. And the nature of these functions depends on a typeclass of a concrete type, and how these functions implemented for a concrete type depends on the embodiment of typeclass of that type. For example, monad Maybe is a type, computations, embedded in a monad of which, return either result, embedded into one of its data constructors, or a second data data constructor - Nothing.

Name: Anonymous 2011-02-01 11:41

>>9
Hey man: who's wrong? The person who's trying to write the program, or the type system?

The man, of course. Errare humanum est, not so for the embodiment of eternal mathematical truth.

Name: Anonymous 2011-02-01 17:19

Smalltalk doesn't look like C.

Name: Anonymous 2011-02-01 17:30

C doesn't look like Smalltalk

Name: Expert Peyote User 2011-02-01 18:04

>>4
because you yourself are unclear about what type of program you're trying to write.
Speak for yourself, son.

Name: Anonymous 2011-02-01 18:13

Hey man: who's wrong? The person who's trying to write the program, or the type system?
You sound like that guy who complained that the single call to write doesn't close the file handles.  If you are doing things wrong then don't expect everything else to bend over to you.

Name: Anonymous 2011-02-01 18:22

I remeber running VisualWorks Smalltalk some 8 years ago. It was (is?) the fastest Smalltalk environment around, with bleeding edge dynanic OO language optimization tecniques, and it was still sort of slow. Slower than Java, even. Then I wondered, what if all applications in my computer were written in Smalltalk? Well, shit would be even slower. Then I thought of how slower machines were at the time Smalltalk-80 came around. It's all about performance, man. No one likes to see hourglasses when interacting with programs. Static languages have the performance advantage, and that's leverage (comercial) software makers can't ignore (even if they really want to).

Name: Anonymous 2011-02-01 18:41

>>16
Write doesnt close files because the underlaying operating system is crappy Unix like. We should develop a new OS in Lisp, the ultimate OS that would have persistent files, implemented as finger trees, that dont need to be closed.

Name: Anonymous 2011-02-01 18:43

>>18
And, people, dont forget, that most of evil in our world was spawned by the ugly Unix and its jewish inventors - Thomson and Richie with their C/C++. These bastards should be executed by gas chambers

Name: Anonymous 2011-02-01 18:51

Unix/Linux is the embodiment of pure refined evil.

Name: Anonymous 2011-02-01 18:55

look into Objective-C, if you want true OOP.

Name: Anonymous 2011-02-01 18:59

Look into CLOS, if you want true OOP.

Name: Anonymous 2011-02-01 19:03

look into Objective-C, if you want true CLOS

Name: Anonymous 2011-02-01 19:04

>>21
Oh please, ObjC is no more verbose than C++, even if its dynamic binding mechanism is basically the same as Smalltalk's. If you want a nice static language with an OOP layer with Smalltalk-style dynamic binding, OCaml is really the way to go. But seriously, if you're going to call some brand of OOP "true OOP", please realize that it is Common Lisp's brand (or Dylan's).

Name: >>24 2011-02-01 19:05

>>22
Oh shit, you beat me to it.

Name: >>24 2011-02-01 19:07

Also,
s/more/less/

Name: Anonymous 2011-02-01 19:07

>>24
>nice
>static
/0

Name: Anonymous 2011-02-01 19:08

>>27
Nice enough to have type inference, at least.

Name: Anonymous 2011-02-01 19:09

>>18
Even if that would be great, but highly improbable, we've developed a stockholm syndrome for Unix and C.

The only thing we can do is a (with-output-to-file ...)

Name: Anonymous 2011-02-01 19:09

>>28
>Nice
>type
/0

Name: Anonymous 2011-02-01 19:10

>>29
Dont you believe in revolution?

Name: Anonymous 2011-02-01 19:11

>>31
It will not happen in the next five years.

Name: Anonymous 2011-02-01 19:14

>>30
Well if you don't like types, then you probably should only program in Assembly and Forth. Just try that out for a while and then tell me how well that works out for ya.

Name: Anonymous 2011-02-01 19:17

>>18
Yes! It would be amazing! Running 2 processes at the same time in O(n*n*n*n*n*n) on an Octocore 8Ghz Extreme because of the superior LISP technologies! How about online videos? Sorry, no hardware video acceleration in 5 decades. etc.

Name: >>32 2011-02-01 19:18

>>31
It will not happen because the world is full of assholes such as >>34.

Name: Anonymous 2011-02-01 19:48

>>33
I program in LISP. In there is no need to differentiate various lists by type. Their structure determines their "type", so every list has its own unique type.

Name: Anonymous 2011-02-01 19:49

And, yes, I have a deep hatred for other languages and their types in particualr.

Name: Anonymous 2011-02-01 19:49

>>36
Either that or you type-tag your lists. Or use structs.

Name: Anonymous 2011-02-01 19:59

>>36
You don't have to declare/restrict their types because their elements' types are dynamically checked. Serioulsy, try Forth or Assembly to see what "typeless" actually means.

Name: Anonymous 2011-02-01 20:03

>>39
"Their elements' types" are also lists. No need for checking.

Name: Anonymous 2011-02-01 20:04

>>40
Ugh... IHBT.

Name: Anonymous 2011-02-01 20:04

>>39
Forth is a low-level language, Lisp is an high-order, first-class language.

Name: Anonymous 2011-02-01 20:06

>>42
So?

Name: Anonymous 2011-02-01 20:07

>>37-42
I'll quote >>36
LISP
It's all in caps, he doesn't know a shit about Lisp, YHBT.

Name: Anonymous 2011-02-01 20:09

>>44
LISP is a [LIS]t [P]rocessing Language. But Scheme faggots desecrate this holy word by writing it lowercase.

Name: Anonymous 2011-02-01 20:09

>>43
It's obvious Forth is untyped.

Name: Anonymous 2011-02-01 20:10

>>45
Common Lispers call Lisp ``Lisp''.

Name: Anonymous 2011-02-01 20:10

>>46
So?

Name: Anonymous 2011-02-01 20:11

>>39
I've nothing against assembly, as long as its embedded into LISP and uses all power of LISP macros system. Using assembly as a standalone language is retarded.

Name: Anonymous 2011-02-01 20:12

>>47
You FAIL. Common Lispers spell everything UPPERCASE.

Name: Anonymous 2011-02-01 20:13

>>48
SO FUCK YOU IN THE ASS, LISP IS TYPED AND FORTH IS NOT. THEY ARE BEAUTIFUL BECAUSE OF IT. DISCUSSION OVER

Name: Anonymous 2011-02-01 20:13


$ sbcl
This is SBCL 1.0.11.debian, an implementation of ANSI Common Lisp.

* 'lisp

LISP
*

Name: Anonymous 2011-02-01 20:14

>>50
`(common-lispers use-lowercase because the-compiler SHOUTS-AT-THEM ,FAGGOT)

Name: Anonymous 2011-02-01 20:15

>>51
4 => (integer nil nil nil nil)

Name: Anonymous 2011-02-01 20:15

Name: Anonymous 2011-02-01 20:15

>>54
In what braindead Lisp implementation?

Name: Anonymous 2011-02-01 20:16

>>51
Why are you stating what has already been stated at least two times in this thread in allcaps, buddy? U mad, or something?

Name: Anonymous 2011-02-01 20:16

uppercase is oldskool, just like orange terminal font color.

Name: Anonymous 2011-02-01 20:25

4 => ((()()()) () () () ())

Name: LIS 2011-02-01 20:33

Name: LISPPER 2011-02-01 20:33

>>60
WHAT THE FUCK I DIDN'T EVEN PRESS ENTER

>>59
No.

Name: Anonymous 2011-02-01 20:37

Only /proggit/ could turn a shitty thread about Smalltalk into a shittier thread about Lisp.

Name: Anonymous 2011-02-01 20:48

>>62
Then go back to reddit and open a shitty thread about Smalltalk, this is /prog/.

Name: Anonymous 2011-02-01 20:51

>>63
OH U

Name: Anonymous 2011-02-02 3:38

>>63
Reddit is too busy discussing bing vs google shitstorm. Reddit is always too busy with some shit

Name: Anonymous 2011-02-02 8:21

<---- check em

Name: Anonymous 2011-02-02 8:22

>>66
I lol'd.

Name: Anonymous 2011-02-02 8:38

>>66
nice.

Name: Anonymous 2011-02-03 10:42

QuickSilver is a Smalltalk-to-JavaScript compiler which is written entirely (hand-coded) in JavaScript. It should be complete in a few more days and I estimate that the compressed final version will be about 20kb in size.

Smalltalk applications compiled with QuickSilver run at the full speed of native JavaScript since it is just compiled JavaScript code that is produced – there is no interpreter present.

The language syntax is that of Squeak Smalltalk with one minor adjustment – anything between braces “{” and “}” is simply inserted unchanged into the compiled output. This lets you intersperse native JavaScript into your code; there is no need for “primitive” functions.

http://www.silversmalltalk.com/index3.html

Name: Anonymous 2011-02-03 10:48

>>69
I hope you did M-x rep-str TAB RET JavaScript RET [b][u][i][o]JavaScript[/o][/i][/u][/b] RET while using edit-current-field-in-external-editor

Name: Anonymous 2011-02-03 11:05

>>70
I use notepad there is no ``M-x rep-str" in it :)

Name: Anonymous 2011-02-03 11:08

>>71
You for...
mailto:noko

Name: Anonymous 2011-02-03 13:52

>>72
And? What about it?

Name: Anonymous 2011-02-03 16:03

>>72
Yeah, what about it?

Name: Anonymous 2011-02-03 16:12

>>69
Smalltalk applications compiled with QuickSilver run at the full speed of native JavaScript
That almost sounds like sarcasm.

Name: Anonymous 2011-02-03 16:50

>>75
My other sarcasm is a sdrcdsm.

Name: Anonymous 2011-02-03 19:03

>>76
U MENA SRDCE

Name: Anonymous 2011-02-03 19:47

My other rplaca is a rplacd

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