Hi Andrew,

Are you working to bring a Capabilities model to Pharo? This is precisely what 
I am working to bring with Hubbub, running on top of my ParrotTalk. I derived 
these from erights.org's ELib and have been working on them for many years. Now 
that ParrotTalk has stabilized (layer 5) I am shifting to implementing 
marshalling of layer 6 objects using STON all to run on top of ParrotTalk. Once 
I get marshalling with scope substitutions, I will debug Hubbub to offer 
distributed Capabilities.

What work are you undertaking?

Regards,
- HH

> -------- Original Message --------
> Subject: Re: [Pharo-users] Actual Code to Improve the Pharo environment
> Local Time: October 28, 2017 9:12 AM
> UTC Time: October 28, 2017 1:12 PM
> From: aglyn...@gmail.com
> To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
>
> Writing that kind of code is another of the reasons I decided I don’t want to 
> work in anything else 😊.  Maybe more important than some of the others, both 
> to myself and to other users.
>
> I’ve gained so much personally, mostly for nothing, even just considering the 
> relatively few  projects I have been able to work on in Pharo and previously 
> in Squeak, VW and VA.  Unfortunately in most I haven’t been able to make the 
> code public, since they were for entities like the government, DoD, etc.
>
> Not that VA attracts me quite so much to give back all that strongly, when a 
> license is $8500+.  Were it possible to give back to VA C++ or VA Java, it 
> might be different, but neither were OSS although they weren’t expensive.  
> More relevantly, both are now abandonware (hence my comment about IBM, which 
> is applicable to OS/2 as well, although that has quietly had a 5.0 version 
> released in June of this year).
>
> I would, though, love a chance to give back to Pharo primarily, although I 
> may port anything relevant to Squeak, and if I have sufficient time port it 
> to VW, which although not OSS is at least affordable to most developers.
>
> I’m nearly there on a couple of projects – one I’m testing and making final 
> tweaks, another is about 2/3d’s of the way.
>
> The first project you (and others on the list) may be more immediately 
> interested in testing, since it requires little to no additional work to use 
> it, and even if not perfect, since it’s intended to directly help work you 
> are doing in Pharo, it may worthwhile.  I’m hoping to have it ready for 
> public consumption by the middle of November.
>
> On a different but related topic, the article I wrote got a fair amount of 
> interest considering I don’t write nearly as well as Kenneth, for example.  
> Including direct interest from some well known industry people, which can’t 
> hurt.  In an indirect way it may even be helpful, but not in the real, direct 
> way decent code is.
>
> Capabilities that won’t be available in anything else in an really usable way 
> (because to be efficient they depend on capabilities not found in anything 
> else), and in any case nowhere near as useful in anything else, will 
> hopefully be more use than any article can be, never mind one I wrote, not 
> just to me but also to other Pharo users and to Pharo itself.
>
> Cheers
>
> Andrew Glynn
>
> Sent from [Mail](https://go.microsoft.com/fwlink/?LinkId=550986) for Windows 
> 10
>
> From: [Stephane Ducasse](mailto:stepharo.s...@gmail.com)
> Sent: Saturday, October 28, 2017 5:09 AM
> To: [Any question about pharo is welcome](mailto:pharo-users@lists.pharo.org)
> Subject: Re: [Pharo-users] Smalltalk Argument
>
> Hi andrew
>
> please take a project that would help to bring more companies and that you 
> want to push and push it with us :).
>
> Stef
>
> On Sat, Oct 28, 2017 at 11:05 AM, Stephane Ducasse <stepharo.s...@gmail.com> 
> wrote:
>
>> Hi andrew
>>
>> you should contact esteban because he is writing an objective-C bridge.
>>
>> Stef
>>
>> On Sat, Oct 28, 2017 at 2:30 AM, Andrew Glynn <aglyn...@gmail.com> wrote:
>>
>>> One thing I’m working on is a bridge between Pharo and F-Script.  F-Script 
>>> is, basically, a Smalltalk dialect, as is obvious from the screenshot.  
>>> However for MacOS and iOS, it allows you to bypass the static Objective-C 
>>> API interface and debug / modify or even write applications directly in the 
>>> system.  To do that you ‘inject’ F-Script into the OS.  The ability to so 
>>> has a specific implication, though.  MacOS and iOS are themselves written 
>>> in and as a dialect of Smalltalk.  (were it simply an overlay on 
>>> Objective-C, it wouldn’t be able to do things that are impossible in 
>>> Objective-C, and it wouldn’t need to be ‘injected’ in order to run).  Every 
>>> implementation of Objective-C , bar GNU’s useless imitation, compiles to 
>>> Smalltalk.  No surprise that Apple’s does, as well.
>>>
>>> In any event, it will allow Pharo code to be mapped to MacOS and iOS 
>>> objects, injected into the system dynamically, and modified / debugged 
>>> dynamically using the Pharo tools.  The result, at least as far as iOS is 
>>> concerned, may make Pharo actually the most powerful way to program it, 
>>> well beyond XCode alone, along with doing the same for MacOS.  Android is 
>>> another issue, although the Raspbian port of Pharo should be relatively 
>>> easy to port to it. For me, unless someone had a use case, I don’t have one 
>>> myself for Android.  I’ve tried nearly every version, because I’d love to 
>>> support an OSS ecosystem, unfortunately using it compared to the iPhone is 
>>> still like driving a Fiero based kit car compared to an actual Ferrari.
>>>
>>> As far as JNI, while I see your point, JNI is such a PITA that few Java 
>>> developers know it.  My usual workaround is to use Stamp and Synapse, which 
>>> has the further advantage of allowing Java to ‘throttle’ data that the JVM 
>>> can’t deal with at full speed.
>>>
>>> As far as dealing with other JVM languages, PetitParser or SmaCC can 
>>> generate bytecode rather than Java or other JVM code, and that allows libs 
>>> to be written that utilize Synapse to talk to Pharo.  It isn’t necessarily 
>>> an ideal solution, but a possible one without having to support umpteen 
>>> environments.  Another potential way of accomplishing that is to use 
>>> NetRexx, a declarative JVM language, which is both easy and terse, and like 
>>> SQL, generates the actual bytecode rather than precompiling to it.  For 
>>> instance, imagine the code needed for a simple ‘hello world’ in Java, then 
>>> compare:
>>>
>>> Say ‘hello world’
>>>
>>> Since it generates virtually the same bytecode, it may be an easy way to do 
>>> it.
>>>
>>> With the last statement, that expresses really well the exact reason I no 
>>> longer want to work in most other environments 😊.
>>>
>>> Tc
>>>
>>> Andrew
>>>
>>> Sent from [Mail](https://go.microsoft.com/fwlink/?LinkId=550986) for 
>>> Windows 10
>>>
>>> From: p...@highoctane.be
>>> Sent: Thursday, October 26, 2017 2:19 AM
>>> To: [Any question about pharo is 
>>> welcome](mailto:pharo-users@lists.pharo.org)
>>>
>>> Subject: Re: [Pharo-users] Smalltalk Argument
>>>
>>> I like that piece a lot, seeing exactly the described situation in large 
>>> enterprises.
>>>
>>> I made a strategic decision to go with Pharo for the long run for my 
>>> solutions because it is a stable base on which to build (ok, there are 
>>> evolutions, but fundamentally, I can rely on it being under control and can 
>>> maintain solutions in a version).
>>>
>>> The rationale is that at a deep level I am really fed up with having to 
>>> deal with accidental complexity (now having to deal with 
>>> Spark/Scala/sbt/Java/maven stuff) that makes the dev focus 80% technology 
>>> drag and 20% net business contribution.
>>>
>>> One key thing is that a team needs guidance and Smalltalk makes it easier 
>>> due to well known ways of doing things.
>>>
>>> Now we miss the boat on mobile and bigdata, but this is solvable.
>>>
>>> If we had an open Java bridge (and some people in the community have it for 
>>> Pharo but do not open source it - so this is eminently doable) + Pharo as 
>>> an embeddable piece (e.g. like Tcl and Lua) and not a big executable we 
>>> would have a way to embed Pharo in a lot of places (e.g. in the Hadoop 
>>> ecosystem where fast starting VMs and small footprint would make the 
>>> cluster capacity x2 or x3 vs uberjars all over the place)  this would be a 
>>> real disruption.
>>>
>>> Think about being able to call Pharo from JNA 
>>> https://github.com/java-native-access/jna the same way we use C with UFFI.
>>>
>>> Smalltalk argument for me is that it makes development bearable (even fun 
>>> and enjoyable would I say) vs the other stacks. That matters.
>>>
>>> Phil
>>>
>>> On Thu, Oct 26, 2017 at 12:46 AM, Andrew Glynn <aglyn...@gmail.com> wrote:
>>>
>>>> There’s other questions that are relevant to me:
>>>>
>>>> Do I give a f*** about cool looking web apps?  No, I don’t use web apps if 
>>>> in any way I can avoid it.
>>>>
>>>> Do I give a f*** about mobile apps?  No, the screen’s too small to read 
>>>> anything longer than a twit, or anyone with anything worthwhile to say.
>>>>
>>>> Do I give a f*** about the number of libraries in other languages?  No, 
>>>> because most of them are crap in every language I’ve had to work in, and 
>>>> the base languages are crap so they have to keep changing radically, and 
>>>> libraries and frameworks therefore also have to and never get any better. 
>>>> The few that are worthwhile I can almost always use from Smalltalk without 
>>>> a problem (read, Blender, ACT-R and Synapse, since every other 
>>>> library/framework I’ve used outside Smalltalk has been a waste of time).
>>>>
>>>> Do I give a f*** about implementing a complex piece of machine learning 
>>>> software in 22 hours, compared to 3 months for the Java version?  Well, 
>>>> actually yes, I do, because that was 3 months of my life down the toilet 
>>>> for something that is too slow to be useful in Java.
>>>>
>>>> Any argument depends on your priorities. I’ve written tons of web apps, 
>>>> because I needed to get paid.  I’ve written better shitty mobile apps than 
>>>> the average shitty mobile apps.  However, I’m not going to do any of that 
>>>> any longer in crap that never improves, because after 26 years the 
>>>> irritability it produces is more than it’s worth.
>>>>
>>>> A few weeks ago, a recruiter that specializes in Smalltalk called me about 
>>>> a job, although they were well aware I live 1500 miles away from the city 
>>>> I lived in when I had worked through them, to see if I’d be willing to 
>>>> move back there for a job.  That sounds like another ‘there aren’t enough 
>>>> Smalltalk developers”, but it wasn’t, because the job wasn’t writing 
>>>> Smalltalk.  It was writing Java.
>>>>
>>>> The person hiring, though, wouldn’t look at anyone who didn’t write 
>>>> Smalltalk, because “people who grew up with Java don’t know how to write 
>>>> code”.  I don’t agree with that, I’ve known a (very few) good Java 
>>>> developers.  I would say, though, that I’ve known far more incompetent 
>>>> ones than good ones, and I can’t think of any incompetent Smalltalk 
>>>> developers off the top of my head.
>>>>
>>>> Nor have I ever heard a developer in Smalltalk, or Haskell, or LISP, or 
>>>> even C, complain about how hard maintaining state is or coming up with 
>>>> various hacks to avoid it, which seems to be the main point of every 
>>>> JavaScript based ‘technology’.  An application is by definition a 
>>>> state-machine, which implies plenty about JS developers on the whole.
>>>>
>>>> If you’re a good developer you can write good code in (nearly) anything.  
>>>> My question then is why would you want to write in crap?  The better 
>>>> question is why aren’t there more good developers in any language?
>>>>
>>>> Every project I have been able to do in Smalltalk, though, has had one 
>>>> thing in common, the “shit has to work”.  Companies do use it, in fact I 
>>>> could name 4 large enterprises I’ve worked for who’ve written their own 
>>>> dialects, and they all use it only when “shit has to work”.  They know 
>>>> it’s more productive, they also know using it for more things would 
>>>> increase the availability of Smalltalk developers.
>>>>
>>>> Why do they not do it?  One reason, though it takes a while to recognize 
>>>> it, because management doesn’t admit even to themselves why they do it, or 
>>>> not very often.  Being inefficient, as long as it doesn’t ‘really’ matter, 
>>>> is an advantage to large enterprises because they have resources smaller 
>>>> competitors don’t.
>>>>
>>>> Why don’t their competitors do it?  Because they can’t see past an hourly 
>>>> rate, what’s fashionable, or just new, or because their customers can’t.  
>>>> Put more generally, average stupidity that isn’t corrected by the market.  
>>>> Fashion affects smaller companies more than larger ones, because they 
>>>> can’t afford a few customers walking away because they wanted an app in 
>>>> Electron, even if they can’t give any relevant reason for wanting it, and 
>>>> even the samples on the Electron site don’t work.
>>>>
>>>> Enterprises can, and do use Smalltalk when it matters.  When it doesn’t, 
>>>> it’s to their advantage to promote things that are inefficient, buggy and 
>>>> unreliable.
>>>>
>>>> Cost is relevant, but not in the simple way people look at things.  A 
>>>> crucial but rarely mentioned perspective on its relevance is that while 
>>>> Java based software runs TV set top boxes, Smalltalk based software runs 
>>>> things like medical equipment, automated defense systems, tanks, etc.  
>>>> Cost becomes largely irrelevant when ‘shit has to work’.
>>>>
>>>> Productivity is primarily relevant to less talented developers, in an 
>>>> inversely sense, since unproductive environments and attitudes have a 
>>>> leveling tendency in general, and more specifically make accomplishing 
>>>> what the less talented are capable of in any environment sufficiently 
>>>> laborious for them to have a role.  Capability in Smalltalk, as implied by 
>>>> the person hiring for the Java role I mentioned, is a fairly decent means 
>>>> of judging whether someone is a so-so developer or a good one.
>>>>
>>>> The productivity argument is realistically only relevant in the context of 
>>>> an already higher hourly cost.  Given that it is relevant at that point, 
>>>> companies that know Smalltalk is more productive would use it outside 
>>>> things that have to be 100%, if their own productivity were relevant to 
>>>> the same degree that competitors’ productivity is inversely relevant.
>>>>
>>>> All these ways of looking at it are contingent perspectives though.  Yes, 
>>>> if the number of libraries is relevant to you, Smalltalk is less 
>>>> attractive, but that’s only a contingent phenomenon based on the relative 
>>>> popularity of Java and JavaScript, as a result it can’t be used as 
>>>> explanatory for that popularity.  All the ways of looking at it that are 
>>>> fully determinate are determinate via contingencies of that kind, which 
>>>> for the most part are precisely the other perspectives, including 
>>>> productivity, cost, availability of developers, etc.  None of them is in 
>>>> itself anything but a result of the others.
>>>>
>>>> If availability of developers is contingent on popularity (and further, 
>>>> popularity contingent on industry attitudes), to use an example already 
>>>> mentioned in Joachim’s post, then his simultaneous posit of library 
>>>> availability is if anything more contingent on the same popularity, so 
>>>> positing it as a cause and not a result, or merely a correlate, of 
>>>> popularity is incoherent.  We can go one step further, and demonstrate 
>>>> that even when large enterprises make something that works reliably 
>>>> available, they fail to promote and support it, which destroys the market 
>>>> for reliable tooling by simultaneously owning it while not promoting it, 
>>>> something IBM is particularly good at.  But IBM can’t (and if they can’t, 
>>>> neither can any other company) operate that way without the tacit 
>>>> agreement of the industry.
>>>>
>>>> To understand it in a more general way, software development has to be 
>>>> looked at in the context where it occurs, and how it’s determined to a 
>>>> large degree by that context, with a specific difference.  That difference 
>>>> is itself implicit in the context, i.e. capitalism, but only purely 
>>>> effective in software development. It’s a result of virtualization as an 
>>>> implicit goal of capitalism, and the disruptions implicit in the virtual 
>>>> but so far only realized completely in software.  In terms of that 
>>>> understanding, the analysis of virtualization and disruption as inherent 
>>>> to capitalism is better accomplished in Kapital than in any more recent 
>>>> work.
>>>>
>>>> Or you can simply decide, as I’ve done recently, that working in ways and 
>>>> with tools that prevent doing good work in a reasonable timeframe isn’t 
>>>> worthwhile to you, no matter how popular those ways and tools might be, or 
>>>> what the posited reasons are, since at the end popularity is only insofar 
>>>> as it already is.  What those tools and methods are depends to a degree on 
>>>> your priorities, but if developers are engineers those priorities can’t be 
>>>> completely arbitrary.  Engineers are defined by their ability to make 
>>>> things work.
>>>>
>>>> Software as virtual is inherently disruptive, and the software industry 
>>>> disrupts itself too often and too easily to build on anything. A further 
>>>> disruption caused by developers, as engineers, refusing to work with crap 
>>>> that doesn’t, i.e. insisting on being engineers, while in itself merely an 
>>>> aggravation of the disruptive tendencies, might have an inverse result.
>>>>
>>>> Using a stable core of technologies as the basis for a more volatile set 
>>>> of products, in the way nearly every other industry does, is the best 
>>>> means we know of to build things both flexibly and reasonably efficiently. 
>>>>  The computer hardware industry is the extreme example of this, while the 
>>>> software industry is the extreme contradiction.
>>>>
>>>> From: Pharo-users <pharo-users-boun...@lists.pharo.org> on behalf of David 
>>>> Mason <dma...@ryerson.ca>
>>>> Reply-To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
>>>> Date: Tuesday, October 24, 2017 at 11:52 AM
>>>> To: Any question about pharo is welcome <pharo-users@lists.pharo.org>
>>>> Subject: Re: [Pharo-users] Smalltalk Argument
>>>>
>>>> PharoJS is working to give you that mobile app/browser app experience.  As 
>>>> with others, we're not there yet, but getting there.  See 
>>>> http://pharojs.org
>>>>
>>>> The 67% loved means that 67% of people using Smalltalk (or perhaps have 
>>>> ever used it) want to continue - so it's presumably a high percentage of a 
>>>> smallish number of people.
>>>>
>>>> On 20 October 2017 at 03:23, jtuc...@objektfabrik.de 
>>>> <jtuc...@objektfabrik.de> wrote:
>>>>
>>>>> First of all: I'd say the question itself is not a question but an 
>>>>> excuse. I am not arguing there are enough Smalltalkers or cheap ones. But 
>>>>> I think the question is just a way of saying "we don't want to do it for 
>>>>> reasons that we ourselves cannot really express". If you are a good 
>>>>> developer, learning Smalltalk is easy. If you are a good developer you've 
>>>>> heard the sentence "we've taken the goos parts from x,y,z and Smalltalk" 
>>>>> at least twice a year. So you most likely would like to learn it anyways.
>>>>>
>>>>> A shortage of developers doesn't exist. What exists is an unwillingness 
>>>>> of companies to get people trained in a technology. If Smalltalk was cool 
>>>>> and great in their opinion, they wouldn't care. It's that simple. As a 
>>>>> consultant, I've heard that argument so often. Not ferom Startups, but 
>>>>> from insurance companies, Banks or Car manufacturers who spend millions 
>>>>> on useless, endless meetings and stuff instead of just hiring somebody to 
>>>>> teach a couple of developers Smalltalk. It's just a lie: the shortage of 
>>>>> Smalltalk developers is not a problem.
>>>>>
>>>>> And, to be honest: what is it we actually are better in by using 
>>>>> Smalltalk?
>>>>> Can we build cool looking web apps in extremely short time? No.
>>>>> Can we build mobile Apps with little effort? No.
>>>>> Does our Smalltalk ship lots of great libraries for all kinds of things 
>>>>> that are not availabel in similar quality in any other language?
>>>>> Are we lying when we say we are so extremely over-productive as compared 
>>>>> to other languages?
>>>>>
>>>>> I know, all that live debugging stuff and such is great and it is much 
>>>>> faster to find & fix a bug in Smalltalk than in any other environment 
>>>>> I've used so far. But that is really only true for business code. When I 
>>>>> need to connect to things or want to build a modern GUI or a web 
>>>>> application with a great look&feel, I am nowhere near productive, because 
>>>>> I simply have to build my own stuff or learn how to use other external 
>>>>> resources. If I want to build something for a mobile device, I will only 
>>>>> hear that somebody somewhere has done it before. No docs, no proof, no 
>>>>> ready-made tool for me.
>>>>>
>>>>> Shortage of developers is not really the problem. If Smalltalk was as 
>>>>> cool as we like to make ourselves believe, this problem would be 
>>>>> non-existent. If somebody took out their iPad and told an audience: "We 
>>>>> did this in Smalltalk in 40% of the time it would have taken in Swift", 
>>>>> and if that something was a must-have for people, things would be much 
>>>>> easier. But nobody has.
>>>>>
>>>>> I am absolutely over-exaggerating, because I make my living with an SaaS 
>>>>> product written in Smalltalk (not Pharo). I have lots of fun with 
>>>>> Smalltalk and - as you - am convince that many parts of what we've done 
>>>>> so far would've taken much longer or even be impossible in other 
>>>>> languages. But the advantage was eaten by our extremely steep learning 
>>>>> curve for web technologies and for building something that works almost 
>>>>> as well as tools like Angular or jQuery Mobile.
>>>>>
>>>>> Smalltalk is cool, and the day somebody shows me something like Google's 
>>>>> flutter in Smalltalk, I am ready to bet a lot on a bright future for 
>>>>> Smalltalk. But until then, I'd say these arguments about productivity are 
>>>>> just us trying to make ourselves believe we're still the top of the food 
>>>>> chain. We've done that for almost thirty years now and still aren't ready 
>>>>> to stop it. But we've been lying to ourselves and still do so.
>>>>>
>>>>> I don't think there is a point in discussing about the usefulness of a 
>>>>> language using an argument like the number or ready-made developers. That 
>>>>> is just an argument they know you can't win. The real question is and 
>>>>> should be: what is the benefit of using Smalltalk. Our productivity 
>>>>> argument is a lie as soon as we have to build something that uses or runs 
>>>>> on technology that has been invented after 1990.
>>>>>
>>>>> Okay, shoot ;-)
>>>>>
>>>>> Joachim
>>>>>
>>>>> --
>>>>> -----------------------------------------------------------------------
>>>>> Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
>>>>> Fliederweg 1                         http://www.objektfabrik.de
>>>>> D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
>>>>> Telefon: [+49 7141 56 10 86 0](tel:%2B49%207141%2056%2010%2086%200)       
>>>>>   Fax: [+49 7141 56 10 86 1](tel:%2B49%207141%2056%2010%2086%201)

Reply via email to