Discussion:
Rapid growth in Python popularity
Eviatar
2011-02-16 03:31:20 UTC
Permalink
Hello,

I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.

I think this is an extraordinary success for Python, and can only be
good for Sage.
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Eviatar
2011-02-16 03:32:35 UTC
Permalink
Here is the data: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Dr. David Kirkby
2011-02-16 12:55:42 UTC
Permalink
Post by Eviatar
Hello,
I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.
I think this is an extraordinary success for Python, and can only be
good for Sage.
I'm somewhat suspicious of that data. For example, Lisp is #14, MATLAB #29 and
LabVIEW #47.

Do a job search on monstir.com or similar and see how many jobs want Lisp
programmers compared to MATLAB and Labview. I really can't believe that Lisp is
ahead of MATLAB or Labview,
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
William Stein
2011-02-16 15:16:36 UTC
Permalink
On Wed, Feb 16, 2011 at 4:55 AM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by Eviatar
Hello,
I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.
I think this is an extraordinary success for Python, and can only be
good for Sage.
I'm somewhat suspicious of that data. For example, Lisp is #14, MATLAB #29
and LabVIEW #47.
Do a job search on monstir.com or similar and see how many jobs want Lisp
programmers compared to MATLAB and Labview.
They define what they are actually measuring here:

http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

They claim all they are doing is a weighted count of the number of
hits for +"<language> programming" on
Google/YouTube/Blogger/Wikipedia/etc.

I just tried a few searches of the form +"<language> programming" on
just Google, and indeed Python is way ahead of many other languages,
but java/C/C++/.NET are way ahead of Python. Lisp returns less than
10% the number of results as Python.
Post by Dr. David Kirkby
I really can't believe that Lisp is ahead of MATLAB or Labview,
Indeed -- when doing the search "+lisp programming" and "+matlab
programming", definitely matlab comes out ahead. However, Google
only counts for 33% right now in the TIOBE ranking.

So I think the TIOBE page precisely defines what they are measuring,
and I think it is at least reasonable that they are correctly
reporting their results. The claim on their page is that what
they report "can be used to check whether your programming skills are
still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system."

William
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Eviatar
2011-02-16 17:29:31 UTC
Permalink
Yes, exactly. I don't think many are looking to learn LabView over the
internet (since it serves such a specific purpose), but it is used in
the industry, something that TIOBE can't measure.
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Dr. David Kirkby
2011-02-16 23:42:42 UTC
Permalink
Post by Eviatar
Yes, exactly. I don't think many are looking to learn LabView over the
internet (since it serves such a specific purpose), but it is used in
the industry, something that TIOBE can't measure.
Well, they could if they searched for job adverts on job sites. But they don't
seem to do that.
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?

Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Dr. David Kirkby
2011-02-16 23:41:12 UTC
Permalink
Post by William Stein
On Wed, Feb 16, 2011 at 4:55 AM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by Eviatar
Hello,
I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.
I think this is an extraordinary success for Python, and can only be
good for Sage.
I'm somewhat suspicious of that data. For example, Lisp is #14, MATLAB #29
and LabVIEW #47.
Do a job search on monstir.com or similar and see how many jobs want Lisp
programmers compared to MATLAB and Labview.
http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm
They claim all they are doing is a weighted count of the number of
hits for +"<language> programming" on
Google/YouTube/Blogger/Wikipedia/etc.
I just tried a few searches of the form +"<language> programming" on
just Google, and indeed Python is way ahead of many other languages,
but java/C/C++/.NET are way ahead of Python. Lisp returns less than
10% the number of results as Python.
.NET is one that surprised me. Visual Basic .NET comes in at #22 on the TIOBE
list. That's the first mention of .NET. Again, well behind Lisp.

There are over 1000 jobs on monstir.com mentioning .NET, compared to 2 with Lisp.

So can anyone seriously believe that TIOBE's cliam:

"can be used to check whether your programming skills are
still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system."

According to TIOBE's stats I'd be better learning Lisp than .NET, yet there are
more than 500 times as many jobs on Monstir mentioning .NET compared to Lisp.

Note Mathematica is nowhere to be found. I have seen the odd jobs on Monstir
where Mathematica skills were desirable or needed, but they have been very few.
There are none at the minute. This is why I have some difficulty in believing
the claims from Wolfram Research about the number of users in industry. The web
site gives the impression Mathematica is used a lot in industry, but that does
not seem to be backed up by the number of job adverts mentioning the tool.

http://www.wolfram.com/solutions/

Perhaps monstir.com is not the best source of information, but I think that
reflects current usage in industry more accurately than blog posts, Wikipedia or
Google can be. Lots of the information on these sites is very old.

I'm not disputing the claims about Python - I have no evidence to suggest they
are right or wrong. But I don't trust TIOBE's stats myself. I'm not disputing
they are an accurate from their data collection methods, but I suggest their
methods of collecting data are not very good.

Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Robert Bradshaw
2011-02-17 00:08:54 UTC
Permalink
On Wed, Feb 16, 2011 at 3:41 PM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by William Stein
On Wed, Feb 16, 2011 at 4:55 AM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by Eviatar
Hello,
I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.
I think this is an extraordinary success for Python, and can only be
good for Sage.
I'm somewhat suspicious of that data. For example, Lisp is #14, MATLAB #29
and LabVIEW #47.
Do a job search on monstir.com or similar and see how many jobs want Lisp
programmers compared to MATLAB and Labview.
http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm
They claim all they are doing is a weighted count of the number of
hits for +"<language>  programming" on
Google/YouTube/Blogger/Wikipedia/etc.
I just tried a few searches of the form +"<language>  programming" on
just Google, and indeed Python is way ahead of many other languages,
but java/C/C++/.NET are way ahead of Python.  Lisp returns less than
10% the number of results as Python.
.NET is one that surprised me. Visual Basic .NET comes in at #22 on the
TIOBE list. That's the first mention of .NET. Again, well behind Lisp.
There are over 1000 jobs on monstir.com mentioning .NET, compared to 2 with Lisp.
"can be used to check whether your programming skills are
still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system."
According to TIOBE's stats I'd be better learning Lisp than .NET, yet there
are more than 500 times as many jobs on Monstir mentioning .NET compared to
Lisp.
Note Mathematica is nowhere to be found. I have seen the odd jobs on Monstir
where Mathematica skills were desirable or needed, but they have been very
few. There are none at the minute. This is why I have some difficulty in
believing the claims from Wolfram Research about the number of users in
industry. The web site gives the impression Mathematica is used a lot in
industry, but that does not seem to be backed up by the number of job
adverts mentioning the tool.
http://www.wolfram.com/solutions/
Perhaps monstir.com is not the best source of information, but I think that
reflects current usage in industry more accurately than blog posts,
Wikipedia or Google can be. Lots of the information on these sites is very
old.
Of course monster.com has a bias towards entry-level, high-turnover,
and hard-to-fill positions. Perhaps Lisp is not high on that list
because programming in Lisp doesn't burn you out as fast as
programming with .NET, and it's easy to find people who want to code
with Lisp? (People don't resort to monster.com until word-of-mouth
advertising and internal referrals have dried up.)
Post by Dr. David Kirkby
I'm not disputing the claims about Python - I have no evidence to suggest
they are right or wrong. But I don't trust TIOBE's stats myself. I'm not
disputing they are an accurate from their data collection methods, but I
suggest their methods of collecting data are not very good.
I think they're doing a very good job at describing precisely what
they're measuring and then collecting/plotting that data. It seems
that what you're disputing is whether the data they're collecting is
*relevant* to "check whether your programming skills are still up to
date or to make a strategic decision about what programming language
should be adopted when starting to build a new software system." which
could be a big topic of discussion, but I'd say it's certainly an
interesting metric to look at (as are job posting statistics), and
perhaps the trends even more so than the absolute numbers or rankings.

