The Artima Developer Community
Sponsored Link

Weblogs Forum
Marketing Python - An Idea Whose Time Has Come

117 replies on 8 pages. Most recent reply: Jun 15, 2007 5:29 AM by Ian Ozsvald

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 117 replies on 8 pages [ « | 1 2 3 4 5 6 7 ... 8  | » ]
Jan Hui Ye

Posts: 4
Nickname: janhuiye
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 2, 2006 10:37 PM
Reply to this message Reply
Advertisement
> How does one translate something like this into Ruby?
>

> for f in filter(lambda f: f(-1)>=f(1),
> [lambda x:x, lambda x:x**2, lambda
> a x:x**2, lambda x:x**3]):
> for x in range(-10, 11):
> print x, f(x)
>

Ruby code:

[ lambda { |x| x }, lambda { |x| x**2 }, lambda { |x| x**3 }
].select { |f| f.call(-1) >= f.call(1) }.each do |f|
(-10..10).each { |x| print x, f.call(x) }
end
[\pre]

Jan Hui Ye

Posts: 4
Nickname: janhuiye
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 2, 2006 10:43 PM
Reply to this message Reply
> How does one translate something like this into Ruby?
>

> for f in filter(lambda f: f(-1)>=f(1),
> [lambda x:x, lambda x:x**2, lambda x:x**2, lambda x:x**3]):
> for x in range(-10, 11):
> print x, f(x)
>

Ruby code:

[ lambda { |x| x }, lambda { |x| x**2 }, lambda { |x| x**3 }
].select { |f| f.call(-1) >= f.call(1) }.each do |f|
(-10..10).each { |x| print x, f.call(x) }
end

Jan Hui Ye

Posts: 4
Nickname: janhuiye
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 2, 2006 10:48 PM
Reply to this message Reply
> How does one translate something like this into Ruby?
>

> for f in filter(lambda f: f(-1)>=f(1),
> [lambda x:x, lambda x:x**2, lambda x:x**3]):
> for x in range(-10, 11):
> print x, f(x)
>

Ruby code:

[ lambda { |x| x }, lambda { |x| x**2 }, lambda { |x| x**3 }
].select { |f| f.call(-1) >= f.call(1) }.each do |f|
(-10..10).each { |x| print x, f.call(x) }
end

Jan Hui Ye

Posts: 4
Nickname: janhuiye
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 2, 2006 10:56 PM
Reply to this message Reply
Second edition:


for f in [lambda { |x| x }, lambda { |x| x**2 }, lambda { |x| x**3 }
].select { |f| f.call(-1) >= f.call(1) }
for x in -10..10
print x, f.call(x)
end
end

Mal Content

Posts: 3
Nickname: malcontent
Registered: Jul, 2003

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 12:16 AM
Reply to this message Reply
That's clever and all but this is not about the language itself. Both languages are robust and do pretty much anything you want or need.

This topic (should be) about frameworks. About the higher order tools that we need to get our work done.

Better question would be. How do I implement a asyncronous application with message queues in python.

Or maybe how do you do these in python

gem update rails.
rake deploy.

I want people smarter then me to write all the tricky lamda code and make a framework.I want to benefit from their wisdom and experience. Look at the wonderful work the folks at django are doing. Nice stuff there.

Kay Schluehr

Posts: 302
Nickname: schluehk
Registered: Jan, 2005

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 5:33 AM
Reply to this message Reply
> Hi Guido,
>
> Pythonic is small, quiet and unimpressive. Like a dutch
> house? Pretty much. But if you look closer, you'll see
> that it not just neat and clean, it is also well-done,
> with method and devotion.

