Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I use Visual Studio to develop C#, C++ for about 10 years.
Is there a free or inexpensive development platform similar to Visual Studio Express (maybe even a plugin for Visual Studio!) that would allow me to develop and test my code?
I've got a number of PHP books, but I'd like to test the things I've learned before tossing them out onto a live website!
* * * UPDATE * * *
Now that the new 3.0 version is out I figured I should update this answer. After 10 months of using PHPStorm on a constant basis, I can safely say that it is the best software investment I have ever made. I have caught so many mistakes before they ever happened due to the amazing live inspections and syntax checking. I have customized my editor more than any other will allow, including an awesome dark scheme, a ton of live-templates, keyboard shortcuts for just about everything, custom inspection profile settings, lots of templates for Kohana framework, etc. The end result is that my productivity has soared. My code is cleaner because of the various refactoring tools which I frequently use. In general, my coding skills have taken several notches up in large part due to such a friendly environment. Now v3 seems even faster than v2. The old Eclipse-based IDEs are so gummy compared to this - the discrepancy in speed and stability is astounding. I use SVN locally and I feel the integration is super-tight and rock solid - I stopped using Tortoise SVN altogether because everything happens inside the IDE. Also, I frequently use the deployment tools, which are also very nice. For example, you can quickly compare a live version with a local version and merge discrepancies, etc. And you can map many folders to the remote server so you can make a one-keystroke upload per each random file that you're working on. This is just an all-around great tool.
One more things - Jetbrains seems to be a very impressive company. I'm not usually so loyal to a company, but they guys are rock stars. All I know about Jetbrains is that they're Russian and they can really crank stuff out. They come out with updates all the time, supporting new trends like COFFEE and LESS, etc. All very impressive.
I hope this helps any aspiring PHP developers!
---Old answer below:---
PHPStorm (the new 2.0 version) is insanely awesome -- very customizable, very fast, very SMART. Get a WAMP setup going, and get the debugger working. Highlights:
You can setup logical locations of files and map them against physical locations (ie, great for setting up whatever flavor of PHP framework you're using).
The code completion is outstanding, and worked out of the box with the Kohana 3 framework (never seen an IDE do this on the first try!).
The PHP refactoring alone is worth the price of $100 for a single developer.
I have also been using the PHP and JS debugger like crazy... I setup my own hotkeys for STEP-OVER and STEP-INTO, etc, to match my Visual Studio hotkeys and I'm just FLYING compared to working in Aptana (eclipse-based).
I haven't yet gotten into the automated testing, but that's integrated too.
Oh yes, SVN is also integrated, and seems rock solid. It also comes with a built in "history" mechanism for tracking micro-changes to files.
After owning this for 2 weeks it's already paid for itself several times over, and is worth much more than I paid for it. VERY HIGHLY RECOMMENDED... at least worth the time to fuss with the trial version.
For Free I'd try NetBeans and a WAMP Server
PhpStorm, but it's not a free program.
There's Netbeans' PHP IDE and Eclipse PDT.
I was considering PHPStorm when I was moving away from Aptana. However, I ended up choosing Phped for one reason. PHPStorm won’t let you open project files that are on a network drive. My particular dev environment consists of a Linux VM with a Samba share. I attach the Samba share in Win7 as a network drive. Phped allows me to add to the code from the network share to my project. PHPStorm does not. That’s a deal breaker for me. From what I’ve read, that behavior seems to be by design. Looks to be a great IDE otherwise, but not for me.
Eclipse PDT is great for those who are familiar with visual studio. It integrates with Zend Debugger, has an integrated browser for rendering pages, and allows for code-completion (IntelliSense) and class-refactoring.
http://www.eclipse.org/pdt/
I'd definitely go for JetBrains PhpStorm too. Fantastic IDE. You can download their EAP versions from here. They try to release new EAP version every week.
Related
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I am a .net developer. A friend of mine is planning to outsource a website. He is getting quotes which are very cheap but the sites will be in php/msql.
At this point he is not having any resource and that includes no development machine, no programmer or whatsoever (he only has some money to invest :)). Now he wants me to get involved in this project and manage the website once the outsourcing company hands us over the application (including source-code).
Till now I have worked with VS / ASP.NET / IIS and VSS. I haven't worked a bit with php/mysql but given google / SO and little time I will be able to manage.
So I need help on identifying:
1: What and all I need on my development machine. Because after the application is handed over to me, I will be responsible to fix minor bugs and minor modifications. For major addition of new features we might go back to outsourcing(same or different company).
2: Anything specific to web-hosting I need to be aware of because ultimately I will be responsible to find host provider and manage the website.
3: Anything that can help me get going fast on php.
Editor: PHPStorm or Eclipse are popular choices.
Test Server: XAMPP which you can install locally on windows.
Version Control: Subversion (choose whichever client and server you find free).
Hosting: I like site5 for cheap shared hosting. Depends on the site's needs however.
Learn phpMyAdmin. It's a simple to use MySQL database administration tool that's already included on most lamp stacks. Allows you to set up tables, run queries, backup, etc.
I like XDebug for remote debugging and profiling. Most major IDEs are integrated with it.
To learn the code, just use the PHP online documentation. It's pretty good.
Make sure you have a similar setup as to what the outsourcing company used. Mainly: OS, Webserver/version, PHP version, MySQL version. Differences are minimal but they do crop up every now and then.
Don't skimp on price. If your hosting plan is cheap you will get exactly that.
Read their code and try to understand it (PHP is very easy to read). If you can't understand it they probably did a very bad job ;)
Suggest hitting godaddy.com for your hosting needs for most small-medium solutions. While it's true that you can host a server in your basement, it's generally more trouble than it's worth; you can buy a domain name and a year of hosting for a hundred dollars and save yourself dozens of hours of headache and downtime. While there are places that will host your site for free, a lot of times you get what you pay for.
Once the site is developed it's a (relatively) simple matter to copy-paste the site files and database; your outsource company can probably deploy their product to your godaddy server in a matter of minutes.
For your dev machine, I recommend Eclipse with the PDT plugin as your editor (download the "php version" of eclipse). I strongly recommend svn or some other source control. It's very useful to have apache and mysql installed on your dev box along with your site and db so you can test changes locally. When developing, it's good practice to test on at least IE, firefox and chrome as they're the most popular browsers at the moment.
php.net is the equivalent of the java.sun.com/reference/api/ and is searchable by function name. It also has a manual; start here http://www.php.net/manual/en/ but for small edits, if you're familiar with any c-syntax language and html you shouldn't have a problem. Just don't forget your dollar signs and semicolons.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I have been hearing a lot about the advantages of using a version control system and would like to try one. I was doing freelance web development in PHP for the past 2 years, two months back I hired two more programmer to help me. I will be hiring one more person soon. We maintain 4 websites, all of which are my own, which are continuously being edited by one of us. I learned PHP by myself and have never worked in any other firms. Hence I am new to version control, unit testing and all.
Currently, we have development servers on our workstations. When we edit a particular section of a site, we download the code for that particular section (say /news/ or /movies/ or /wallpapers/ ) from the production server to the dev server, makes the changes locally and uploads to the production server (no code review / testing). Because of this, our dev server is always out of date from our prod server. Occasionally, this also create problem when one of us forgets to download the latest copy from prod and overwrites the last change. I know this is very very foolish, but currently our prod server is the only copy that has all the updates and latest changes.
Can anyone please suggest which is the best version control system for me? I am more interested in distributed version control, since we don't have a central backup for all our code. I read about Mercurial and Git and found that Mercurial is used in several large open source projects by Mozilla, Sun, Symbian etc. So which one do you think is better for me? Not only version control, if there are any other package that I can use to make my current setup better, please mention that too :)
It sounds like Git can accomplish your goals quite well. As it's distributed, it's excellent for working locally since you can perform most operations (commit, revert, diff, patch) without connecting to a central server. You can also avoid that ugly moment of someone pushing new code to production while someone else is working on it, and then having the complicated task of merging those two versions of the code together (git provides a useful tool for doing this called rebase).
You noted there's some big projects using Hg (Mercurial), but there's some pretty big ones using Git, like the Linux Kernel, X.org, Android and Debian.
I use git for all my sites: it's lightning fast, efficient, and easy to use.
Edit: If you want to get into using Git, I'd recommend doing some reading before jumping right in. Starting off on the wrong foot can have some terrible implications later on. If you follow an Agile Workflow, you might want to check this out. Here's a website I learned most of my Git know-how from.
Version control is an incredible tool even when you're working alone, and when you are working with someone else it's indispensable. I would recommend using git. It's very fast, has a really great set of available tools, and of course has github.com. Mercurial is basically just as good as git, but it runs a little slower and doesn't have github.
For why to use git, please read http://whygitisbetterthanx.com/
Here's a nice-looking tutorial on getting started with git: http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html
You can use SVN, Git, Mercurial.
The biggest challenge is having everyone be disciplined in using version control and not getting lazy.
Definitely Mercurial. Although you can use either Git or SVN, Mercurial is better for two reasons:
Vs Git: Good integration with Windows.
Vs SVN: It's distributed.
If you don't want to run yourself a Mercurial server (which is pretty easy anyway), there are many services available. Kiln + FogBugz is an EXCELLENT combination. There's also CodeBaseHQ (also supports Git and SVN), Bitbucket, and many more.
Before you jump onto it I strongly recommend you read at least Joel Spolsky's tutorial, but I strongly recommend you also read Mercurial: The Definitive Guide.
I am sorry, I had no intention of starting a DVCS holy war. I am going to try Git.
Yes, version control will help. To get started, I see two important issues for you:
hosted or self-managed? Do you want to host this yourself on a server, or want a service to take care of it for you? There are reasons to go either way, but if you're not that into managing the server look for a hosted option.
SVN or Git There are others, but these are the top open source contenders.
Pros and Cons (my opinion):
SVN: Good tutorials and fairly easy to get up-to-speed with. The training requirement is small (I've done a bit of it). SVN works really well with a co-located team, lots of projects, etc. With a limited number of branches (you may not need any), it is solid. There are plenty of integrations with other tools.
Git: Getting started can be a little rougher than with SVN. Some of the docs are good, but lots are geared assume a rather thorough understanding of the internals. Once you get the hang of it, it has great flexibility, but I've seen almost everyone who has started with it really stumble when beginning. Even after working with it for months, people debate the best patterns to use. It's really sweet for 1-person projects (where you want to track history), and for distributed projects like GitHub. I use Git even for small co-located teams, because I enjoy the speed and flexibility.
Given what you say about your team, though, I'd probably recommend trying SVN. There will be better resources to help you get going, and you'll be less likely to get frustrated with it.
Hope this helps.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
How does Eclipse PDT compare to NetBeans for PHP development?
I just bought a new computer with Windows 7 and I'm starting to set up a development environment for PHP. Has anyone used both IDEs lately and could make a quick comparison? If you know what major frameworks are supported, that would be great too.
Yes, I switched from Eclipse to Netbeans for PHP development quite recently. And I have to admit - I like NetBeans better. It seems to me more lightweight and stable. It certainly loads faster. And code completion seems to be much better than in Eclipse - it doesn't fail so often, and you can insert hint-comments wherever you wish to specify the types of your variables. Also NetBeans IDE is much simpler than Eclipse. It's probably not as powerful (and it could definately use a few more configuration options), but on the other hand, Eclipse was downright intimidating with its complex system.
Put it this way - if you come from a Windows background (like me), go for NetBeans. If you're a Linux/Unix fan, you'll feel right at home with Eclipse.
I switched to NetBeans after version 7.0 has been released. It's faster, more lightweight and code completion is better. Its easier to configure and looks like everithing just works, in Eclipse you need to deal with complex configuration, and I wanted to focus on coding. But they are both good.
I compared them, you can read more on http://dev.umpirsky.com/eclipse-vs-netbeans-for-php-development/
Eclipse PHP (PDT) does not come with a working debugger out-of-the-box. You have to download and install at least 2 or 3 other fussy open-source components to make that work. I've never tried NetBeans, but, if you need debugging (stepping through code) and you don't have several days to work through the environment setup hell of Eclipse, that might be the way to go.
I use Eclipse first and work friendly with this .Next I use Netbeans for Java and I use it completely in java and uninstall Eclipse . Next time that I need work with PHP I use Netbeans for this goal and I understood Netbeans code completion better than Eclipse also code highlighting but build , compile,debug and run are better in Eclipse and I think Netbeans increase feature and functionality in future .
Advantage of eclipse is that I can code in PHP and perl in the same project.
I downloaded NetBeans IDE 6.9.1, just to compare against eclipse PDT 2.2.0 to edit PHP projects on CVS.
Eclipse can appear complex and difficult to setup, however, by downloading eclipse PDT all-in-one it is easiest to unzip it and start using it.
I'm surprised about how fast and light weighted NetBeans is, you can realize how fast it is immediately.
I still like eclipse on the way how it does and shows stuff, but NetBeans has a crispy design.
They both are really good options regardless of Linux or Windows OS.
Frankly - I don't know which is better or worse; I've worked with Eclipse ... it was required by the College I attend for the JAVA course -it worked great for that and I quickly understood how to manipulate the project to store "everything" related to the class, including PDF files and Word Documents.
When it comes to PHP -well, I can't seem to get XDebug to function with Eclipse. Not even sure I know why at this point. I installed NetBeans and had no problems interfacing with XDebug for PHP ... so I'm torn. There are aspects that I like about both of these applications -and things I don't like, mostly cosmetic things. Like where they write their project data -and about renaming or moving project data ... I've had a bugger of a time with Eclipse -and not as much trouble with 'Beans.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm a Engineering student and I'm attending a Database and Information Systems class this semester. It's required that I produce a website/application that uses a database, using PHP/PGSQL. My questions are:
which IDE would you recommend?
does anyone have good tips and advices for a new developer?
it would help me (a lot) to develop this project attending some more "academic" aspects of the subject, such as the Entity/Association Model, etc. Are there any good tools to help structure my work?
Thanks!
EDIT: A few notes:
I forgot to ask one last thing, I tried installing BitNami's WAPP Stack. Does anyone know how good and/or reliable it is?
I'm actually working under Windows Vista Business (new laptop :S ). Would you recommend develloping under Linux for any specific reason?
which IDE would you recommend?
Anything that supports remote debugging. You will save yourselves hours and hours and learn so much quicker if you can actually step through your code. It always amazes me that more people don't use good debugging tools for PHP. The tools are there, not using them is crazy. FWIW I've always been a devotee of Activestate Komodo - fantastic product.
does anyone have good tips and advices for a new developer?
get test infected. It will stand you in good stead in the future, and will force you to think about design issues properly. In fact the benefits are many and the drawbacks few.
learn to refactor, and make it part of your development "rhythm".
related to this is: think ahead, but don't programme ahead. Be aware that something you are writing will probably need to be bubbled up the class hierarchy so it is available more generically, but don't actual do the bubbling up till you need it.
it would help me (a lot) to develop this project attending some more "academic" aspects of the subject, such as the Entity/Association Model, etc. Are there any good tools to help structure my work?
Learn about design patterns and apply the lessons you have learned from them. Don't programme the "PHP4" way.
I forgot to ask one last thing, I tried installing BitNami's WAPP Stack. Does anyone know how good and/or reliable it is?
No idea, but if you have the time I'd avoid a prebuilt stack like WAMPP. It's important to understand how the pieces fit together. However, if you're running on Windows, you may not have time and your energy could be better focused on writing good code than working out how to install PHP, PostgreSQL and Apache.
I'm actually working under Windows Vista Business (new laptop :S ). Would you recommend developing under Linux for any specific reason?
Yes I would. Assuming you are deploying on Linux (if you are deploying on Windows I'd be asking myself some serious questions!), then developing in the same environment is incredibly useful. I switched for that reason in 2005 and it was one of the most useful things I did development wise. However if you're a total *nix newbie and are under tight time constraints maybe stick with what you know. If you have time to try things out, you'll find it pretty easy to get up and running with a good modern Linux desktop distro and the development work will fly along.
This is probably the only time in your career when you have the full freedom to chose what tools to use, so make the best use of it. Learn some of the classic tools that will go with you a long long way.
So instead of using an IDE which you'll probably do all your professional life get a taste of using old school editors like vim/emacs. One advantage here is that the IDE will not hide all the details on getting your project to work, knowing the full technology stack is always a plus.
For any technology that you'll be using try and get a good broad perspective before diving in to the implementation details, so for PHP I would suggest getting a grasp of XHTML, CSS and Javascript including libraries like jQuery; Object Relational Mapping (Take a look at Ruby on Rails, CakePHP, Django and SQL Alchemy) and Model View Controller Frameworks on various platforms.
For PGSQL in addition to normalization try to get into the depths of information_schema and the transaction isolation levels and when they're useful.
Also important is understanding how the HTTP protocol works at a low level and how highly scalable websites can be built using HTTP.
Rather than relying on tools I would say that just create a reading list on the topics mentioned above and that would automatically structure your thought process to take into account these kind of issues.
IDE: I reccomend PSPad for its great FTP features and syntax highlighting for PHP
Tip: Go through the PHP documentation for mysql or whatever database you are using, the PHP documentation is the best tool you have for learning it.
Tip: Keep data simple, its always mutable to something else, for example, store time with unixtimestamp, since php has great functionality with the date() function to turn it into anything you want.
EDIT to add linux vs windows tips
I have developed on both Windows and Linux machines and i have both had a PHP server on Linux and Windows and for my type of developing (CMS's and Websites on those CMS's) i prefer developing on Windows and hosting on Linux. This is due to the stability of Linux and the Tools i can use reliably on Windows (Photoshop mainly)
I would recommend a plain text editor rather than an IDE. You should use one with syntax highlighting such as Notepad++.
Tips:
Use Firefox
Play around with some test databases. The biggest mistake made when teaching or learning databases is to focus on theory without actual data.
A good IDE for PHP is PDT, an Eclipse plugin.
My recommendations:
No IDE - just a basic syntax-highlighting text editor (I use jEdit)
Understand XSS and SQL injection
There are lots of good frameworks under PHP that will help
I recommend you netbeans .its free. it is available for all platforms, and mostly it is good for editing php, jsp, java, css, html, ...
Good for SVN, mercurial, Plus you can integrate it easyly with kenai.com...
it helps with the IntelliSense kind of pop up.
believe me, i'm using it for php development and its the best suited ide i can find...
IDE: Quanta+
tip: don't use a template library over a template language (PHP)
tip: MVC is a design and mentality issue, not a library
The best editors you get on windows are Notepad++ and Eclipse. both good, but can't hold a candle to Kate and Quanta+. for that alone, i'd ditch windows. Also, it's nice to have both the development and a real test environment on the same system, and even if most OSS is available on windows, they're always a square peg on a round hole.
ide: vim + (firefox+firebug)
using an ide with php, for the most part, is overkill
other tools: pgadmin3
design your tables so they are easy to query
if you have an extra box, i would put linux on it if you want to try it out. Ubuntu is a good started distro with a simple LAMP set up process. I wouldnt do anything to that vista laptop though, because it will allow you to test in IE and firefox.
Have you looked at Delphi for PHP (<http://www.codegear.com/products/delphi/php>) ?
Joe Stagner of Microsoft really likes Delphi for PHP.
He says it here: "[Delphi for PHP] 2.0 is the REAL DEAL and I LOVE IT !"
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have absolutely no idea about version control. Only that it can be very useful in many ways.
I have found a few related questions but none that start from the absolute beginning.
I am the only developer at my work using Mac OS X and traditionally just been using FTP.
Can anyone help me with version control in relation to PHP projects (does it matter)?
Yes, try it out, it's worth it. And the language you are using doesn't matter. It's working great with PHP for me and it will for you too.
Benefits
If you are the only developer, it is indeed easier to go without version control. However, you will find great benefits to using a version control system. Some of the easiest benefits will be:
Never wondering what is your latest version once you go back to a project (no more myproject090201-archive2-final6.zip)
Never fear to start off some major refactoring, if you make a mistake on your file, you'll just rollback to the latest version
If something stops working in your project and you have the feeling it worked at one point, you can test some of the prior versions easily and look at the difference between the working version and the non-working version to find what broke the code
Additional backup of your current project, and even better if it's not on your machine... of course, additional points for backing up your version control system, we're never too cautious, you don't want to have to restart that month-long project do you?
Choices
As some have said, you have a few choices for your version control system and I guess you'll want a free one to begin. There are a few excellent commercial products but the free ones have nothing to be ashamed of. So here are some very popular free version control systems:
Subversion (also called SVN)
Git
Mercurial
Bazaar
Centralized versus distributed
Subversion has been there for a while and it's one classified as 'centralized'. Meaning everyone will always go fetch the latest version and commit their latest work to one central system, often on another system although it can easily be on your own machine. It's a process easy to understand.
The three others are called 'distributed'. There's a lot of different possible processes as it's a more flexible system and that's why those three newcomers are getting a lot of traction these days in open source projects where a lot of people are interacting with one another. Basically you are working with your own revisions on your own machine, making as many copies as you need and deciding which versions you share with other people on other computers.
The trend definitely seems go towards distributed system but as those systems are more recent, they are still missing the GUI tools that makes it really user friendly to use and you might sometimes find the documentation to be a bit lighter. On the other hand, this all seems to be getting corrected quickly.
In your case, as you are working alone, it probably won't make a big difference, and although you'll hear very good points for centralized and distributed systems, you'll be able to work with one or the other without any problems.
Tools
If you absolutely need a GUI tool for your Mac, I'd then choose SVN to get initiated to source control. There are two very good products for that (commercial):
Versions
Cornerstone
And a few other ones (such as the free svnX) that are becoming a little bit old and unfriendly in my opinion but that might be interesting trying anyway.
If you don't mind not using the GUI tools, with the help of Terminal you'll be able to do all the same things with a few simple command lines with any of the aforementioned systems.
Starting points
In any cases, you'll want some starting points.
For Subversion, your first stop must be their free book, Version Control with Subversion. Take a few hours of your day to go through the chapters, it'll be time well invested. The introduction chapters are a good read even you don't want to use Subversion specifically because it'll get you to understand version control a little bit better.
For a distributed system, I've had fun with Mercurial but it's an easily flammable subject so I'll let you make your own choice there. But if you end up looking at Mercurial, have a look at this blog post, it was an excellent starter for me that'll get you up and running with the basics in a few minutes if you're already a bit accustomed to version control in general. Anyway, drop by Mercurial's homepage and have a look at the Getting Started section of the page.
Conclusion
Give it a go, invest a day trying it out with a few bogus files. Try out renaming files and directory, erasing, moving things around, committing binary files versus text files, resolving conflicts and reverting to older versions to get a hang of it. These are often the first few hurdles you'll encounter when playing with version control and it'll be painless if it's on a non-production project.
In any cases, it's something well-worth learning that'll be helpful with your solo projects as well as if you end up working with other developers at your current job or your next one.
Good luck!
The type of code is irrelevant.
One open-source and popular version control system is Subversion and there is a very good overview/manual here.
I use Git for PHP development.
It's fast, flexible, reliable, clean (CVS and SVN create a lot of hidden folders that I personally don't like).
Its distributed nature allow to work the way you want (with or without a central repository).
You can find more about it here:
Gitmagic
Speed Benchmarks
Moreover, you can get the Eclipse PDT (PHP Plugin) and use Subclibse in the IDE.
Versions is working well for another developer I work with. Additionally, if you are using Textmate the SVN bundle provides pretty much all you need for most parts of the Subversion workflow. I really like it.
The Project Plus plugin takes it a step further by adding small unobtrusive badges to versioned files in the project tree, showing at a glance the state of files in a project.
If you're on a Mac, do yourself a favor and pick up Versions, a beautifully designed (and highly functional) Subversion GUI. You'd do best to learn the terminology and get an idea of how Subversion works using a GUI before you jump to the command line. Once you're able to commit revisions of your code and run updates to get other people's work, then go back and read the red bean book (it really is the best way to learn Subversion in-and-out).
http://versionsapp.com/
use bazaar http://bazaar-vcs.org/
it's very nice and you can start using it in minutes.
Check out other options too - Miscrosoft's TFS (this not only used for source control system but for defect tracking, project management etc etc) , Bazaar, Git are popular ones.
Alex,
Version control (and some will scathe me for this statement) is not a trivial matter, and even very experienced developers get themselves into trouble. The most frequent causes for frustration are limitations of a particular product (Visual Source Safe is a famous one), and members of a team not following the same process, or not understanding the process at all.
This should not stop you from looking into using a source control tool - the opposite is the case. You can only use a tool effectively if you understand what it does and why.
I would recommend that you look into CVS. It has been around for many years, it is relatively simple to install, set up, and use, and while there are GUI clients available for most platforms, learning it from the command line may provide the best access to its features.