- Robert
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Bill Hart
2011-02-17 01:32:10 UTC
Permalink
What's amazing is that on IRC the most talked about language is
Python. Next is Haskell. Go figure!
Post by Robert Bradshaw
On Wed, Feb 16, 2011 at 3:41 PM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by William Stein
On Wed, Feb 16, 2011 at 4:55 AM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by Eviatar
Hello,
I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.
I think this is an extraordinary success for Python, and can only be
good for Sage.
I'm somewhat suspicious of that data. For example, Lisp is #14, MATLAB #29
and LabVIEW #47.
Do a job search on monstir.com or similar and see how many jobs want Lisp
programmers compared to MATLAB and Labview.
http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition...
They claim all they are doing is a weighted count of the number of
hits for +"<language>  programming" on
Google/YouTube/Blogger/Wikipedia/etc.
I just tried a few searches of the form +"<language>  programming" on
just Google, and indeed Python is way ahead of many other languages,
but java/C/C++/.NET are way ahead of Python.  Lisp returns less than
10% the number of results as Python.
.NET is one that surprised me. Visual Basic .NET comes in at #22 on the
TIOBE list. That's the first mention of .NET. Again, well behind Lisp.
There are over 1000 jobs on monstir.com mentioning .NET, compared to 2 with Lisp.
"can be used to check whether your programming skills are
still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system."
According to TIOBE's stats I'd be better learning Lisp than .NET, yet there
are more than 500 times as many jobs on Monstir mentioning .NET compared to
Lisp.
Note Mathematica is nowhere to be found. I have seen the odd jobs on Monstir
where Mathematica skills were desirable or needed, but they have been very
few. There are none at the minute. This is why I have some difficulty in
believing the claims from Wolfram Research about the number of users in
industry. The web site gives the impression Mathematica is used a lot in
industry, but that does not seem to be backed up by the number of job
adverts mentioning the tool.
http://www.wolfram.com/solutions/
Perhaps monstir.com is not the best source of information, but I think that
reflects current usage in industry more accurately than blog posts,
Wikipedia or Google can be. Lots of the information on these sites is very
old.
Of course monster.com has a bias towards entry-level, high-turnover,
and hard-to-fill positions. Perhaps Lisp is not high on that list
because programming in Lisp doesn't burn you out as fast as
programming with .NET, and it's easy to find people who want to code
with Lisp? (People don't resort to monster.com until word-of-mouth
advertising and internal referrals have dried up.)
Post by Dr. David Kirkby
I'm not disputing the claims about Python - I have no evidence to suggest
they are right or wrong. But I don't trust TIOBE's stats myself. I'm not
disputing they are an accurate from their data collection methods, but I
suggest their methods of collecting data are not very good.
I think they're doing a very good job at describing precisely what
they're measuring and then collecting/plotting that data. It seems
that what you're disputing is whether the data they're collecting is
*relevant* to "check whether your programming skills are still up to
date or to make a strategic decision about what programming language
should be adopted when starting to build a new software system." which
could be a big topic of discussion, but I'd say it's certainly an
interesting metric to look at (as are job posting statistics), and
perhaps the trends even more so than the absolute numbers or rankings.
- Robert
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
William Stein
2011-02-17 07:05:35 UTC
Permalink
On Wed, Feb 16, 2011 at 3:41 PM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by William Stein
On Wed, Feb 16, 2011 at 4:55 AM, Dr. David Kirkby
Post by Dr. David Kirkby
Post by Eviatar
Hello,
I have been monitoring TIOBE, a programming language popularity index.
Python has been experiencing extremely fast growth in the last few
months, rising to fourth place from seventh in a year, just behind
Java, C, and C++. It has also experienced the most increase in
popularity of any language in 2010. TIOBE uses search engines for
data, by the way, so the results are indicative of popularity in
numbers of searches, not necessarily usage.
I think this is an extraordinary success for Python, and can only be
good for Sage.
I'm somewhat suspicious of that data. For example, Lisp is #14, MATLAB #29
and LabVIEW #47.
Do a job search on monstir.com or similar and see how many jobs want Lisp
programmers compared to MATLAB and Labview.
http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm
They claim all they are doing is a weighted count of the number of
hits for +"<language>  programming" on
Google/YouTube/Blogger/Wikipedia/etc.
I just tried a few searches of the form +"<language>  programming" on
just Google, and indeed Python is way ahead of many other languages,
but java/C/C++/.NET are way ahead of Python.  Lisp returns less than
10% the number of results as Python.
.NET is one that surprised me. Visual Basic .NET comes in at #22 on the
TIOBE list. That's the first mention of .NET. Again, well behind Lisp.
There are over 1000 jobs on monstir.com mentioning .NET, compared to 2 with Lisp.
"can be used to check whether your programming skills are
still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system."
According to TIOBE's stats I'd be better learning Lisp than .NET, yet there
are more than 500 times as many jobs on Monstir mentioning .NET compared to
Lisp.
You seem to not realize that C# is the primary .NET language. It is
*number 6* in the TIOBE ranking is C#.
Post by Dr. David Kirkby
Note Mathematica is nowhere to be found. I have seen the odd jobs on Monstir
where Mathematica skills were desirable or needed, but they have been very
few. There are none at the minute. This is why I have some difficulty in
believing the claims from Wolfram Research about the number of users in
industry. The web site gives the impression Mathematica is used a lot in
industry, but that does not seem to be backed up by the number of job
adverts mentioning the tool.
It is indeed surprising that Mathematica is not on the list, since
Maple and Matlab both are, and they are clear that they do track
Mathematica. Thus it must rank below 100. Doing a search on google
for

+"mathematica programming"

gives a mere 31,000 results (compared to almost a million for Python,
about 40,000 for Maple, and about 230,000 for Matlab).

Just for fun, here's what the TIOBE-using-only-google results are for
our niche world of math software:

language hits for +"language programming"

Octave 8320
Sage 3180
GAP 2780
Singular 2090
Axiom 1150
Scilab 863
Maxima 818
Magma 566
Pari 334
Kash 10
Macaulay2 3
Fricas 3
OpenAxiom 0


NOTE: Looking at results, GAP has way more false positives than Sage,
since "gap" is a common word that can occur in the context of
programming, e.g. "Bridging the Gap: Programming Sensor Networks with
Applications" is on the first page.

William
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Tom Boothby
2011-02-17 07:34:13 UTC
Permalink
Post by William Stein
NOTE: Looking at results, GAP has way more false positives than Sage,
since "gap" is a common word that can occur in the context of
programming, e.g. "Bridging the Gap: Programming Sensor Networks with
Applications" is on the first page.
FYI, any time that I search for any sort of statistics term and Sage,
I get lots of hits at the SAGE publications site. For example,

http://google.com/search?q=sage+anova

this been increasingly problematic. But... for the conversation at
hand, I believe that there are (many) more false positives than you
might be accounting for. (though GAP probably has more)
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
David Kirkby
2011-02-17 07:40:49 UTC
Permalink
I just sent this to William, when I meant to send it to sage-devel.


