Some facts and figures about pharo gaining momentum?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Some facts and figures about pharo gaining momentum?

Andrei Stebakov
Hi!

Do we as a community have some proofs in numbers that the popularity of smalltalk grows?
I saw some articles that have some proofs that smalltalk is on the rise, but for my presentation I'd like to back it up with some numbers if possible. 
You know, it's one thing when you preach to the choir but quite another when you talk to some die-hard Java or JavaScript devs! 
Any ideas about some great convincing material is also very welcome!
Reply | Threaded
Open this post in threaded view
|

Re: Some facts and figures about pharo gaining momentum?

kilon.alios
You can check the github repos, github allows you to browse project repos per
language. You could probably automate that from Pharo, use the Github API
like Iceberg does fetch the names of all projects using smalltalk language
and check to see which ones have commits the last year and then make a nice
graph using Roassal. You could do that also periodically to track the growth
in popularity.

Github is the center place for everything open source, Pharo and Squeak are
more tricky because they each have their own hosting sites squeaksource for
Squeak and smalltalkhub for Pharo but I think most modern Pharo projects
seem to have made the jump to github too.

But even with Smalltalkhub there should be some API lurking in there
although I suspect it will be undocumented and a lot trickier to get it
working.

Another source is Google trends, but I dont think google search is very
reliable because smalltalk is a regular word that is not 99.99% of the time
used to mean the programming language, so you will have to use terms like
"smalltalk programming" (this is the primary method that the TIOBE INDEX is
using for all its languages) but even that wont be very reliable.

Technically speaking language popularity is a can of worms, there is a huge
disagreement even which are the TOP 10 most popular programming languages
right now. Even the TOP 3 can widely fluctuate. So as you can imagine
keeping track of something as unpopular as smalltalk is going to be quite a
challange.

For example "everyone" seem to agree that there is very little reason
nowdays to use C over C++, cause "C++ is a much better C with objects" , on
the other hand language popularity websites seem to disagree with "everyone"
because not only they have C in top 10 but in many cases its more popular
than C++ and to put more insult to the sin they also show it shrinking way
slower than C++ in popularity. Such an example is TIOBE

https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/c/
https://www.tiobe.com/tiobe-index/cplusplus/
 
If we cannot even agree with C vs C++ imagine Smalltalk vs The REST.

But I think Github API is a good place to start. The worst place to start is
asking people for opinion and reading blog posts , hackernews, twitter,
facebook or whatever else "hipster" thing, especially stackoverflow and
medium.

In the end language popularity is a hopeless cause. In theory everyone
cares, in practice, none does.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply | Threaded
Open this post in threaded view
|

Re: Some facts and figures about pharo gaining momentum?

Andrei Stebakov
Thanks, Kilon for such an insightful answer. Lots of stuff to think about.
I guess what I was waiting for is some success stories (which we already have on the website), but coming from you guys as consultants saying something like: "oh, this year I have more projects than last year" or "now my network of Smalltalk aware customers is that much bigger" or "a friend of mine who works in company XYZ says that after some consideration they started to use Pharo for micro services instead of Java".
I know, it's hard to measure the success level in numbers (other than the example you gave with github stats), more like the word of mouth kind of thing. 
Another metrix could be the subscription rate for this mailing list, since chances are that most of new Pharo users would be on it and the acceleration of that rate would definitely say something about Pharo success. Wondering if we have access to that data.
Thanks for your insight!

On Thu, Jul 5, 2018, 13:20 kilon.alios <[hidden email]> wrote:
You can check the github repos, github allows you to browse project repos per
language. You could probably automate that from Pharo, use the Github API
like Iceberg does fetch the names of all projects using smalltalk language
and check to see which ones have commits the last year and then make a nice
graph using Roassal. You could do that also periodically to track the growth
in popularity.

Github is the center place for everything open source, Pharo and Squeak are
more tricky because they each have their own hosting sites squeaksource for
Squeak and smalltalkhub for Pharo but I think most modern Pharo projects
seem to have made the jump to github too.

But even with Smalltalkhub there should be some API lurking in there
although I suspect it will be undocumented and a lot trickier to get it
working.

Another source is Google trends, but I dont think google search is very
reliable because smalltalk is a regular word that is not 99.99% of the time
used to mean the programming language, so you will have to use terms like
"smalltalk programming" (this is the primary method that the TIOBE INDEX is
using for all its languages) but even that wont be very reliable.

