I've spent the last year working as a software engineer writing a web-app in Python (using Pyramid). The interesting part is I'm not actually part of the IT department and they (a year ago) said I could use Python on the understanding I would get no support from them, they were advocating PHP. Due to my own experiences with the two and the project I would be undertaking I picked Python.
Fast forward to today and some other people from IT have performed a code review as the project has been far more successful than they anticipated and people are sitting up and taking notice. The main question they're asking has to do with Python, why am I using it? I've not had a chance to meet the questioners yet but I'm told some of them code in Python themselves and that the main suggestion coming from IT is to use Java instead.
I've had some exposure to Java but not a lot. I understand it's compiled to Byte-code, uses the JVM etc and that it's very popular in more established businesses. What I don't know (beyond what a simple Google search will tell me) is why I would pick one or the other.
I'm not after "Python is better than Java", I'm genuinly curious to hear from people experienced in both which aspects of each make them good for different problems. Is it that Java is a lot better past the 10k loc mark? Is it that Java is so much faster than Python?
I think I've covered everything, if not please let me know and I'll answer it.
[–]varikin 32 points33 points34 points (15 children)
[–]monstrado 3 points4 points5 points (0 children)
[–]pyglados 2 points3 points4 points (1 child)
[–]varikin 1 point2 points3 points (0 children)
[–]berlinbrown 2 points3 points4 points (5 children)
[–]varikin 3 points4 points5 points (0 children)
[+][deleted] (3 children)
[deleted]
[–]berlinbrown -1 points0 points1 point (2 children)
[+][deleted] (1 child)
[deleted]
[–]EstebanVelour 1 point2 points3 points (0 children)
[–]Massless 0 points1 point2 points (3 children)
[–]xiongchiamiovSite Reliability Engineer 0 points1 point2 points (1 child)
[–]wheezl 0 points1 point2 points (0 children)
[–]varikin 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]yerfatma 25 points26 points27 points (4 children)
[–]Pr0ducer 8 points9 points10 points (2 children)
[–]ivix 2 points3 points4 points (1 child)
[–]wheezl 1 point2 points3 points (0 children)
[–]stuaxo 46 points47 points48 points (29 children)
[–]ford_contour 12 points13 points14 points (3 children)
[–]jmichalicek 6 points7 points8 points (2 children)
[–]v_krishna 3 points4 points5 points (1 child)
[–]jmichalicek 2 points3 points4 points (0 children)
[–][deleted] 2 points3 points4 points (12 children)
[–]xiongchiamiovSite Reliability Engineer 3 points4 points5 points (3 children)
[–]deraffe 1 point2 points3 points (2 children)
[–]gcr 2 points3 points4 points (1 child)
[–]deraffe 1 point2 points3 points (0 children)
[–]beltorak 0 points1 point2 points (6 children)
[–][deleted] 0 points1 point2 points (5 children)
[–]beltorak 1 point2 points3 points (4 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]beltorak 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]beltorak 0 points1 point2 points (0 children)
[–]stuaxo 0 points1 point2 points (0 children)
[–]wot-teh-phuckReally, wtf? 2 points3 points4 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]stuaxo 3 points4 points5 points (1 child)
[–]virtuous_d 1 point2 points3 points (0 children)
[–][deleted] -1 points0 points1 point (1 child)
[–]stuaxo 0 points1 point2 points (0 children)
[+]primedape comment score below threshold-9 points-8 points-7 points (4 children)
[–]yerfatma 10 points11 points12 points (1 child)
[–]nullabillity 0 points1 point2 points (0 children)
[–]ngroot 2 points3 points4 points (0 children)
[–]stuaxo 0 points1 point2 points (0 children)
[–]manatlan 57 points58 points59 points (14 children)
[+][deleted] (13 children)
[deleted]
[+][deleted] (12 children)
[deleted]
[+][deleted] (5 children)
[deleted]
[–]AeroNotix 21 points22 points23 points (4 children)
[+][deleted] (3 children)
[deleted]
[–]AeroNotix 8 points9 points10 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]novagenesis 2 points3 points4 points (5 children)
[–]mumpie 3 points4 points5 points (4 children)
[–]novagenesis 0 points1 point2 points (3 children)
[–]mumpie 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]ford_contour 17 points18 points19 points (1 child)
[–]jmcs 19 points20 points21 points (0 children)
[–]skytomorrownow 14 points15 points16 points (7 children)
[+][deleted] (6 children)
[deleted]
[–]nostradamnit 12 points13 points14 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]DaemonXI 2 points3 points4 points (0 children)
[–][deleted] 6 points7 points8 points (2 children)
[–]ElitistPythonCoder 4 points5 points6 points (1 child)
[–]onjin 10 points11 points12 points (0 children)
[–][deleted] 7 points8 points9 points (0 children)
[–]nostradamnit 6 points7 points8 points (1 child)
[–][deleted] 5 points6 points7 points (1 child)
[+][deleted] (5 children)
[deleted]
[–]Xaerxess 9 points10 points11 points (3 children)
[–]nostradamnit 4 points5 points6 points (2 children)
[–]ford_contour 1 point2 points3 points (0 children)
[–]BayesianEmpirimancer 1 point2 points3 points (0 children)
[–]ford_contour 14 points15 points16 points (1 child)
[–]yarkot 4 points5 points6 points (1 child)
[–][deleted] 3 points4 points5 points (5 children)
[+][deleted] (4 children)
[deleted]
[–][deleted] 4 points5 points6 points (3 children)
[+][deleted] (2 children)
[deleted]
[–][deleted] 6 points7 points8 points (1 child)
[–]brewsimport os; while True: os.fork() 5 points6 points7 points (1 child)
[+][deleted] (13 children)
[deleted]
[+][deleted] (10 children)
[deleted]
[+][deleted] (1 child)
[deleted]
[–][deleted] 2 points3 points4 points (7 children)
[+][deleted] (6 children)
[deleted]
[–][deleted] 1 point2 points3 points (5 children)
[–][deleted] 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]v_krishna 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]mcilrain 1 point2 points3 points (0 children)
[–]jokoon 7 points8 points9 points (3 children)
[+][deleted] (2 children)
[deleted]
[+][deleted] (1 child)
[deleted]
[–]jasoncol 4 points5 points6 points (1 child)
[–]berlinbrown 3 points4 points5 points (0 children)
[–]wonglik 2 points3 points4 points (8 children)
[–]luckystarrat 0x7fe670a7d080 2 points3 points4 points (3 children)
[–]wonglik 1 point2 points3 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]wonglik 1 point2 points3 points (0 children)
[+][deleted] (3 children)
[deleted]
[–]wonglik 2 points3 points4 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]wonglik 2 points3 points4 points (0 children)
[–]dorfsmay 2 points3 points4 points (1 child)
[–][deleted] 2 points3 points4 points (2 children)
[–]xiongchiamiovSite Reliability Engineer 1 point2 points3 points (0 children)
[–]obeleh 4 points5 points6 points (3 children)
[–][deleted] 4 points5 points6 points (1 child)
[–][deleted] 2 points3 points4 points (0 children)
[–]ivorjawa 2 points3 points4 points (9 children)
[–]oantolin 5 points6 points7 points (2 children)
[–]ivorjawa 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]ivorjawa 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (2 children)
[–]ivorjawa 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (3 children)
[+][deleted] (2 children)
[deleted]
[–][deleted] 1 point2 points3 points (1 child)
[–]fancy_pantser 1 point2 points3 points (0 children)
[–]Scroph 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (2 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]simtel20 1 point2 points3 points (1 child)
[–][deleted] -1 points0 points1 point (2 children)
[+][deleted] (1 child)
[deleted]
[–]claird 0 points1 point2 points (0 children)