Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
This is the sort of thing Smalltalk seems well suited for (live coding w/ value and iteration display). Does anyone know of something like it that has been done before in Smalltalk?
I don't have a good link to a demonstration purely of the Playground but there is a little info here: https://developer.apple.com/swift/ |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
I remember seeing a demo of F# at an Eclipse conference a few years ago.
It also very much reminded me of Smalltalk. What's interesting about swift is not only that Apple chose an existing name for their new programming language (interesting for a company that is very careful about their own brand names), but that swift seems to be statically typed, while one of the biggest advantages of Objective-C is that it allows for dynamic typing (to some extent)... Joachim Am 03.06.14 08:33, schrieb darrinm: > This is the sort of thing Smalltalk seems well suited for (live coding w/ > value and iteration display). Does anyone know of something like it that has > been done before in Smalltalk? > > I don't have a good link to a demonstration purely of the Playground but > there is a little info here: https://developer.apple.com/swift/ > > > > > -- > View this message in context: http://forum.world.st/Xcode-s-Swift-Playground-tp4761425.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > > ... [show rest of quote] -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:[hidden email] Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by darrinm
Sent from my iPhone
Look, this video was done a year ago https://www.youtube.com/watch?v=Hu_C0ldSqrs. Yes, not as fancy, but it's a game programming with live feedback. Now there is also GToolkit that provides an interactive way of programming and so on. Uko
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by darrinm
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by jtuchel
2014-06-03 8:40 GMT+02:00 [hidden email] <[hidden email]>: I remember seeing a demo of F# at an Eclipse conference a few years ago. It also very much reminded me of Smalltalk. To what I understand, types are inferred, it is not statically typed. Am I wrong ? Clement
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by darrinm
Yeah looks cool. Just a step further, no revolution though. The fact
that for each statement Playground will immediately show its results next to the code, makes programming a bit easier. I wonder how/if this works for code that does not define all its values with let statements ;-). But I guess this is why it's a playground and not the debugger/code editor. Because if the values to "inspect" are parameters to a method, this won't work as nicely. But I can see how Apple's Playground could be a nice addition to Smalltalk's workspaces. This probably isn't even too much work... I look forward to seeing the first prototypes of a Smalltalk Playground ;-) Joachim Am 03.06.14 09:02, schrieb darrinm: > Here's an example of the Playground in use: > https://developer.apple.com/library/prerelease/ios/recipes/xcode_help-source_editor/ExploringandEvaluatingSwiftCodeinaPlayground/ExploringandEvaluatingSwiftCodeinaPlayground.html#//apple_ref/doc/uid/TP40009975-CH26 > > > > > -- > View this message in context: http://forum.world.st/Xcode-s-Swift-Playground-tp4761425p4761431.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > > -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:[hidden email] Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by darrinm
Hi, The work on GToolkit goes in this direction. Funny enough, we also have a Playground :). Look here for an example: More will come in this direction. I happen to believe that this is the area with the largest potential in Pharo, and it would be great to put more effort around it. If people have an interest to participate, please just let me know.
Cheers, Doru On Tue, Jun 3, 2014 at 9:02 AM, darrinm <[hidden email]> wrote: Here's an example of the Playground in use: "Every thing has its own flow"
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by Clément Béra
Clement,
Hmm, as far as I've read (and I haven't read much), all methods have an obligatory return type. But you can write let a = "some text", so I guess you are right. And me probably too ;-) Joachim Am 03.06.14 09:10, schrieb Clément Bera:
... [show rest of quote]
-- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel [hidden email] Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
The big question here is not whether Pharo can implement something similar to Playground, Moose and Roassal in particular are quite close. The one million dollars question is Swift a live coding language or is Swift a language with some live coding tools. Obviously I would love to be the first option, but for the time being I try to contain my enthusiasm. When it comes to love coding lisp and smalltalk appear to have no competition AFAIK, I would love if Swift joins the club, If its the second option, really pity for Swift but still better than nothing.
Obviously its extremely early to tell without actually testing the tools ourselves. It looks like that both lisp and smalltalk are still the pillar upon which modern languages are based and that can be only good news.
The one billion dollars question is how well live coding of Swift would play with live coding of Pharo , it would awesome to have a unified live coding environment for both langauges and I see pharo developers bringing a ton of native ios and macos libraries to pharo. Its difficult not to get excited with this.
On Tue, Jun 3, 2014 at 10:16 AM, [hidden email] <[hidden email]> wrote:
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by Clément Béra
On 3 juin 2014, at 09:10, Clément Bera <[hidden email]> wrote:
If there is type inference then it is statically typed (at least partially if not every variable type can be inferred)
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by Tudor Girba-2
> Hi, > > The work on GToolkit goes in this direction. Funny enough, we also > have a Playground :). > > Look here for an example: > http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-with-the-gtinspector/ > > More will come in this direction. I happen to believe that this is the > area with the largest potential in Pharo, and it would be great to put > more effort around it. If people have an interest to participate, > please just let me know. + 1 Now my plate is full but I encourage people to join effort. Stef |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
For anyone who has not not watched it yet, you can watch the Playground demo here. Looks like they were inspired by Bred Victor demos. Swift is statically typed with type inference. BUT it has generics and optional types. So it looks like it tries to let you have the cake and eat it too. It also removes the need for header files , so it really moves away from the C paradigm.
There is a quick toor here On Tue, Jun 3, 2014 at 11:29 AM, stepharo <[hidden email]> wrote:
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
On 03 Jun 2014, at 14:23, kilon alios <[hidden email]> wrote:
We have to do some type inference (for tools) some time. Should be fun. (by the way, is there something like that already?) Uko
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by kilon.alios
On 03 Jun 2014, at 10:53, kilon alios <[hidden email]> wrote: > For anyone who has not not watched it yet, you can watch the Playground demo here. Looks like they were inspired by Bred Victor demos. > > https://www.youtube.com/watch?v=l62x8Oq_QP4 > > Swift is statically typed with type inference. BUT it has generics and optional types. So it looks like it tries to let you have the cake and eat it too. It is way to early to have an opinion (especially since one should use a language before commenting), but ... 1 - it is very nice to see Apple play in the language design world (it will get traction I am sure) 2 - it feels like a pretty complex language, both in terms of syntax options, concepts and rules, especially around types (the language book is 500 pages I believe) What makes Pharo and Smalltalk so cool is this magical simplicity on so many levels. > It also removes the need for header files , so it really moves away from the C paradigm. > > There is a quick toor here > > https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/GuidedTour.html#//apple_ref/doc/uid/TP40014097-CH2 > > > On Tue, Jun 3, 2014 at 11:29 AM, stepharo <[hidden email]> wrote: > > Hi, > > The work on GToolkit goes in this direction. Funny enough, we also have a Playground :). > > Look here for an example: > http://www.humane-assessment.com/blog/dynamic-exploration-of-a-postgres-db-with-the-gtinspector/ > > More will come in this direction. I happen to believe that this is the area with the largest potential in Pharo, and it would be great to put more effort around it. If people have an interest to participate, please just let me know. > > + 1 > > Now my plate is full but I encourage people to join effort. > > Stef > > ... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
"What makes Pharo and Smalltalk so cool is this magical simplicity on so many levels." I have a problem with this, I think its not sincere. I know that a Pharo developers would love to throw on my face the basic syntax of Pharo that can fit in a single page but the truth is that Pharo because it is Smalltalk it follows the exact same recipe of the "get the F!@#$% out" which means it throws everything outside the language in form of libraries of objects. Pharo is definetly not that simple. Why ? Because coding is not simple .
So if it is to be a fair comparison take those 500 pages and find equivalent features in Pharo and I don't think you will find that they are that different in terms of complexity.
And its not as if Swift is revolutionary any more than Smalltalk or Pharo is revolutionary. All languages copy from each other.
I will have to agree that Pharo appears simpler than Swift, but I doubt that it does not miss many features that Swift has. As you said its too early to say.
I have not read those 500 pages, personally I dont see what the big deal is, PBE is 400 pages and barely touches what Pharo really is. I fail for the time being viewing Swift as a complex language, I just hope does not end up as ugly as JavaScript. Good ideas that are badly implemented. I doubt it though.
PS: I am downloading the Swift manual right now On Tue, Jun 3, 2014 at 12:00 PM, Sven Van Caekenberghe <[hidden email]> wrote:
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
I don't think the claim is that Pharo or any Smalltalk is 'simple', but when someone new to coding has to first learn how to pretend they're using a late 70"s terminal and a crappy text editor, then remember 20000 arcane commands just to get a project built, never mind debug it, the price of entry before starting to code is too high. Coding is stressful enough (unlike most people's tasks, it has to actually work) which helps understand why the average age that coders quit and go into another field is only 30 years old. A high initial curve cuts a very short average productive career that much shorter. I wouldn't worry about swift being as bad as JS. Nothing is. On Jun 3, 2014 4:21 AM, "kilon alios" <[hidden email]> wrote:
... [show rest of quote] |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by Clément Béra
On Jun 3, 2014, at 3:10 AM, Clément Bera <[hidden email]> wrote: >> What's interesting about swift is not only that Apple chose an existing name for their new programming language (interesting for a company that is very careful about their own brand names), but that swift seems to be statically typed, while one of the biggest advantages of Objective-C is that it allows for dynamic typing (to some extent)... > > To what I understand, types are inferred, it is not statically typed. Am I wrong ? Type inference is actually orthogonal to static or dynamic typing. You can have a statically typed language with inferred types, where the programmer needs to put type annotations on places where the type inferrer gets lost, and you can infer types for a dynamically typed language. An example of the latter would be the RoelTyper shown at ESUG a looong time ago ;-) ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by camille teruel
On Jun 3, 2014, at 4:21 AM, Camille Teruel <[hidden email]> wrote: >> To what I understand, types are inferred, it is not statically typed. Am I wrong ? > > If there is type inference then it is statically typed (at least partially if not every variable type can be inferred) To repeat myself: this is not the case. Example is the RoelTyper. ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by Uko2
On Jun 3, 2014, at 4:57 AM, Yuriy Tymchuk <[hidden email]> wrote: > We have to do some type inference (for tools) some time. Should be fun. (by the way, is there something like that already?) There has been some work done on type inference for Smalltalk, the RoelTyper example that I keep mentioning worked on Squeak and there was a version on VW that Roel and I looked at in Gent a couple of years ago, but we did not go that way. More recently there was a google summer of code project on concrete type inference for Pharo if I am not mistaken. ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
In reply to this post by jfabry
On 3 juin 2014, at 17:34, Johan Fabry <[hidden email]> wrote: > > On Jun 3, 2014, at 4:21 AM, Camille Teruel <[hidden email]> wrote: > >>> To what I understand, types are inferred, it is not statically typed. Am I wrong ? >> >> If there is type inference then it is statically typed (at least partially if not every variable type can be inferred) > > To repeat myself: this is not the case. Example is the RoelTyper. Yes, there are many type inferencers for dynamically-typed languages. But that's not because one builds a type inferencer for say Smalltalk that I can say "Smalltalk has type inference": the inferencer is not integrated within the language, it's just an analysis tool on top. If someone says that his language has type inference, he means that the type inferencer is built into the language, and normally there is some type checking and/or the compiler is designed to leverage type information which means that the language is at least partially statically-typed (if not entirely). Because if a language does no type checking nor type-based optimisations, for what purpose would it have type inference built into it? > ---> Save our in-boxes! http://emailcharter.org <--- > > Johan Fabry - http://pleiad.cl/~jfabry > PLEIAD lab - Computer Science Department (DCC) - University of Chile > > |
Free forum by Nabble | Edit this page |