Isn't Netherlands still be the leading country of contemporary modernist architecture? I always loved the Dutch style and radicalism in creating buildings that seemed both sculptural and viable. Experiments in serialism, in exorbitant bigness, in adaption etc. Deriving also Pythons style from this culture of housing may be a little like those fuzzy intellectual phantasies that techies find habitually annoying. But since Bruce Eckel criticised hype transfer from Java to Ruby and Ruby apologetes presented themselves in his Artima weblog as a kind of new-age hippies, living in the truth of the "human interface", I'm not that sure anymore that language communities do not incarnate also a main cultural theme that should be neglected.

Kay

Colin Alston

Posts: 2
Nickname: karnaugh
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 7:06 AM
Reply to this message Reply
As for ideas to market Python, I feel things should strive to be origional and Pythonic rather than playing a game of cat and mouse with other languages and frameworks alike. Already I see Nevow+Twisted as a far superior development platform for web applications over any other, however for some reason there is division over various subjects that surround the two packages.

I've been "marketing" Python for some time, specificaly Nevow works. The bigest hurdle in the way in terms of web development, is convincing lesser mortals that the language it's self is superior even though there are not cute examples like RoR have or even the horrors of OpenLaszlo. It seems when it comes to choosing a language to develop in, people don't seem to actualy choose the language and trying to press that "yes you CAN do it in Python" is for whatever reason, chalenging; they just don't get it.

The other thing seems to be this deranged question of 'maturity'. Which I certainly don't need to explain here that that idea is a load of nonsense.

What I'd like, and what I activly try to do, is to see less people putting the word of damagement infront of the sanity of programming (like "ASP lets us write programs quickly!"). I constantly have this argument with people about which language they program in for a living. These strange arguments like "the client asks for Visual Basic" or "They needed a portable application so they specified Java". It is a truely sad day when business is dictating the language a programmer has to write software in, when they are not the ones that have to look at the source code or program in the language. It is our job to meet a specification, but why are we being told how to do it by people that know far less? Tell the client they are wrong! Sell a better language to them!

George Jempty

Posts: 2
Nickname: jemptython
Registered: Feb, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 7:28 AM
Reply to this message Reply
I blogged about "Why Python Makes Sense for Web Development" just last month, you can google for that exact phrase. Now that AJAX has made people realize that Javascript has some pretty cool capabilities, it is time for Python to leverage its similarities with the de facto client side scripting language. These similarities only promise to increase; see Brendan Eich's weblog and in particular his plan for adding array comprehensions to Javascript:

http://weblogs.mozillazine.org/roadmap/

I don't have the the focus (I'm back to Java for paying the bills after a 3 week stint with Python) or perhaps not even the ability, but what I'd like to see is a "framework" where everything necessary for form validation is declared in a JSON/Python data structure. Javascript turned off? Not a problem: Python can do the validation server side. Other server side implementations including PHP, ROR, etc. can of course take advantage as they can parse JSON, but Python would be the reference implementation, since parsing JSON can be as trivial as a regex test and "eval"

Am I out in left field or does this seem cool to anybody else?

Berco Beute

Posts: 72
Nickname: berco
Registered: Jan, 2002

go mobile Posted: Mar 3, 2006 7:29 AM
Reply to this message Reply
Trying to market python is useless, it has to sell itself. Ruby isn't marketed as most in this forum seem to believe. It is has one great vehicle: RoR. The ideas behind RoR were interesting enough to sell itself. Ruby just piggybacks.

Fortunately for Python there is one giant opportunity right under its nose: mobile devices. I won't grow tired pointing out that the market of mobile devices will be so much bigger than the PC market. With Nokia's open source implementation of a Python interpreter for their series 60 phones the first steps have been taken in the right direction. And it's a direction that the Ruby community completely ignores. I've been using Ruby before Python and once explicitely asked the Ruby community, via their main newsgroup, whether anybody was thinking about a Ruby interpreter for mobile devices. No positive reactions.

So if you want Python to become more popular, grab the source of Nokia's implementation from here:

http://sourceforge.net/projects/pys60

and port it every thinkable mobile device. Compelling applications will follow, believe me, since the advantage of using python over e.g. java microedition are enormous and many developers will be eager to switch.