---------- Forwarded message ----------
From: David Kirkby <***@onetel.net>
Date: 17 February 2011 07:39
Subject: Re: [sage-devel] Rapid growth in Python popularity
Post by Robert Bradshaw
On Wed, Feb 16, 2011 at 3:41 PM, Dr. David Kirkby
Post by Dr. David Kirkby
According to TIOBE's stats I'd be better learning Lisp than .NET, yet there
are more than 500 times as many jobs on Monstir mentioning .NET compared to
Lisp.
You seem to not realize that C# is the primary .NET language.  It is
*number 6* in the TIOBE ranking is C#.
Yes, I did not realise that.
Post by Robert Bradshaw
Post by Dr. David Kirkby
Note Mathematica is nowhere to be found. I have seen the odd jobs on Monstir
where Mathematica skills were desirable or needed, but they have been very
few. There are none at the minute. This is why I have some difficulty in
believing the claims from Wolfram Research about the number of users in
industry. The web site gives the impression Mathematica is used a lot in
industry, but that does not seem to be backed up by the number of job
adverts mentioning the tool.
It is indeed surprising that Mathematica is not on the list, since
Maple and Matlab both are, and they are clear that they do track
Mathematica.  Thus it must rank below 100.   Doing a search on google
for
Yes, which I think is a pretty good argument for not bothering to
learn it from an employment point of view. It seems very common in
academia. But outside academia, I am less convinced it is useful skill
to have. That is worth pointing out to students who might feel they
would rather use a professional tool like Mathematica, rather than a
free one like Sage.

I know MATLAB skills are quite highly sought after
Post by Robert Bradshaw
 +"mathematica programming"
gives a mere 31,000 results (compared to almost a million for Python,
about 40,000 for Maple, and about 230,000 for Matlab).
Yes, MATLAB is very common in industry. It is pretty much a de facto
standard in industry.
Post by Robert Bradshaw
Just for fun, here's what the TIOBE-using-only-google results are for
 language   hits for +"language programming"
  Octave    8320
  Sage        3180
  GAP         2780
  Singular    2090
  Axiom       1150
  Scilab        863
  Maxima     818
  Magma      566
  Pari           334
  Kash            10
  Macaulay2   3
  Fricas           3
  OpenAxiom  0
NOTE: Looking at results, GAP has way more false positives than Sage,
since "gap" is a common word that can occur in the context of
programming, e.g. "Bridging the Gap: Programming Sensor Networks with
applications" is on the first page.
William
I would expect Sage has a lot of false positives too, due to the
accounting package.

Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
William Stein
2011-02-17 07:50:03 UTC
Permalink
Post by David Kirkby
Post by William Stein
Just for fun, here's what the TIOBE-using-only-google results are for
 language   hits for +"language programming"
  Octave    8320
  Sage        3180
  GAP         2780
  Singular    2090
  Axiom       1150
  Scilab        863
  Maxima     818
  Magma      566
  Pari           334
  Kash            10
  Macaulay2   3
  Fricas           3
  OpenAxiom  0
NOTE: Looking at results, GAP has way more false positives than Sage,
since "gap" is a common word that can occur in the context of
programming, e.g. "Bridging the Gap: Programming Sensor Networks with
applications" is on the first page.
William
I would expect Sage has a lot of false positives too, due to the
accounting package.
FYI, any time that I search for any sort of statistics term and Sage,
I get lots of hits at the SAGE publications site.
Try doing the google search for +"sage programming". Surprisingly, on
the first two pages of results there aren't hits for either the Sage
accounting software or the Sage publisher. I think "programming"
reduces the number of those. There are other false positives
though. E.g., there is the Sage programming language!!
http://sage.soe.ucsc.edu/ "Sage is a prototype functional
programming language designed to provide high-coverage checking of
expressive program specifications (types). Sage allows a programmer to
specify not only simple types such as "Integers" and "Strings" but
also..." I hope Bill Hart runs off and learns it so he can tell us
if it is useful for something :-).

-- William
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Eviatar
2011-02-18 00:16:10 UTC
Permalink
I think the reason "mathematica programming" doesn't return many
results is because it is not usually perceived as a programming
language per se, rather a mathematics software. Because of this, I
think Mathematica (and MATLAB, or any specific-use programming
languages) statistics are bound to be skewed.

As for TIOBE not being accurate in its statements, I think it is. It
says, "The index can be used to check whether your programming skills
are still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system." Programming skills being up to date does not
necessarily imply industry jobs; what about academia, personal
projects, etc.? As well, language choice for software, especially that
designed for the mainstream, would more likely benefit from languages
that are more popular in the mainstream.
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Matt Goodman
2011-02-18 00:49:33 UTC
Permalink
MATLAB isn't a tool used outside of academia very often.
Its licensing makes it hard to redistribute code (like to a third party),
or even run it on a couple different workstations in a HPC sense. Its a
great tool for quick and dirty analyses, but overall its a terribly
crafted language for development with more than one developing party. I
would guess the matlab base is about 2x the scientific python community, but
the science python people are only 5%-10% of Python users. The same foes
for LabView etc.

Its easy to forget that science Python is a serious _minority_ in the Python
community. I attend the Enthought monthly Python meetup here in Austin, and
of 50 people, maybe 3-5 are science Python programmers.

If that isn't enough evidence, check out a quick comparison of django,
numpy, scipy, and "sage math" via google trends:
http://www.google.com/trends?q=django,+numpy,+scipy,+sage+math&ctab=0&geo=all&date=all&sort=0


--Matthew Goodman

=====================
Check Out My Website: http://craneium.net
Find me on LinkedIn: http://tinyurl.com/d6wlch
Post by Eviatar
I think the reason "mathematica programming" doesn't return many
results is because it is not usually perceived as a programming
language per se, rather a mathematics software. Because of this, I
think Mathematica (and MATLAB, or any specific-use programming
languages) statistics are bound to be skewed.
As for TIOBE not being accurate in its statements, I think it is. It
says, "The index can be used to check whether your programming skills
are still up to date or to make a strategic decision about what
programming language should be adopted when starting to build a new
software system." Programming skills being up to date does not
necessarily imply industry jobs; what about academia, personal
projects, etc.? As well, language choice for software, especially that
designed for the mainstream, would more likely benefit from languages
that are more popular in the mainstream.
--
To unsubscribe from this group, send an email to
For more options, visit this group at
http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
rjf
2011-02-18 05:11:36 UTC
Permalink
Post by Matt Goodman
MATLAB isn't a tool used outside of academia very often.
I think you are wrong here. I don't have any data to point to though.
Do you have any data on this?
Post by Matt Goodman
 Its licensing makes it hard to redistribute code (like to a third party),
or even run it on a couple different workstations in a HPC sense.
Huh? How so? You write a program, you own it, you can give it to
someone else.
Did they make that hard to do somehow?
Post by Matt Goodman
 Its a
great tool for quick and dirty analyses, but overall its a terribly
crafted language for development with more than one developing party.
I would guess that its large number of users just run Matlab programs
to get answers.
When they write their own programs, they are likely to be rather
small.

I am not in any way defending the design decisions in the Matlab
language
itself, which has a number of glaring problems from the computer
science
perspective. But it is popular and useful.
Post by Matt Goodman
  I
would guess the matlab base is about 2x the scientific python community, but
the science python people are only 5%-10% of Python users.  The same foes
for LabView etc.
I think you are way off, and the Matlab community is many times the
scientific
python community, but again I have no data. I suspect that the
serious scientific computing community is almost all non-python, and
that
it consists of C/Fortran/Matlab. I would discount the people trying
to adapt
python for scientific computing, or trying to promote it for other
people to
use. I would count only those people who are employed
as computational scientists in some application domain who have chosen
python.
Post by Matt Goodman
Its easy to forget that science Python is a serious _minority_ in the Python
community.  I attend the Enthought monthly Python meetup here in Austin, and
of 50 people, maybe 3-5 are science Python programmers.
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming. Most scientific computing tasks are
sensitive
to efficiency of resulting code.
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
daly
2011-02-18 07:06:29 UTC
Permalink
An interesting article about computational science programming:
http://www.nature.com/news/2010/101013/full/467775a.html?ref=nf

