0

I've done a lot of web development in JSP/JSF, and lately quite a lot in ASP.NET.
I would like to learn one of the following: ruby/python/php, for quick and simple projects.
I don't really care which one it is as long as it meets following demands:
- decent IDE (forget the notepad/pspad etc.), something with code completition (like eclipse/visual studio/netbeans)
- it has to be able to run on windows (IDE and environment)

Thanks for suggestions

Cheers

This is it
  • 771
  • 2
  • 11
  • 22
  • 2
    You should be aware that with dynamic languages, IDE doesn't mean that much as with statically typed ones. Most of the code will be written by you, not the IDE and there will be lot less boilerplate code to write and maintain. Lot of us are using "ordinary" editors with dynamic languages. – Mladen Jablanović Dec 30 '10 at 13:44
  • @Mladen Jablanovic How do you debug your application? It would be nice to be able to debug the code without fiddling arround, and to have decent suggestion (what was the name of that method), etc. Hvala – This is it Dec 30 '10 at 14:16
  • 1) Write tests. 2) Write short methods. 3) Use REPL. 4) Write debug logs. BTW, I have used Ruby debugger in NetBeans and it was quite decent, but I don't really need it. NNČ :) – Mladen Jablanović Dec 30 '10 at 16:34
  • I agree, but what do you mean by REPL (sorry :))? pozzz – This is it Dec 30 '10 at 17:07
  • http://en.wikipedia.org/wiki/Read-eval-print_loop Interactive mode - you type code line-by-line, it gets executed, and the result printed out. Invaluable while learning a language and very useful when testing small parts of the program. – Mladen Jablanović Dec 30 '10 at 20:43

5 Answers5

3

If you are willing to learn a MVC framework, I would recommend Python/Django and PyCharm. Rationale:

  • Python is easy to pick up; it is closer to pseudocode than anything (don't be annoyed by the 'indentation as block delimiter' thing, after some time you will find it a great idea).
  • Django has very nice ideas - the instant CRUD of Django admin is killer.
  • PyCharm is not very expensive, has a 30 day full working trial and is cross-platform

The Django setup for Windows is a bit annoying because every tutorial seems to pretend you are running some Unix flavor; sometimes you have to use the command line, and Windows CLI support is half-baked (if you are on Windows, get a decent terminal and install some Windows native GNU tools). Don't be scared of command line, look for windows specific instructions and don't lose heart - setup is only once.

After setup, the learning curve is smooth, just follow along the Django tutorial. I assure you an enlightening experience that will change the way you program in other languages.

About the other dynamic languages:

  • PHP: it is ubiquitous (even the cheapest hosting offers includes PHP support) and easy to get you started. If you want to learn something in order to improve your chance of getting a job, go for PHP. But will it make you a better programmer? I don't think so. As a language it is slowly evolving from a nice hack to a serious language, but still has a lot of dark corners (my pet peeve is how automatic typecasting is implemented).
  • Ruby: it is very similar to Python, perhaps even more expressive (too much for my taste: like Perl, it encourages a very personal style and while I love Perl, I have a hard time understanding even my own scripts after a few weeks). IMHO, Python code is easier to maintain in the long term, specially when larger teams are involved. Rails is worth a try. I've flirted with Rails but ended up picking Django, perhaps you experience will be distinct.
Paulo Scardine
  • 67,824
  • 10
  • 122
  • 145
1

Comparing Ruby on Rails to PHP is unfair. PHP is simply a programming language. However, it is an extremely flexible and useful language. PHP uses very little memory and performs quite well. It is also a mature language with a wide variety of extensions and library modules. Originally developed as a scripting language to be used in HTML pages, PHP has gradually matured and now includes full object oriented features. The later add-on of object oriented features is one of the biggest criticisms of PHP. Some programmers feel that PHP encourages sloppy coding because of its script-like roots and lack of a clear object oriented strategy from the beginning.

See http://www.learncomputer.com/php-vs-ruby-on-rails/

I have had the most luck with PHP so far because it is so widely used and there is tons of information about it. There are people that will rant and rave about Ruby-on-Rails. It is supposedly great for deploying applications quickly.(it has plenty of good resources too). PHP isn't the cleanest language and has a lot of issues, but it is pretty easy to work with in my opinion. The latest versions of PHP support both procedural and object-oriented approaches.

Andy Fleming
  • 7,194
  • 5
  • 31
  • 53
  • Hi DesignerGuy, could you tell me which IDE you use? Thanks – This is it Dec 30 '10 at 10:46
  • I use Coda (only available for Mac). It is a pretty lightweight editor. I've always been a hand-coding type. Some use Zend Studio, which is supposed to be pretty strong. (Zend owns PHP I believe) I've also heard that it is expensive. Also see: http://stackoverflow.com/questions/116292/what-is-the-best-ide-for-php and http://corpocrat.com/2010/09/30/10-best-free-php-ides-for-php-developers/ – Andy Fleming Dec 30 '10 at 10:50
0

PHP and use codecanyon.net to get things up and running quick. I got INRtracker.com running in under 2 months with what I just mentioned.

If you're going to use php, then get wamp and then after you install it, restart your computer. Then click on the Wampserver short cut on your desktop to start it up and then click on the icon in the bottom right of your desktop (you might have to click a little arrow) and then click start all services, then you can put php files in your wamp/www folder (you should be able to get to that from your C drive). Then you test them by going to http://localhost/filename.php in your browser. Have fun dude!

Pavan Katepalli
  • 2,302
  • 4
  • 28
  • 49
0

Ruby on Rails works on Windows (although I would recommend at least having Linux as a virtual machine for any of the three languages), and it has several decent IDE's (I personally used NetBeans, available for Windows too). But as I already mentioned in the comment, approach with dynamically typed languages is quite different than one with Java/C#, but I guess you will have to see that for yourself. Right now, most of development I am doing using Vim (again, available for Windows as well).

The most important IDE feature that I am missing in "ordinary" editors is tight SVN integration, namely highlighting the changed lines (although there's Vim plugin for that).

Community
  • 1
  • 1
Mladen Jablanović
  • 42,480
  • 10
  • 91
  • 112
0

I suggest Django with PyDev as an IDE. PyDev is aptana's product. You can install PyDev as Eclipse plug-in or as an Aptana plug-in.

Being an Eclipse plug-in means that PyDev is able to use all the Eclipse goodies. Also, if you have used Eclipse in the past, that means you are already familiar UI and the shortcuts.

Sergey Golovchenko
  • 17,445
  • 15
  • 53
  • 70