Colin Alston

Posts: 2
Nickname: karnaugh
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 7:33 AM
Reply to this message Reply
Nevow Athena with Mochikit has some awesome capabilities as far as AJAX stuff goes.

I did a small demo ap for a talk at a local programming group. http://www.karnaugh.za.net/show?id=188 (please excuse the American Idols advert that appeared there recently, I'll stab Guid^WGoogle for it sometime ;-))

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: go mobile Posted: Mar 3, 2006 9:16 AM
Reply to this message Reply
> Trying to market python is useless, it has to sell itself.
> Ruby isn't marketed as most in this forum seem to believe.
> It is has one great vehicle: RoR. The ideas behind RoR
> were interesting enough to sell itself. Ruby just
> piggybacks.

I entirely agree. Examples are everything. To sell a language you must be able to demonstrate what it can do. Initially at the "Hello World." level but then also at progressivly more complex levels as the user base grows. For most developers a language is just a means of delivering a solution to some problem. If you can show them what they can do better, then they'll show you interest, too.

> Fortunately for Python there is one giant opportunity
> right under its nose: mobile devices.

Another area of opportunity that has received a fair amount of attention recently is that of IDEs. It has become apparent to many that there are no really good IDEs for any of the current crop of dynamically typed languages. Someone (Joshua Bloch in a Java Posse interview, perhaps?) said recently, that it would take a lot to tempt Java programmers away from developing in Java using Eclipse or Idea. There just isn't anything that comes close in Python or Ruby, et al.

Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 9:22 AM
Reply to this message Reply
> I find marketing programming languages to be really
> offensive.

Whilst I wouldn't go so far as to be offended, I do think it would be somewhat pointless. How many people here would claim to say that they code in the language they do because of 'marketing'.

Of course, I think what was really meant was 'word of mouth' marketing rather than the commercial version.

steve butterfill

Posts: 1
Nickname: steveb
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 9:26 AM
Reply to this message Reply
No doubt marketing is important but what actually makes you choose one programming language over another for a given project?

Here's what informed some of my recent choices. No doubt pros choose differently; I'm an enthusiast.

Simple web application for my department: both Java and Ruby offer excellent and very easy to use libraries or frameworks for web and database applications, and there are great books for learning this; e.g. Howard Lewis Ship's "Tapestry in Action". I looked into Python and found lots of interesting stuff (like CherryPy) and some downright scary stuff (like Zope), but as a beginner I didn't think I'd be able to work out how to write a well-designed application. I also found a lot of distracting stuff which was mainly python fans sniping at other approaches (un-marketing python).

My next web project: will involve REST or similar. Having had a quick look I can't find a java library/framework that won't require major investment to configure. Python and Ruby on the other hand both have libraries that are explained in one chapter of a book for beginners. So far it looks like Ruby's standard library has the edge but if I want to integrate with my existing java project, jython might be better than jruby (although jython docs tend to be old and I'm not sure which libraries will work with jython).

Email filter script linked to database: There are probably many choices here but python has nice libraries for email and the DB API is slick; they're all well documented in "Beginning Python" (Norton et al). Plus the standard Python documentation of email libraries is excellent (although more simple examples would help). In fact, the python's standard documentation is very much more appealing to me than any other language's I've seen.

Simple GUI applications: I'm going to be picky an insist on good licence and looks, and I want a result in a weekend. I look at Ruby and don't find too much documentation, and I look at Swing and it's just too much. Python, by contrast, has easy to use, well documented libraries and there are several helpful articles plus this topic is well covered in python books. I like pyGTK which has great documentation included and I can use glade (a GUI designer) to ease some of the pain without loosing track of how the thing works. Including choice of langauge and libraries, it takes a weekend to build a GUI for a very simple app even though I don't know python so well and don't know GUI programming. Nice work python people! Next please help me not to have to worry about threads in more complex apps.

