Redline Rationale

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Redline Rationale

Jeff Heon
I know the starting point of Redline is a file-based Smalltalk on the
JVM, but I was wondering about a few things.

I guess it's often tempting when making a language dialect to spice it
in a particular way (maybe particularly in the Lisp world.)

I was wondering then, have you been tempted to make Redline a "better
Smalltalk" by tweaking some things in the syntax too?
Or do you strive for Pharo compatibility no matter your personal
experience?

Disclaimer: I have no real Smalltalk experience, so forgive me if the
following question seems heretical.

You (James & Sean) have had a lot of experience in Java, Ruby & even
Lisp I think.
What makes Smalltalk special enough that you strongly feel it's better
suited than the usual suspects for software development?
I'm most definitively not trying to start a language war, just trying
to find Smalltalk's sweet spot.
I'm a language geek and like to have different languages for different
tasks.
Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

James Ladd
Hi Jeff,

What a great question.

Yes - Sean and I (and now Rob) have talked about making a "better" Smalltalk.
However - our first goal is to make a 100% Smalltalk, Smalltalk on the JVM
and this would include warts and all.

Real production usage of it may reveal situations where an enhancement would
be nice - although I doubt we would need to support an enhancement in the
Compiler given how flexible Smalltalk is.

I look forward to discussing suggestions from the community on improvements.

Rgs, James.

On Tue, Nov 15, 2011 at 8:32 AM, Jeff Heon <[hidden email]> wrote:
I know the starting point of Redline is a file-based Smalltalk on the
JVM, but I was wondering about a few things.

I guess it's often tempting when making a language dialect to spice it
in a particular way (maybe particularly in the Lisp world.)

I was wondering then, have you been tempted to make Redline a "better
Smalltalk" by tweaking some things in the syntax too?
Or do you strive for Pharo compatibility no matter your personal
experience?

Disclaimer: I have no real Smalltalk experience, so forgive me if the
following question seems heretical.

You (James & Sean) have had a lot of experience in Java, Ruby & even
Lisp I think.
What makes Smalltalk special enough that you strongly feel it's better
suited than the usual suspects for software development?
I'm most definitively not trying to start a language war, just trying
to find Smalltalk's sweet spot.
I'm a language geek and like to have different languages for different
tasks.

Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

Robert Roland
I expect some of our places for innovation will be in things like concurrency support.  If the JVM supports it, there's no technical reason that Redline shouldn't, for example.

If there's something specific about the language that you don't like, we'd love to hear about it.

Thanks,

Rob

On Mon, Nov 14, 2011 at 1:40 PM, James Ladd <[hidden email]> wrote:
Hi Jeff,

What a great question.

Yes - Sean and I (and now Rob) have talked about making a "better" Smalltalk.
However - our first goal is to make a 100% Smalltalk, Smalltalk on the JVM
and this would include warts and all.

Real production usage of it may reveal situations where an enhancement would
be nice - although I doubt we would need to support an enhancement in the
Compiler given how flexible Smalltalk is.

I look forward to discussing suggestions from the community on improvements.

Rgs, James.


On Tue, Nov 15, 2011 at 8:32 AM, Jeff Heon <[hidden email]> wrote:
I know the starting point of Redline is a file-based Smalltalk on the
JVM, but I was wondering about a few things.

I guess it's often tempting when making a language dialect to spice it
in a particular way (maybe particularly in the Lisp world.)

I was wondering then, have you been tempted to make Redline a "better
Smalltalk" by tweaking some things in the syntax too?
Or do you strive for Pharo compatibility no matter your personal
experience?

Disclaimer: I have no real Smalltalk experience, so forgive me if the
following question seems heretical.

You (James & Sean) have had a lot of experience in Java, Ruby & even
Lisp I think.
What makes Smalltalk special enough that you strongly feel it's better
suited than the usual suspects for software development?
I'm most definitively not trying to start a language war, just trying
to find Smalltalk's sweet spot.
I'm a language geek and like to have different languages for different
tasks.


Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

James Ladd
Oh yeah - how could I have forgot about necessary improvements like concurrency!
Thanks Rob.

We will bring all of the concurrency support in the JVM to Smalltalk.

On Tue, Nov 15, 2011 at 9:21 AM, Rob Roland <[hidden email]> wrote:
I expect some of our places for innovation will be in things like concurrency support.  If the JVM supports it, there's no technical reason that Redline shouldn't, for example.

