Dear all,
after using Smalltalk for several years I developed a passion for the language (how not to?), and Pharo is just so great to develop with. So thank you guys for keeping this wonderful project running. Unfortunately, it is not easy to always point out why Smalltalk should be employed as "main development language" in a team or for a project. In the last discussion of this sort I was confronted with the question "where are we going to get new smalltalk developers if our startup grows or if you go?". Well, I had no good answer to that. What would have you answered? Cheers, Paulo |
Hi Paulo,
That is a really good question and I hope to do it justice. What if you chose Elixir, Ruby, Closure, Go or Pony or Smalltalk - where would you get developers? There is some validity to this question as it can be hard to get developers but in Smalltalk’s case there is a heritage that can help with that more so than say others that are too new to have a large community following and of course a reputation. Smalltalk has a reputation as a very productive environment and on average a better class (pardon the pun) of developers. There is something about Smalltalk developers that in my experience outshines developers from other backgrounds. Personally I’d see Smalltalk as a draw card to join a company but I’m biased. While it is important in a startup to attract good developers I would say that ‘good’ developers are more interested in the problem being solved than specifically the language being used. The goal w be to get something out and make revenue. You will most likely re-write at a future point that makes sense using what you have learned anyways. Of all the languages I have used over 30 years I find Smalltalk the easiest to pick up and run w so should you leave others should be able to continue in your absence. Besides depending on their position and background you w want them to own the solution and if changing language is part of that then so be it. That said, if they use Smalltalk for any reasonable amount of time and in anger I’d be surprised if they like you didn’t come to love it. In a nutshell - language choice is the least of your worries - James Sent from my Commodore 64 > On 19 Oct 2017, at 6:04 pm, Paulo R. Dellani <[hidden email]> wrote: > > Dear all, > > after using Smalltalk for several years I developed a passion for the > language (how not to?), and Pharo is just so great to develop with. > So thank you guys for keeping this wonderful project running. > > Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? > > Cheers, > > Paulo > > |
In reply to this post by dellani
Hi Paulo,
I think this is not the right question to ask. The problem is not "Where to find Smalltalk developers?", the problem is rather "How much effort does it take to help a good experienced OO developer to transition to Smalltalk?" OO developers have to steadily gain and learn new technologies and frameworks... So why not Smalltalk? Those developers that are not willing to learn a new language just because they consider the trade-offs of not finding a job in that field that easily, might not be the best choice for your team anyway... That is my experience... I know more developers missing the "Smalltalk experience" than those hating Smalltalk once they left a team... Sebastian On 2017-10-19 12:04 AM, Paulo R. Dellani wrote: > Dear all, > > after using Smalltalk for several years I developed a passion for the > language (how not to?), and Pharo is just so great to develop with. > So thank you guys for keeping this wonderful project running. > > Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? > > Cheers, > > Paulo > > > |
In reply to this post by dellani
On 19-10-17 09:04, Paulo R. Dellani wrote:
> Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? Regularly I go to the Esug Conference and the Pharo Days, and this year I had to cancel plans to go to Smalltalks. Those are places where I talk to smalltalkers, new and experienced. Every year there are good developers there who are looking for work, as intern, as a contractor or as an employee. By being there regularly I know who to talk to for different kinds of jobs, and for recommendations. Once in a while I also visit RMoD and HPI, to talk with people teaching smalltalk. The Pharo consortium maintains a list of consultants doing smalltalk work. For a company dependent on Smalltalk, I'd develop a systematic approach to ensuring attractiveness to smalltalk developers. Participation in the Pharo Consortium and presenting at conferences about open source contributions would be part of that, as might be defining research topics or summer jobs for students. Stephan |
In reply to this post by dellani
Nice response
Sent from my Commodore 64 > On 19 Oct 2017, at 7:02 pm, Sebastian Heidbrink <[hidden email]> wrote: > > Hi Paulo, > > I think this is not the right question to ask. > The problem is not "Where to find Smalltalk developers?", the problem is rather > "How much effort does it take to help a good experienced OO developer to transition to Smalltalk?" > > OO developers have to steadily gain and learn new technologies and frameworks... > So why not Smalltalk? > Those developers that are not willing to learn a new language just because they consider the trade-offs of not finding a job in that field that easily, might not be the best choice for your team anyway... > > That is my experience... I know more developers missing the "Smalltalk experience" than those hating Smalltalk once they left a team... > > Sebastian > > >> On 2017-10-19 12:04 AM, Paulo R. Dellani wrote: >> Dear all, >> >> after using Smalltalk for several years I developed a passion for the >> language (how not to?), and Pharo is just so great to develop with. >> So thank you guys for keeping this wonderful project running. >> >> Unfortunately, it is not easy to always point out why Smalltalk >> should be employed as "main development language" in a team >> or for a project. In the last discussion of this sort I was confronted >> with the question "where are we going to get new smalltalk >> developers if our startup grows or if you go?". Well, I had no >> good answer to that. What would have you answered? >> >> Cheers, >> >> Paulo >> >> >> > > |
In reply to this post by dellani
One way to address this issue is to factor in your development grooming of young Smalltalk developers, which can act as pool of potential full developers for your project. If you can add some of your domain specific issues to their grooming, you could increase your project HR safety quite a lot. Davorin Rusevljan On Thu, Oct 19, 2017 at 9:04 AM, Paulo R. Dellani <[hidden email]> wrote: Dear all, |
In reply to this post by dellani
Hello Paulo,
its a problem to get Smalltalkers - simple as it is. I had contacts with Smalltalkers who wanted to do Smalltalk-"only" jobs - thats impossible to guarantee in a smaller company and perhaps a mind I would not expect from Smalltalker. And the point about "Main Development Language" ... well, the other developers have also their "beloved" language and it would be a much better idea to put their "loved" together with your "loved" language. There are *very* good reason out there to write Windows FAT-Clients in .NET languages or even Mac/Linux/Windows Clients with Xamarin/Microsoft tools or even Java-world languages and HTML-Clients with some good JS-libraries. You have to have very good reasons (and this is NOT productivity) to argue against this and tell the other developers, that you develop superior solutions just because you are doing Smalltalk. This may be true for very specific libraries (and thats not only Roassal) - not available in other systems - but in the normal case, they will simply win (because of the huge amount software written in other languages). The only Smalltalk technology I found out to be worthwhile fighting for (because other are not able to offer a similar solution) today is an object oriented database (e.g. Gemstone/S). Perhaps the Smalltalk community should concentrate on the idea to make their technology open/accessable for other languages in an easy way. This is especially true for database vendors. Database vendors offering Java, C# and python object support and Smalltalk as an integrated script language - that could be a very good argument and a place where Smalltalk can survive. So, the answer is: don't depend on the language, look for developers working with more than one language and insert Smalltalk technology where you *really* get benefit. And the area where Smalltalk is so much better is getting smaller and smaller these days. Marten Am 19.10.2017 um 09:04 schrieb Paulo R. Dellani: > Dear all, > > after using Smalltalk for several years I developed a passion for the > language (how not to?), and Pharo is just so great to develop with. > So thank you guys for keeping this wonderful project running. > > Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? > > Cheers, > > Paulo > > -- Marten Feldtmann |
In reply to this post by dellani
I would have followed the Python approach. When Guido created Python , it did not try to convince his co-workers about how superior it was compared to other languages. At the time he did not intend to use it even as programming language. That worked to his advantage. Instead it used it for small tasks, usually tiny command line utilities that none would notice. But some did notice and expressed interest , they tried Python for small tiny tasks again mainly command line utilities. The co workers came back with suggestions how to improve it and the rest as they say it’s history. Any project has cracks that you can squeeze another language , the curious will the express interest and wonder “what this Pharo is ?”. I think that probably the best way to promote a language instead of trying to convince them how great it is. When language is used for such small tasks none will ask where they will find Smalltalk devs because it’s easy to learn any language for very simple tasks. Humans are curious by nature and they love a nice mystery. You don’t have to convert an entire project to Pharo, the import thing is to ignite interest. Or as the saying goes “actions speak louder than words” ;) On Thu, 19 Oct 2017 at 10:05, Paulo R. Dellani <[hidden email]> wrote: Dear all, |
In reply to this post by dellani
I'm sure this comes up with many less main stream languages - I think there is a strong argument (particularly if we get the GitHub piece operating smoothly) that the language is so simple that what you creating is domain understanding (not language/tools prowess).
Any good developer (particularly a Ruby, Groovy, JS, Objective C or even Python) dev will find Smalltalk a doddle. The complexity is actually in the domain. We also have a vibrant and active community that has been around a long time and is willing to help as well as lots of free online training materials. Put another way - you can use a language like Java but if you left, the complexity of build and deployment and understanding the domain is a huge hurdle even though it's s popular language. I've dipped in and out of Smalltalk throughout my career and a few years ago came back after 10+ years (so had basically forgotten most of it) and was stunned that I was productive in that team after 1 day once they showed me how to inspect items in the UI and navigate to tests. I've never encountered that on a project before. Tim Sent from my iPhone > On 19 Oct 2017, at 08:04, Paulo R. Dellani <[hidden email]> wrote: > > Dear all, > > after using Smalltalk for several years I developed a passion for the > language (how not to?), and Pharo is just so great to develop with. > So thank you guys for keeping this wonderful project running. > > Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? > > Cheers, > > Paulo > > |
In reply to this post by dellani
This is super easy.
- You ask here, - Second then you try to grab the best open-minded guys you know and they will use the super cool mooc and learn Pharo in a week or two. You can tell them that we are not teaching Pharo and still students good in Java learn it before their internships. For a good dev it takes really no time to catch up. Stef On Thu, Oct 19, 2017 at 9:04 AM, Paulo R. Dellani <[hidden email]> wrote: > Dear all, > > after using Smalltalk for several years I developed a passion for the > language (how not to?), and Pharo is just so great to develop with. > So thank you guys for keeping this wonderful project running. > > Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? > > Cheers, > > Paulo > > |
In reply to this post by dellani
In addition to the excellent replies you have already received I would
like to offer this from Stack Overflow. In their 2017 Developer Survey, Smalltalk was the second most loved language at 67% of developers surveyed. This is a regular occurrence. Now if you look at the rest of the survey you will see that these are not people using Smalltalk in their job. Smalltalk doesn't appear elsewhere in the survey. It isn't on the radar. However, developers love Smalltalk. Should a shop be open minded enough to use Smalltalk, I do not think it would be difficult to find people who would love to have that opportunity. A good developer can become proficient at Smalltalk in a reasonable amount of time. In addition to the natural virtues of Smalltalk. You also have wonderful communities eager and ready to help people join the family and become productive. The Pharo and Squeak mailing lists are very friendly, with plenty of extremely knowledgeable programmers ready to help. The other nice thing about Smalltalk is that it has history. It is not a fad. It is not an immature child. Many Smalltalkers have more years experience in Smalltalk than some of the creators of other languages have birthdays. There is a vast amount of knowledge and experience in this community that doesn't exist in most places. Because of this environment, an experienced programmer can receive wisdom and understanding and become a better programmer. Do not underestimate the value of gray beard Smalltalkers. A person can read the survey and come away thinking that Smalltalk is irrelevant. It is very relevant. It just isn't as visible as other languages clamoring for the spotlight. It is mature. It doesn't care to be the cool kid. Yes, OSS Smalltalks have some weaknesses that are actively being worked on. We haven't arrived. But we are well on the journey. And to quote our favorite prophet Alan Kay, "The best way to predict the future is to invent it." Join us. Help invent the future. Use Pharo to invent the future you want. There are people out there who want to be a part of this. But they have to pay the bills. Help more people pay the bills with Smalltalk. :) Jimmie On 10/19/2017 02:04 AM, Paulo R. Dellani wrote: > Dear all, > > after using Smalltalk for several years I developed a passion for the > language (how not to?), and Pharo is just so great to develop with. > So thank you guys for keeping this wonderful project running. > > Unfortunately, it is not easy to always point out why Smalltalk > should be employed as "main development language" in a team > or for a project. In the last discussion of this sort I was confronted > with the question "where are we going to get new smalltalk > developers if our startup grows or if you go?". Well, I had no > good answer to that. What would have you answered? > > Cheers, > > Paulo > > |
In reply to this post by dellani
On Thu, Oct 19, 2017 at 3:04 PM, Paulo R. Dellani <[hidden email]> wrote: Dear all, When Smalltalk comes up on reddit, news.ycombinator, etc, I often see comments "Used Smalltalk 10 years ago, loved it, but not in my day job for years ..." The guess the lack of a good business oriented OSS Smalltalk years ago may be to blame. Only supposition, but with the long history of Smalltalker, the pool to draw from may be greater than first apparent. The main problem may be that these people are not searching for Smalltalk jobs due to the perceived availability of jobs. There would obviously be some lag, but for longer term planning, talk to your local education providers about introducing Smalltalk as the "best" environment for teaching OO, and then take the talented students from there. Consider contacting the academic partners here... Another approach depending on the project structure might be to "just" prototype in Smalltalk (because its highly productive to explore a domain with its built in data persistence) and per Fred Brooks plan to throw it away to cleanly implement in a mainstream language once you "know" what needs to be done. I remember seeing one case reported here that the prototype worked so well that the client didn't bother with the second step. cheers -ben |
Dear Ben, Jimmie, Stephane, Tim, Dimitris, Marten, Davorin, Stephan,
Sebastian and James,
thank you for your feedback! Your excellent replies will sure help me with my "Smalltalk Argument". Obviously the language cannot be employed to efficiently implement solutions for problems in all domains, but it cannot simply be ruled out just because it is not so visible as other languages clamoring for the spotlight, as Jimmie pointed out. So far I got good results that can talk for themselves thanks to Pharo/Smalltalk. So the problem here, I believe, is really Smalltalk not being the "cool kid in town", which leads to a misperception of the language by the non-versed. This can be certainly be blamed to the lack of a good business oriented OSS Smalltalk years ago, as Ben guessed, but certainly there are other factors, which are not the scope of this discussion. The fact that a good OO-software developer can learn and start to get productive in Smalltalk in a relatively short amount of time, as pointed out by several of you, will make a good argument against the concerns of my colleagues here, which are mainly non-software developers. And surely the willingness to learn a new language is a sign to be looked at in a candidate, as pointed by you too. The second most loved language by 67% of developers surveyed cannot simply be ruled out because of unfounded concerns. (Thanks again for the information, Jimmie). I think there is really a great potential here, and surely there is a greater pool of developer candidates to "draw from" than one can initially imagine/see. Cheers, Paulo On 10/20/2017 12:17 AM, Ben Coman
wrote:
|
In reply to this post by itlists@schrievkrom.de
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:[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 |
I think you have nailed it, Joachim!
The development environment is per se very productive and easy to use and learn but at the moment you need something that isn't present in your code library, things can get very hard. Well, that's not really new and not only a problem that concerns Smalltalk, but with the greater number of developers in other languages chances are that someone already wrote some code concerning your needs. Well I will go back to my coding here now ;-) Cheers, Paulo On 10/20/2017 09:23 AM, [hidden email] 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 > > |
In reply to this post by dellani
I do not want to spoil the party (perhaps I've done this already) - but
has anyone done a serious inspection of this number: 67%. They have interviewed 64000 persons and 67% of the people should "love" Smalltalk? Come on, that seems to be not possible. Perhaps 67% of the user already using Smalltalk "love" that. By the way - the most loved platform is Linux (69%) ... Marten Am 20.10.2017 um 09:19 schrieb Paulo R. Dellani: > > The second most loved language by 67% of developers surveyed cannot simply > be ruled out because of unfounded concerns. (Thanks again for the -- Marten Feldtmann |
I also do not believe my eyes:
https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted On 10/20/2017 10:20 AM, Marten Feldtmann wrote: > I do not want to spoil the party (perhaps I've done this already) - but > has anyone done a serious inspection of this number: 67%. > > They have interviewed 64000 persons and 67% of the people should "love" > Smalltalk? Come on, that seems to be not possible. Perhaps 67% of the > user already using Smalltalk "love" that. > > By the way - the most loved platform is Linux (69%) ... > > > Marten > > Am 20.10.2017 um 09:19 schrieb Paulo R. Dellani: > >> The second most loved language by 67% of developers surveyed cannot simply >> be ruled out because of unfounded concerns. (Thanks again for the > |
In reply to this post by itlists@schrievkrom.de
2017-10-20 10:20 GMT+02:00 Marten Feldtmann <[hidden email]>: I do not want to spoil the party (perhaps I've done this already) - but As far as I understand it, the question was different. They asked, if you use Smalltalk, would you like to use it the next year too (or something like that). Then the number makes more sense. -- Pavel
|
On 10/20/2017 10:38 AM, Pavel Krivanek wrote:
You are right, look at the legend of the graphic: "% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it" Cheers, Paulo |
In reply to this post by jtuchel
On 20-10-17 09:23, [hidden email] wrote:
> And, to be honest: what is it we actually are better in by using Smalltalk? Making software that stays maintainable. It might be survivor bias, but smalltalk systems continue to be maintained by far smaller groups of developers than competing technologies. Stephan |
Free forum by Nabble | Edit this page |