3 ms·
Java Vs. Python. Which is better for a Start-Up?
- PythonDeveloper 14y agoThe chart you show is inaccurate. It's using Hotspot server for Java, but interpreted Python. For a fair comparison, you should use Psyco or PyPy for the tests. I suspect you'll find it right in line with Hotspot under Java.
- realrocker 14y agoYes I agree, but I couldn't find a comparative chart showing performance tests for all the depicted languages
- cldrope 14y agoAccurate results have so many metrics that it's specific to your specific tasks so your goal of a comparative chart is hopeless, unfortunately. Also, this is probably one of the biggest cancers to HN. People writing low-quality articles, then posting it here themselves. Are you points-farming, or are you just self-promoting? Either way you're abusing a network for mutual interest for self-serving purposes.
- realrocker 14y agoNeither. Just asking for Help. Yes that's self serving a bit.
- uniclaude 14y ago"Can Java Web Servers give me the same features of an evented/non-blocking I/O? Answer: Nope" I wonder if OP knows about Jetty, which seems to be exactly this.
- atto 14y agoOr frameworks such as Play!, which use Akka on the backend.
- realrocker 14y agofixed it.
- TrevorJ 14y agoThe software team I work with moved to Python two or three years ago and has found it to be fairly stellar at meeting the specific challenges we face.
- EToS 14y agoBest answer to any question like this is "use the right tool for the job." In the case of Java and Python, Java is quite clearly better suited to large strategic code such as core systems, whilst Python on the other hand is ideal for quick, often rewritten and short lived applications (e.g 1-3 years life) as there are many accounts of startups rebuilding their platforms 1-2 years in, i'd suggest theres a good business case for using lean and quick technologies within the first few years, whilst your innovating and learning your business
- antidoh 14y agoJava if you're selling into banks or other Enterprise, otherwise Python for expressiveness, tools and sanity. Much of what gets done is going to happen in the database anyway ...
- irahul 14y agoYay. Here we go again. > Development: Java will take 2-3 times more lines of code to implement the business features. That will be true most of the times. Also consider that a good part is Java boilerplate(getters-setters, anonymous classes where you should have lambdas, everything inside a class), and some of it is just bad programming. Peter Norwig's spell corrector in Python: http://norvig.com/spell-correct.html http://norvig.com/spell-correct.html In Java: http://raelcunha.com/spell-correct.php http://raelcunha.com/spell-correct.php > Deployment: Slower Deployment Cycles.(hence slower iteration). Errrmmm, how is that property of Java? Deploy it as often as you want. How is Java stopping you? > Concurrency: Can Java Web Servers(e.g Tomcat Apache) handle high level of concurrency? Answer: Debatable Answer - My memory might be playing tricks on me, but I remember a few years back tomcat was a reference implementation, and wasn't to be used for production deployments. Currently, the http://tomcat.apache.org/ http://tomcat.apache.org/ homepage claims Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations, so I might be wrong. But that's not important - what's important is you have jetty, netty and other options which are pretty fast in practice. > Node.js,Twisted : Can Java Web Servers give me the same features of an evented/non-blocking I/O? Answer: Nope Nio? Mina? Netty? > Python is slow in execution. Python is slow when it comes to raw CPU. If your app is CPU constrained, either write C extensions or divide work between computation units. Most of the apps are IO constrained, and you can use gevent or equivalent to make it faster.
- realrocker 14y ago"Node.js,Twisted : Can Java Web Servers give me the same features of an evented/non-blocking I/O? Answer: Nope" I eat my words. Fixed it on the post too.
- realrocker 14y ago>Python is Slower. Or use any of the JIT interpreters. Yes there is definitely scope for making it faster.
- realrocker 14y ago>Deployment I need to compile the whole thing if I have to make even a tiny change. Therefore, deployment becomes an event. Events tend to be planned and managed, hence slower.
- marshallp 14y agoHow about the best of both worlds (and more) - ocaml/haskell
- realrocker 14y agoHaskell you fiend, stop following me around! Well, we are at a very nascent stage and Haskell may be bit of an overkill. But, I will give it a second look to quiet my demons.
- beothorn 14y agoOne thing I never see on these discussions about static typed versus dynamic is compile time errors versus runtime. For me this is really important, but I never see it mentioned anywhere, am I missing something?
- keymone 14y agoevery time i see "hello world" argument in such article i'm doing facepalm and closing it.