"Count what is countable. Measure what is measureable. What is not measureable, make measureable." -- Galileo

Showing posts with label Python. Show all posts
Showing posts with label Python. Show all posts

Tuesday, July 8, 2014

Programming Languages and CMSs

Courtesy  of a link on LifeHacker, I discovered an interactive IEEE webpage that lets you slice and dice programming languages in a variety of ways.  You can sort them by ranking criteria like "trending," "jobs," "open," or customize your own ranking systems.  Additionally, you can filter them by web, mobile, enterprise or embedded language types. 

Interestingly, Python holds its number 4 spot overall and for all individual language types.  PHP follows in the number 6 slot.  PERL struggles along at 8 or lower, depending on how you select the filter settings. 

That said, it looks like Python is very much a contender in the programming language debate.  I used to teach Python to my class in algorithms because the class text, Corman and Leiserson, Rivest, and Stein's "Introduction to Algorithms," uses Python-ish pseudocode.  In fact, we'd often cut and paste their pseudocode, make a few edits, and run the algorithms with time tracking functions.  Racing algorithms--how to make O-notation fun. 

That, of course, brings us back to CMS.  A search on CMS Matrix for Python-based systems returns 23 results:
  • autowebcms
  • BlackMonk CMS
  • CubicWeb
  • Cyn.in
  • django-cms
  • DXM Multilingual
  • Easy Publisher
  • eContent 3.5
  • Ellington
  • EZRO
  • Macromedia Contribute
  • Mezzanine
  • Nuxeo CPS
  • Plone
  • PublishXML
  • PyLucid
  • Silva
  • Solgema
  • SR2
  • Web Cube
  • WEB123 CMS
  • WebEngine v6
  • zwook
A search for PHP-based systems returns 585.  (Contact the author if you'd like to see the entire listing.)

That's a fascinating mismatch between the IEEE ranking of the programming language and number of CMSs based on the underlying language.  Considering that Plone and Django are the heavy hitters among the Python-based CMSs, this puts them in a positive light. 


Thursday, December 25, 2008

A Very Plone Christmas to All

I was going to just leave a comment to M.B., but when I hit 500 characters I thought it best to make it an entire posting.

Re: Theoretical vs real. As a DOE/NNSA laboratory, we're pretty much frozen at the moment with funding only coming from Congress' most recent continuing resolution. However, Plone work continues to grow.* At the risk of getting a deluge of resumes, I'd be glad to file yours for future reference if you send it to kehorak at sandia dot gov, the e-mail for my professional alter ego and day job.

I, too, lean towards the application front end and am very lucky that in Plone I only occasionally am down in the ZMI and very, very rarely in real python.

That said, I'd much rather work through someone else's Python code than try to understand a typical PHP script. (That was said knowing that Drupal's PHP may be much more rigorously coded that "typical" PHP.)

Back to my teaching philosophy, if I played the numbers game (something like 20 million PHP sites out there**), I'd be teaching only Drupal, PHP, and SQL Server. Fortunately, other faculty are teaching PHP, so I can skate on that one. When it comes to databases, though, I largely teach plain-Jane (and plain-John) SQL, but with a strong emphasis on using automated tools (yes, even MS Access QBE) to do the grunt work. Similarly, whether ERWin or Visio or other tool, those kinds of automated assistance are fundamental to being able to correctly and quickly normalize very large database schema.

There are plenty of RDBMSs out there and everyone can conceptualize a hierarchical one like your local harddrive, but only a few useful object-oriented DBMSs. I find that Zope fills that latter niche very well and that Plone is a key extension. To be able to give a student a working web server, OO database, and a means of customizing it from a model is a huge instructional advantage. The number of students who go on to create working applications in under 15 weeks is not insignificant and speaks to the utility of the Plone/UML combo.

And like the ghosts of Christmas, they do it all in one night.

_______________

* I know its got to be unsustainable, but we continue to have exponential growth :-)

** Where does Wikipedia come up with these numbers??