One tool for debugging that I would actually use isn't actually a debugger although ipdb is great <https://pypi.python.org/pypi/ipdb>. If you decide to go with python/django, I would strongly consider using the book Test Driven Web Development with Python <http://chimera.labs.oreilly.com/books/1234000000754/ch01.html>. It not only provides a good django introduction, but the approach it advocates of writing tests first makes it a lot easier to find bugs quickly and when you find a bug, to nail down exactly what causes it and when it is fixed.
On Fri, Aug 14, 2015 at 5:34 PM, James Schneider <[email protected]> wrote: > I came upon similar crossroads several years ago. Granted, I'm not a > programmer by trade, but I do have several personal projects that I work > on. I had done some large module development for Drupal in PHP over several > years, and once I reached the point where I was fighting to override Drupal > more than I was spending time adding new functionality, I started looking > at web frameworks rather than modifying CMS platforms. I was also growing > tired of the PHP inconsistencies and the inability to properly debug. > > After some research, I came down to Perl/Mason, Ruby/Rails and > Python/Django. I was already familiar with Perl, less so with Python from > work, and had no experience with Ruby. After reading the flame wars between > the languages on forums with posters asking the same question, I decided > the best way was just to dive in and try it myself. I didn't particularly > want to go down the Perl route, as I had spent countless hours fighting > with CPAN getting modules installed for work scripts. I decided to start > with Ruby and Rails. This was around the time that 1.8 was dubbed a > horrible mess and 1.9 was still fresh and slightly buggy. After fighting > with that issue, I spent several days trying to figure out what was > required for RoR, installing gems, and learning Ruby in general. I still to > this day have no idea what a symbol is, nor the proper time to use it. > After a few weeks of trying and working around all of the system-specific > issues I was having, I think I managed to get a working version of a basic > site up. Having 'conquered' RoR, I moved on to Python/Django. Python and > Ruby are somewhat similar in terms of layout and even syntax at a very > basic level, so the transition wasn't difficult. What attracted me to > Python/Django, though, is the lack of 'magic' behind the scenes. I felt > like RoR was making decisions for me behind the scenes, and I had little > control. Not that I necessarily needed control at that point, but given my > previous experience with Drupal/PHP, it gave me reason for pause. > Python/Django is clean, without magic, easy to read, and almost forces you > to be a good programmer with indentations, simple syntax, etc. After > running through the Django tutorial in a couple of hours (1.3 had just come > out at the time with CBV's as the prominent new feature), I was extremely > hooked, considering the same process in RoR was a few days of effort. I > also felt the philosophy and intent of Python better aligned with my > personal inclinations. Simple, clean, big focus on backwards compatibility > both in the language and Django (a large problem that I had with Drupal). > Ruby felt much more bleeding edge, fast-paced, and 'magical'. Call me a > control freak, I like to know what my code is actually doing. Makes for > easier troubleshooting later. Python also had excellent cross-platform > support, and native support within Ubuntu/Debian/Gentoo linux, since a fair > portion of their tools are written in Python. Pip makes installing (and > version control) ridiculously easy, much easier to navigate than gem repos > or CPAN. > > All that aside, the best advice I can give you is just to try each out and > figure out which one 'feels right' for you. Both have more than enough > market share as a viable career path. Given your field of study, Python may > be a better choice for you considering the immense amount of scientific > work done with Python. I've never heard of Ruby having such a reputation > (but that doesn't mean it isn't being done). > > As far as Python debugging tools go, I would definitely look into PyCharm, > which has a free community edition with a built-in debugger. It handles > Django with ease, and the licensed version has extra special goodies for > Django specifically, probably worth the cost if you are serious about > developing the application you are talking about. > > -James > > > On Fri, Aug 14, 2015 at 2:20 PM, Rotimi Ajayi-Dopemu <[email protected]> > wrote: > >> Hi all, >> I am sure this question has been beaten into the ground but hopefully I >> can get some specific insight so I don't waste time in the future. Thanks >> in advance. >> >> The question: >> I have a year to learn a new programming language for web application >> development. I will be learning concurrently with going to school so I have >> about 10 hrs a week give or take. So the question is this should I learn >> Ruby on Rails or Python/Django??? >> >> Background Info about why: >> I am a student studying Cognitive Science and want to work as either a UX >> designer or a Full Stack Engineer, I am leaning towards Full Stack >> Engineering and designing more for the front end in my after hours. I don't >> have a serious girlfriend (lol) and my life is pretty simple so I know this >> is what I want to do. I am committed. I know PHP fairly well and can use >> Wordpress and Joomla for whatever. I am familiar with MVC through use of a >> popular PHP framework called Codeigniter. Oh yeah, I used C++ pretty >> heavily about 10 years ago building Windows Applications...and loved it. >> >> What I will be using it for: >> After I graduate in a year and after learning the language I decide on I >> plan to develop a full blown web application. I don't know if this is too >> ambitious but all I'm willing to say now is it is like Pintrest but not a >> clone. I have fully developed the concept for a long time now and will have >> the features down pat by then. My goal is to invest my time on a prototype >> and release it, then hopefully get with a team or even investors if it >> works and develop it more. If it doesn't work out then Plan B is to use my >> skill-set in a full time position with a company in a tech hub somewhere in >> the US. Plan B might turn into Plan A in a year depending on my money >> situation. >> >> So there are three aspects to this question: Should I learn Django/Python >> or Ruby on Rails? is Plan A(the web app) feasible with just me and >> Django/Python? How does Python fair in the work market? >> >> I know all this may seem like a lot to ask but this is really just a test >> of this forums activity. I have been pretty avid on staying with PHP or >> maybe going back to C++ because this HTML/CSS situation I usually work with >> these days tends to get on my nerves. >> >> Last thing to add for this thread (I swear) is: one thing that really >> irks me about web development is the lack of real debugging tools that work >> flawlessly. Maybe it is just I haven't learned them yet but I know in PHP >> you are stuck with using Xdebug through your browser (although I just found >> a new debugger that only works in recent versions of PHP) so if anyone >> could just give a 1+ to integrated debugging with Python Django that would >> be great. >> >> Thanks again if you read this far. >> Feel free to contact me if you have a similar web application in the >> works, I have no doubt there probably is. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/4c01a2c3-50f1-4123-b0b2-4197222d6595%40googlegroups.com >> <https://groups.google.com/d/msgid/django-users/4c01a2c3-50f1-4123-b0b2-4197222d6595%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CA%2Be%2BciVo8OLGHnD2qFHaE_yjcYiCqQ81nA_G%2BKvDwAr6zkkJiQ%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CA%2Be%2BciVo8OLGHnD2qFHaE_yjcYiCqQ81nA_G%2BKvDwAr6zkkJiQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2By5TLaKVNzxF35%2B-Cu3sH-GcsthcUgLeCv-nCPpCL-U7kc8Hw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

