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. |
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 |
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, |
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. |
In reply to this post by James Ladd
On Monday, November 14, 2011 at 4:40 PM, James Ladd wrote:
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- |
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:
|
> 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 |
On Tuesday, November 15, 2011 at 11:20 AM, Lee wrote:
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- |
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. |
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 |
Free forum by Nabble | Edit this page |