Technically speaking language popularity is a can of worms, there is a huge
disagreement even which are the TOP 10 most popular programming languages
right now. Even the TOP 3 can widely fluctuate. So as you can imagine
keeping track of something as unpopular as smalltalk is going to be quite a
challange.

For example "everyone" seem to agree that there is very little reason
nowdays to use C over C++, cause "C++ is a much better C with objects" , on
the other hand language popularity websites seem to disagree with "everyone"
because not only they have C in top 10 but in many cases its more popular
than C++ and to put more insult to the sin they also show it shrinking way
slower than C++ in popularity. Such an example is TIOBE

https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/c/
https://www.tiobe.com/tiobe-index/cplusplus/

If we cannot even agree with C vs C++ imagine Smalltalk vs The REST.

But I think Github API is a good place to start. The worst place to start is
asking people for opinion and reading blog posts , hackernews, twitter,
facebook or whatever else "hipster" thing, especially stackoverflow and
medium.

In the end language popularity is a hopeless cause. In theory everyone
cares, in practice, none does.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply | Threaded
Open this post in threaded view
|

Re: Some facts and figures about pharo gaining momentum?

kilon.alios
Pharo success in in the website, twitter and youtube channel.

Popularity wise the clear indication is community, I joined Pharo back in 2011 when it was already 3 years old and we had only one active mailing list , pharo-dev, pharo-users were practically unused. Then we got so  many new people we had to move to pharo-users and keep pharo-dev only for the code going inside pharo standard distribution , then we grown even more and we started using Slack. Then I had the idea to move us to Discord, our Discord server ended up having way more channels than Slack. So we are definetly growing , how much is the real hard thing to determine.

Even if you take Github to account you will have to ignore all forks, because many Github users, including me, tend to use forks as mere bookmarks. So one's forks the project and ends never using it but the fork will also report commits that coming from the original repo. Coding like anything else in live is too complex to describe in numbers and stats.

I think the best way to sell any language is to do your research, the person or people who you want to convince, you have to know what they are interested about, web dev, databases, embeded computing etc. Instead of stats provided them with libraries and documentation. Anyone come making a super cool project but usually for a developers it far important to know that the "cool" language someone else is praising actually has the libraries you may need. 

I for example don't care at all for web dev, I don't even like it, or databases, but I love graphics and sound. So I won't care for Seaside, PharoJS etc. But Pharo Sound and Woden is two projects that are very interesting to me. Like a recent video publiced by Pharo in youtube about people using Woden (a 3d graphics engines made in Pharo) to do VR. If I never used Pharo before that definetly would tempt it, taking into account that VR is not even that widely available even with most popular languages.

Take for example Ruby, none really cared that no company made an amazing project in the language, what they cared was that a solo dev decided to make that amazing web dev library called Ruby On Rails and then , BOOM, Ruby exploded in popularity. Python's also popularity is purely on its library set solely, third party. Java is not the rule , it actually the exemption , merely for the practical fact that very few language can afford support from big companies. Python's creator did not even intend to make a programming language, its just made it to automate command line tasks because he was not so much into the Bash alternatives. He tried to even stop them from using it as C++ alternative, too late, Python is the standard in the scientific community. Basic started as just a language to teach kids and then it took over the world via home computers. People making pro apps in Basic, ridiculous, hello Visual Basic. Smalltalk started mainly as research project. Lisp as a purely theoretical mathematical concept.

So my advice is not to worry much about it, just find the libraries that people need in Pharo and that will be far more than enough to convince them to take the plunge. Available project in any language are nothing more than a tiny fraction of the language's potential, the big hot potatoes are performance (none likes slow code), libraries (everyone is lazy) and documentation (none likes to decipher other's people code).

People don't hide the fact that they use Pharo , afterall that's the whole idea of this mailing list to share your success and failures with Pharo and ask questions about it.

But you don't mean much to sell a language , afterall one thing all language popularity websites agree on is that almost 50% of the code out there is written for tiny project in languages none cares about. I am talking about languages like Pharo that end up having a popularity way bellow 0.01% . There is a reason we have thousands of languages to choose from and it ain't popular projects ;)

On Thu, Jul 5, 2018 at 10:01 PM Andrei Stebakov <[hidden email]> wrote:
Thanks, Kilon for such an insightful answer. Lots of stuff to think about.
I guess what I was waiting for is some success stories (which we already have on the website), but coming from you guys as consultants saying something like: "oh, this year I have more projects than last year" or "now my network of Smalltalk aware customers is that much bigger" or "a friend of mine who works in company XYZ says that after some consideration they started to use Pharo for micro services instead of Java".
I know, it's hard to measure the success level in numbers (other than the example you gave with github stats), more like the word of mouth kind of thing. 
Another metrix could be the subscription rate for this mailing list, since chances are that most of new Pharo users would be on it and the acceleration of that rate would definitely say something about Pharo success. Wondering if we have access to that data.
Thanks for your insight!

