[UPHPU] Custom PHP IDE

Lamont Peterson peregrine at openbrainstem.net
Mon Jan 21 13:31:18 MST 2008


On Sunday 20 January 2008 04:19:19 pm Justin Giboney wrote:
> Do you know what you plan to write it in? java, c++, possiblly php+gtk
>
> I like apps that are cross-platform, since I use all platforms, so c++
> is out.

Excuse me?  What do you mean?  I've written a few cross-platform apps in C++ 
with Qt [ http://trolltech.com/ ] and it was much easier than any other 
experience with cross-platform that anyone else has ever told me they've had.

Don't discount C++ so readily.  It really is a great language, but like all 
great 'whatevers', there are things about it that do turn people off.  I 
understand that.  However, writting applications with Qt, is writting the way 
C++ should be used.  It's simple, elegant, easy to read, easy to understand, 
fun and more cross-platform than anything else I'm aware of.  I write code 
once in C++ with Qt and it compiles for Linux, Mac, Windows, Solaris, IRIX, 
AIX, HP-UX, etc., etc. without changing a single line of code.

If you have never given Qt a serious look, you should check it out.

> I  am somewhat familiar with writing desktop Java apps,

I haven't had much experience with Java, but in general, I do like it as a 
language.  However, as a platform, I just keep hearing time and again about 
the resource consumption.  You yourself said that Zend was a hog; I'm believe 
much of that is due to Java.

Plus, I don't think of Java as a cross platform environment:  "Write once, 
debug everywhere."

> and I  
> have a little experience with Python+GTK. I haven't used PHP with GTK,
> but that might be interesting.

Personally, I'm not that fond of GTK apps, as the UIs just feel so 
inconsistent from one app to another.  There are several small simple things 
that just aren't done at all or only done haphazardly.

> So far this is the list of features that developers would probably like
> to have:
> - Syntax highlighting
> - FTP
> - File locking
> - File synchronization (date checking)
> - Validation
> - Auto-Tabbing
> - Being able to view the results in different browsers
> - Auto complete
> - Database editor
> - Database testing (simulation)

Why simulate?  That just doesn't make much sense to me.  It would be far 
better to have three "stages" (for lack of a better word):  1) SQL syntax 
highlighting + auto-completion (based on selected and/or connected database); 
2) run queries against a 'development' copy of the DB, running on an actual 
server (I'm envisioning a pop-up that you run your query in and look how the 
result looks when it comes back, or some such); and 3) load simulator that 
takes configured sets of queries and runs them (this could also pull queries 
in sequence from your code), and could include some performance 
stats/profiling to help you locate the slowest part of your app/site.

> - Documentation (for me, I like to be able to see the parameters and
> action of functions as I type them. Does anyone know if PHP has a
> documentation system?)

I would also like to be able to split out the integrated documentation to 
another screen (think multi-headed development stations).

> That is a lot of things.

Yup.  Still, I'm glad you're asking this question.  It's good for us to step 
back and look at our tools from time to time and say, "Hm...I think this 
could be done better if..."

There are some other ideas that I have had over the years.  I've finally 
started working on some of them and beginning to build a simple IDE to test 
some of it out (in Qt, of course).  If you're thinking of seriously going 
forward with building something, please, feel free to drop me a line as I 
might be able to give you a leg up.  I would like others to join me on such a 
project.
-- 
Lamont Peterson <peregrine at OpenBrainstem.net>
Founder [ http://blog.OpenBrainstem.net/peregrine/ ]
GPG Key fingerprint: 0E35 93C5 4249 49F0 EC7B  4DDD BE46 4732 6460 CCB5
  ___                   ____            _           _
 / _ \ _ __   ___ _ __ | __ ) _ __ __ _(_)_ __  ___| |_ ___ _ __ ___
| | | | '_ \ / _ \ '_ \|  _ \| '__/ _` | | '_ \/ __| __/ _ \ '_ ` _ \
| |_| | |_) |  __/ | | | |_) | | | (_| | | | | \__ \ ||  __/ | | | | |
 \___/| .__/ \___|_| |_|____/|_|  \__,_|_|_| |_|___/\__\___|_| |_| |_|
      |_|               Intelligent Open Source Software Engineering
                              [ http://www.OpenBrainstem.net/ ]


More information about the UPHPU mailing list