1) What does CI learning-curve look like? How long does it take to learn it well?
If you are already well versed in PHP, then the learning-curve will depend upon whether or not you’ve ever worked heavily in object oriented programming. If you understand the object oriented parts well, then MVC should not be too difficult to pick up.
I taught myself PHP and started making good money as a PHP programmer within 30 days of my picking up PHP for the first time. I learned it quickly, because I already had several other languages under my belt and had been a programmer for over 30 years before I decided to learn PHP. I picked up CI, with only the documentation that came with CI, and was using it to make my life easier on my job in just 2 days. I thought the learning curve was quite easy coming from my perspective.
2) Is it possible to get any free e-book talking about CI?
Personally, I found that the help files that came with CI were already so complete, that I didn’t really need any outside sources. These forums help fill in the blanks for most people, but I never really came here to get help, because I could already either figure out how it was done or find it in the help files.
3) What IDE do you preffer? I’m looking for IDE with auto-complete for CI and so on..
I preferred to stick with the IDE that I was already using before I got into PHP, because I used an IDE that handled code completion / auto-complete for every language I had ever worked with, and I found that as long as I included the CI System folder in the project path, that my IDE would handle the auto-complete for me as well as give me IntelliTips about CI specifics, such as function tips that would make it easy for me to know what parameters need to be filled in for a function (pulled straight from the function definition). Keeps me from having to look at the manual as a reference in day-to-day work.
I use UEStudio, simply because nothing else comes close, and I’ve tried them all. Many people here will tell you to go with Eclipse or something that is based off Eclipse.
You will find that many IDEs are written in Java, and are very slow when it comes to large projects. Get an IDE written in C, C++, C#, or Object Pascal, as they will deliver the best performance. (UEStudio is written in C#.)
The platform you use (Linux, Windows, OS/X) will dictate what IDEs are available to you. If you’re thinking, “I want a free one” then don’t expect one that will be an exceptionally good one.
If you’re using OS/X, I would recommend using TextMate, as nothing else has the power of TextMate on OS/X platform. If you’re using Windows, then I recommend using UEStudio, as not even TextMate on the mac can compare to UEStudio. If you’re using Linux, then there are many sub-par free IDEs on the market for you to choose from. One is just about as bad natured as the next.
I know there are a lot of people that disagree with me on some of these points, especially when I state that don’t expect a free one to be an exceptionally good one. People who have never shelled out money for an exceptional IDE such as UEStudio because they think their free edition of something else is all that and a bag of chips are people who really don’t realize what they are missing.
I speak from experience on that. I’ve been a programmer since the early 1970’s, and have since retired. I have reviewed and evaluated many editors and IDEs over the years for employers, and have kept up with this tradition to determine the best out there. The primary reason I stay with Windows is because the best IDE is on Windows, and I still do coding for a hobby in my spare time.
Many of the best editors will allow you to try them before you buy them. I’d suggest taking time to try a few. If your budget now does not allow for purchase of an IDE, and you want a free option, those are available as well. However, if you plan to make this a career, consider this: You’re paying a lot of money for your schooling to equip you to be a productive computer programmer. Should you not also properly equip yourself with the proper tools?
Best of luck on your decision.