Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

iam a newbie in programming , focusing on web development with PHP.

I have tried several IDEs Nusphere,PHP storm, all IDEs i tried doesnt load fast (ofcourse because of all extra features) i always liked Notepad++ as its fast even though it doesnt have features.

Does notepad++ meets all requirments for professional PHP development?

Should i invest time on learning IDEs?

Should i learn any PHP IDEs to be a professional PHP Developer?

share|improve this question

closed as not constructive by Robert Harvey, Glenn Nelson, MichaelT, gnat, Kilian Foth May 31 '13 at 7:31

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

8  
If its working well for you, then why not use it? A 'professional' uses tools that do the job, after all. –  GrandmasterB May 30 '13 at 22:33
3  
Why should you learn an IDE? Debugging, refactoring, code completion etc etc. Any tool that improves your performance is worth learning. I have a feeling that you develop as a hobby rather than for money. –  The Muffin Man May 30 '13 at 22:55
2  
There's no reason to not keep Notepad++ in your toolbelt and know how to use it well. There's value in IDEs, there's value in "plain" text editors like Notepad++. Understand both, then use the right tool for each task that presents itself. –  alroc May 31 '13 at 1:25
    
I have used it 3 times today already –  jk. May 31 '13 at 9:16
    
@Nick, it's a very different coding paradigm outside of Java and C#. One that doesn't cause me pain when I bring it to Java and C# where I typically find the IDE necessary due to code quality more than because managing data flow is a challenge for me with/without static types. –  Erik Reppen May 31 '13 at 15:07

5 Answers 5

Pick one plain text editor and learn it really, really well. Note that I said "plain text editor", not IDE. If you have mastered all the shortcuts, plugins, etc. of a single editor then you can use that across your entire career regardless of the technologies, languages, or platforms you end up using.