If there's something specific about the language that you don't like, we'd love to hear about it.

Thanks,

Rob


On Mon, Nov 14, 2011 at 1:40 PM, James Ladd <[hidden email]> wrote:
Hi Jeff,

What a great question.

Yes - Sean and I (and now Rob) have talked about making a "better" Smalltalk.
However - our first goal is to make a 100% Smalltalk, Smalltalk on the JVM
and this would include warts and all.

Real production usage of it may reveal situations where an enhancement would
be nice - although I doubt we would need to support an enhancement in the
Compiler given how flexible Smalltalk is.

I look forward to discussing suggestions from the community on improvements.

Rgs, James.


On Tue, Nov 15, 2011 at 8:32 AM, Jeff Heon <[hidden email]> wrote:
I know the starting point of Redline is a file-based Smalltalk on the
JVM, but I was wondering about a few things.

I guess it's often tempting when making a language dialect to spice it
in a particular way (maybe particularly in the Lisp world.)

I was wondering then, have you been tempted to make Redline a "better
Smalltalk" by tweaking some things in the syntax too?
Or do you strive for Pharo compatibility no matter your personal
experience?

Disclaimer: I have no real Smalltalk experience, so forgive me if the
following question seems heretical.

You (James & Sean) have had a lot of experience in Java, Ruby & even
Lisp I think.
What makes Smalltalk special enough that you strongly feel it's better
suited than the usual suspects for software development?
I'm most definitively not trying to start a language war, just trying
to find Smalltalk's sweet spot.
I'm a language geek and like to have different languages for different
tasks.



Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

SeanTAllen
In reply to this post by James Ladd

On Monday, November 14, 2011 at 4:40 PM, James Ladd wrote:

Hi Jeff,

What a great question.

Yes - Sean and I (and now Rob) have talked about making a "better" Smalltalk.
However - our first goal is to make a 100% Smalltalk, Smalltalk on the JVM
and this would include warts and all

I think it is safe to say I've been the biggest pusher to change some things.