On Thu, Jul 5, 2018, 13:20 kilon.alios <[hidden email]> wrote:
You can check the github repos, github allows you to browse project repos per
language. You could probably automate that from Pharo, use the Github API
like Iceberg does fetch the names of all projects using smalltalk language
and check to see which ones have commits the last year and then make a nice
graph using Roassal. You could do that also periodically to track the growth
in popularity.

Github is the center place for everything open source, Pharo and Squeak are
more tricky because they each have their own hosting sites squeaksource for
Squeak and smalltalkhub for Pharo but I think most modern Pharo projects
seem to have made the jump to github too.

But even with Smalltalkhub there should be some API lurking in there
although I suspect it will be undocumented and a lot trickier to get it
working.

Another source is Google trends, but I dont think google search is very
reliable because smalltalk is a regular word that is not 99.99% of the time
used to mean the programming language, so you will have to use terms like
"smalltalk programming" (this is the primary method that the TIOBE INDEX is
using for all its languages) but even that wont be very reliable.

Technically speaking language popularity is a can of worms, there is a huge
disagreement even which are the TOP 10 most popular programming languages
right now. Even the TOP 3 can widely fluctuate. So as you can imagine
keeping track of something as unpopular as smalltalk is going to be quite a
challange.

For example "everyone" seem to agree that there is very little reason
nowdays to use C over C++, cause "C++ is a much better C with objects" , on
the other hand language popularity websites seem to disagree with "everyone"
because not only they have C in top 10 but in many cases its more popular
than C++ and to put more insult to the sin they also show it shrinking way
slower than C++ in popularity. Such an example is TIOBE

https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/c/
https://www.tiobe.com/tiobe-index/cplusplus/

If we cannot even agree with C vs C++ imagine Smalltalk vs The REST.

But I think Github API is a good place to start. The worst place to start is
asking people for opinion and reading blog posts , hackernews, twitter,
facebook or whatever else "hipster" thing, especially stackoverflow and
medium.

In the end language popularity is a hopeless cause. In theory everyone
cares, in practice, none does.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply | Threaded
Open this post in threaded view
|

Re: Some facts and figures about pharo gaining momentum?

Andrei Stebakov
Thanks, Dimitris for your take on the popularity of Pharo and languages in general. I totally agree with most of it, especially when it comes to choosing a language for your personal project or a small startup, you just start with the library that has most of the features you are looking for making sure that the performance is adequate for your needs.
When it comes to big corporations they are much less agile in switching their technology and they consider it as a big investment with many other factors to consider.
The size of the language community plays an important role since nobody wants to invest in a language that may go extinct in a little while. Also if the library of your interest has a low "bus factor' I.e the number of contributors, it's a risky investment as the lib may get abandoned shorty. 
One of the biggest factors which derives from the community size is the number of developers on the market. Companies go with Java mostly because of the abundance of devs on the market (of course the libraries play a very important role here as well).
I think Pharo has made a good strategic move to use git as its major VCS, hopefully all projects will move there and it will gain in popularity even more because of that. I know some companies transitioned from VisualWorks smalltalk to Java mainly because of unwieldy and archaic VCS that goes with it (there were also concerns about the ability of Cincom to maintain the language in the long term).
Also the ability of the language to be general purpose to cover many domains like you mentioned plays a very important role since today the company may only consider it as a platform to create desctop applications but tomorrow when they switch to microservises they want to continue using it for web development. The broader the range the better.

On Thu, Jul 5, 2018, 18:15 Dimitris Chloupis <[hidden email]> wrote:
Pharo success in in the website, twitter and youtube channel.

Popularity wise the clear indication is community, I joined Pharo back in 2011 when it was already 3 years old and we had only one active mailing list , pharo-dev, pharo-users were practically unused. Then we got so  many new people we had to move to pharo-users and keep pharo-dev only for the code going inside pharo standard distribution , then we grown even more and we started using Slack. Then I had the idea to move us to Discord, our Discord server ended up having way more channels than Slack. So we are definetly growing , how much is the real hard thing to determine.

