I was wondering is learning Python and Django a hard/time consuming process for someone who's already rather familiar with OO programming (C++/Java) and some web dev (JEE)? I'm starting to look for a technology to implement a part of my master's thesis and since it will be a web app I'm considering JEE (since I'm already familiar with it), Python/Django (since my professor sugessted it and I'd really like to learn Python), Ruby on Rails (also my profs suggestion but somehow I don't feel like learning it) and PHP (the last suggestion but I despise PHP). Oh he also said he heard something about Scala, but from what I know Scala/Lift isn't all that mainstream yet and it might be problematic to work with it?
My greatest concern is time since for the next 4-5months I'll be attending my normal courses, go to work and work on my thesis (then I'll have 4-5months for only work+my thesis) and I'm not sure will I find the time to learn a new language.
The whole thing will be a webapp for the teachers/students to both check and make their scheduels at the uni (there will be some constraint programming etcetc and we want to implement an algorithm which would, based on data from previous years and some user input, create a schedule for the upocoming year).
Personally I love java but my teacher said it's a performance hog and I'd like to know is python's performance better/worse?
views:
110answers:
2If for your thesis and you have decided up front that you like it and want to use it, you have in my opinion the best situation conceivable.
Go for it. Learn all you can. Do the best you can.
This will happen again and again in your professional life, and you might as well have tried it in a situation where you have an experienced mentor handy (but do as the mentor says!)
I'd ask your professor for some data to support "performance hog". Sounds like shallow thinking and FUD to me. Benchmarks can be found to support either position, so I don't pay much attention.
The real reason to learn a language is so it can affect the way you think about programming. I think Python will be beneficial. Shame on your professor for not bringing that up. S/he's worried about performance? Ask when they last wrote code where performance mattered.
I'm learning Python right now as a long-time Java guy. I think learning anything takes some time. I'm working my way through "Core Python Programming" by Wesley Chun.
I'm enjoying it very much so far. I like the language. The ideas map pretty nicely onto what I already know about Java and OO, but there are differences (e.g., dynamic typing, functional programming, etc.) that are worth understanding.
The most important thing is writing code. I'm working through the exercises carefully and getting it under my fingers and into my brain. I'm using PyCharm from JetBrains as my IDE. It's brilliant to have such a good tool at my fingertips.
I started about a month ago. I'm about 1/3rd of the way through the exercises (reading is further ahead; about halfway). My goal is to finish it before the end of the year and feel comfortable enough to pick up Django.
I hope you like it as much as I do. Good luck.