- What is JDevelop?
- What do you use JDevelop for?
- Why do I need JDevelop to code?
- How did JDevelop come to be?
- Why did you create JDevelop? Just use Eclipse/Netbeans/JBuilder/etc.
- When will JDevelop be finished/released?
- Do you want/need help with JDevelop?
- Why not use JEdit's text component if it's such a hard thing to make?
- Have you thought of using J# so your project could be .NET compliant?
- Why don't you use SWT instead of Swing since your so performance-minded?
- Can I look at/have/eat/smell the source code to JDevelop?
- I am having a hard time viewing the webpage, did you test it with Netscape?
- I can't get JDevelop to launch, what JDK/JRE version do I need?
- JDevelop doesn't look right under linux (or on any platform), what's up?
- Will JDevelop support XYZ programming language?
- Will JDevelop have an Auto Updater?
- Will JDevelop support the editing of LARGE (millions of lines) files? Not necessarily code...
- Why did you choose to go with a Windows-ey look and feel? Microsoft is evil!
- JDevelop runs like ass on my computer, did you notice XYZ running slowly?!
- What are the system specs for JDevelop? Do I need a billion MB's of ram?
- Do you only care about time performance, what about memory footprint?
- What is the JCL I keep reading about?
- What is the JEL I keep reading about?
- What is the JTL I keep reading about?
- What is the JUIL I keep reading about?
- What is JDevelop?
JDevelop is an IDE (Integrated Development Environment).
- What do you use JDevelop for?
You would use JDevelop to do coding in a programming language, to ultimately create software.
- Why do I need JDevelop to code?
You don't NEED JDevelop, or any other IDE to code. You can code using Notepad (in windows) or
Pico (in Unix). You could also swim to China given enough foot and warmth, but it's just easier to fly a plane.
JDevelop is a special-purpose tool, create with the sole purpose of making your programming easier and more
productive.
- How did JDevelop come to be?
I'm glad you asked. JDevelop started off only as a twinkle in my eye about 3 years ago when
I started getting good with Swing. My first attempt at my own editor was a bit of a flop, I don't even remember
what I called it back then, but it never made it to the light of day. Then my second attempt at an editor was
a success, that project was and still is hosted on Sourceforge as JHTML.
Recently IBM asked me about using JHTML internally for development purposes, so I was pretty flattered and realized
that I had to press forward. As you can tell from the last release date, I haven't worked on JHTML for quite a while.
The source code to JHTML just got to big and too unmanageable too quickly because I was still a novice and not
farmiliar with creating large projects. The biggest problem I ever ran into during my quest to write THE EDITOR was
the text component. Swing provides many text components that serve their purpose, but they take an ungodly large
memory footprint for what they are, and when pressed to load large files, grow astronomically large because of the
implementation of the model used. This time around, in the quest to create the ultimate editor, I've learned
quite a bit more and have slightly altered goals in my mind that I think will lead me to success. They are:
- Create stable and fast code, no matter how long it takes, there is no rush
- Write custom text component, don't rely on 3rd party solution
- Leverage JDK 1.4 powerful new features
- Implement a profressional UI, even if it requires implementing custom controls
- Stick to the Windows L&F when possible, but allow others
I think the biggest difference between now and then is that I finally actually understand the text component in its
pseudo-entirety and have implemented a preliminary version of it (model and view). I am also going to keep to a
Windows look and feel because I feel that is the cleanest and most professional looking UI currently available, the
nice thing about that is I've since learned how to quickly create high performance UI controls, so I can replace the
Swing ones that don't give me the look and feel that I desire.
- Why did you create JDevelop? Just use Eclipse/Netbeans/JBuilder/etc.
JDevelop always has and always will be a learning experience for me. The only reason I ever
created my first editor way back when was simply to get better with Swing and learn how it worked. Even this many
years later, JDevelop stands to be the same learning experience for me, but now with the potential to be an awesome
IDE.
On a side note, I used Netbeans for 2 years and have recently (3 months) moved over to Eclipse which I love and think
IBM did an amazing job with. I personally hate JBuilder, but that is by no means a knock to anybody reading this that
likes it. JDevelop will try to emulate the best of all the editors, and who knows, it might be better some day.
- When will JDevelop be finished/released?
I honestly don't know. I purposely do not impose any deadlines on myself with my pet projects
because it ends up discouraging me when real life steps in and eats up my time. So I'll take a
3DRealms approach to this, "Its done when its done".
- Do you want/need help with JDevelop?
I appreciate the offer, but No. This has to do with the self-imposed deadlines again. When you
work in a group, you automatically introduce some sort of expectations into the project. And the other reason is,
I'm INCREDIBLY anal about how clean my code is, and the exact style used (I mean down to every space and tab), and
I have yet to meet someone that is as anal as myself with the beauty of their code, so taking on a partner would
inevitable create work for me. Assuming the person was as anal as I was, and had the same style, the biggest
reason I don't take on a partner is the same reason I don't use JEdit's text component (every other editor out
there seems to use it), I started JDevelop as a learning experience, so I want to implement EVERYTHING from the
ground up. If I use JEdit's text component, I learn nothing about the text component, and invariably start to
get more concerned with my progress than what I am learning.
- Why not use JEdit's text component if it's such a hard thing to make?
This is actually a good question, and one that has been suggested to me fourfty-million times
(which is a lot), and the reason boils down to that I will learn nothing if I use it. Slava has done an amazing job
with JEdit and I congradulate him on all his success. Technologically speaking JEdit is a VERY impressive piece of
software that is heavily influenced by Emacs, and IMO, is slowly moving towards becomming the Java equivalent.
- Have you thought of using J# so your project could be .NET compliant?
This is another good point. J# is a bastard of a language and I hate it. With that said,
J# only supports up to Java 1.1.4 (the last version of Java that Microsoft could support before Sun took them
to court about it). My job is a .NET developer (ironically enough) and as much as I do like .NET and what its
done for us, it doesn't interest me. And since JDevelop is a project fueled by passion and interest, .NET
doesn't enter into this picture.
- Why don't you use SWT instead of Swing since your so performance-minded?
Good question. SWT Is a IBM-specific technology. Even though it is written with Java
(notice I didn't say IN Java), you only have SWT on platforms that IBM has ported it to. I also like the way
Swing is starting to go, and don't feel like it needs to be dropped at this point. SWT is truely impressive,
but not compelling enough for me to drop Swing all together and adopt a technology that isn't as "Standard" as
Swing. I'm also a big buff of standard compliancy and don't like to create special-case-solutions with
special-case-tools if you know what I mean.
- Can I look at/have/eat/smell the source code to JDevelop?
Sure you can, go here and get
it from CVS.
- I am having a hard time viewing the webpage, did you test it with Netscape?
No I didn't test with Netscape. Let me explain though, I work all day as a web developer
and HAVE to test with Netscape 4.x compliancy. If you are a web developer and are farmiliar with this problem
then you know what I mean. For those of you that aren't farmiliar with Netscape 4.x's feature set, let me
explain: If you can think of something cool or easy to do with a web page? Know that Netscape 6.x/Mozilla
and IE 4.x will ALL render it fine, but Netscape 4.x will mangle/cough and die at almost everything
you throw at it UNLESS you spend hours tweaking and modifying your code to handle Netscape's rendering.
So, as a present to myself, I made use of CSS and HTML 4.01 to make this site and only tested against IE,
the up shot is that the development of the site was roughly 9 million percent faster (that's an estimate)
than if I had used Netscape 4.x. So I'm sorry to those of you who are having a hard time seeing the page,
email me the problem and maybe a screenshot and I'll see if I can fix it.
- I can't get JDevelop to launch, what JDK/JRE version do I need?
This is important, you NEED JDK/JRE 1.4 or greater to run JDevelop. I know that seems harsh,
being bleeding edge and all, but 1.4 has some sweet features I wanted to make use of. You can grab 1.4 of the
JRE or JDK here.
- JDevelop doesn't look right under linux (or on any platform), what's up?
Please send me a screenshot of the problem you are encountering, the only platform I have
available to me to develop on is Windows XP Professional. This is sort of a best-case development platform, and
I am not privey to the bugs and strangeness that might popup on Linux or Mac or any other Java platform. However,
if you help me trouble shoot your problem, I'll get that fixed for you (assuming I can).
- Will JDevelop support XYZ programming language?
This is a good question. JDevelop will support all text, but if you are reffering to
it "supporting" a language as in giving you cool special editing features for that language, the it will
only support languages that I have coded support in for. Which languages are those you ask? Well right off
the bat I think I'm gonna work on HTML/XML and Java support, and move from there. I want to have a plugin system
in place so other people can contribute parts of support for a language (maybe just the syntax highlighting file)
or complete support (autocomplete, etc.) for a language without my help. Probably in the form of a JAR file that
is dropped into a special "parsers" directory. I have done this drop-in architecture before in a bookmark conversion
program I wrote. I create some public interfaces and you could just drop class files into the parsers directory
and then specify the parser on the command line by name, and it would convert the bookmarks for you with that
given parsers without a recompile. So I will shoot for something similar.
- Will JDevelop have an Auto Updater?
Yes absolutely. I will have to figure this out because I think auto updaters are the coolest
things since sliced bread. I LOVE software that has really nice auto-update screens with a lot of information on them,
so I will have to figure out a way to do this. It is just a matter of time.
- Will JDevelop support the editing of LARGE (millions of lines) files? Not necessarily code...
Yes absolutely it will. This is one of the biggest reasons I'm implementing my own text
component. Using Swing's text components with large data files is rediculous (89mb memory for a 100k line file)
while using it for HUGE (500k+ lines) data files is impossible, it just crashes.
- Why did you choose to go with a Windows-ey look and feel? Microsoft is evil!
I love the Windows look and feel. Its just so clean and professional looking. But don't
worry, I am not making it mandatory, all the widgets I create I make sure look fine with the other look and feels
in Java as well. I know not everyone likes Windows look (althought I can't believe anyone likes the motif look
and feel...)
- JDevelop runs like ass on my computer, did you notice XYZ running slowly?!
Hmm, I'm sorry something is running slowly for you. Please let me know what is running slowly
and under what conditions, that way I can profile the code and find out. In all fairness I'm developing on a
Athlon XP 2000+ with 512MB of CAS222 RAM, not to brag, but I will be less apt to notice the sluggish areas of
JDevelop, so I will need you to report them to me and I will work on them.
- What are the system specs for JDevelop? Do I need a billion MB's of ram?
There aren't really any system specs persay. Just make sure you have JDK 1.4 installed on
your machine and you're ready to go. The faster your machine is, the faster JDevelop will run. That's pretty much
it. I would suggest that you have at least 128mb of ram when running any *big* Swing application, which is what
JDevelop is.
- Do you only care about time performance, what about memory footprint?
No I care very much about memory footprint as well. I do quite a bit of benchmarking and testing
before I decide if I'm going to use a Swing component as opposed to writing my own from scratch. When I do these
benchmark examples I pay attention to the performance of the Swing control just as much as I pay attention to the
memory footprint of it. I have the luxury of knowing all the code in the codebase of JDevelop, there fore there is
no excuse for me to allow parts of it to waste ram left and right. I'll try and keep things locked down tightly.
- What is the JCL I keep reading about?
JCL - The JCL stands for "JDevelop Control Library". The JCL is essential custom controls written from the
ground up to replace the comparable Swing components. All of the JCL controls extends javax.swing.JComponent
and therefore are all Swing-compatable for use in UIs with JCL and Swing controls.
- What is the JEL I keep reading about?
JEL - The JEL stands for "JDevelop Extension Library". The JEL acts as a test-bed of new technology that I
am currently evaluating that might be merged into JDevelop's functionality. Instead of overhauling JDevelop with
a new feature before I know how the feature works, I use the JEL as my test ground, by creating individual mini-apps
that implement the new feature, and allow me to tweak it and test it until I am satisfied. At that point the
technology may or maynot be merged into JDevelop as part of the IDE. These apps are included just for fun. Sometimes
I'll create a handy little utility that I think someone else might be able to use, so I'll include it in this
library so you can play with it without using JDevelop. As an example, JSourceCounter. A source code counter that
I wrote to count the source code of JDevelop and help me keep tabs on its development for the website. I have spent
a long time looking for a good free source code counter, and the simple truth is that none exist, so I went ahead
and created one. If JSourceCounter eventually gets merged into JDevelop as a project feature, then JSourceCounter
may be removed from the JEL to make room for the next little app.
- What is the JTL I keep reading about?
JTL - The JTL stands for "JDevelop Text Library". JDevelop's success as an IDE or even an editor will rely
almost soley on the power and flexibility of its text support. Supporting editing and displaying in more ways than
just one. The functionality implemented in the text component will become so vast and so fundamental to JDevelop
that it only made sense to branch the text support off into its own module.
- What is the JUIL I keep reading about?
JUIL - The JUIL stands for "JDevelop User Interface Library". The JUIL represents the actual components that
will construct JDevelop's UI. This isn't as general as a "Button" that would be in the JCL, these are more specific
components such as "Standard Editing Toolbar" or "EditorWindow". This was broken off into its own package because
inevitable as these components get created, they could come in handy for other uses in other contexts. Having these
components in their own package makes that breakoff easier for interested developers.
|
|