Looking for testers for Mac IDE

Member
Posts: 260
Joined: 2005.05
Post: #1
I have written an IDE for OSX, called Lightweight IDE. It was written after the observation that IDEs have gotten more and more complex, to the result that it is a problem. The IDE is not always a help, it is a burden. If you want to compile a little test program, it is easier to do it on the command line than in Xcode, due to the many steps needed to create and manage the project file.

So it started as a little test hack, and I liked it so I have kept working on it. I decided to go straight against the tide, and instead of littering the interface with buttons, toolbars, panes and tabs I kept it as clean as possible. Actually, I follow one of Apple's guidelines; if it is not absolutely necessary, take it away. The result is that it doesn't look like much, but it has some features under the hood.

This is what it can do:
- Editor. Color coding, search/replace (multi-file, but that is a big buggy so far). Function pop-up menu. Include pop-up menu. Line number. Breakpoint bar.
- Debugger. Single-step with step in/over/out, breakpoints, limited viewing of variables. (Bugs: Plenty. You can't set breakpoints while the program is running.)
- Compile. All you need is to have the main program open in the editor. Supports GCC, FPC, GPC and a minimal support of javac. Smart build of C/C++/ObjC programs, analyzes #include files to remove the need of a project file. (FPC, GPC and Java have smart building built-in.) Separate "final build" option.
- Error reporting. Double-click to jump into source. Pop-up menu for hiding notes and warnings.
- Bundle building. Resource files (.nib, .rsrc, .icns or a whole folder) are copied if the name matches the main program.
- Settings for frameworks and paths. (Global only.)
- The resulting program is not hidden several levels down into a folder hierarchy, but appears in the same folder as the main program.

I believe that this IDE is ideal for teaching: No worries about a complex command lines, no project file, just open the main source and run. It is also good for all those small test hacks that you need to do all the time. I think it is getting good enough for bigger projects as well.

Suitable for games? I think so.

There are bugs to fix, and GUI issues to discuss. Some kind of local settings are needed for advanced projects. I consider things like optional GUI additions, if they are really necessary (e.g. if most people just can't work without tabs or a toolbar). Also, there are some features that doesn't mess up the GUI at all, like code completion. Some icons for the pop-up menus (which you now access with ctrl-click and alt-click in the widow dragbar) might be necessary to help newcomers realize that they exist.

It needs some new testers, who can look at it with open eyes. What is nice, what is confusing, how can one make it more attractive/easier to get started, what are you missing, what should be added?

Here is the home page for it:

http://www.ragnemalm.se/lightweight

It has a SourceForge page too, but I rarely update it.
Quote this message in a reply
Moderator
Posts: 3,574
Joined: 2003.06
Post: #2
Wow, that looks like some really old-skool hard-core inspired hacking you got going on there Ingemar! I'm too busy to volunteer for testing right now, but it looks pretty darn cool. (ninja style cool) Ninja
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #3
In PASCAL!
Quote this message in a reply
Member
Posts: 260
Joined: 2005.05
Post: #4
AnotherJake Wrote:Wow, that looks like some really old-skool hard-core inspired hacking you got going on there Ingemar! I'm too busy to volunteer for testing right now, but it looks pretty darn cool. (ninja style cool) Ninja

Interesting way to express it. Smile Yes, I guess it is ninja style, in the sense that you can't see much but it is still there...

I don't know how much it will mean, but at least I hack away better now than in a long time. A kind of alternative, midway between Emacs/command-line/makefiles and Xcode.
Quote this message in a reply
Member
Posts: 260
Joined: 2005.05
Post: #5
DoG Wrote:In PASCAL!
Yep. Smile Or maybe one should say FPC today; much has happened.
Quote this message in a reply
Member
Posts: 63
Joined: 2005.12
Post: #6
I downloaded the IDE and tried it out. I didn't test it extensively, but it looks very impressive.

I was able to write, compile, and run 'Hello, world' in C++ in less than a minute after first launching the app - everything was very intuitive and right where I expected it to be. I also looked though some of the preferences and options, and everything looks very clear and easy to understand. Nice work! (And very impressive technically - I imagine writing an IDE of any sort would be no small task.)
Quote this message in a reply
Moderator
Posts: 682
Joined: 2002.11
Post: #7
This looks like a nice generalized IDE. Too bad it only supports C flavors or I would probably be more interested. Do you plan to add an easy way to add new language/compiler support?

My web site - Games, music, Python stuff
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #8
I am impressed by the effort, but not by the actual IDE. It looks circa '95, and feels completely out of place on OS X. Would've been great if it had been available for the Tricks book, though Smile

I hate Xcode as much as the next guy, and miss CodeWarrior, but I don't believe any effort trying to write a Carbon GUI is going to produce anything worthwhile, especially considering that Apple is phasing out the Carbon GUI parts.

I realize L-IDE is in its early stages, and maybe I am spoiled by the visual style I have come to expect on the Mac, but I stand by my doubts. That said, I can see it work for really small projects and absolute beginners, and maybe things look differnt in the Pascal world, but I can't see it work for even just moderately complex C/C++/ObjC projects (which is in no small part the fault of the build systems' complexity, not the IDE).
Quote this message in a reply
Member
Posts: 260
Joined: 2005.05
Post: #9
diordna Wrote:This looks like a nice generalized IDE. Too bad it only supports C flavors or I would probably be more interested. Do you plan to add an easy way to add new language/compiler support?
It isn't very hard to add new languages as it is, but I didn't put in any scripting system to add it as external modules. I have seen that in Xcode, in IMHO it just doesn't work, it gets tacked on on the top. I added Java support not least to see how hard it was to add one more, and that was pretty quick. My personal idea about adding languages is to do some more work on the interface towards the language dependent parts.

Also, it already works with makefiles, so anything can be weakly supported by makefiles, as long as it reports errors in GCC style.

DoG Wrote:I am impressed by the effort, but not by the actual IDE. It looks circa '95, and feels completely out of place on OS X. Would've been great if it had been available for the Tricks book, though Smile
There are several sides of this. There are a few places with some QuickDraw (like the error window), and that, of course, needs replacing. (This will be a simple code plug-in since I have done some work on a QuickDraw API on top of CG, so the actual code doesn't need a full rewrite.) It would be possible to join some windows, like making the error window a fold-out on the console.

Certainly some of the 90's feel come from inspiration of the Lightspeed/Think compilers. I realize that it needs some work on the visual style just to make it look more present, but only if it doesn't spoil the simplicity and focus on the code.

There is a related project, Pascal Gladiator, but it is Pascal only. Does it look more modern to you? In my eyes, it looks more like a Microsoft application, single-window, tabbed, plenty of unnecessary GUI items.

Of course I can add all the piles of visible controls that the others have, but adding things just because it is conventional is bad. This is very intentional, "if it isn't strictly necessary, take it away". I can add a toolbar to editor windows right away, it is easy, but would that be a good thing, is it really necessary? Taking away is much harder than adding.
Quote:I hate Xcode as much as the next guy, and miss CodeWarrior, but I don't believe any effort trying to write a Carbon GUI is going to produce anything worthwhile, especially considering that Apple is phasing out the Carbon GUI parts.
OTOH, the GUI is so small here that it is a minor part of the program! Compiling, process management, bundle building, "auto-make" C compilation, parsing for #includes, all that is GUI independent, can even be made cross-platform at least to other Unix platforms. Also, much of the GUI is hidden in TransSkel. I know Carbon GUI needs to be phased out in some way, no question about that, and there are ways to do it.

Isn't it kind of sensible to keep the Carbon GUI parts this small when you know they need to be replaced? I can hack in toolbars and tabbed editing, but why spend time on adding GUI things when it both will add to the rewrite and goes against the minimalistic design principle?
Quote:I realize L-IDE is in its early stages, and maybe I am spoiled by the visual style I have come to expect on the Mac, but I stand by my doubts. That said, I can see it work for really small projects and absolute beginners, and maybe things look different in the Pascal world, but I can't see it work for even just moderately complex C/C++/ObjC projects (which is in no small part the fault of the build systems' complexity, not the IDE).
That is one of the aspects where I want to go further, test it on a "moderately complex" project and see what it really needs, what features are missing. I want to focus on features rather than looks.

I do appriciate your comments, even the negative ones. I want to make this a useful tool, and to do that I need to see what it really needs to catch on. As you say, Xcode isn't the perfect tool for all of us.
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #10
Apart from the GUI, I just feel like the settings aren't in the right places. Pascal Gladiator also appears to be a bit unstructured.

I don't buy it that the GUI is easily replacable. Maybe restyling the widgets, yes, but not changing the general approach. An IDE is defined by its GUI, and how it allows you to interact with the build system. It is only minor now because almost no settings are exposed, and general functionality is very limited. And from my, admittedly very short, test run, I doubt the interface scales well.
Quote this message in a reply
Member
Posts: 260
Joined: 2005.05
Post: #11
DoG Wrote:Apart from the GUI, I just feel like the settings aren't in the right places.
I can't really see how. Language dependent things under one tab for each language, language independent things like editing, paths, frameworks, target as separate tabs. Makes lots of sense to me.
Quote:I don't buy it that the GUI is easily replacable. Maybe restyling the widgets, yes, but not changing the general approach. An IDE is defined by its GUI, and how it allows you to interact with the build system. It is only minor now because almost no settings are exposed, and general functionality is very limited. And from my, admittedly very short, test run, I doubt the interface scales well.
I am quite happy with the general approach, keeping it clean and tight, using the main program as "base station". There is no reason to change that just to make the GUI more future safe and look more modern.

Making this approach scale well is not trivial, but something I see as an interesting problem to solve. Project file or makefile approaches are not the only possible ways. The biggest tool is not the right answer to all problems.
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #12
All I can say is good luck, I wouldn't mind if you proved me wrong Smile

PS: scrolling the editor via the scroll wheel doesn't move the scrollbars.
Quote this message in a reply
Member
Posts: 227
Joined: 2008.08
Post: #13
I would love to use this for my game, but I would need it to work on windows as well...
Quote this message in a reply
Member
Posts: 260
Joined: 2005.05
Post: #14
Oddity007 Wrote:I would love to use this for my game, but I would need it to work on windows as well...
Windows ports (of anything) is a problem, this is very Unix-based. Maybe with CYGWIN? Anyone with experience of that?
Quote this message in a reply
Member
Posts: 227
Joined: 2008.08
Post: #15
Actually I meant cleaning up the mess of cross compiling with gcc would be very helpful as cleaning seems to be this IDE's motto. The hassle of transferring code is a pain....
Quote this message in a reply
Post Reply