IDEs generally make you productive in a single language or group of languages. Learning one plain text editor really well will make you productive in any language you ever run into. My editor of choice is Vim but Notepad++ is also a pretty powerful editor and I know a few fellow developers that are incredibly productive with it. I learned this lesson from The Pragmatic Programmer book by the way (read it it's awesome!). It has served me well over the years and is quite possibly the single best thing out of a lot of really cool stuff that I learned from that book.

So to answer your question: yes Notepad++ is used in professional software development and if you prefer it to any of the IDEs you've tried, use it.

share|improve this answer
2  
I use both Notepad++ and the IDE for my toolchain daily. The IDE has some nice features (auto-completion of variable and type names that is sensitive to scope) which I find worth using, while Notepad++ is otherwise a better editor. –  Michael Kohne May 31 '13 at 0:54
    
I use Notepad++ for just about anything short of big projects in a fully typed language. The speed it's loading with is one of my favorite features. –  aviv May 31 '13 at 4:56
    
you are right but after one month we should use good ide like netbeans. –  Desert P Jun 26 '13 at 11:56

I am a software developer (not PHP), and primarily use Notepad++ to view data files and raw XML/HTML; things that are not normally within the scope of my native IDE (Visual Studio). From time to time I will use it for JavaScript when developing for an environment that isn't part of a VS solution.

It is rather light on convenience features, such as language-specific check-as-you-go, ability to plug in refactoring assistants, auto-complete etc. However, it will get the job done, especially for maintenance tasks involving smaller changes to an existing document. The language-specific color-coding is a definite plus and the primary reason that I use it at all.

I will say that you are almost certainly selling yourself short deciding to stay solely with Notepad++ over something more purpose-built to develop PHP sites. It's a valuable tool, but it is not an IDE.

share|improve this answer
    
The other handy feature that I've found notepad++ to be really helpful for is for checking the encoding of text files (eg ASCII or UTF8 or whatever) and checking line endings and for other weird characters. (But yes, learn a real IDE :) –  LachlanB May 31 '13 at 5:35

You can write good clean, maintainable code just as fast as anybody without an IDE. The problem is, not everybody else can or is willing to learn how. The majority of the Java and C# I've encountered is completely illegible without an IDE and is written more like procedural code that happens to have class syntax wrapped around all the methods. I haven't seen as much PHP but from what I have seen there, you're probably going to run into similar scenarios when working with other devs of mixed quality (or on their legacy code long after they've quit/been fired).

Among JavaScript devs, even JS devs writing fairly complex client-side web apps or node modules, however, IDEs are often dismissed as unnecessary and burdensome. This is for a lot of cultural and practical reasons that I could see as having some overlap with PHP devs who feel similarly:

  • We don't like dependencies. I just lost a whole day to trying to understand where this Java build is going wrong between Eclipse, Maven, and Tomcat. The last thing I need when I have to write code for umpteen browsers that don't always agree on what my code actually means, is my editor getting its fingers in the actual running of the app with its own set of config files and plug-ins and other completely unnecessary crap that should have just stayed at the command line where keeping it simple is the only real choice you have.

  • We don't need them for debug. Run the app? Hit refresh. Debug? Load the page up in Chrome (or use webkit for node), right click, inspect-element, look at all those tabs. On the web, our debug tools are built into the environment our code executes in and everything is so plastic we can modify code in the console just to see what impact changes have. In something like Node, everything tends to be so modularized we don't have to link 10 million dependencies to our work just to see if it works and do a little debug with logs and the like and we can still pull webkit or other tools into the mix for debugging our code.

  • Code not legible to the human eye is an unmaintainable PITA mess in any language but you definitely do not want to go there with JavaScript which gives you powerful options for good or evil. Once you hit complexity, having some level of craft when it comes to architecture is not optional in JS where everything is malleable and functions can be passed around like candy. They shouldn't encourage lack of thoughtful architecture in other languages either but people often use them as crutches and produce complete disaster codebases as a result.

  • No static types. The idea that static types protect you from something other than learning how not to write code that makes you paranoid of your own data flow is one I try to challenge almost daily on Stack because I come here to blow off steam after, you guessed it, looking at some truly awful Java and C#. With strong OOP that actually leverages encapsulation, you're not packaging/repacking, validating and revalidating at 50 steps in a gigantic chain of complete BS. You're checking contracts at the door and then working with flexible data structures that don't get in your way. So no, I don't need to hover over the vars in my code to see what types they are because that should be pretty damn obvious in a language that has like 5 core ones if you're naming things well, keeping your concerns separated, and not over-complicating things by implementing practices/patterns originating from C++ roots that don't make any sense even in C# or Java because Extreme Programming or some other standards-fabricating/advocating industry said so and people want that !@#$ on their resume.

  • It takes a fewer devs to handle the same level complexity. Fewer devs means fewer people reinventing perfectly serviceable code, implementing Kool Aid d'jour and getting away with it, etc.

But...

IMO, yes, professionally speaking you will want to learn your way around a popular IDE if you're working with PHP primarily. I get the sense there is something of a mixed vote on that topic from PHP devs but also just knowing a thing or two about how to debug and navigate a nasty PHP codebase (check out the PHP that lives under Drupal some time) could make you invaluable to a team of Notepadders when the time comes.

That said, nobody says you have to use it on your own time all the time or that you will even necessarily need to use it at every gig. Learning to write good, clean, maintainable code without the IDE, IMO, is an invaluable skill and one that an unfortunate number of devs out there will never learn. So yes, hold your nose, and learn your way around Eclipse or something better and do your best to find gigs where you won't have to. I've seen PHP devs that used both so it's not impossible or highly unlikely. Or learn JavaScript.

The best advice I can give on learning an IDE is to find something really big and nasty written in PHP and do some debug with an IDE to learn your way around it. To find something like that, look for code that was written by an excessively large group of devs, none of whom ever used anything but an IDE.

share|improve this answer

I'm not a PHP developer but some of my friends are , I prefer Java and C#, they have used IDE's and notepad ++ in their professional career.

One of the big reasons to use IDE is that they make development much easier when working with big projects and teams. Navigation is easier and they help with maintaining standard formatting and structure across the team. They also provide some pretty nice productivity increases, with code generation and the like.

I'd suggest learning about the language and software development in general with whatever your comfortable with and then adopting the IDE that the team chooses when you're working in a team.

share|improve this answer

Notepad++ is absolutely fantastic for reading log files. The ability to highlight plus bookmarks make it much easier to analyze anomalies in the log files.

It can also handle much larger file sizes that cause the default Notepad application to croak. I have had up to 10x 100MB log files open simultaneously.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.