Non-trivial database stuff: this is *very* terrifying for an amateur and here my priority is to do it right (e.g. use transactions) while needing to know as little as possible about any specific database. Documentation is absolutely vital. Java's Hiberanate and Spring come out tops, particularly because of HQL (the hibernate query language) and the way Spring enables you to configure transactions independently of writing code. The reference manuals for both are excellent, plus we have the "Hibernate in Action" and "Spring in Action" books. These give me confidence that I'm not missing something important.

XML: I want to produce and consume it without having to understand it, and it takes about 2 minutes for me to realise I especially don't want to have to think about SAX or DOM. Although the documentation is somewhat tedious for a hobbyist like me, Java's JAXB 2.0 is surprisingly easy to get started with: I create classes, it creates a Schema (whatever that is) and lets me validate XML and convert it directly into objects and back to XML again. It has a very intuitive API and the examples on the JAXB website are clear and simple. Nice work Java people! Next please explain how the annotations work with simple examples.

Organising projects: I'm not a pro, I need help on how to organise and test larger projects. Here an IDE is just the thing, but I don't want to have to spend too long learning an IDE because I need to get on and program. Luckily I can use one ide (eclipse) for java, python, jython and ruby, although it seems to work best with java.

Beginning programming: I want to get my little sister started on programming this summer, but which language to start with? The choice depends on books which explain good design, general ease of use including especially how errors are reported, and languages that enable you to do a lot without payment. This is a really tough one: python and ruby have command lines; Python's standard documentation is most readable; Python and Java are ahead on intermediate books; as far as I can tell java's got a slight edge on easy of use and error reporting because the autocomplete, javadoc integration and live syntax checking in eclipse works so well. Hmm.

Sorry for the long post, got a bit carried away. Anyway, here's how to evangelise me:
* don't un-market python (no sniping)
* even more documentation of libraries, simple examples, articles and books please
* make it easier to compare competing libraries quickly (e.g. which postgresql library)?
* explain how to do Jython with Hibernate, Spring, JAXB2 and tapestry
* document a slick approach to doing REST or similar, including saving state between requests (don't make me think about GET/POST, sessions etc)

Osvaldo Santana Neto

Posts: 2
Nickname: osantana
Registered: Jun, 2005

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 10:03 AM
Reply to this message Reply
The best way to promote a language is this kind of post:

http://blogs.gnome.org/view/uraeus/2006/03/03/0

This kind of post show to other developers that Python is a good programming language.

Steve Orr

Posts: 2
Nickname: dbdweeb
Registered: Mar, 2006

Re: Marketing Python - An Idea Whose Time Has Come Posted: Mar 3, 2006 12:05 PM
Reply to this message Reply
>> 3) Guido, you must lay the law down and select "the one
>> true way".
>Ain't gonna happen. I don't know the application area well >enough and, frankly, I don't care.
>The Python community has to do this without my help.

I agree that laying down the law is not the way to go in the applications arena. But providing leadership and having an
open community are completely compatible.

You say you don't care about the application area...
But you do care... Otherwise you would not have made your prior web framework posts.

And Google cares... Because they hired you and they obviously have a vested interest in software development
implying the need for a good framework and a good develop
environment.

And developers care... But those with less of a vested
interest than you are more apt to turn to RoR in
frustration.

Developers need more than just a great language. They also
need a robust development environment.

If we could get enough of the right people and companies
together with sponsorship and leadership then the community
would follow and lend support. My sense is that it wouldn't
take much to reach critical mass but if it doesn't happen
soon our fissile material will slowly decay and Python could
become "small talk" by comparison.

http://www.cabochon.com/~stevey/blog-rants/bambi-meets-godzilla.html

Flat View: This topic has 117 replies on 8 pages [ « | 1  2  3  4  5  6  7 | » ]
Topic: Marketing Python - An Idea Whose Time Has Come Previous Topic   Next Topic Topic: Reference Architecture


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us