Tim Daly
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
rjf
2011-02-18 17:38:29 UTC
Permalink
An interesting article about computational science programming:http://www.nature.com/news/2010/101013/full/467775a.html?ref=nf
Tim Daly
I find it especially interesting to see the comments about python ...
search on that
web page for each occurrence of "python".

RJF
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
William Stein
2011-02-18 15:31:39 UTC
Permalink
Post by Matt Goodman
MATLAB isn't a tool used outside of academia very often.
I think you are wrong here.  I don't have any data to point to though.
Do you have any data on this?
No data versus no data.
Post by Matt Goodman
 Its licensing makes it hard to redistribute code (like to a third party),
or even run it on a couple different workstations in a HPC sense.
Huh?  How so?  You write a program, you own it, you can give it to
someone else.
Did they make that hard to do somehow?
Each copy of MATLAB costs (a lot of) money. Python is free. (It's
simply amazing to me that you don't realize that this is what he is
talking about! How is it even possible?)
Post by Matt Goodman
  I
would guess the matlab base is about 2x the scientific python community, but
the science python people are only 5%-10% of Python users.  The same foes
for LabView etc.
I think you are way off, and the Matlab community is many times the
scientific
python community,  but again I have no data.
The TIOBE index also illustrates is that whatever the real data is, it
is probably constantly changing, and in some cases changing very
quickly. See, e.g., the history of Objective-C in TIOBE -- 3 years
ago it was a very unpopular language, and now it is very popular
(probably because of Apple's iOS programming).
 I suspect that the
serious scientific computing community is almost all non-python, and
that
it consists of C/Fortran/Matlab.
I suspect that was a true statement at some point in time.
Post by Matt Goodman
Its easy to forget that science Python is a serious _minority_ in the Python
community.  I attend the Enthought monthly Python meetup here in Austin, and
of 50 people, maybe 3-5 are science Python programmers.
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming.  Most scientific computing tasks are
sensitive
to efficiency of resulting code.
This is just FUD, suggesting that one can't use Python for scientific
computing due to it being too slow. Most people doing scientific also
use C/Fortran-based libraries such as numpy and scipy, and quite a few
use Cython as well. These tools allow you to write code that is as
fast as code one produces in Matlab or Fortran.

-- William
--
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
rjf
2011-02-18 16:36:00 UTC
Permalink
Post by William Stein
Post by Matt Goodman
MATLAB isn't a tool used outside of academia very often.
I think you are wrong here.  I don't have any data to point to though.
Do you have any data on this?
No data versus no data.
Post by Matt Goodman
 Its licensing makes it hard to redistribute code (like to a third party),
or even run it on a couple different workstations in a HPC sense.
Huh?  How so?  You write a program, you own it, you can give it to
someone else.
Did they make that hard to do somehow?
Each copy of MATLAB costs (a lot of) money.  Python is free.  (It's
simply amazing to me that you don't realize that this is what he is
talking about! How is it even possible?)
Ah, I see. My misunderstanding was in taking Matt's statement at
its face. We agree that it is no problem to (re)distribute code
that you write to anyone else. The recipient of the code would either
have to have a Matlab licensed system or a system that ran Matlab
code,
like Octave [sort of]. So my assumption is that anyone who was
interested in your own coded Matlab program either had such a setup,
or
was only interested in looking at the code, not running it. This
latter situation is not that unusual, I think. I have occasionally
looked at Matlab programs to learn from them. Usually it is harder
to figure out than I expected, but that's another story.

I think that if Matt is objecting to the difficulty in giving
someone else a completely working system written in the Matlab
language
including Matlab in a form that it can be redistributed without
restriction, that is another issue. Of course a program written
using Sage cannot be redistributed without restriction either. The
GPL is a restriction. But again that is another story.

Many people using Matlab are, I think, using it within some
organization
such as a college or an engineering lab. The incremental cost for one
more Matlab user license is small and probably part of the overhead of
the organization, and so there is no apparent cost to the individual
user. This has the very significant advantage (to me) that it is
free (as in free beer). The problem with Sage by comparison is that
it is free (as in free press) but has significant overhead for the
first person to try to install it somewhere, (apparently still,
especially on Windows...) But again that is another story.
Post by William Stein
Post by Matt Goodman
  I
would guess the matlab base is about 2x the scientific python community, but
the science python people are only 5%-10% of Python users.  The same foes
for LabView etc.
I think you are way off, and the Matlab community is many times the
scientific
python community,  but again I have no data.
The TIOBE index also illustrates is that whatever the real data is, it
is probably constantly changing, and in some cases changing very
quickly.  See, e.g., the history of Objective-C in TIOBE -- 3 years
ago it was a very unpopular language, and now it is very popular
(probably because of Apple's iOS programming).
 I suspect that the
serious scientific computing community is almost all non-python, and
that
it consists of C/Fortran/Matlab.
I suspect that was a true statement at some point in time.
I would even speculate that the proportion of
Python users has increased infinitely from some point in time, say
1950.
What is taught to engineers at UW?
a google search on university washington engineering
python gets 98,000 hits.with matlab it gets 124,000 hits.
At UC Berkeley, 148,000 vs 158,000. Python IS taught in
some intro classes here

Now if we remove the term "engineering" from the search, there are
more
hits, and at UC, python > matlab. Some of this is scientific
computing of some sort, but probably most of it is not.
Post by William Stein
Post by Matt Goodman
Its easy to forget that science Python is a serious _minority_ in the Python
community.  I attend the Enthought monthly Python meetup here in Austin, and
of 50 people, maybe 3-5 are science Python programmers.
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming.  Most scientific computing tasks are
sensitive
to efficiency of resulting code.
This is just FUD, suggesting that one can't use Python for scientific
computing due to it being too slow.
Well, the issue is not so much the programming language efficiency,
or how much it matters in practice to have some data setup and web
access
and debugging be written in a friendlier languaage, but a perception.

For the last umpteen years it
was possible to write programs in some convenient interactive --but
possibly
slower than optimized-compiled-Fortran -- language. Which language
doesn't really matter. It could be Perl, TCL, even Lisp, .... The
perception
by (some, in the past, almost all) heavy users of scientific
computing,
who tend to be relatively conservative when it comes to computer
"science"...
depending on such activities to produce the next generation of
hardware ...
was that if you really wanted to get the job done, you had to write in
Fortran, or maybe more recently, C, perhaps with touches of
assembler.

So once you learned to hack Fortran,
why should you ALSO have to learn Python? Now you and I and other
readers
here may say otherwise -- that you will be much more productive etc if
you learn Python---. But, at least in the past, the physicists (etc)
found
that they could write the rest of their programs in Fortran also.
If they want to write
a front-end web thingee, they can hire someone else, who presumably
doesn't need to know physics. Someone who would know
PHP, python, C# whatever.
Post by William Stein
 Most people doing scientific also
use C/Fortran-based libraries such as numpy and scipy, and quite a few
use Cython as well.
Can't those libraries (or something like them) also be called from C
or Fortran?
So why do we need to use Python? (I suspect they can be used from
Lisp, having
done so once in the past.)
I'm not arguing that Python can't be used by scientists. I'm not
arguing that
Python shouldn't be used by scientists. I'm just offering my thoughts
about
why scientists might not be using Python that much.
Post by William Stein
    These tools allow you to write code that is as
fast as code one produces in Matlab or Fortran.
Well, that gives you quite a range. Depending on what you are doing,
it could be that Mathlab, Fortran, Python might all be calling the
exact same
code, like Lapack. Oh, that reminds me, what is Lapack written in?
Do you think it would benefit by rewriting in Python or Cython?
What about Scalapack, BLAS, etc. See
http://www.netlib.org/scalapack/slug/node16.html#SECTION04140000000000000000
for comments.



If they are not all calling Lapack, usually there are kinds of
programs that
an optimizing Fortran compiler can compile into code that is
many multiples faster than Matlab code.

According to that web page linked above, it appears that
scientific computing people are still writing code in Fortran 77
(yes, 1977).
So maybe in 40 years those people, or their successors, should
they still be alive and writing programs, might pick up on Python:)

RJF
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Jan Groenewald
2011-02-18 16:49:26 UTC
Permalink
Hi

Python's barrier-to-entry is the lowest of all the
languages under discussion (in terms of time to learn it).

It is easier to enforce good coding style because much of
it is already integrated with the language... e.g. indented
control structures & loops.

Optimizing-python-with-calling-other-languages-or-cython
even has arguably a lower barrier-to-entry than the other
languages under discussion.

Prototyping is much faster in python. So often 'runtime'
debates do not have a holistic comprehensive view of
scientific computation. Include prototyping time
and coding and polishing and maintenance time, and both
the time and cost in $$ is much lest.

Some applications are maintained over years and many postgrad
slaves^H^H^H^H students. A research group can train a new
member in python code quickly.

The python community is huge, skills are available,
and often the needs are not in the core science algorithm
which is well looked after, but in the glue and interface,
which requires a less in-depth understanding of the science
than the core algorithm. It allows non-niche programmers to assist
more easily than... FORTRAN.

I guess you can tell which side of the fence I am currently on ;)

