Bugzilla:Languages: Difference between revisions

Jump to navigation Jump to search
→‎Python: That added Pro was flamebait. Discussion should happen in Discussion page, not main page. I agree that only Perl has good Unicode--that's a Perl point. Fixed up cons.
(→‎Perl: Perl is not "actively developed" compared to every other scripting language in this comparison. I already had the CPAN advantage listed.)
(→‎Python: That added Pro was flamebait. Discussion should happen in Discussion page, not main page. I agree that only Perl has good Unicode--that's a Perl point. Fixed up cons.)
Line 78: Line 78:
* Actively developed.
* Actively developed.
* Quite a lot of modules (but still a lot less, and less organised or consistent than CPAN)
* Quite a lot of modules (but still a lot less, and less organised or consistent than CPAN)
* Will attract the python fanboys who haven't jumped on the Ruby Bandwagon yet.


=== Cons ===
=== Cons ===


* Deployment choice can be a bad thing (i.e. mod_python, mod_wsgi etc.) - harder to install
* Deployment choice can be a bad thing (i.e. mod_python, mod_wsgi etc.) - harder to install
* Not having curly-braces on "if" statements and other blocks makes long blocks hard to read.
* Not having curly-braces on "if" statements and other blocks makes it hard to figure out where you are in the block structure without a special editor to help (like Komodo).
** (added comment) subjective - could it be you're trying to write Perl in Python? I.e. python is really trying to discourage you from writing those long blocks and investigating stuff like list comprehensions
* Poor Unicode handling--strings are ASCII by default, and are Unicode only if you prepend them with u, like u"string".
* Poor Unicode handling--strings are ASCII by default, and are Unicode only if you prepend them with u, like u"string".
** (added comment) subjective - once you know how it works and how to use it, it's actually really well implemented IMO - see [http://boodebr.org/main/python/all-about-python-and-unicode All About Python and Unicode]
* No standard way of installing modules like CPAN. (Cheeseshop and easy_install exist, but they're not universally standard.)
*** (added comment) Ruby and Perl handle Unicode far better.
**** (added comment) Ruby has better Unicode support? You must be joking!
***** Good point, so it's just Perl that has non-sucky unicode then ;)
* No standard way of installing modules like CPAN.
** There's the Cheeseshop and easy_install. It's not universally standard, but it works with most modules, and though it has its problems, I find it easier than CPAN.
*** How can that be easier than CPAN "cpan 'modulename'" isn't very hard automatic resolution of dependancies, testing as well as standardised ratings, bug reporting, smoke testing, search interface, etc.
* Python has no equivalent to Perl's "taint" mode. (This is nothing to do with strong typing, and is about validating data by what it says rather than because it's a string rather than an integer)
* Python has no equivalent to Perl's "taint" mode. (This is nothing to do with strong typing, and is about validating data by what it says rather than because it's a string rather than an integer)
* Poor error reporting
* Sometimes has unclear error messages. Basically only compiler error message is "syntax error"
** Care to elaborate?
* Python lacks variable declarations, which means that invalid variables are caught at runtime instead of compile-time.
*** @threads.something is apparently a 'syntax error' in one version and entirely valid in one point release newer. Perl would be far more helpful about a missing library, or unimplemented whatever. In fact Python's error reporting weakness was pointed out at the LPW talk on Python.


== Ruby ==
== Ruby ==
canmove, Confirmed users
345

edits

Navigation menu