[UPHPU] Custom PHP IDE
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,
> 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
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