Regards,
Jan
--
.~.
/V\ Jan Groenewald
/( )\ www.aims.ac.za
^^-^^
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
daly
2011-02-18 20:12:29 UTC
Permalink
Post by Jan Groenewald
The python community is huge, skills are available,
and often the needs are not in the core science algorithm
which is well looked after, but in the glue and interface,
which requires a less in-depth understanding of the science
than the core algorithm. It allows non-niche programmers to assist
more easily than... FORTRAN.
I do think Sage has proven the conjecture that Python is an excellent
choice for a glue language (although a lot of the actual glue seems
to be in Cython?). Since Sage is growing by accretion, William made an
excellent choice.

I don't think Sage has proven the conjecture that Python is good
for computational mathematics. My experience with computational
mathematicians is that they will program in obscure (APL) or
dead (Fortran) languages. Every one I have met over the years
is perfectly capable of writing their algorithms in anything.

There are two ways to look at any computational mathematics
problem. Either you want something very close to the math,
(e.g. Spad) for conceptual efficiency or very close to the
machine (e.g. C) for execution efficiency. Python sits
somewhere between these two extremes, making it a non-optimal
choice for either.

If I were working with Sage I'd write my algorithm in some
other language and "glue it on" with python.

As for the conjecture that Python is wildly popular and
therefore the perfect choice for computational mathematics
I can only point to history. Pascal was everywhere, including
in the universities. Smalltalk took the world by storm.
PL/I was universal. Ada was the ultimate language. Most
people probably don't even list these languages on their
resume anymore. Wait 10 years. Nobody will admit to knowing
Python.

