Tuesday, April 5, 2011

python vs perl (my take

(Collected from various forums + my own)

  1. - Python can cooperate better with other successful technologies like DotNet (IronPython) and Java (Jython). See also python project in boost.
  2. - CPAN is larger than python's module collection. If CPAN's collection is A and python's module colleciton is B, then I personally feel (A-B) are mostly non-essential modules for specialized purposes.
  3. - (not sure about perl6) I feel perl OO is an afterthought.
  4. - Not sure about perl6, but not many app developers create perl classes. Many CPAN modules are OO though. Python users don't create many classes either. I guess procedural  is simple and good enough.
  5. - even if you don't create any class, out-of-the-box python relies (more deeply) on more OO features than CPAN modules. Object-orientation is more ingrained in Python's ethos.
  6. - I doubt it, but some say Perl the base language is much larger(??) than Python's base language so probably it takes longer(???) time to learn Perl than Python but in the end you have a more expressive language???
  7. - Python has better support for Windows GUI apps than Perl.
  8. - perl can be abused to create unreadable line-noise; python has a rather clean syntax
  9. - perl's text processing (and to a lesser extent unix integration) features are richer and more expressive. Using every key on the keyboard is like using all 20 fingers and toes. I immediately felt the difference when switching to java. In this aspect, pytyon is somewhere between those 2 extremes.
  10. - As part of unix integration, perl offers many practical one-liners competing effectively with grep/awk. Perl one-liners integrate well with other unix commands
  11. - I feel perl is more entrenched and more established in certain domains such as unix system automation, production support, bio-informatics
  12. - Perl was initially designed for unix, text and as an alternative for shell script programmers. For that purpose, I feel OO offers limited value-add.
  13. - for unix scripting, perl is more similar to unix shell scripting at least on the surface, but python isn't hard to learn.

No comments:

Total Pageviews

my favorite topics (labels)

_fuxi (302) _misLabel (13) _orig? (3) _rm (2) _vague (2) clarified (58) cpp (39) cpp_const (22) cpp_real (76) cpp/java/c# (101) cppBig4 (54) cppSmartPtr (35) cppSTL (33) cppSTL_itr (27) cppSTL_real (26) cppTemplate (28) creditMkt (14) db (65) db_sybase (43) deepUnder (31) dotnet (20) ECN (27) econ/bank` (36) fin/sys_misc (43) finGreek (34) finReal (45) finRisk (30) finTechDesign (46) finTechMisc (32) finVol (66) FixedIncom (28) fMath (7) fMathOption (33) fMathStoch (67) forex (39) gr8IV_Q (46) GTD_skill (15) GUI_event (30) inMemDB (42) intuit_math (41) intuitFinance (57) javaMisc (68) javaServerSide (13) lambda/delegate (22) marketData (28) math (10) mathStat (55) memIssue (8) memMgmt (66) metaProgram` (6) OO_Design (84) original_content (749) polymorphic/vptr (40) productive (21) ptr/ref (48) py (28) reflect (8) script`/unix (82) socket/stream (39) subquery/join (30) subvert (13) swing/wpf (9) sysProgram` (16) thread (164) thread_CAS (15) thread_cpp (28) Thread* (22) timeSaver (80) transactional (23) tune (24) tuneDB (40) tuneLatency (30) z_ajax (9) z_algoDataStruct (41) z_arch (26) z_arch_job (27) z_automateTest (17) z_autoTrad` (19) z_bestPractice (39) z_bold (83) z_bondMath (35) z_book (18) z_boost (19) z_byRef^Val (32) z_c#GUI (43) z_c#misc (80) z_cast/convert (28) z_container (67) z_cStr/arr (39) z_Favorite* (8) z_FIX (15) z_forex (48) z_fwd_Deal (18) z_gz=job (33) z_gzBig20 (13) z_gzMgr (13) z_gzPain (20) z_gzThreat (19) z_hib (19) z_IDE (52) z_ikm (5) z_IR_misc (36) z_IRS (26) z_javaWeb (28) z_jdbc (10) z_jobFinTech (46) z_jobHunt (20) z_jobRealXp (10) z_jobStrength (15) z_jobUS^asia (27) z_letter (42) z_linq (10) z_memberHid` (11) z_MOM (54) z_nestedClass (5) z_oq (24) z_PCP (12) z_pearl (1) z_php (20) z_prodSupport (7) z_py (31) z_quant (14) z_regex (8) z_rv (38) z_skillist (48) z_slic`Problem (6) z_SOA (14) z_spring (25) z_src_code (8) z_swingMisc (50) z_swingTable (26) z_unpublish (2) z_VBA/Excel (8) z_windoz (17) z_wpfCommand (9)

About Me

New York (Time Square), NY, United States
http://www.linkedin.com/in/tanbin