Even if you take Github to account you will have to ignore all forks, because many Github users, including me, tend to use forks as mere bookmarks. So one's forks the project and ends never using it but the fork will also report commits that coming from the original repo. Coding like anything else in live is too complex to describe in numbers and stats.

I think the best way to sell any language is to do your research, the person or people who you want to convince, you have to know what they are interested about, web dev, databases, embeded computing etc. Instead of stats provided them with libraries and documentation. Anyone come making a super cool project but usually for a developers it far important to know that the "cool" language someone else is praising actually has the libraries you may need. 

I for example don't care at all for web dev, I don't even like it, or databases, but I love graphics and sound. So I won't care for Seaside, PharoJS etc. But Pharo Sound and Woden is two projects that are very interesting to me. Like a recent video publiced by Pharo in youtube about people using Woden (a 3d graphics engines made in Pharo) to do VR. If I never used Pharo before that definetly would tempt it, taking into account that VR is not even that widely available even with most popular languages.

Take for example Ruby, none really cared that no company made an amazing project in the language, what they cared was that a solo dev decided to make that amazing web dev library called Ruby On Rails and then , BOOM, Ruby exploded in popularity. Python's also popularity is purely on its library set solely, third party. Java is not the rule , it actually the exemption , merely for the practical fact that very few language can afford support from big companies. Python's creator did not even intend to make a programming language, its just made it to automate command line tasks because he was not so much into the Bash alternatives. He tried to even stop them from using it as C++ alternative, too late, Python is the standard in the scientific community. Basic started as just a language to teach kids and then it took over the world via home computers. People making pro apps in Basic, ridiculous, hello Visual Basic. Smalltalk started mainly as research project. Lisp as a purely theoretical mathematical concept.

So my advice is not to worry much about it, just find the libraries that people need in Pharo and that will be far more than enough to convince them to take the plunge. Available project in any language are nothing more than a tiny fraction of the language's potential, the big hot potatoes are performance (none likes slow code), libraries (everyone is lazy) and documentation (none likes to decipher other's people code).

People don't hide the fact that they use Pharo , afterall that's the whole idea of this mailing list to share your success and failures with Pharo and ask questions about it.

But you don't mean much to sell a language , afterall one thing all language popularity websites agree on is that almost 50% of the code out there is written for tiny project in languages none cares about. I am talking about languages like Pharo that end up having a popularity way bellow 0.01% . There is a reason we have thousands of languages to choose from and it ain't popular projects ;)

On Thu, Jul 5, 2018 at 10:01 PM Andrei Stebakov <[hidden email]> wrote:
Thanks, Kilon for such an insightful answer. Lots of stuff to think about.
I guess what I was waiting for is some success stories (which we already have on the website), but coming from you guys as consultants saying something like: "oh, this year I have more projects than last year" or "now my network of Smalltalk aware customers is that much bigger" or "a friend of mine who works in company XYZ says that after some consideration they started to use Pharo for micro services instead of Java".
I know, it's hard to measure the success level in numbers (other than the example you gave with github stats), more like the word of mouth kind of thing. 
Another metrix could be the subscription rate for this mailing list, since chances are that most of new Pharo users would be on it and the acceleration of that rate would definitely say something about Pharo success. Wondering if we have access to that data.
Thanks for your insight!

On Thu, Jul 5, 2018, 13:20 kilon.alios <[hidden email]> wrote:
You can check the github repos, github allows you to browse project repos per
language. You could probably automate that from Pharo, use the Github API
like Iceberg does fetch the names of all projects using smalltalk language
and check to see which ones have commits the last year and then make a nice
graph using Roassal. You could do that also periodically to track the growth
in popularity.

Github is the center place for everything open source, Pharo and Squeak are
more tricky because they each have their own hosting sites squeaksource for
Squeak and smalltalkhub for Pharo but I think most modern Pharo projects
seem to have made the jump to github too.

But even with Smalltalkhub there should be some API lurking in there
although I suspect it will be undocumented and a lot trickier to get it
working.

Another source is Google trends, but I dont think google search is very
reliable because smalltalk is a regular word that is not 99.99% of the time
used to mean the programming language, so you will have to use terms like
"smalltalk programming" (this is the primary method that the TIOBE INDEX is
using for all its languages) but even that wont be very reliable.

Technically speaking language popularity is a can of worms, there is a huge
disagreement even which are the TOP 10 most popular programming languages
right now. Even the TOP 3 can widely fluctuate. So as you can imagine
keeping track of something as unpopular as smalltalk is going to be quite a
challange.

