This forum is in permanent archive mode. Our new active community can be found here.

IDE's oh MY!

dsfdsf
edited May 2011 in Technology
So I have selected a Laptop and ordered it. Now the next step of setting up my tools is to take a look at some IDEs. Starting off, most of my experience is in Visual Studio(because that is what my university shoved down our throats), so I am already spoiled by intellisense. I also have some limited experience with netbeans. Now I need to use php and even though visual studio does not support it natively, I have found a php addon for it. Any suggestions?
«1

Comments

  • There aren't really any good PHP IDEs. There are PHP plugins for Netbeans and Eclipse. Really, text editor is the way to go. PHP isn't statically typed, which makes having an IDE with all those features much trickier. Also, the object orientation of PHP is sort of tacked on. Can't go wrong with a regular old text editor.
  • I'll second Scott for PHP, It's never had a good IDE. Most of the development I've done in PHP, which amounts to a great deal of it, has been with EditPad Pro and vim. Early on I tried using more than a few of the IDEs out there but none of them worked as well as a normal text editor.
  • There aren't really any good PHP IDEs. There are PHP plugins for Netbeans and Eclipse. Really, text editor is the way to go. PHP isn't statically typed, which makes having an IDE with all those features much trickier. Also, the object orientation of PHP is sort of tacked on. Can't go wrong with a regular old text editor.
    I have been using notepad++ for php so far
  • O hai textwrangler is cool.
  • I am no computer scientist but I've cobbled together a few PHP-mysql driven websites. Notepad++ always treated me well.
  • Not a PHP coder, but in my experience, IDEs only made sense for languages like C, C++, and Java, and only when your project scales to such a large extent (dozens or hundreds of files) that their code indexing was very helpful in navigating around the large source tree. Anything smaller and you're better off using your favorite programmers' text editor, whether it's vim, emacs, textwrangler, komodo edit, notepad++, etc.
  • Not a PHP coder, but in my experience, IDEs only made sense for languages like C, C++, and Java, and only when your project scales to such a large extent (dozens or hundreds of files) that their code indexing was very helpful in navigating around the large source tree. Anything smaller and you're better off using your favorite programmers' text editor, whether it's vim, emacs, textwrangler, komodo edit, notepad++, etc.
    I use VS for ASP stuff
  • I use VS for ASP stuff
    Visual Studio and ASP are both Microsoft products. They specifically made Visual Studio to work with ASP. That's how things work in commercial software.

    PHP is open source. There is no company that owns it. The only code that comes from the PHP people is http://www.php.net/downloads.php. Every PHP tool is something made by another entity either open source or commercial. Also, historically PHP started out as just a funky thing to insert widgets into Geocities pages. It wasn't originally a well designed programming language. It's basically a giant ball of duct tape. So not only is there no PHP IDE like Visual Studio, but it is actually incredibly difficult to create one. The fact that things like the PHPDev in Eclipse even exist is a miracle in itself.

    Really every single programmer should learn either vim or emacs. I can understand people not willing to get over the initial hurdle of vim, but then at least do emacs. A text editor is perhaps the most essential tool for any programmer. If you can't get along without fancy IDEs like Visual Studio, you're really very limited.

    Also, if you are working with PHP you should probably do it in a Linux VM. I highly doubt the web servers are running Windows, so you'll be wanting to develop on the same LAMP stack that is running in production. If you are using Windows servers for PHP, that is fucked up right there. I know it's possible, but it's moronic.
  • I use VS for ASP stuff
    Really every single programmer should learn either vim or emacs. I can understand people not willing to get over the initial hurdle of vim, but then at least do emacs. A text editor is perhaps the most essential tool for any programmer. If you can't get along without fancy IDEs like Visual Studio, you're really very limited.
    I agree, although I'd open up the floor to other text editors of suitable power other than vim or emacs, although the advantage of learning them is their near ubiquity on Linux/Unix systems (although most non-Linux Unixes don't ship with emacs and use plain vi, which is more feature limited than vim but shares the same core command set). Granted, I have yet to use a CUA-style text editor (i.e. one that uses Ctrl-C for copy, Ctrl-V for paste, Ctrl-S for save, etc.) anywhere near as powerful as vim or emacs (which is even more powerful than vim, albeit much of that power isn't applicable to editing) yet. I hear Visual SlickEdit is right up there with vim and emacs in power, but it's expensive as hell.

    Back in college, I used to joke that my IDE consisted of vim and a half dozen xterms. :) Nowadays I do use a proper C++ (or Java, depending on what I'm working on) IDE, but only for its code indexing and browsing. I still drop to the CLI for running debuggers, executing my programs, etc.

    Also, if you are working with PHP you should probably do it in a Linux VM. I highly doubt the web servers are running Windows, so you'll be wanting to develop on the same LAMP stack that is running in production. If you are using Windows servers for PHP, that is fucked up right there. I know it's possible, but it's moronic.
    Might be hard to do, but you can probably get pretty close. I mean, if the production servers are running Red Hat Enterprise Server, for example, you may not necessarily be able to run it on your local machine due to price. In that case, CentOS would probably be good enough to get the job done, however.
  • Might be hard to do, but you can probably get pretty close. I mean, if the production servers are running Red Hat Enterprise Server, for example, you may not necessarily be able to run it on your local machine due to price. In that case, CentOS would probably be good enough to get the job done, however.
    Obviously it will never be identical, it just needs to be close enough. If you have a slightly different apache version, it won't make any difference. If you have PHP5 and production has PHP4, then you've got issues.
  • Might be hard to do, but you can probably get pretty close. I mean, if the production servers are running Red Hat Enterprise Server, for example, you may not necessarily be able to run it on your local machine due to price. In that case, CentOS would probably be good enough to get the job done, however.
    Obviously it will never be identical, it just needs to be close enough. If you have a slightly different apache version, it won't make any difference. If you have PHP5 and production has PHP4, then you've got issues.
    Very true. Still, I shudder to think that there probably is some website out there that runs on AIX or some other "big iron" Unix that the average web developer would never be running on their desktops due to the expense involved. Hell, it could still be Linux, but zLinux for the IBM zSeries mainframe as opposed to your regular x86 Linux. Either way, hopefully these shops would at least have a separate development machine (or VM/LPAR in the mainframe case) that you can ssh into for testing purposes. At a prior job, while it wasn't web work, I did use a Linux desktop for all my code editing and such but ssh'd into other boxes running various versions of Unix to actually compile/run/test my software as said software was supported on half a dozen different versions of Unix or so.
  • The last time I programmed PHP was with Dreamweaver, which did a pretty good job. I agree with Scott on this one too though, just using a text editor should be fine. I would use vim with syntax coloring on.
  • dsfdsf
    edited May 2011
    I have used VI Vim and emacs in Unix(Solaris) and Linux. Here's a question for you Scott: the method of development I am being taught atm is to create the site in php, use php for validation and all that fun stuff(and CSS). Then jump in with JavaScript using Jquery framework to make it nice and offload as much as the processing to the client so the server doesn't have to do it(it's still there in case JavaScript is shut off). Is this a decent method? If so, would you recommend developing the PHP in a linux environment then switching to Windows for the JavaScript part?
    Post edited by dsf on
  • Sorry, I am simultaneously trying to learn PHP, Jquery and MVC while doing my internship and producing decent code so my brain is kind of oozing out of my ear right now. But I love this, I am finally doing work that I respect.
  • then switching to Windows for the JavaScript part?
    Why can't you write the JavaScript under Linux?
  • I am no computer scientist but I've cobbled together a few PHP-mysql driven websites. Notepad++ always treated me well.
    Computer Science now-a-days is applied statistical analysis on computers :(
  • My advice is worry more about learning the language and less about what sort of window you're typing in.
  • there is the whole meta learning aspect too. It's one thing to know your language, but it's an entirely different thing to be security conscious, know your language and understand the environment that you develop in and deploy in and how those things interact.
  • True, but the editor you choose is still a very small part of that.
  • True, but the editor you choose is still a very small part of that.
    Very true. I don't give a rat's ass what editor a programmer uses to write his/her code in, provided it's good code.

    I've actually recently been on an "old school DOS editors" kick and been looking at various updates/ports/etc. of some of the editors programmers used in the glory days of DOS development, such as BRIEF, QEDIT, TSM, and so on.

    Despite the current emacs/vim bias many of us have due to cutting our teeth on programming in Unix/Linux environments, there's a whole other word of powerful editors out there.
  • True, but the editor you choose is still a very small part of that.
    Very true. I don't give a rat's ass what editor a programmer uses to write his/her code in, provided it's good code.

    I've actually recently been on an "old school DOS editors" kick and been looking at various updates/ports/etc. of some of the editors programmers used in the glory days of DOS development, such as BRIEF, QEDIT, TSM, and so on.

    Despite the current emacs/vim bias many of us have due to cutting our teeth on programming in Unix/Linux environments, there's a whole other word of powerful editors out there.
    in 1985 I was 5 years old and my dad had a Tandy 1000 with MS-DOS 3.1. He decided he wanted to play some of those Basic games like gorillas and stuff so he fired up the basic editor and started typing. He realized that there were a lot of lines of code that he didn't want to write so he had me do most of the typing. Sometimes I look at our modern programming tools and I hear the arguments that the old 1970s-1980's tools are better I wonder if that argument is more based on nostalgia and a sort of old school elitism then anything else.
  • Sometimes I look at our modern programming tools and I hear the arguments that the old 1970s-1980's tools are better I wonder if that argument is more based on nostalgia and a sort of old school elitism then anything else.
    Most of the world's systems are built using UNIX and C and all it's '70s tools.
  • dsfdsf
    edited May 2011
    Sometimes I look at our modern programming tools and I hear the arguments that the old 1970s-1980's tools are better I wonder if that argument is more based on nostalgia and a sort of old school elitism then anything else.
    Most of the world's systems are built using UNIX and C and all it's '70s tools.
    True. but I am developing software that is supposed to make a webpage act like a windows app.
    Kinda makes me think some roofers prefer hammers instead of nail guns.
    Or maybe some programmers aspire to be John Henry.
    Post edited by dsf on
  • Kinda makes me think some roofers prefer hammers instead of nail guns.
    This is essential reading for you. Read every word. Not kidding.
    http://www.team.net/mjb/hawg.html
  • Sometimes I look at our modern programming tools and I hear the arguments that the old 1970s-1980's tools are better I wonder if that argument is more based on nostalgia and a sort of old school elitism then anything else.
    Most of the world's systems are built using UNIX and C and all it's '70s tools.
    Yes, and I'd argue that some of the other 70's and 80's tools back then were better than UNIX and C. Smalltalk in particular had a crazy advanced development environment for the late 70's and early 80's. As far as the DOS tools, well, they pretty much were equivalent to the UNIX/C tools, with the caveat that they were hampered by the limitations of DOS. The fact that many of these old DOS tools were sometimes ported/cloned to UNIX by their users indicates that they were probably very high quality tools. Hell, I used to use the joe editor when I first started working on UNIX just because it worked more similarly to the DOS tools I used to use than anything else. I also knew UNIX kernel hackers who also preferred joe over vi and emacs as their editor.
  • edited May 2011
    Smalltalk in particular had a crazy advanced development environment for the late 70's and early 80's.
    Smalltalk is still crazy advanced. Have you tried the Squeak VM? It's an entire open source Smalltak environment that is 100% written in Smalltalk from top to bottom. Seaside is a crazy web development framework that can do some crazy shit the Ruby on Rails or Djangos of the world can't even come close to.

    The point is that tools like vim, git, bash, these are Hole Hog tools. They are hard to learn and use. If you do the wrong thing, you can really screw things up. But if you actually learn them, their power is so great that it dwarfs that of even the fancy IDEs and reveals them to be the children's toys that they are.
    Post edited by Apreche on
  • Basically, if you think that Web development should be done exclusively in Linux/Unix, then prove it. Honestly, if your argument is compelling I'll switch over to it. I have a pretty sweet luxury in that I haven't gotten comfortable with anything yet, but I am familiar with Unix/Linux/IIS2/Apache/MS-DOS ... ect enough that I can hit the ground running with those tools well enough to start producing.
  • Smalltalk in particular had a crazy advanced development environment for the late 70's and early 80's.
    Smalltalk is still crazy advanced. Have you tried the Squeak VM? It's an entire open source Smalltak environment that is 100% written in Smalltalk from top to bottom. Seaside is a crazy web development framework that can do some crazy shit the Ruby on Rails or Djangos of the world can't even come close to.
    I've played with Squeak a bit and know about Seaside. Part of me really wants to toss together some sort of web app using Seaside just for the hell of it. Yeah, it is still quite advanced, but I was limiting myself to only discussing what was around in the 70's and 80's. :)
    Basically, if you think that Web development should be done exclusively in Linux/Unix, then prove it. Honestly, if your argument is compelling I'll switch over to it. I have a pretty sweet luxury in that I haven't gotten comfortable with anything yet, but I am familiar with Unix/Linux/IIS2/Apache/MS-DOS ... ect enough that I can hit the ground running with those tools well enough to start producing.
    To be honest, what you edit on doesn't really matter. You can edit your web code on a Tandy 1000 running DOS 2.1 and it probably would be fine. The only thing that matters is the system that you test the code on. As long as you can get your code on a test system that matches what it's going to be deployed on in the end, you should be fine.
  • Basically, if you think that Web development should be done exclusively in Linux/Unix, then prove it. Honestly, if your argument is compelling I'll switch over to it.
    Use what the production servers are running.
Sign In or Register to comment.