For example... I think 'FileDirectory' is a crap API and should be ditched for Colin's
'FileSystem' or something of that ilk. ( I'm far from being alone in that opinion of FileDirectory ).

Other than stuff in that vein that I've been pushing for, I have a different idea for how to
extend classes in a text based Smalltalk than what you have in GNU Smalltalk ( which is similar to ruby ).

I've also been a proponent of having more just 'nil'. But to incorporate two different values....

not initialized <- acts like smalltalk nil
nothing/not set <- acts like objective-c nil

I'm skimming over these points but they give a flavor for what I've wanted to do. I wouldn't 
consider any of them to be a radical departure from Pharo and other Smalltalks.

RC1 probably isn't going to have any of those things except maybe the different 'nils'.
I have a lot on my personal roadmap of things I'd like to do... the above is more than
enough to keep me busy for a while.

-Sean-

 
Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

SeanTAllen
In reply to this post by Robert Roland
+1 on this.

We've had a lot of conversations around the concurrency support and making sure everything we do is thread safe.

-S-

On Monday, November 14, 2011 at 5:21 PM, Rob Roland wrote:

I expect some of our places for innovation will be in things like concurrency support.  If the JVM supports it, there's no technical reason that Redline shouldn't, for example.

If there's something specific about the language that you don't like, we'd love to hear about it.

Thanks,

Rob

On Mon, Nov 14, 2011 at 1:40 PM, James Ladd <[hidden email]> wrote:
Hi Jeff,

What a great question.

Yes - Sean and I (and now Rob) have talked about making a "better" Smalltalk.
However - our first goal is to make a 100% Smalltalk, Smalltalk on the JVM
and this would include warts and all.

Real production usage of it may reveal situations where an enhancement would
be nice - although I doubt we would need to support an enhancement in the
Compiler given how flexible Smalltalk is.

I look forward to discussing suggestions from the community on improvements.

Rgs, James.


On Tue, Nov 15, 2011 at 8:32 AM, Jeff Heon <[hidden email]> wrote:
I know the starting point of Redline is a file-based Smalltalk on the
JVM, but I was wondering about a few things.

I guess it's often tempting when making a language dialect to spice it
in a particular way (maybe particularly in the Lisp world.)

I was wondering then, have you been tempted to make Redline a "better
Smalltalk" by tweaking some things in the syntax too?
Or do you strive for Pharo compatibility no matter your personal
experience?

Disclaimer: I have no real Smalltalk experience, so forgive me if the
following question seems heretical.

You (James & Sean) have had a lot of experience in Java, Ruby & even
Lisp I think.
What makes Smalltalk special enough that you strongly feel it's better
suited than the usual suspects for software development?
I'm most definitively not trying to start a language war, just trying
to find Smalltalk's sweet spot.
I'm a language geek and like to have different languages for different
tasks.



Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

Lee Breisacher-2
> What makes Smalltalk special enough that you strongly feel it's better
> suited than the usual suspects for software development?

I'm just a lurker here. It looks like no one really answered this
question.

Lee
Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

SeanTAllen

On Tuesday, November 15, 2011 at 11:20 AM, Lee wrote:

What makes Smalltalk special enough that you strongly feel it's better
suited than the usual suspects for software development?

I'm just a lurker here. It looks like no one really answered this
question.

That would be a very lengthy answer and honestly, I don't think it would matter.
Words are not really going do justice. I used Smalltalk every day for about 9
months before it suddenly hit me how much more productive I was with it
than most languages I had ever used.

I could talk about doing debugger driven development where you write the tests or client code
and just it the code and then proceed to add all the supporting methods from the debugger
and just restart from point X and how powerful have resumable exceptions are and what
amazing things 'thisContext' brings but unless you've used it and experienced it for a while,
that isn't going to mean much.

I could talk about how in many ways Smalltalk is similar to Ruby but in my opinion, a 'saner' ruby-
I am very productive in Ruby as a language and can see being even more productive with a
file based Smalltalk sans the environment because of those 'sanity' checks.

I could talk about how powerful the Smalltalk integrated environment is for doing development
and how eventually I want to have the option for the same in Redline while maintaining being able
to interoperate with a file based world.

And all that just scratches the surface.

It is however a question I need to try and find a succinct way to answer as the Redline site is going
to need to answer it. I originally avoided answering that part of the question because I don't have a good
succinct answer. The is an attempt at a succinct answer and I think it sucks. But, I am working on it.

-Sean-

Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

Jeff Heon
That's a great first attempt, and it does point back to the Redline
motto: "...because nothing is as productive as Smalltalk..."

I do realize it's a hard question to answer, just as explanations for
Lisp do not make sense until you've done enough of it.

So productivity is a big part of the picture, and the particular
environment run-time freedom would be part of it too, and the language
itself, and other things of course.

That's plenty enough to be interested and make a "leap of faith" 8)

On Nov 15, 1:02 pm, Sean T Allen <[hidden email]> wrote:

> And all that just scratches the surface.
>
> It is however a question I need to try and find a succinct way to answer as the Redline site is going
> to need to answer it. I originally avoided answering that part of the question because I don't have a good
> succinct answer. The is an attempt at a succinct answer and I think it sucks. But, I am working on it.
Reply | Threaded
Open this post in threaded view
|

Re: Redline Rationale

James Ladd
I think Smalltalk is more productive because there is less to remember, everything is a message to an object.
This message passing is everywhere - it is the language itself. When you remember this you can do anything
the language and runtime allows. Conversely languages where you need to understand the runtime in addition
to language syntax require more brain power. I'd like to save that brain power for the problem at hand rather
than the tooling I'm using to solve the problem.

To me, this is one of the brilliant things about lisp, almost everything is expressed in a uniform way. Is Smalltalk
better than Lisp? Of course, and of course not. It depends on how you think and which problem you are trying
to solve.

On Wed, Nov 16, 2011 at 6:36 AM, Jeff Heon <[hidden email]> wrote:
That's a great first attempt, and it does point back to the Redline
motto: "...because nothing is as productive as Smalltalk..."

I do realize it's a hard question to answer, just as explanations for
Lisp do not make sense until you've done enough of it.

So productivity is a big part of the picture, and the particular
environment run-time freedom would be part of it too, and the language
itself, and other things of course.

That's plenty enough to be interested and make a "leap of faith" 8)

On Nov 15, 1:02 pm, Sean T Allen <[hidden email]> wrote:

> And all that just scratches the surface.
>
> It is however a question I need to try and find a succinct way to answer as the Redline site is going
> to need to answer it. I originally avoided answering that part of the question because I don't have a good
> succinct answer. The is an attempt at a succinct answer and I think it sucks. But, I am working on it.