For example "everyone" seem to agree that there is very little reason
nowdays to use C over C++, cause "C++ is a much better C with objects" , on
the other hand language popularity websites seem to disagree with "everyone"
because not only they have C in top 10 but in many cases its more popular
than C++ and to put more insult to the sin they also show it shrinking way
slower than C++ in popularity. Such an example is TIOBE

https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/c/
https://www.tiobe.com/tiobe-index/cplusplus/

If we cannot even agree with C vs C++ imagine Smalltalk vs The REST.

But I think Github API is a good place to start. The worst place to start is
asking people for opinion and reading blog posts , hackernews, twitter,
facebook or whatever else "hipster" thing, especially stackoverflow and
medium.

In the end language popularity is a hopeless cause. In theory everyone
cares, in practice, none does.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html

Reply | Threaded
Open this post in threaded view
|

Re: Some facts and figures about pharo gaining momentum?

EstebanLM
In reply to this post by Andrei Stebakov
Hi,

One think that is not measurable but is certainly there is the fact that we cannot keep a track of people using Pharo. We are always amazed about people we never seen before suddenly appears asking for help on something (which is sad, because we have more notice of people who has problems than the amount of people who succeeds and does not participates). 

Been part of a community is not the first impulse of programmers. I know for example in Argentina there are many more users of Pharo than those who pumps into the list time to time, but lack of open source culture (even if most people use just open source project) and also problems to master english (or at lease handle it enough to be understandable, as my self ;) ) makes people not to be very visible. 

That happens a lot in other places, and sadly we just know about them when they have problems… this is like out of topic, but still a way to measure: we as Pharo developers cannot track anymore how many users we have, and that’s a good thing.

Esteban

On 5 Jul 2018, at 21:00, Andrei Stebakov <[hidden email]> wrote:

Thanks, Kilon for such an insightful answer. Lots of stuff to think about.
I guess what I was waiting for is some success stories (which we already have on the website), but coming from you guys as consultants saying something like: "oh, this year I have more projects than last year" or "now my network of Smalltalk aware customers is that much bigger" or "a friend of mine who works in company XYZ says that after some consideration they started to use Pharo for micro services instead of Java".
I know, it's hard to measure the success level in numbers (other than the example you gave with github stats), more like the word of mouth kind of thing. 
Another metrix could be the subscription rate for this mailing list, since chances are that most of new Pharo users would be on it and the acceleration of that rate would definitely say something about Pharo success. Wondering if we have access to that data.
Thanks for your insight!

On Thu, Jul 5, 2018, 13:20 kilon.alios <[hidden email]> wrote:
You can check the github repos, github allows you to browse project repos per
language. You could probably automate that from Pharo, use the Github API
like Iceberg does fetch the names of all projects using smalltalk language
and check to see which ones have commits the last year and then make a nice
graph using Roassal. You could do that also periodically to track the growth
in popularity.

Github is the center place for everything open source, Pharo and Squeak are
more tricky because they each have their own hosting sites squeaksource for
Squeak and smalltalkhub for Pharo but I think most modern Pharo projects
seem to have made the jump to github too.

But even with Smalltalkhub there should be some API lurking in there
although I suspect it will be undocumented and a lot trickier to get it
working.

Another source is Google trends, but I dont think google search is very
reliable because smalltalk is a regular word that is not 99.99% of the time
used to mean the programming language, so you will have to use terms like
"smalltalk programming" (this is the primary method that the TIOBE INDEX is
using for all its languages) but even that wont be very reliable.

Technically speaking language popularity is a can of worms, there is a huge
disagreement even which are the TOP 10 most popular programming languages
right now. Even the TOP 3 can widely fluctuate. So as you can imagine
keeping track of something as unpopular as smalltalk is going to be quite a
challange.

For example "everyone" seem to agree that there is very little reason
nowdays to use C over C++, cause "C++ is a much better C with objects" , on
the other hand language popularity websites seem to disagree with "everyone"
because not only they have C in top 10 but in many cases its more popular
than C++ and to put more insult to the sin they also show it shrinking way
slower than C++ in popularity. Such an example is TIOBE

https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/c/
https://www.tiobe.com/tiobe-index/cplusplus/

If we cannot even agree with C vs C++ imagine Smalltalk vs The REST.

But I think Github API is a good place to start. The worst place to start is
asking people for opinion and reading blog posts , hackernews, twitter,
facebook or whatever else "hipster" thing, especially stackoverflow and
medium.

In the end language popularity is a hopeless cause. In theory everyone
cares, in practice, none does.



--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html