Two months ago, we announced the birth of Gideon, codename for the next generation version of KDevelop that was most notable for its modularity and extensibility. Since then, Gideon has made enormous strides -- not the least of which includes Java, Perl, Python, PHP and Fortran support, full Python scripting, and an editor framework that will allow one to plug in a favourite editor. Furthermore, thanks to the remarkable efforts of hacker Richard Dale, KDevelop plugins can now be developed in Java. Read on for the full update from Bernd Gehrmann including screenshots and download link.

Bernd Gehrmann writes:

It's been two months since KDevelop's HEAD branch has had a story
on the dot. In this time, a lot of functionality has been added, so
I thought I'd provide a little update. :-)

Java support. Java programs can now be maintained with automake-based
project management. Classes are displayed in the class view and
class browser. The application wizard includes a template for Java
programs based on the Qt/KDE API and using Richard Dale'sKoala framework.
Furthermore, even KDevelop plugins can now be written in Java. (sic!)
This may, for example, be used in the future for a debugger based on theJava Platform Debugger Architecture.

Perl, Python and PHP support. Functions and classes are parsed and
available in the class view. The documentation TOCs
are integrated into the documentation tree with the
documentation index being (partially) searchable. Python docstrings can be browsed dynamically
through an ioslave based on pydoc. Work is underway to allow the
configuration of php.ini and the usage of the PHP debugger.

A new view that allows one to view files grouped by their file type. Groups
are configurable by the user.

An improved application wizard. Apart from the usual KDE and Hello World
stuff, this includes templates for kicker applets, KControl modules,
KIO slaves, and even GNOME applications.

That's about the main points I recall off the top of my "HEAD". ;-) Of course,
many many details have been improved or newly implemented,
such as, for example, a Tools menu, an overhauled and much more user-friendly
project management interface, automatic loading of the previous project at
startup, an improved compiler frontend, etc.

That's unreliable. It depends on how the window
manager reparents windows. There are window
managers that create two nested windows and
reparent the client window into the inner one.
In that case you will get a wrong result.

What about RAD and CodeInsight?
Is it possible to make KDevelop fully RAD like Delphi while not requiring the RAD module.
Will there be a feature like Delphi's CodeInsight?
Those two are my most wanted features.

And will there be tabbed MDI support?
In the current version, I need to click on the Window menu to be able to switch to another open document, which I find very annoying.
A tabbed solution like GnomeMDI would be much better.

IMO, GnomeMDI isn't the answer to all ui
questions. It is designed for applications that
have only one type of document, view resp. In
an IDE you want to browse source code and
documentation at the same time, or you want to
work with two source code windows side by side.
Also, tabs become unusable when there is a large
number of them.

OTOH, KDevelop's user interface will certainly
become more flexible in the future.

He isn't trolling, he is fully right. Drawing
window decorations is the window manager's job.
Imitating that by the application will always
suck. It doesn't integrate with the window
manager's look and feel, it uses different
buttons for maximizing or closing windows, and
it doesn't adjust to the window manager's focus
policy.

No, it does not work well with a large number of
files. As soon as you have perhaps 5 files open,
the tabs won't fit into the window width (on a
usual 17" monitor) and you have to scroll. And
scrolling a tab bar is a lot slower than choosing
a file from a popup menu.

i have no problem sacrificing screen space to be able to reach every file in one click (because when coding, i really have to switch a lot, and 90% of the procedures i write are really small, so i can see a whole procedure in together in an editor window that takes less than 50% of the screen (i also have an uml class view open)
anyway ... seems we ran into a matter of taste yet again :) configurability for president !

I agree that it quite annoying to have more than one mouse click to switch to another source file. The tabbed editor in KDE Studio provides a nice solution in my opinion, but it is probably a matter of taste. The ultimate solution could be to make it configurable (I know, it seems to be the solution for everything ;-)

I don't think it makes much sense to integrate
a dialog editor into KDevelop that can't
seriously compete with Qt designer. So turning
KDevelop into a rad environment would need an
ambitious developer with much energy :-)

As Gideon has already C support I think it would be nice to have an application template for the Palm OS (including makefile,configure...) first and then some plugins for starting the emulator ,transfer the program,GUI editor and so on. Please read the file HACKING to get an overview how to add plugins and study a small Gideon kpart. It'is not so difficult. :-) If you have problems you can subscribe to the KDevelop-Devel mailinglist.

I am very happy about Gideon, because we will be able to programe with any lenguage , as C, C++, Java, Php ...

But, the problem i see is that the documentation about new lenguages will not be created by KDE team. The QT/KDE documentation is great, one of the best docs over Linux documentation. Then, if Kdevelop support new languages, as Php for example, KDE team has to integrate the Php Manual from www.php.com, and there are lenguages that there is not a good work about their documentation.

Another thing i am thinking is why there is not a
documentation about ANSI C and C++ with the documentation in Kdevelop. I mean, when you are programming, sometimes you have question about some sentence, and you have to search a book to read how it is. Then, it would be great, if in the kdevelop documentation it has a section named ANSI C-C++.

