I referred to a Lambda Architecture, not the availability of Lambdas in the 
language. Pharo has the best with BlockClosures.

- HH

> -------- Original Message --------
> Subject: RE: [Pharo-users] Smalltalk Argument
> Local Time: October 27, 2017 11:10 PM
> UTC Time: October 28, 2017 3:10 AM
> From: aglyn...@gmail.com
> To: henry <he...@callistohouse.club>, Any question about pharo iswelcome 
> <pharo-users@lists.pharo.org>
>
> Last point.  Blocks are already better lambdas than lambdas in Java.
>
> Have a look at this code from rxJava, which includes the Java 8 lambda 
> version and a Java 7 version using an anonymous inner class:
>
> Java 8 code
>
> package
>
> rxjava.examples
>
> ;
>
>
>
> import
>
> io.reactivex.*
>
> ;
>
>
>
> public
>
> class
>
> HelloWorld
>
> {
>
>
>
> public
>
> static
>
> void
>
> main
>
> (
>
> String
>
> []
>
> args
>
> ) {
>
>
>
> Flowable
>
> .
>
> just(
>
> "
>
> Hello world
>
> "
>
> )
>
> .
>
> subscribe(
>
> System
>
> .
>
> out
>
> ::
>
> println);
>
>     }
>
> }
>
> Java 7 code
>
> import
>
> io.reactivex.functions.Consumer
>
> ;
>
>
>
> Flowable
>
> .
>
> just(
>
> "
>
> Hello world
>
> "
>
> )
>
>   .subscribe(
>
> new
>
> Consumer<
>
> String
>
>>
>
> () {
>
>
>
> @Override
>
> public
>
> void
>
> accept
>
> (
>
> String
>
> s
>
> ) {
>
>
>
> System
>
> .
>
> out
>
> .
>
> println(s);
>
>       }
>
>   });
>
> Are they equivalent?  How would you know?
>
> In fact, they aren’t, worse, the results of the difference depend on the 
> target, whether it’s Java SE (including Spring based apps) or JavaEE.
>
> The Java 8 version doesn’t create an anonymous inner class but a generically 
> named class with generically named methods.  As a result, it will be most 
> often faster.  However it’s less safe, because particularly in clustered 
> environments, and unpredictably, it can create conflicts due to the same 
> generic names being used by two different JVM’s.  The Java 7 version will be 
> as fast, in JavaEE, and safer.  In Java SE they’re close to equivalently 
> safe, but the Java 7 version will be significantly slower in most cases.
>
> RxJava itself, as well, is unnecessary in Pharo, since the Announcer already 
> implements the same pattern, and does so in a more efficient and more 
> consistent way.
>
> Sent from [Mail](https://go.microsoft.com/fwlink/?LinkId=550986) for Windows 
> 10
>
> From: [henry](mailto:he...@callistohouse.club)
> Sent: Friday, October 27, 2017 5:03 PM
> To: [Any question about pharo is welcome](mailto:pharo-users@lists.pharo.org)
> Subject: Re: [Pharo-users] Smalltalk Argument
>
> Elastic search JSON integration would be another good one. I heard there was 
> a Kafka integration, is that true? Where could I find that, I used to use 
> Kafka.
>
> Kafka is a great event channel for input to BigData. Using Kafka, it is well 
> in crafting a Lamda Architecture. Imagine Pharo where Storm resides.
>
> [webkit-fake-url://502df029-af7a-484e-b157-43970b30a0a1/imagejpeg]
>
> - HH
>
> On Fri, Oct 27, 2017 at 16:51, henry <he...@callistohouse.club> wrote:
>
>>  How about Kerberos? Can we get a team to look closely at bringing 
>> integration for enterprise users? That would be helpful, or can you just put 
>> it behind a Kerberos wrapper? If that would work, collecting a demo, that 
>> could unlock more corporate wallets , for investment.
>>
>> - HH
>>
>> On Fri, Oct 27, 2017 at 16:41, henry 
>> <[he...@callistohouse.club](%22mailto:he...@callistohouse.club%22)> wrote:
>>
>>> How is there no steering committee to accumulate wrapping 3rd party 
>>> libraries in Alien to gain benefits of code in other languages? Do not 
>>> assume that code is not extremely well written in that particular language 
>>> for that particular task and that particular deployment mechanism.
>>>
>>> Can Pharo be called as a shared library from Java JNA?
>>>
>>> - HH
>>>
>>> On Fri, Oct 27, 2017 at 15:47, Andrew Glynn 
>>> <[aglyn...@gmail.com](%22mailto:aglyn...@gmail.com%22)> wrote:
>>>
>>>> I’m not claiming I don’t or haven’t been affected, only that I no long 
>>>> allow myself to be.  Does that cause issues?  Of course.  But I’d rather 
>>>> deal with those than do things I don’t enjoy.  However I only got to that 
>>>> point after 26 years in the industry, so I don’t expect that everyone will 
>>>> feel that way.
>>>>
>>>> Cheers
>>>>
>>>> Andrew
>>>>
>>>> Sent from [Mail](%22https:/go.microsoft.com/fwlink/?LinkId=550986%22) for 
>>>> Windows 10
>>>>
>>>> From: [jtuc...@objektfabrik.de](%22mailto:jtuc...@objektfabrik.de%22)
>>>> Sent: Thursday, October 26, 2017 8:14 AM
>>>> To: [pharo-users@lists.pharo.org](%22mailto:pharo-users@lists.pharo.org%22)
>>>> Subject: Re: [Pharo-users] Smalltalk Argument
>>>>
>>>> Andrew,
>>>>
>>>> Am 26.10.17 um 00:46 schrieb Andrew Glynn:
>>>>
>>>>> There’s other questions that are relevant to me:
>>>>
>>>> I am glad you opened your words with this sentence. Other peoples’ 
>>>> mileages may vary a lot.
>>>>
>>>>> 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.
>>>>
>>>> Some people can’t. I can’t. I am making my living with a web based 
>>>> application. And I like 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.>
>>>>
>>>> So you are in the lucky position that neither mobile nor web nor 
>>>> integration matters to you or you have enough resources to do all that 
>>>> stuff yourself. I am envyous. I need to build web pages and people ask me 
>>>> whether we can ship an iPhone App. I do customer-facing stuff and sex 
>>>> sells much more than we like to think.
>>>>
>>>> Your comments on the crappiness of libs in other languages is a great fit 
>>>> for Smalltalk. Not invented here, therefor rubbish. We came a long way 
>>>> with this way of thinking. But these rubbish makers dance circles around 
>>>> us while we try to do our first hello world for an iPad. They laugh at us 
>>>> when we try to reinvent MVC on top of Seaside (although MVC is closesly 
>>>> related to Smalltalk). Because they are back home and watch Netflix while 
>>>> we debug our homegrown base libraries that are, of course, much better 
>>>> than theirs because they are written in Smalltalk.
>>>>
>>>> I am not arguing that maintaining Smalltalk code is far superior to most 
>>>> technolgies out there. But depending on the needs of our projects we have 
>>>> to learn and use those crappy technologies to accomplish what they offer. 
>>>> Because, sometimes (especially if you have to pay bills), an existing 
>>>> library with flaws is better than none.
>>>>
>>>> So if I have to use Javascript or C# or Dart or Swift to do the frontend 
>>>> part of my system, is there still much benefit in using these together 
>>>> with Smalltalk? Or is there - at least from a manager’s point of view - 
>>>> not a reasonable amount of sense in choosing the frontend technology also 
>>>> for the logic and compensate the loss in productivity with a gain in 
>>>> avoided complexity?
>>>>
>>>> Your answer delivers a lot of food for thought, but I don’t buy all of it. 
>>>> And I don’t expect you to buy all of mine ;-)
>>>>
>>>> Joachim
>>>>
>>>>>
>>>>>
>>>>> 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>](%22mailto:pharo-users-boun...@lists.pharo.org%22)
>>>>>  on behalf of David Mason 
>>>>> [<dma...@ryerson.ca>](%22mailto:dma...@ryerson.ca%22)
>>>>> Reply-To: Any question about pharo is welcome 
>>>>> [<pharo-users@lists.pharo.org>](%22mailto:pharo-users@lists.pharo.org%22)
>>>>> Date: Tuesday, October 24, 2017 at 11:52 AM
>>>>> To: Any question about pharo is welcome 
>>>>> [<pharo-users@lists.pharo.org>](%22mailto:pharo-users@lists.pharo.org%22)
>>>>> 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](%22http:/pharojs.org%22)
>>>>>
>>>>> 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](%22mailto:jtuc...@objektfabrik.de%22) 
>>>>> <[jtuc...@objektfabrik.de](%22mailto:jtuc...@objektfabrik.de%22)> 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](%22mailto:jtuc...@objektfabrik.de%22)
>>>>>> Fliederweg 1                         
>>>>>> [http://www.objektfabrik.de](%22http:/www.objektfabrik.de%22)
>>>>>> D-71640 Ludwigsburg                  
>>>>>> [http://joachimtuchel.wordpress.com](%22http:/joachimtuchel.wordpress.com%22)
>>>>>> Telefon: [+49 7141 56 10 86 
>>>>>> 0](%22tel:%2B49%207141%2056%2010%2086%200%22)         Fax: [+49 7141 56 
>>>>>> 10 86 1](%22tel:%2B49%207141%2056%2010%2086%201%22)
>>>>
>>>> —
>>>>
>>>> ————————————————————————
>>>>
>>>> Objektfabrik Joachim Tuchel
>>>> [mailto:jtuc...@objektfabrik.de](%22mailto:jtuc...@objektfabrik.de%22)
>>>>
>>>> Fliederweg 1
>>>> [http://www.objektfabrik.de](%22http:/www.objektfabrik.de%22)
>>>>
>>>> D-71640 Ludwigsburg
>>>> [http://joachimtuchel.wordpress.com](%22http:/joachimtuchel.wordpress.com%22)
>>>>
>>>> Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1

Reply via email to