Tim Daly
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Robert Bradshaw
2011-02-18 22:28:36 UTC
Permalink
Post by daly
Post by Jan Groenewald
The python community is huge, skills are available,
and often the needs are not in the core science algorithm
which is well looked after, but in the glue and interface,
which requires a less in-depth understanding of the science
than the core algorithm. It allows non-niche programmers to assist
more easily than... FORTRAN.
I do think Sage has proven the conjecture that Python is an excellent
choice for a glue language (although a lot of the actual glue seems
to be in Cython?).
Cython happens to be a particularly nice "glue" when it comes to
interfacing with C libraries. I would however say that the majority of
code in Sage (both Python and Cython) is not glue (though we of course
don't write our own BLAS or integer multiplication routines).
Post by daly
Since Sage is growing by accretion, William made an
excellent choice.
I don't think Sage has proven the conjecture that Python is good
for computational mathematics. My experience with computational
mathematicians is that they will program in obscure (APL) or
dead (Fortran) languages. Every one I have met over the years
is perfectly capable of writing their algorithms in anything.
There are two ways to look at any computational mathematics
problem. Either you want something very close to the math,
(e.g. Spad) for conceptual efficiency or very close to the
machine (e.g. C) for execution efficiency. Python sits
somewhere between these two extremes, making it a non-optimal
choice for either.
But if Python is good enough, even if not optimal, to reasonably do
work on both ends of the spectrum, then the advantage to using a
single language can outweigh the advantage of using specialized
languages for individual tasks with lost of glue code and context
switching. This is especially true for code that starts out close to
the math and then can be optimized (rather than re-written) for
execution efficiency.
Post by daly
If I were working with Sage I'd write my algorithm in some
other language and "glue it on" with python.
As for the conjecture that Python is wildly popular and
therefore the perfect choice for computational mathematics
I can only point to history. Pascal was everywhere, including
in the universities. Smalltalk took the world by storm.
PL/I was universal. Ada was the ultimate language. Most
people probably don't even list these languages on their
resume anymore. Wait 10 years. Nobody will admit to knowing
Python.
Your summarization of history indicates that no language will survive
10 years, so we should pick a language not on its long-term merits but
based on getting something out of it before it "fades."

- Robert
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
daly
2011-02-19 02:16:25 UTC
Permalink
Post by Robert Bradshaw
Post by daly
As for the conjecture that Python is wildly popular and
therefore the perfect choice for computational mathematics
I can only point to history. Pascal was everywhere, including
in the universities. Smalltalk took the world by storm.
PL/I was universal. Ada was the ultimate language. Most
people probably don't even list these languages on their
resume anymore. Wait 10 years. Nobody will admit to knowing
Python.
Your summarization of history indicates that no language will survive
10 years, so we should pick a language not on its long-term merits but
based on getting something out of it before it "fades."
Hasty generalization. Fortran, Lisp and C are still active and they
are 50 years old so some languages are still resume material.

Pascal, in its day, was HOT. Universities switched to Pascal for
teaching, books were using it as pseudocode, and great debates
raged about its bike-shed issues (e.g. a lack of strings).
It was the easiest language to write. It was easy to compile.
It was required as a line-item on your resume.
It cured cancer and was the key to worldwide understanding.
Famous people in history were renamed after the language!
Surely everyone you know codes in Pascal, right?

Is Python a Fortran or a Pascal?

Well, lets look for some data about how others choose.
I have touched nearly every computational math program
on the planet over the years.

On my Ubuntu linux system almost every python program I
didn't write is some sort of a system script so it seems
to have moved into Perl's primary domain. From that data
point I'd say that Python is a great language to know if
you plan to be a sysadmin. (I excluded Sage, of course).
Sympy and numpy are exceptions. But even Java people use
python for scripting and test (e.g. inside ant).

On my Ubuntu linux system almost every computational
math program I didn't write is either Fortran, Lisp, C,
C++, assembler or some specialized math language like
Spad, MMA, Maple, etc. From that data point I'd say that
Python is not a computational mathematics language of note.
Post by Robert Bradshaw
From the data it seems that Python is "the new Perl",
a new, improved system scripting language; a glue
language for the new millenium. That might explain
why it appears to be so popular and why Perl is sinking
in the TIOBE ratings.

Would you do computational math in Perl?

Tim Daly
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
William Stein
2011-02-18 16:51:10 UTC
Permalink
Post by rjf
Many people using Matlab are, I think, using it within some
organization
such as a college or an engineering lab.  The incremental cost for one
more Matlab user license is small and probably part of the overhead of
the organization, and so there is no apparent cost to the individual
user.  This has the very significant advantage (to me) that it is
free (as in free beer). The problem with Sage by comparison is that
it is free (as in free press) but has significant overhead for the
first person to try to install it somewhere, (apparently still,
especially on Windows...) But again that is another story.
At University of Washington, even with a site license, MATLAB costs me
$100, so I don't have it on my laptop.
There are limited licenses for students, and I've been told they have
trouble doing homework assignments, due to
sharing those licenses.

In my experience, installing MATLAB is much more difficult than
installing Sage. I can imagine no worse hell than being asked to
install a working MATLAB on a bunch of random Linux, OS X, and Windows
boxes.
Post by rjf
Post by William Stein
Post by rjf
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming.  Most scientific computing tasks are
sensitive
to efficiency of resulting code.
This is just FUD, suggesting that one can't use Python for scientific
computing due to it being too slow.
Well, the issue is not so much the programming language efficiency,
or how much it matters in practice to have some data setup and web
access
and debugging be written in a friendlier languaage, but a perception.
Thus your FUD is all the more damaging....
Post by rjf
Post by William Stein
 Most people doing scientific also
use C/Fortran-based libraries such as numpy and scipy, and quite a few
use Cython as well.
Can't those libraries (or something like them)  also be called from C
or Fortran?
If those libraries = "numpy/scipy", then absolutely not. Most of the
code in numpy is new code, which provides a different and powerful
perspective on n-dimensional data manipulation that isn't provided by
any underlying library it depends on (BLAS). Some of scipy is just
wrapping Fortran libraries, and some (quite a bit) is new code not
wrapping anything.

-- William
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
rjf
2011-02-18 18:26:50 UTC
Permalink
Post by William Stein
At University of Washington, even with a site license, MATLAB costs me
$100, so I don't have it on my laptop.
There are limited licenses for students, and I've been told they have
trouble doing homework assignments, due to
sharing those licenses.
FUD?
It seems to me that if I were writing useful/important code that
paying
$100 would not be such a bad idea, though I agree that "free" would be
"better". I would have reservations though if the university gave me
a "free" copy but told me that any program that I wrote using it could
never be sold by me to anyone. It would have to be owned by the
university
(as work for hire), sometimes a university policy. Or it would have
to
be given away free (Sage, GPL) policy.
Post by William Stein
In my experience, installing MATLAB is much more difficult than
installing Sage.  
That may be your personal experience, but I wonder how widely
shared it is? I have only read about installing Sage, so I cannot tell
for sure, but
it seems that installing on Windows is difficult. Many people post
comments about difficulty compiling it, but not everyone compiles it,
I hope.
So maybe it is easy sometimes.

I have not installed my own copy of (Windows) Matlab for years,
but I assume it still requires downloading a matlab_installer.exe
and clicking on it, then perhaps typing the name of the license
server.
Installing software on a properly installed Linux system is even
easier
in the best case (where you have right permissions etc).
Post by William Stein
 I can imagine no worse hell than being asked to
install a working MATLAB on a bunch of random Linux, OS X, and Windows
boxes.
That's probably why system administrators are paid, except
when professors act as their own system administrators.
Even "free"
software can require time and skill to install.
Post by William Stein
Post by rjf
Post by William Stein
Post by rjf
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming.  Most scientific computing tasks are
sensitive
to efficiency of resulting code.
This is just FUD, suggesting that one can't use Python for scientific
computing due to it being too slow.
Well, the issue is not so much the programming language efficiency,
or how much it matters in practice to have some data setup and web
access
and debugging be written in a friendlier languaage, but a perception.
Thus your FUD is all the more damaging....
Read the article posted by Tim Daly..
Post by William Stein
Post by rjf
Post by William Stein
 Most people doing scientific also
use C/Fortran-based libraries such as numpy and scipy, and quite a few
use Cython as well.
Can't those libraries (or something like them)  also be called from C
or Fortran?
If those libraries = "numpy/scipy", then absolutely not.  Most of the
code in numpy is new code, which provides a different and powerful
perspective on n-dimensional data manipulation that isn't provided by
any underlying library it depends on (BLAS).   Some of scipy is just
wrapping Fortran libraries, and some (quite a bit) is new code not
wrapping anything.
I think the right perspective is shown here. You can use Python to
wrap
what most people consider the scientific computing core systems.
Writing those core systems in Python is not particularly credible.
But wrapping difficult-to-use programs in nicer "higher level" ways
may be a worthy endeavor.

( a somewhat unfair analogy ---
We do not say that the rapid proliferation
of cell phones means they are increasingly being used to write
internet communications software...

That's what I was driving at in my question that you chose to
ignore..

"Oh, that reminds me, what is Lapack written in?
Do you think it would benefit by rewriting in Python or Cython?
What about Scalapack, BLAS, etc. " )

In terms of Jan's comment -- I'm not sure the barrier to entry is
lowest for Python -- There are lots of contenders, and it is not
obvious which is the winner. In some circumstances, I've found
that Visual Basic or JScript (ECMAscript/) are trivial. Python has
other useful attributes though.

Anyway, if we say that people who wrap FORTRAN programs in python are
called
"scientific computing" programmers, maybe we need another name for the
people who write those FORTRAN (or C or whatever) programs.

None of this really affects the validity of the Tiobe data which says
that
Python "Tiobe popularity index" is higher than ever.

RJF
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Matt Goodman
2011-02-18 19:36:38 UTC
Permalink
Regarding the academics comment, check this out:
http://www.google.com/trends?q=matlab%2C+python&ctab=0&geo=all&date=all&sort=0

Matlab related dips notably (~50% peak to trough) during spring, winter, and
summer breaks.

All I really have to say about MATLAB is for a piece of software backed by
millions of dollars of development, its pretty notably deficient. Deficient
by design actually, I mean why include image processing routines, when you
could charge more for that in a toolbox? There is nothing in there that you
couldn't develop in < 1000 hours of competent developer time, using standard
numerical recipes.

I didn't mean to start a flame war here, just wanted to present some
observations.
--Matthew Goodman

=====================
Check Out My Website: http://craneium.net
Find me on LinkedIn: http://tinyurl.com/d6wlch
Post by rjf
Post by William Stein
At University of Washington, even with a site license, MATLAB costs me
$100, so I don't have it on my laptop.
There are limited licenses for students, and I've been told they have
trouble doing homework assignments, due to
sharing those licenses.
FUD?
It seems to me that if I were writing useful/important code that
paying
$100 would not be such a bad idea, though I agree that "free" would be
"better". I would have reservations though if the university gave me
a "free" copy but told me that any program that I wrote using it could
never be sold by me to anyone. It would have to be owned by the
university
(as work for hire), sometimes a university policy. Or it would have
to
be given away free (Sage, GPL) policy.
Post by William Stein
In my experience, installing MATLAB is much more difficult than
installing Sage.
That may be your personal experience, but I wonder how widely
shared it is? I have only read about installing Sage, so I cannot tell
for sure, but
it seems that installing on Windows is difficult. Many people post
comments about difficulty compiling it, but not everyone compiles it,
I hope.
So maybe it is easy sometimes.
I have not installed my own copy of (Windows) Matlab for years,
but I assume it still requires downloading a matlab_installer.exe
and clicking on it, then perhaps typing the name of the license
server.
Installing software on a properly installed Linux system is even
easier
in the best case (where you have right permissions etc).
Post by William Stein
I can imagine no worse hell than being asked to
install a working MATLAB on a bunch of random Linux, OS X, and Windows
boxes.
That's probably why system administrators are paid, except
when professors act as their own system administrators.
Even "free"
software can require time and skill to install.
Post by William Stein
Post by rjf
Post by William Stein
Post by rjf
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming. Most scientific computing tasks
are
Post by William Stein
Post by rjf
Post by William Stein
Post by rjf
sensitive
to efficiency of resulting code.
This is just FUD, suggesting that one can't use Python for scientific
computing due to it being too slow.
Well, the issue is not so much the programming language efficiency,
or how much it matters in practice to have some data setup and web
access
and debugging be written in a friendlier languaage, but a perception.
Thus your FUD is all the more damaging....
Read the article posted by Tim Daly..
Post by William Stein
Post by rjf
Post by William Stein
Most people doing scientific also
use C/Fortran-based libraries such as numpy and scipy, and quite a few
use Cython as well.
Can't those libraries (or something like them) also be called from C
or Fortran?
If those libraries = "numpy/scipy", then absolutely not. Most of the
code in numpy is new code, which provides a different and powerful
perspective on n-dimensional data manipulation that isn't provided by
any underlying library it depends on (BLAS). Some of scipy is just
wrapping Fortran libraries, and some (quite a bit) is new code not
wrapping anything.
I think the right perspective is shown here. You can use Python to
wrap
what most people consider the scientific computing core systems.
Writing those core systems in Python is not particularly credible.
But wrapping difficult-to-use programs in nicer "higher level" ways
may be a worthy endeavor.
( a somewhat unfair analogy ---
We do not say that the rapid proliferation
of cell phones means they are increasingly being used to write
internet communications software...
That's what I was driving at in my question that you chose to
ignore..
"Oh, that reminds me, what is Lapack written in?
Do you think it would benefit by rewriting in Python or Cython?
What about Scalapack, BLAS, etc. " )
In terms of Jan's comment -- I'm not sure the barrier to entry is
lowest for Python -- There are lots of contenders, and it is not
obvious which is the winner. In some circumstances, I've found
that Visual Basic or JScript (ECMAscript/) are trivial. Python has
other useful attributes though.
Anyway, if we say that people who wrap FORTRAN programs in python are
called
"scientific computing" programmers, maybe we need another name for the
people who write those FORTRAN (or C or whatever) programs.
None of this really affects the validity of the Tiobe data which says
that
Python "Tiobe popularity index" is higher than ever.
RJF
--
To unsubscribe from this group, send an email to
For more options, visit this group at
http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
David Kirkby
2011-02-19 23:40:47 UTC
Permalink
Post by Matt Goodman
http://www.google.com/trends?q=matlab%2C+python&ctab=0&geo=all&date=all&sort=0
Matlab related dips notably (~50% peak to trough) during spring, winter, and
summer breaks.
I can see the noticeable dips/troughs you see. As you say, you don't
see them with Python.

But I tried a few other terms. Like "statistics"

http://www.google.com/trends?q=statistics&ctab=0&geo=all&date=all&sort=0

clearly statistics are used a lot in industry, but again there are
patterns which repeat annually.
Post by Matt Goodman
All I really have to say about MATLAB is for a piece of software backed by
millions of dollars of development, its pretty notably deficient.  Deficient
by design actually, I mean why include image processing routines, when you
could charge more for that in a toolbox?
But Mathworks primary aim is to make as much money as possible. If
they feel that making image processing tools an optional item will
maximise their profits, then they will do it.
Post by Matt Goodman
There is nothing in there that you
couldn't develop in < 1000 hours of competent developer time, using standard
numerical recipes.
But at say $100/hour to include developer time and overheads, that
would have cost you $100,000 to build. I don't know what the toolbox
costs, but it will be a lot less than that.
Post by Matt Goodman
I didn't mean to start a flame war here, just wanted to present some
observations.
They are useful observations, but my observations from industry is
that MATLAB is used a lot. It clearly tends to be taught a lot too.

It's interesting if you put "python" into Google trends, the
popularity of the search term is slowly decreasing

http://www.google.com/trends?q=python&ctab=0&geo=all&date=all&sort=0

As is MATLAB

http://www.google.com/trends?q=matlab&ctab=0&geo=all&date=all&sort=0

and Mathematica

http://www.google.com/trends?q=mathematica&ctab=0&geo=all&date=all&sort=0

Mathematica has shown the largest fall, with less than half the
searches as in 2004

http://www.google.com/trends?q=mathematica&ctab=0&geo=all&date=all&sort=0
Post by Matt Goodman
--Matthew Goodman
Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Robert Bradshaw
2011-02-20 00:51:24 UTC
Permalink
Post by David Kirkby
Post by Matt Goodman
http://www.google.com/trends?q=matlab%2C+python&ctab=0&geo=all&date=all&sort=0
Matlab related dips notably (~50% peak to trough) during spring, winter, and
summer breaks.
I can see the noticeable dips/troughs you see. As you say, you don't
see them with Python.
But I tried a few other terms. Like "statistics"
http://www.google.com/trends?q=statistics&ctab=0&geo=all&date=all&sort=0
clearly statistics are used a lot in industry, but again there are
patterns which repeat annually.
Post by Matt Goodman
All I really have to say about MATLAB is for a piece of software backed by
millions of dollars of development, its pretty notably deficient.  Deficient
by design actually, I mean why include image processing routines, when you
could charge more for that in a toolbox?
But Mathworks primary aim is to make as much money as possible. If
they feel that making image processing tools an optional item will
maximise their profits, then they will do it.
Post by Matt Goodman
There is nothing in there that you
couldn't develop in < 1000 hours of competent developer time, using standard
numerical recipes.
But at say $100/hour to include developer time and overheads, that
would have cost you $100,000 to build. I don't know what the toolbox
costs, but it will be a lot less than that.
Post by Matt Goodman
I didn't mean to start a flame war here, just wanted to present some
observations.
They are useful observations, but my observations from industry is
that MATLAB is used a lot. It clearly tends to be taught a lot too.
It's interesting if you put "python" into Google trends, the
popularity of the search term is slowly decreasing
http://www.google.com/trends?q=python&ctab=0&geo=all&date=all&sort=0
As is MATLAB
http://www.google.com/trends?q=matlab&ctab=0&geo=all&date=all&sort=0
and Mathematica
http://www.google.com/trends?q=mathematica&ctab=0&geo=all&date=all&sort=0
Mathematica has shown the largest fall, with less than half the
searches as in 2004
http://www.google.com/trends?q=mathematica&ctab=0&geo=all&date=all&sort=0
Note that these graphs are relative measures, so nearly every
technical term is on the decline due to the increase of more
mainstream topics. For example, I don't think computers have become
less popular this last decade:

http://www.google.com/trends?q=computer&ctab=0&geo=all&date=all&sort=0

- Robert
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
David Kirkby
2011-02-20 01:08:42 UTC
Permalink
Post by Robert Bradshaw
Post by David Kirkby
Mathematica has shown the largest fall, with less than half the
searches as in 2004
http://www.google.com/trends?q=mathematica&ctab=0&geo=all&date=all&sort=0
Note that these graphs are relative measures, so nearly every
technical term is on the decline due to the increase of more
mainstream topics. For example, I don't think computers have become
http://www.google.com/trends?q=computer&ctab=0&geo=all&date=all&sort=0
- Robert
Yes, I'd overlooked that. Plotting the raw data (absolute numbers)
would be nice.

Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Eviatar
2011-02-18 20:26:48 UTC
Permalink
Post by rjf
FUD?
It seems to me that if I were writing useful/important code that
paying
$100 would not be such a bad idea, though I agree that "free" would be
"better".  I would have reservations though if the university gave me
a "free" copy but told me that any program that I wrote using it could
never be sold by me to anyone.  It would have to be owned by the
university
(as work for hire), sometimes a university policy.  Or it would have
to
be given away free (Sage, GPL) policy.
This is untrue. The GPL covers Sage itself, not code written for Sage.
I'm fairly certain you could sell it with no license problems.
Obfuscation, though, is another issue, but I think .pyc files would
work. Of course, this goes against the whole philosophy of Sage.
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Matt Goodman
2011-02-18 20:44:51 UTC
Permalink
You can back out pyc's pretty easy. See the "byteplay" package. :)
--Matthew Goodman

=====================
Check Out My Website: http://craneium.net
Find me on LinkedIn: http://tinyurl.com/d6wlch
Post by Eviatar
Post by rjf
FUD?
It seems to me that if I were writing useful/important code that
paying
$100 would not be such a bad idea, though I agree that "free" would be
"better". I would have reservations though if the university gave me
a "free" copy but told me that any program that I wrote using it could
never be sold by me to anyone. It would have to be owned by the
university
(as work for hire), sometimes a university policy. Or it would have
to
be given away free (Sage, GPL) policy.
This is untrue. The GPL covers Sage itself, not code written for Sage.
I'm fairly certain you could sell it with no license problems.
Obfuscation, though, is another issue, but I think .pyc files would
work. Of course, this goes against the whole philosophy of Sage.
--
To unsubscribe from this group, send an email to
For more options, visit this group at
http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Robert Bradshaw
2011-02-18 22:41:07 UTC
Permalink
Post by rjf
Post by William Stein
At University of Washington, even with a site license, MATLAB costs me
$100, so I don't have it on my laptop.
There are limited licenses for students, and I've been told they have
trouble doing homework assignments, due to
sharing those licenses.
FUD?
It seems to me that if I were writing useful/important code that
paying
$100 would not be such a bad idea, though I agree that "free" would be
"better".
There's a difference between costing the university $100 and costing
the individual user $100... The financial drawbacks are also
significant if one is forced to pay per-core license on your new shiny
cluster or supercomputer.
Post by rjf
I would have reservations though if the university gave me
a "free" copy but told me that any program that I wrote using it could
never be sold by me to anyone.  It would have to be owned by the
university
(as work for hire), sometimes a university policy.  Or it would have
to be given away free (Sage, GPL) policy.
Yes, that would be worrisome indeed, but that's not the case.
Post by rjf
Post by William Stein
In my experience, installing MATLAB is much more difficult than
installing Sage.
That may be your personal experience, but I wonder how widely
shared it is? I have only read about installing Sage, so I cannot tell
for sure, but
it seems that installing on Windows is difficult. Many people post
comments about difficulty compiling it, but not everyone compiles it,
I hope.
So maybe it is easy sometimes.
 I have not installed my own copy of (Windows) Matlab for years,
but I assume it still requires downloading a matlab_installer.exe
and clicking on it, then perhaps typing the name of the license
server.
Installing software on a properly installed Linux system is even
easier
in the best case (where you have right permissions etc).
Post by William Stein
 I can imagine no worse hell than being asked to
install a working MATLAB on a bunch of random Linux, OS X, and Windows
boxes.
That's probably why system administrators are paid, except
when professors act as their own system administrators.
 Even "free"
software can require time and skill to install.
Post by William Stein
Post by rjf
Post by William Stein
Post by rjf
I am not surprised that there is a relatively small overlap between
scientific
computing and Python programming.  Most scientific computing tasks are
sensitive
to efficiency of resulting code.
This is just FUD, suggesting that one can't use Python for scientific
computing due to it being too slow.
Well, the issue is not so much the programming language efficiency,
or how much it matters in practice to have some data setup and web
access
and debugging be written in a friendlier languaage, but a perception.
Thus your FUD is all the more damaging....
Read the article posted by Tim Daly..
Post by William Stein
Post by rjf
Post by William Stein
 Most people doing scientific also
use C/Fortran-based libraries such as numpy and scipy, and quite a few
use Cython as well.
Can't those libraries (or something like them)  also be called from C
or Fortran?
If those libraries = "numpy/scipy", then absolutely not.  Most of the
code in numpy is new code, which provides a different and powerful
perspective on n-dimensional data manipulation that isn't provided by
any underlying library it depends on (BLAS).   Some of scipy is just
wrapping Fortran libraries, and some (quite a bit) is new code not
wrapping anything.
I think the right perspective is shown here.
I think you are actually agreeing here, wow ;). What's more amazing is
this is pretty much exactly the perspective for Sage as a whole.
Post by rjf
You can use Python to wrap
what most people consider the scientific computing core systems.
Writing those core systems in Python is not particularly credible.
But wrapping difficult-to-use programs in nicer "higher level" ways
may be a worthy endeavor.
That and building higher-level algorithms on top of lower-level
libraries, e.g. modular form computations that leverage existing
low-level linear algebra libraries.
Post by rjf
( a somewhat unfair analogy ---
  We do not say that the rapid proliferation
 of cell phones means they are increasingly being used to write
 internet communications software...
  That's what I was driving at in my question that you chose to
ignore..
  "Oh, that reminds me, what is Lapack written in?
   Do you think it would benefit by rewriting in Python or Cython?
   What about Scalapack, BLAS, etc.  "  )
In terms of Jan's comment -- I'm not sure the barrier to entry is
lowest for Python --  There are lots of contenders, and it is not
obvious which is the winner. In some circumstances, I've found
that Visual Basic or JScript (ECMAscript/) are trivial. Python has
other useful attributes though.
Anyway, if we say that people who wrap FORTRAN programs in python are
called
"scientific computing" programmers, maybe we need another name for the
people who write those FORTRAN (or C or whatever) programs.
I'd say that scientific computing spans working on algorithms at many
levels of abstractions, and some languages are better at others for
lower or higher level stuff. One advantage of Python here is it makes
it easy to span this gap. (The idea of using a BLAS from Visual Basic
or JavaScript almost seems silly to me, though I bet it's been
done...)

- Robert
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
David Kirkby
2011-02-18 22:48:32 UTC
Permalink
Post by Matt Goodman
MATLAB isn't a tool used outside of academia very often.
I think you are wrong here.  I don't have any data to point to though.
Do you have any data on this?
Matt is definitely VERY wrong.

MATLAB is well used in industry. Just look on any job site and stick
in MATLAB as a keyword and you will find many jobs that want MATLAB
skills. It's my experience as an engineer that it is the most popular
of all the scientific computing environments.

The simulink toolbox is also very well used in industry.

Dave

Dave
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
john_perry_usm
2011-02-18 22:42:57 UTC
Permalink
Hi
Post by Matt Goodman
MATLAB isn't a tool used outside of academia very often.
I am loathe to involve myself in this conversation, but: I'm aware
that MATLAB is used by people at NASA, in the Navy, and at Raytheon. I
seriously doubt that approaches even a tenth of MATLAB's non-academic
users, and in any case this alone is a huge amount.

I have no idea what its proportion is vs. scientific python, and
doubtless there is some overlap, but 2x sounds way too small.

regards
john perry
--
To post to this group, send an email to sage-***@googlegroups.com
To unsubscribe from this group, send an email to sage-devel+***@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
Continue reading on narkive:
Loading...