And to finish my willings :-) , when Kdevelop will have an integrated GUI-Builder alo Borland C++ Builder? I mean, a "glade" integrated into Kdevelop (I dont like much more Qt-Designer because you cant code KDE or gnome aplications). Then, with this function, will be able to build big aplications, without worrying about the GUI interfaz. With this feature, will be able to programe Java aplications too.

I have to give to KDE and Kdevelop team, my congratulations about you work.

I'm with KDevelop 1.4 opened right now, and in the "Books" Tab I have access to the GNU C library documentation, STL documentation, Python doc., BONOBO docs., GTK, Glib, Quanta+, E2FSlibs, full Debian documentation, a C/C++ Reference et al. I don't know if it's a Debian "bug", but I can see (and even browse) these docs.
I'm using Debian 2.2 (x86) with KDE 2.1.1 form http://kde.tdyc.com and XFree86 4.0.3 from http://people.debian.org/~cpbotha.

Not a bug, but an integration of Debian's
docbase :-) I implemented this two years ago
when I still used slink. Nice to see that it
still works. Unfortunately other distros don't
have anything similar.

Docbase doesn't provide much meta info about
a documentation item though. In HEAD, you can
search through the documentation index of libc
and stl with autocompletion. For the Python,
Perl and PHP documentation, also the table of
contents is directly displayed in the doc tree.

One of the noticable things about the PHP (and possibly other language) docs is the user comment system. It's noticable in particular with PHP since almost all the in-code examples for the function reference are submitted by the users. It would be very nice indeed if developers, for any given release of the Gideon copy of the docs, included these coments as of that date.

Also, what about Kate? It seems suspisously similar to what Gideon is beginning to look like (Multi-doc editing, syntax highlighting, embedded konsole, etc). I'm not suggesting a merge, that would almost certainly not work well. However, what about making some sort of base "kde style mdi editor" framework, then using that as the basis of Kate (editing framework and hierarchial sidebar in kate would be nice), KDevelop, and, in the future, maybe even KWord (for power-user support for vim style editing in kword!)

Some people use Front Page and Visual Interdev
together to create SQLServer/ASP powered websites (I don't know how they work together ActiveX OLE thingamaboobies). Any cool ways to do similar things with Gideon kpart/konqui/some html source code editor and MySQL/PHP/Zope/Python etc. ??

Have to respectfully disagree with you here. I build some quite large and complex websites (London Stock Exchange, jobs.telegraph.co.uk) and my team all use HomeSite :-) I use Visual Interdev, FrontPage and Homesite, because each has it's stengths and weaknesses.

FrontPage has a good preview mode, InterDev ruins the pages a little less ;-> and HomeSite has the most capable text editor, but has sucky preview. It's all horses for courses really.

Thank you. But I know this site from several months, and I am surprised to see, today, that Fortran is suddendly coming, while nothing seems changing about KBasic... Always the same old screenshots... Although, yes, it seems there are some progress... many more slower than Gideon-Fortran...

I am wondering whether devopping Basic inside Gideon would not be better ??...

Also, there is PyKDE for Python. Is'nt it in duplication with the Python of Gideon ?

No. PyKDE is a library that allows you to access
the KDE API from a program written in Python.
KDevelop is an IDE. You can write programs using
PyKDE with the help of KDevelop. I think it'll
make a good combination :-)

>Also, there is PyKDE for Python. Is'nt it in duplication with the Python of Gideon ?

Not really. PyKDE/PyQT allows _any_ python app, written in kdevelop or not, to create and use QT/KDE widgets, signals/slots, etc.

However, python support in kdevelop allows you to write python apps inside kdevelop, whether or not said apps use PyQT/PyKDE is up to the developer. The point is, you could and still can use kdevelop to develop non-KDE or KDE apps, and now you can do this with other languages then C++.

I really wasn't saying anything about KBasic in my post above, I was just blabbering about Python. I haven't used KBasic myself, and there's a reason for that : the Basic language itself is sucky. I have yet to seen it done properly, and the closest it ever came to being useful, Visual Basic, was so utterly proprietary, and the IDE was so utterly useless, it was silly.

Basic was designed as an introductory language before moving on to something more powerful and useful. In much the same way as the Athera widget set, it was taken beyond this model and people attempted to use it for useful stuff. The result was horrendously difficult to read and just plain stinky.

I guess my point is, if you want a language that's easy to learn and still useful, including GUI stuff, try (in the near future :-) KDevelop/Python/PyKDE. Attempting to have people write useful progs or even "Hello World" progs with Basic will just give them bad programming habits. Believe me, I started out on Visual Basic, and the minor inconsistencies with every other language out there (no semicolon at end of statement, '=' having two meanings) wreaked havoc for me . When I started out on PHP, I was constantly and annoyingly assigning variables instead of comparing them in 'if' clauses.

Your question isn't disturbing though! Believe me, although Basic specifically is bad, it's always good to have a simplistic, easy-to-learn, RAD-oriented programming language, as long as it's not too proprietary. But perhaps this would really be more suited toward (dun dun dun) Gideon/Python/PyKDE! :-)