Slashdot Mirror


On Plug-ins and Extensible Architectures

gManZboy writes "Developers who want a flexible, configurable, IDE have long preferred plug-in architectures such as Eclipse over what they might view as the bloated, monolithic alternatives. Ever wondered how it all works? Well, ACM Queue just posted an article by someone who has worked on Eclipse since its inception, Dorian Birsan. He gives a great explanation of the Eclipse architecture as well as a thorough analysis of things to watch out for when developing or working with pure plug-in architectures."

173 comments

  1. Ever wondered how it all works? by Anonymous Coward · · Score: 0, Funny

    No

    1. Re:Ever wondered how it all works? by Anonymous Coward · · Score: 0
      Integrated solutions: Macs, Mozilla, Linux, iPods, UNIX, vi, iTunes, AOL

      Modular solutions: Hurd, Emacs, Forth chips, IRC

  2. Eclipse by Anonymous Coward · · Score: 0, Troll

    Is there a plug in for Eclipse to get middle mouse click pasting, so I can get some consistency when using it in Linux?

    1. Re:Eclipse by isometrick · · Score: 1

      Works for me, Eclipse 3.1 on GTK ... what are you smoking? :)

    2. Re:Eclipse by Anonymous Coward · · Score: 0

      Real programmers don't use IDEs.
      (Mostly they just use vi)

    3. Re:Eclipse by Anonymous Coward · · Score: 0

      Back in my day we didn't have any of this vi nonsense, we used cat and we liked it!

    4. Re:Eclipse by Anonymous Coward · · Score: 0

      Cat is bloated. I use dd.

    5. Re:Eclipse by DarkMantle · · Score: 1

      Hit Ctrl+V if you're programming you're hands should be on the keyboard anyway. Can't write code with a mouse.

      --
      DarkMantle I been bored, so I started a blog.
  3. Lots of plugins = bloat by bfizzle · · Score: 2, Interesting

    Is bloat really a problem with too many features or more to do with bad coding?

    How long is it before someone has so many plugins installed they are back to square one for bloat? Any operating system runs well when you first start it up. Users run into bloat problems after they have installed weatherbug, messenger programs and all the other crap they must have.

    1. Re:Lots of plugins = bloat by denis-The-menace · · Score: 4, Insightful

      At least this is the user's choice.
      Bloat then becomes a consequence of the user's choices and not something forced upon the user by the developer.

      --
      Obama's legacy: (N)othing (S)ecure (A)nywhere and (T)error (S)imulation (A)dministration
    2. Re:Lots of plugins = bloat by Anonymous Coward · · Score: 0

      This is why I switched from Firefox with 20 extensions to Opera where I had almost all the same features without any bloat or lag in 60% of the memory.

      While I love the idea of inifinite extensibility, it gets in its own way when the extensions get to a certain point.

      Its like the debate between monolithic kernels and microkernels - they both have great points, but at this point the integration beats the extensibility for my purposes.

    3. Re:Lots of plugins = bloat by Timesprout · · Score: 1

      Users run into bloat problems after they have installed weatherbug, messenger programs and all the other crap they must have.

      If its stuff the user must have then how can it possibly be bloat? If its stuff they just want then its additional functionality to be used at their discretion. Perhaps you expect everyone to make do with just a kernel?

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    4. Re:Lots of plugins = bloat by Anonymous+Custard · · Score: 1

      If you find that, for example, your Firefox installation feels 'bloated' because you added too many plugins, then remove some!

      Bloat is only a problem when you can't do anything about it, such as MS Word; but even then you can choose not to install some components that you don't feel a need for.

    5. Re:Lots of plugins = bloat by TomorrowPlusX · · Score: 1

      Sure, but the WHOLE POINT of plugins is that they're optional. Too bloated? Unload some plugins.

      Sheesh. Come on, think for a second before posting.

      And finally, people will always do stupid things ( like installing *every* single plugin for JEdit ). But *you* don't have to.

      --

      lorem ipsum, dolor sit amet
    6. Re:Lots of plugins = bloat by m50d · · Score: 1

      A key difference is you don't have to load plugins. I need (for example) xinerama, but don't need accessibility support. So if something supports both, then it's bloated, but if it supports neither it's missing features. If you include xinerama but not accessibility, then for someone else who is the other way around it will be both bloated and missing important features. If you have both as plugins, then both of us have the features we want without the bloat.

      --
      I am trolling
    7. Re:Lots of plugins = bloat by 14erCleaner · · Score: 1
      At least this is the user's choice.
      Bloat then becomes a consequence of the user's choices and not something forced upon the user by the developer.

      This sounds somewhat like the defense fast-food restaurant chains use against charges that they promote obesity.

      --
      Have you read my blog lately?
    8. Re:Lots of plugins = bloat by KiltedKnight · · Score: 1
      Is bloat really a problem with too many features or more to do with bad coding?

      Actually, it's a bit of both.

      Programs that have more features than you'll ever truly use could be considered "bloated." If they were modular features, then you could choose to install or not, and the program size would be appropriate for what you do. This, of course, means there must be a good, solid underlying design of whatever it is.

      Poor programming practices lead to bloat too. This goes back to the old program optimization and efficiency argument. Adding more memory and a faster CPU only masks the true problem... bad program design and poor programming practices. By cleaning up and doing some basic forms of optimization, you can reduce this kind of bloat.

      --
      OCO is Loco
    9. Re:Lots of plugins = bloat by Martin+Blank · · Score: 3, Insightful

      Does that make it a poor argument?

      --
      You can never go home again... but I guess you can shop there.
    10. Re:Lots of plugins = bloat by Anonymous Coward · · Score: 0

      This is a stupid argument against fast-foods: you are an adult, you are responsible for your own life. I never go to fast-food restaurant and NOBODY ever forced me to eat junk food. Or do you suggest that serial-killers are irresponsible for their own act and society (with television) is to blame?

    11. Re:Lots of plugins = bloat by KiltedKnight · · Score: 1
      This sounds somewhat like the defense fast-food restaurant chains use against charges that they promote obesity.

      Ah yes... "I can't be responsible for my actions when the end result is something bad. I can only be responsible for things that went well."

      That kind of drivel makes people who think logically become extremely cynical.

      --
      OCO is Loco
    12. Re:Lots of plugins = bloat by leaping_laughter · · Score: 1

      Not sure what Eclipse does, but Adobe After Effects and Photoshop (two products with lively third-party plug-in communities) don't increase their memory footprint substantially, even if the user has a kajillion plug-ins installed.

      The plug-ins are scanned at launch for a plug-in property list (PiPL) resource, describing the plug-in's name (for building menus) and basic behavior. They're only loaded and executed when the user applies them.

      Now if only Acrobloat shared AE and Photoshop's plug-in architecture, maybe it wouldn't need 327mb of virtual memory while it had no files open.

    13. Re:Lots of plugins = bloat by Anonymous Coward · · Score: 0

      Nobody forced the serial killer's victims to be out that night. What do you mean they had a reasonable expectation of being safe outside? The serial killer never promised any such thing. Perhaps if these so-called "victims" exercised some personal responsibility...

    14. Re:Lots of plugins = bloat by bfizzle · · Score: 2, Insightful

      Oh that makes alot of sense.

      How in the hell can you relate a serial killer to fast food? I will not have any sympathy for someone who makes a choice to put food in their mouths they know will kill them eventually.

      You go to their place of business and order food that unless you are a complete dumb ass you know what you are getting. Stop trying to make excuses for the people who think if they drink diet soda they won't get fat.

    15. Re:Lots of plugins = bloat by Anonymous Coward · · Score: 0
      Actually it was the grandparent that started the comparisons. I made the obvious analogy.
      You go to their place of business and order food that unless you are a complete dumb ass you know what you are getting. Stop trying to make excuses for the people who think if they drink diet soda they won't get fat.
      You do, however, have certain expectations. "Personal responsibility" works two ways - both of you are responsible for your actions. A food outlet that knows the food it sells is physically bad for people carries a certain amount of responsibility in selling it.
    16. Re:Lots of plugins = bloat by Anonymous Coward · · Score: 0

      This sounds somewhat like the defense fast-food restaurant chains use against charges that they promote obesity.

      That sounds like an argument Hitler would make.

    17. Re:Lots of plugins = bloat by bfizzle · · Score: 1

      But by not selling the food you are penalizing anyone who is intellegent enough to know not eat the fatty food all the time.

  4. Could you tone down the editorial bashing? by Anonymous Coward · · Score: 4, Funny

    Might I suggest a slight rewrite of the first sentence:

    Developers who want a flexible, configurable, IDE have long preferred plug-in architectures such as Eclipse over what they might view as the alternatives that promote pedophilia and Satanism.

    It just sounds more professional.

    1. Re:Could you tone down the editorial bashing? by Chris_Jefferson · · Score: 1

      And it isn't even accurate... I find VC++ both flexable and configurable, and programs don't get much bigger and bloated than Eclipse, it is totally unusable on 256MB of ram once you have a couple of other things running, where as VC++.net will work reasonably happily...

      --
      Combination - fun iPhone puzzling
  5. Surprisingly like cooking! (analogy) by FortKnox · · Score: 5, Funny

    The whole plugin environment works a lot like cooking a large meal. Add in extra ingredients, or substituting one ingredient for another can create a whole new experience. You could even use the same 'plugins' for different 'bases' if you provided the functionality correctly... like having pork (Java) as the basis for your sauce or chicken (.Net).

    But, it can be a tremendously dangerous[tt] if not done correctly, so you could almost make the analogy of baking instead of cooking. Only specific elements can be used or you could ruin the whole dish... could you relate bloated software that hardly runs with something like a ruined custard or creme brulee??

    --
    Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
  6. Inversion of Control by irritating+environme · · Score: 0, Flamebait

    To all you pattern zealots out there, this is called Inversion of Control. Typical crappy pattern name. Service patterns are among the most common used. Why? Because they are well-named. Who the hell came up with Inversion of Control? Pointless terminology. Plug-In Architecture is far more descriptive, understandable. Although you pattern guys don't get to sound like snotty professors when you say it. It's far too...practical

    --


    Hey, I'm just your average shit and piss factory.
  7. Lots of [definitions] = bloat by Anonymous Coward · · Score: 0

    " Is bloat really a problem with too many features or more to do with bad coding?"

    Define "bloat"? Bloat is much like "object-oriented", with definitions that no one can agree on.

    Is a program that does all that you need, and no more "bloated"?

    Is "bloat" even relevent in this day and age of Giga-Hertz processors, and Mega-Ram, and Tera-storage?

    1. Re:Lots of [definitions] = bloat by robertjw · · Score: 1

      Bloat is tough to define, but easy to identify. In my mind, an application is bloated when extra features make it more difficult to use, or the application is so huge and slow it is cumbersome.

      Is a program that does all that you need, and no more "bloated"?

      Absolutely not, unless of course it's so slow you can't ever get anything done. Some applications are obviously bloated (Microsoft Word) and some are not (vi), but most things fall somewhere in the middle. We use them until something less bloated, more usable or cheaper comes along.

  8. Plugin Hell by obender · · Score: 4, Insightful
    From TFA:

    Most of you have probably experienced "DLL hell" at some point and will look with suspicion on something that has the potential of being a "plug-in hell."

    I think we already passed the potential phase a long time ago. After a while you either give up installing the latest milestone or give up your added plugins.

    1. Re:Plugin Hell by Anonymous Coward · · Score: 0

      This is why you have your plugins in a directory linked by .link (ha!) files in the eclipse/links directory - preferably one linked directory per plugin.

      Change Milestones ?
      Unzip new milestone, copy the links you want, voila!

    2. Re:Plugin Hell by curunir · · Score: 1

      Where I work, none of the developers have this problem. I maintain an update server with all the plug-ins our team uses. Whenever any of the plug-ins are updated, I test out the update and then push it to our update server. Other developers get it with a simple dialog the next time the start Eclipse. When we update to a new major revision of Eclipse, it's a simple matter of adding our custom update server and then selecting all the plug-ins you want. It's all pretty painless. You can also export your prefs and import to your new install.

      The most painful part is when plug-ins aren't designed to be updated via an update server. I have to package them myself. This may be a bit more work for an individual developer, but for a team of developers, it just takes a couple of hours every month by one developer to make all this easy for the entire team.

      --
      "Don't blame me, I voted for Kodos!"
  9. sex and the city... by Anonymous Coward · · Score: 0

    Systems can never be too secure, and you need to pay particular attention to securing a system based on plug-ins. Since arbitrary plug-ins can be installed--for example, by downloading them from the Web--and are allowed unlimited access to the system they plug into, security in a plug-in environment must be carefully planned. On top of this, some plug-ins require support for executing custom install code during installation, so they can have control over some parts of their installation. To prevent software security accidents or failures, the plug-in framework must address the issues of downloading from third parties and controlling a plug-in's access to other code and data. Supporting digitally signed plug-ins or secure connections helps, but it still relies on trusting the download source or the plug-in provider.

  10. Hurd by roman_mir · · Score: 2, Interesting

    I love Eclipse actually, it doesn't do everything that I want though, for example MS .NET studio allows attaching to an already running process and debug it but Eclipse does not. It maybe due to Java limitations and maybe this feature will appear sometime in the future, but maybe it is just not possible to do? I am not sure.

    Now look at Hurd. Hurd is a plugin environment if I understand it correctly, but it is too low level, but I still wonder, will it be possible to use Hurd as not only OS level runtime but for high level apps?
    Just a thought.

    1. Re:Hurd by afd8856 · · Score: 1

      If you're taking it that road, than any high level app is just a plugin for the OS. It sure uses the API provided by the kernel...

      --
      I'll do the stupid thing first and then you shy people follow...
    2. Re:Hurd by Manannon · · Score: 5, Informative

      Adding
      -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=800 0,suspend=n

      to the java command when you run the app you want to debug allows Eclipse (& others) to attach on port 8000 (of course you can choose any unused port number)

      If you want to debug an applet while it's running in a browser, you can specify the same arguments in the applet control panel.

    3. Re:Hurd by KrisWithAK · · Score: 1

      Remote debugging for Java is built in as standard in both the SDK as well as Eclipse since as far as I can remember. Right next to where you create a "Java Application" run/debug configuration there is a template for "Remote Java Application". You'll need to add run parameters similar to "-Xrunjdwp:transport=dt_socket,server=y,suspend=y, address=4000 -Xdebug" for the application that is to be debugged.

    4. Re:Hurd by jeddak · · Score: 1

      Should be easy to modify Eclipse to attach to a running process, since this is supported by the jdb debugger included with the J2SDK (1.4 or later).

      Personally, I prefer to use lighter-weight tools (Emacs + JDE) that don't get in my way as much as Eclipse.

  11. two concepts by 10am-bedtime · · Score: 4, Informative

    first key concept: late-binding.

    second key concept: single-root.

    summary: this article talks about a non-single-root late-binding architecture. there are, of course, other organizations: the quintessential single-root late-binding program, and the raft of non-late-binding programs.

    thus ends our cs moment of the day. we now return you to your regularly scheduled inanity...

  12. Surprisingly like cooking! (analogy)-Baked goods. by Anonymous Coward · · Score: 0

    So your saying Julia Child was a programmer?

    There's at least one good thing about plugins and the OSS development model. It makes it easier for people to participate. Same with scripting.

  13. Article Text by MynockGuano · · Score: 5, Funny

    Plug-ins are implemented as the plug-ins plug-ins with plug-ins over plug-ins plug-ins plug-ins plug-ins plug-ins.

    Furthermore, plug-ins plug-ins plug-ins so that plug-ins plug-ins.

    Mine eyes glazeth over.

    P.S. plug-ins
    P.P.S I just like saying plug-ins. It's a funny word. Plug-ins. Hee!

    1. Re:Article Text by disposable60 · · Score: 4, Funny

      Malkovich? Malkovich! Malkovich. Malkovich.

      --
      You're looking for quotes? See my journal.
    2. Re:Article Text by Anonymous Coward · · Score: 0

      And who will write these "plug-ins plug-ins plug-ins?" Well, "developers developers developers developers" of course.

    3. Re:Article Text by sharkey · · Score: 1

      Developers! Developers! DEVELOPERS!!

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    4. Re:Article Text by Anonymous Coward · · Score: 0

      Badger? Badger! Badger. Badger.

    5. Re:Article Text by Anonymous Coward · · Score: 0

      Mushroom. Mushroom.

    6. Re:Article Text by kiniry · · Score: 1

      Personally, I prefer "strap-ons" to "plug-ins." :)

      --
      Joseph R. Kiniry
      http://kind.ucd.ie/~kiniry/
      Lecturer
      UCD School of Computer Science and Informatics
    7. Re:Article Text by Anonymous Coward · · Score: 0

      Snake! Snake!

    8. Re:Article Text by Anonymous Coward · · Score: 0

      Moe work and Moe play makes Moe mo'Moe Moe!

  14. Joking, of course by mccalli · · Score: 5, Insightful
    Developers who want a flexible, configurable, IDE have long preferred plug-in architectures such as Eclipse over what they might view as the bloated, monolithic alternatives.

    That was meant to be funny, right? Because few things are as so monolithically all-encompassing as Eclipse.

    I should reveal personal bias from the outset: I despite Eclise. Though it sits open in a window just next this one right now, I still loathe it with an utter passion.

    I cannot get its editor to put tabs in realistic, predicable places. I don't want my coding environment to start looking like MS Word, underlining things as problems simply because I haven't finished typing thm yet or am concentrating on another part of the design. I had to immediately turn off most of the auto-typing features such as adding brackets or quotes, because I found it vastly distracting. There's a plug-in to search the preferences! My god, that makes it out of control.

    I tried to use it at home the other day to import four existing source files and then generate a build.xml file for me. It never even worked out how to import the files with the right directory root, which given a pattern of src/org/eruvia//FileBelongingToPackage.java should have been src, not src/org/eruvia/appname.

    Can't stand the thing.

    Cheers,
    Ian

    1. Re:Joking, of course by mccalli · · Score: 1
      I despite Eclise

      I also can't type. Good, ambiguous typo though - "I despise Eclipse", "I code despite Eclipse"? You be the judge.

      Cheers,
      Ian

    2. Re:Joking, of course by seanmceligot · · Score: 2, Interesting

      I think you're right, they must have been joking.
      My installed eclipse takes up 99.9 megs and requires a 80 meg JDK and all that bloat, still doesn't make me want to stop using vim.

    3. Re:Joking, of course by metamatic · · Score: 1

      I had much the same problem. I heard how great Eclipse was, tried it, was unable to work out how to edit a trivial existing project, and threw it away.

      I should mention that I use Apple Xcode, so I'm not against IDEs per se; I just think Eclipse is way too complicated.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    4. Re:Joking, of course by sprekken · · Score: 3, Insightful

      ... I just think Eclipse is way too complicated.

      Which is why it is such a great IDE! I can understand all of the minimalists that complain that it's just too hard to use, and want to stick with VIM. I personally love VIM, I still use it on occasion while writing C and PHP. But using VIM for everything is like eating potatoes for breakfast, lunch, and dinner - every day. They're good, but there's a lot more out there.

      I have found that Eclipse is one of the greatest software applications ev4r simply because it does so much, and is so complicated. It is not only an IDE, but a complete client application framework that can be used or adapted for just about anything. Most of the applications I write now are built using the Eclipse RCP framework with EMF and SDO connected to some back-end persistence framework. It truly is elegant to use and MUCH better than trying to write this type of framework from scratch.

      The best part is that it is backed by IBM and a lot of other big dogs, so you know it's going to be stable.

    5. Re:Joking, of course by Ulrich+Hobelmann · · Score: 3, Insightful

      I've always wondered what is wrong with "modern" software that its resource usage is so through the roof. That's a HUNDRED MILLION BYTES, for God's sake! I don't know how big the Library of Congress is, but seriously: Eclipse is just an editor + some wizards, doc, compiler and other plugins. There's nothing that justifies a HUNDRED MILLION BYTES.

      When I have to Java, I use XCode, which takes about 30-50MB. And it's about four times as snappy.

    6. Re:Joking, of course by Arslan+ibn+Da'ud · · Score: 1
      I should mention that I use Apple Xcode, so I'm not against IDEs per se; I just think Eclipse is way too complicated.


      I have the feeling that any architecture based on plugins is going to be hideously complicated...simply because you have many people working on individual plugins, each with their own vision...there is no Grand Unified Vision of how it all works together.

      I respect Eclipse as a great creation, but I'm not yet ready to claim I like it. Still prefer Emacs. Without any Java IDE.

      Heck look at the mess of options Emacs provides...no unified vision there.
      --

      Practice Kind Randomness and Beautiful Acts of Nonsense.

    7. Re:Joking, of course by BlindRobin · · Score: 1

      I cannot get its editor to put tabs in realistic, predicable places.
      Tabs ???? Tabs ??? did you say tabs ? ARRRGGGHHHH !!!!!
      Real physical tab chars in code text are an absolute and unpardonable sin !!!!
      There I said it.
      All of you lads that leave physical tab chars in your code should to be caned, second offenses deserve disembowlement with a spoon...
      It is incomprehensable, to me (and yes I am biased but not stupid), why this anachronism persists when the good lord has provideded such things as the space character, sufficient storage, efficient compression algorithims, and such concepts as "soft tabs" that should have relegated the tab character to some obscure corner of hell where it belongs...

    8. Re:Joking, of course by KrisWithAK · · Score: 1

      I feel like I need to provide another view of Eclipse. Using the built in 'Code Formatter' I have not had problems configuring tab and brace placement. Import/Export works fine if one pays attention to provided options.

      Although I must say that through learning to develop a RCP application (Eclipse Rich Client Platform), the plug-in architecture seems well thought out, but does require a bit of study to figure out how to properly design an RSP app or just a plug-in.

      As with any tool, it takes a bit of time and effort to learn it and to get it to perform to your liking.

    9. Re:Joking, of course by Anonymous Coward · · Score: 0

      > When I have to Java, I use XCode, which takes about 30-50MB. And it's about four times as snappy.

      And XCode is already bloated...

    10. Re:Joking, of course by aCapitalist · · Score: 1

      The problem is that the Eclipse user interface is horrible - at least for Java programming, and compared to IDEA or NetBeans. The whole project management is goofy in my opinion.

      I think that issue is orthogonal to the architecture of Eclipse. I've heard the reason they keep that crap is because of WebSphere.

    11. Re:Joking, of course by ShadyG · · Score: 3, Funny
      When I have to Java, I use XCode, which takes about 30-50MB.

      Dude, that's THIRTY TO FIFTY MILLION BYTES!!! And I also do not know how big the Library of Congress is!
    12. Re:Joking, of course by sahala · · Score: 1
      Can't stand the thing.

      Neither can I, but just like you I have Eclipse open on my other monitor. I prefer it to emacs and vi, but for Java I'd use IDEA anyday. It's easier to use, the refactoring tools are sweet and it's much easier to integrate with configuration management and a build system. There aren't as many plugins, but I found most of them to be stable*. * except for the ResourceBundle editor which choked on huge .properties files in the project path.

    13. Re:Joking, of course by popeyethesailor · · Score: 1

      Its apple bytes, so they are smaller and tastier.

  15. two [insightful] concepts by Anonymous Coward · · Score: 0

    "thus ends our cs moment of the day. we now return you to your regularly scheduled inanity..."

    Oh man. That's like SO deep. Encore! Encore!

  16. Re:Surprisingly like cooking! (analogy)-Baked good by sherpajohn · · Score: 1

    Programming is a lot like cooking - a delicate combination of science and art.

    --

    Going on means going far
    Going far means returning
  17. Here's another pure-plugin architecture by Anonymous Coward · · Score: 0

    Grid Portal is another pure-plugin architecture. It is a single executable JAR file which runs on Windows, Mac, and Linux and can be started in either GUI or command-line (CLI) mode. It comes with a plugin manager which allows you to easily install, update, and remove plugins. Screenshots are there as well.

  18. Dreamweaver has a functional plugin system by acostin · · Score: 4, Informative

    Dreamweaver is also a great framework for plugins. While the host application still offers some functionalities, they are related with the actual implementation of the plug-in architecture. You probably don't know - but Dreamweaver is now mostly built from plugins, and those are built with HTML and JavaScript almost exclusively. The HTML editor is not a plugin, but almost everything else is, and the options are unlimited.

    Not only this plugin architecture is powerful, but it's also platform independent - you can easily configure it to generate PHP/ASP or JSP code with the same plugin implementation and different platform files. Everything is XML, and a lot of regexps are used to detect code patterns and parameters that are presented in the visual interfaces. This plugin system is so powerful, that it allowed us to build a fully functional Dreamweaver PHP support layer (they only supported ASP and JSP back then), in just several months.

    If you've read the Cooper book - The Inmates are Running the Asylum you will understand easily how plugins have appeared in Dreamweaver back in the Drumbeat 2000 times - as a layer between the IDE user (Betsy - an HTML designer) and the hardcore programmer (I forgot his name, but he was a he :). When building dynamic sites, the designer and the programmer always clashed as they have different value systems (the designer dislike programming, the programmer don't care about design). So Dreamweaver was built as a layer between the programmer and the designer - helping the programmer work with the designer by writing plugins for the IDE that the designer will use to create complex things.

    That's what a lot of companies are doing now with great success. <shameless plug>We're doing it - http://www.interaktonline.com - with significant results - 10000 licenses sold and 500,000 downloads for the free extensions</shameless plug>, and there are also a lot of other companies doing it (you'll find more on the Macromedia Exchange - a place where people exchange free and commercial plugins)

    Dreamweaver also avoids the plugin hell using a powerful packaging technique (they came with their own package format - MXP - that knows how to do "safe changes" to the IDE - like adding menu entries, code completion features, etc). Those changes are applies using the Extension Manger - a nice piece of software that knows how to "undo" IDE changes when uninstalling an extension.

    Want to learn something from a working implementation? Learn how Macromedia did it and a lot of interesting lessons will be learnt.

    Alexandru

  19. Re:Surprisingly like cooking! (analogy) by Anonymous Coward · · Score: 0

    You're right, it all ends up as crap...

  20. Re:Surprisingly like cooking! (analogy)-Baked good by Anonymous Coward · · Score: 0

    So is this why my roomate (who can't even cook mac and cheese without screwing it up) has an internship at Microsoft?

  21. This post was created by Timesprout · · Score: 4, Funny

    Using the Slashdot posting plugin for eclipse.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
  22. Re:Surprisingly like cooking! (analogy) by tomhudson · · Score: 1
    You could even use the same 'plugins' for different 'bases'
    I want the "all your plugins are belong to us" Borg plug-in.

    After all, to extend your food analogy - it really IS like cooking - if you don't have everything just right, it might be (barely) edible, but it will taste like shite.

    The article speak of plug-ins managing plug-ins. and then goes on to this:

    At a minimum, the kernel must provide runtime support for the basic plug-in infrastructure by:

    Finding, loading, and running the right plug-in code.
    Maintaining a registry of installed plug-ins and the functions they provide.
    Managing the plug-in extension model and inter-plug-in dependencies.

    Optionally, the kernel can supply other utility services, such as logging, tracing, or security.
    The days of the tight, quick, responsive IDE (simple recipe) manipulated by a proficient coder (chef) producing tight code (tasty, wholesome food) are dead, replaced by bloatware (junk food full of calories but empty of nutritional value). Don't just supersize me - supersize my code!
    plug-in-based applications may have a higher degree of freedom for installation layout and plug-in discovery. This flexibility can also be a source of major headaches for installers and plug-in management.
    Bad enough we have the Java reflection API - now we need to "discover" what we've got available in our IDE as well. How long before we shoot the chef (the coder) and replace him with a microwave? Because that's where this is going.

    I for one do NOT welcome our xml-configured beowolf clusterf$ck of plug-in library overlords. There's still a time and a place for "less is better." A lot be[tt]er.

  23. Eclipse... by PsychicX · · Score: 0

    Eclipse as an example of software that isn't bloated.

    ROFL.

  24. Eclipse speed by Espectr0 · · Score: 2, Interesting

    Seems that the plugin-based architecture of eclipse hasn't helped a bit with loading times. On my athlonxp 2100 with 768mb ram, it takes about 15 seconds to load, same as netbeans.

    Netbeans also has very good html/xml syntax highlighting and completion. I hope Eclipse 3.1 plays catchup on this.

  25. Can it load an arbitrary text file yet? by Tim+Browse · · Score: 4, Interesting

    I tried Eclipse a while back - the first thing I do with any programming editor is of course to load a text file and try editing it.

    So I try to open a random xml file on my hard disk, and, er...wait, hang on, you can't do that. You can only load a file if it's in your project (or view or solution or whatever word it is that Eclipse uses).

    I researched a bit, and found some other people ranting about this, but the official line was you should add such files to your project if you want to edit them, it's the right thing to do, blah blah blah.

    Call me stupid, but that kind of language lawyer prescriptive idiocy is what I try to avoid, so I went straight back to my bloated monolithic IDE that nevertheless let me load whatever the hell file I want.

    I'm downloading the latest version now to see if it will let me execute a technological marvel such as loading a file I want to edit...we'll see.

    (Although the last time I tried Eclipse it took me fecking ages to get a JVM set up that would even allow it to start up - "run anywhere", indeed...)

    1. Re:Can it load an arbitrary text file yet? by Timesprout · · Score: 1

      This is more to do with Eclipse's heritage in Visual Age than its plugin architecture. IBM tooling tends to impose its will on developers rather than facilitating them. You can do it, but only if you do it the way IBM forces on you. Personally I have always found eclipse to be a slow, memory hogging, counter intuitive beast to use. Give me IntelliJ anyday.

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    2. Re:Can it load an arbitrary text file yet? by TheTomcat · · Score: 3, Interesting

      I see your point, but you seem to be mistaking Eclipse for a general-purpose text editor. It's not.

      You wouldn't use OpenOffice's word processor to write code, would you?

      Eclipse is tryly an Integrated Development Environment, not a one-off quick-editor.

      I've recently come to love Eclipse (for the most part) -- I use it for PHP development, now.. and I keep kate around for quick one-off edits.

      IMO, if you need something that does both, then Eclipse is not for you.

      S

    3. Re:Can it load an arbitrary text file yet? by drchrisharris · · Score: 4, Informative

      File->Open External File

      Wasn't that hard, was it?

    4. Re:Can it load an arbitrary text file yet? by Tim+Browse · · Score: 1
      I see your point, but you seem to be mistaking Eclipse for a general-purpose text editor.

      Well, I was mistaking it for a programmer's editor actually - silly old me.

      The idea that you can have an editor which allows you to code Java, etc but won't let you edit a simple text file is, quite frankly, ludicrous.

      Most programmers I know will use the same text editor for everything they do, whether it's coding or creating/editing a simple config file, searching a log file for text, etc. After all, Use a Single Editor Well.

      Forcing a programmer to use a different editor just because they're looking at something outside a rigidly defined project is just dumb.

      You wouldn't use OpenOffice's word processor to write code, would you?

      No, but frankly I don't see the relevance. Editing a simple text file is a subset of editing a source code file, not a completely different activity.

    5. Re:Can it load an arbitrary text file yet? by revscat · · Score: 1

      I'm downloading the latest version now to see if it will let me execute a technological marvel such as loading a file I want to edit...we'll see.

      Eclipse is not a text editor. It's an IDE. It allows you to manage and work on separate projects within the same environment, and provides a way to isolate those projects from each other. If your biggest complaint about it is that you can't immediately load it up and edit a file, then you are to a large extent missing the point of the tool. It's not a text editor, it's a development environment. Emacs, vim, BBEdit, etc. are text editors. They will do what you want, and can be run simultaneously to Eclipse in modern operating systems.

      But when you are dealing with a large number of separate projects, each with their own dependencies, build files, source code, and even source code control system (CVS, MKS, Subversion, some from SourceForge, some internal to your organization), and you want to be able to deal with all of that in a single environment, then Eclipse is a great tool for the job.

      Half-Life 2 is also a shitty text editor. But that's not what it was designed to do.

    6. Re:Can it load an arbitrary text file yet? by FranksChickenHouse · · Score: 2, Informative

      That was a new feature added (I think) in either 3.0 or 3.1. Previous versions did not, I repeat, did not have this ability, and it was really, really annoying.

    7. Re:Can it load an arbitrary text file yet? by Tim+Browse · · Score: 2, Informative
      Previous versions did not, I repeat, did not have this ability, and it was really, really annoying.

      Indeed - I thought I'd made it obvious enough that it wasn't possible on the version I tried (and that googling confirmed this), but I guess I didn't make it obvious enough for drchrisharris.

    8. Re:Can it load an arbitrary text file yet? by Tim+Browse · · Score: 1
      Half-Life 2 is also a shitty text editor. But that's not what it was designed to do.

      Oh good Lord, can you guys just quit it with the crap strawman arguments?

      Eclipse is not a text editor. It's an IDE.

      But it contains a text editor, surely?

      Also, IDE = Integrated Development Environment. In other words, I shouldn't have to leave the IDE to do something simple like edit a text file while I'm developing. Maybe that's just me.

      It's probably pertinent to note the Eclipse is the only IDE I've ever used that wouldn't let me load any old text file I liked.

    9. Re:Can it load an arbitrary text file yet? by TheTomcat · · Score: 1

      I expected this response.
      Like I said, it seems Eclipse is not for you.

      S

    10. Re:Can it load an arbitrary text file yet? by anum · · Score: 1

      You wouldn't use OpenOffice's word processor to write code, would you?

      And, just to put an even finer point on it, I could use OpenOffice to write code if I wanted! Just save it as a text file. And OpenOffice doesn't force me to only open OO.o docs either!

      --
      I don't think, Therefore I'm not.
    11. Re:Can it load an arbitrary text file yet? by kitty+tape · · Score: 1

      The main problem I find with not being able to simple open and poke at a single text file is that it destroys the exploratory nature of the program for new users. The first time I started Eclipse, I wanted to play around with it to see if I wanted to try it on an actual project. Instead, I had to go through the hassel of starting a new project. Now, this wasn't a difficult task. However, it did stop the flow of exploration, which is just a bad design.

      --
      ----- "Type theory is like pretzels on crack." -- random friend
    12. Re:Can it load an arbitrary text file yet? by Anonymous Coward · · Score: 0

      You expected the sane and ration response?

      Then Eclipse is not for the pragmativ programmer?

      Then who is it for? IBM customers that have been sold a bill of goods?

      Eclipse is slow and cumbersome, exactly the things that they complain about "top heavy" IDEs. It's modular nature is only that way so that IBM can sell you more modules and jack up the price.

      I wouldn't wish Eclipse on my worst programmer enemy!

    13. Re:Can it load an arbitrary text file yet? by Anonymous Coward · · Score: 0

      Eclipse doesn't give me a blowjob. Until it can perform this simple task that every IDE can perform, I refuse to use it.

    14. Re:Can it load an arbitrary text file yet? by revscat · · Score: 1

      But it contains a text editor, surely?

      Yes, of course it does. You can even set it up so that the more familiar emacs key bindings are in place. It has code folding, syntax highlighting, regular expression search & replace, highlight occurences, common class templates, code block templates, and etc.

      It's probably pertinent to note the Eclipse is the only IDE I've ever used that wouldn't let me load any old text file I liked.

      I think you're having a problem with your configuration, then. I am able to edit any file within Eclipse (I just tested this to make sure), although I use vim for editing XML files and Python scripts. But I don't have to leave the IDE to to that; I just double click on the file. I told Eclipse to open XML files with my "system editor"; currently XML files are associated with vim on my box.

      But even if I didn't choose to do that, any text file can be loaded in Eclipse's editor.

    15. Re:Can it load an arbitrary text file yet? by Tim+Browse · · Score: 1
      But even if I didn't choose to do that, any text file can be loaded in Eclipse's editor.

      It can now, yes.

    16. Re:Can it load an arbitrary text file yet? by Anonymous Coward · · Score: 0
      Most programmers I know will use the same text editor for everything they do, whether it's coding or creating/editing a simple config file, searching a log file for text, etc. After all, Use a Single Editor Well.

      to second that, I use JCreator for PHP, Java, and C# development. I even compile C# programs with it, through command line user-definable tools. I also use it instead of Notepad because of delete-word, vertical-scroll-without-cursor-movement and other text editing shortcuts. For me, it fills exactly the niche between notepad (too basic) and word processor (do i need brackets in italics?).
      Oh, and it does let me open any text file.
    17. Re:Can it load an arbitrary text file yet? by Anonymous Coward · · Score: 0

      Yeah, and version 1 sucked too.. Thanks for sharing.

    18. Re:Can it load an arbitrary text file yet? by ArtDent · · Score: 2, Insightful

      As people have pointed out. Eclipse is an integrated development environment. Sure, you just want to edit a file, but editors in Eclipse are part of that integrated environment. As a simple example, you can select the name of class and ask to see its subtype hierarchy. For that to work, you need to build a model of a bounded set of classes. Hence, the workspace: a bound on the set of files to consider, and a convenient API for working with them.

      Setting up projects in a workspace isn't terribly hard, and projects can refer to any physical location, so you don't have to actually copy or move your files around. But, it does slow you down a little when you want to get started, and that's a shame. Trade-offs are nothing new in the world of software design.

      Eventually, the File->Open External File function was added. But, you only get a small amount of the functionality that's available when you do it the "proper" way. Probably some careful refactoring could make editors on external files more, though not fully,functional. But, in my opinion, that would be wasted effort.

      The workspace/project model works well and supports the desired functionality. Yes, it imposes a little bit of learning on some people, but if that's such a hardship, why are you programming, anyway?

      By the way, this whole topic really has nothing to do with the article, which is about the underlying pure plug-in architecture of Eclipse.

    19. Re:Can it load an arbitrary text file yet? by Anonymous Coward · · Score: 0

      Of course, since it's not for you, it's not for anyone. Thanks for playing.

    20. Re:Can it load an arbitrary text file yet? by killjoe · · Score: 1

      You are looking for jedit. It has plug ins but it also allows you t open up files.

      --
      evil is as evil does
  26. Sounds like a meta-OS to me... by ThosLives · · Score: 3, Interesting
    This "plug-in framework" mentioned in the article sounds like it's simply an OS-independent OS. Think about it: it registers "plug-ins" that talk to each other using "defined interfaces" and each "plug-in" must be registered with the runtime. How is this different than installing applications and registering them? There are well-defined interfaces between applications, APIs for displaying information, etc.

    I find it amusing that the article even calls the plug-in manager the "kernel". It seems like the research into this field is basically working on some meta-OS rather than something that will provide real extensibility to a system. All it tells me is that OSs need better interface specifications to provide what folks are looking for and so write their own meta-OS.

    --
    "There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
    1. Re:Sounds like a meta-OS to me... by TheRealMindChild · · Score: 1

      This "plug-in framework" mentioned in the article sounds like it's simply an OS-independent OS

      They tend to call this a 'Virtual Machine'

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:Sounds like a meta-OS to me... by mrlpz · · Score: 1

      Think....OSGi. Look it up. At the core of Eclipse is the OSGi framework ( now running in your favorite mid to upper range BMW's navigation system, among other things ). The OSGi framework is nice, but GOD is it big ! As the co-developer of a commercial product built around Eclipse and OSGi ( sorry...confidentiality agreements are a biatch, aren't they ? ), I can testify that as nice as it is to have a "plug-in infrastructure around you", the "Extension points" mechanism sucks wet wind. It's entirely too textually driven. It's good to have the ability to define extension points, etc., but to have to "fill in the blanks" manually sucks. I can also agree with folks' comments about the weird behaviors for: 1. Code Completion 2. Code markup ( i.e. live parsing for programmatical errors ). 3. Switching "Perspectives" just to look at something simple, is a royal PITA. 4. The concept of RCP ( Rich Client Platform ) applications still have a ways to go before being completely baked. 8Mb for a "Hello World" RCP application ? GMAB ! That being said, Eclipse has some very nice features. I love their refactoring support, I like their reference finder, I even like that I can drag and drop items from an explorer window right into whatever package you're working on. Up until now my BIGGEST complaint is the lack of a VISUAL designer. The default designer offered by the Eclipse foundation is still only partially cooked ( Geeze, even the WebSphere 5.1 designer was in better shape ). With SWT Designer/WindowsBuilder Pro things got kicked up a notch ( but $299 for a designer that's still for the most part under development ? C'mon, get serious. ). There's Jigloo, which is less expensive ( $75 ), but it's far from having the same functionality as SWT Designer/WindowsBuilder Pro. The thing that irks me the most about Eclipse itself, is that it's basically a whole lot of scaffolding. You want to do J2EE, JSP or Struts....go buy Nitrox or the MyEclipse set of plugins ( sure MyEclipse is $29.99, but it's yet again, a little green behind the gills ). You want to do UML, you can use EMF ( and take serious amounts of sedatives ) or you can use OMondo ( or any of the others ), and take your chances. There's even plugins from rival Java IDE provider Borland ( Together Edition for Eclipse...gotta love those folks who still haven't figured out that before you can collaborate, you have to be able to CREATE ). All in all, Eclipse is a nice alternative to the overly expensive IDE's out there ( C'mon, does JBuilder REALLY have to cost over a $1000 ? Get real ? WebSphere Application Developer.....$2K+Plus ? Seriously ? )...But the problem is, that at it's core, it's still pretty barren. It's as I said before, the scaffolding for you to start hanging up the rest of the scene. And when you start adding up what you have to buy here, and there. You eventually get this feeling that you've been nickled and dimed to death. Sure, some of the plugins that are out there are nice, and they do serve their purpose for the most part, but c'mon ! - Honest opinion from someone's who actually delivered software ( and continues to ) using Eclipse. - Oh...and for the guy who quipped about having to have 1Gb of RAM....Rock on brothah...he's on the money. I had 512Mb when I started on the project, it was totally unusable with that little ram, 1Gb just about made it useful.

    3. Re:Sounds like a meta-OS to me... by mrlpz · · Score: 2, Interesting

      This is what it SHOULD'VE looked like...sorry about that...

      ------- Plain Ol' Text ------------------

      Think....OSGi. Look it up. At the core of Eclipse is the OSGi framework ( now running in your favorite mid to upper range BMW's navigation system, among other things ). The OSGi framework is nice, but GOD is it big ! As the co-developer of a commercial product built around Eclipse and OSGi ( sorry...confidentiality agreements are a biatch, aren't they ? ), I can testify that as nice as it is to have a "plug-in infrastructure around you", the "Extension points" mechanism sucks wet wind. It's entirely too textually driven. It's good to have the ability to define extension points, etc., but to have to "fill in the blanks" manually sucks.

      I can also agree with folks' comments about the weird behaviors for:

      1. Code Completion

      2. Code markup ( i.e. live parsing for programmatical errors ).

      3. Switching "Perspectives" just to look at something simple, is a royal PITA.

      4. The concept of RCP ( Rich Client Platform ) applications still have a ways to go before being completely baked. 8Mb for a "Hello World" RCP application ? GMAB !

      That being said, Eclipse has some very nice features. I love their refactoring support, I like their reference finder, I even like that I can drag and drop items from an explorer window right into whatever package you're working on.

      Up until now my BIGGEST complaint is the lack of a VISUAL designer. The default designer offered by the Eclipse foundation is still only partially cooked ( Geeze, even the WebSphere 5.1 designer was in better shape ). With SWT Designer/WindowsBuilder Pro things got kicked up a notch ( but $299 for a designer that's still for the most part under development ? C'mon, get serious. ). There's Jigloo, which is less expensive ( $75 ), but it's far from having the same functionality as SWT Designer/WindowsBuilder Pro.

      The thing that irks me the most about Eclipse itself, is that it's basically a whole lot of scaffolding. You want to do J2EE, JSP or Struts....go buy Nitrox or the MyEclipse set of plugins ( sure MyEclipse is $29.99, but it's yet again, a little green behind the gills ). You want to do UML, you can use EMF ( and take serious amounts of sedatives ) or you can use OMondo ( or any of the others ), and take your chances. There's even plugins from rival Java IDE provider Borland ( Together Edition for Eclipse...gotta love those folks who still haven't figured out that before you can collaborate, you have to be able to CREATE ).

      All in all, Eclipse is a nice alternative to the overly expensive IDE's out there ( C'mon, does JBuilder REALLY have to cost over a $1000 ? Get real ? WebSphere Application Developer.....$2K+Plus ? Seriously ? )...But the problem is, that at it's core, it's still pretty barren. It's as I said before, the scaffolding for you to start hanging up the rest of the scene. And when you start adding up what you have to buy here, and there. You eventually get this feeling that you've been nickled and dimed to death. Sure, some of the plugins that are out there are nice, and they do serve their purpose for the most part, but c'mon !

      - Honest opinion from someone's who actually delivered software ( and continues to ) using Eclipse. -

    4. Re:Sounds like a meta-OS to me... by Anonymous Coward · · Score: 0
      This "plug-in framework" mentioned in the article sounds like it's simply an OS-independent OS.

      Sound like Emacs.

      I find it amusing that the article even calls the plug-in manager the "kernel". It seems like the research into this field is basically working on some meta-OS rather than something that will provide real extensibility to a system.

      Well, like it or not Emacs and Emacs-like extensible programs are here to stay. As an Emacs developer put it recently:

      Emacs has survived a slew of operating systems and keybinding trends over the years, and there are more to come.


    5. Re:Sounds like a meta-OS to me... by GrayArea · · Score: 1

      That's more true than you know, and I have seen it mentioned explicitly by developers on Eclipse mailing lists. For example, Eclipse uses the same "run level" concept to start up the plugins. The core plugins such as install/update manager (configurator in Eclipse-speak) and extension manager get started on lower runlevels and the rest later on. You can even get a console prompt (for OSGi) if you run it with just the bare-bones framework.

      --
      "The deluded are always filled with absolutes. The rest of us have to live with ambiguity." - Aristoi, Walter Jon Willia
    6. Re:Sounds like a meta-OS to me... by Anonymous Coward · · Score: 0
      . It seems like the research into this field is basically working on some meta-OS


      Emacs. Done and done.

  27. Using Eclipse for Flash SWFs by mjbkinx · · Score: 1
    thanks to the AS2 Plugin and the open source compiler i can now code in eclipse, too. hooray!
    unfortunately flashout, which displays the newly compiled SWF inside eclipse and logs the debug output seems to work only under windows. linux and osX users have to use their browser and a custom solution for the debug info.

    i love my new workflow. it's so much better than having flash open in another window only to compile my classes.

    1. Re:Using Eclipse for Flash SWFs by same_old_story · · Score: 1
      if you haven't already, check out sepy. its an oss as editor, writen in python and it rocks.
      it has been developed for a longer time than the as2 plugin, and is much more mature (has code folding etc). at this point its hard to find missing features.

      oh, and its much lighter than eclipse. (and in case you're wondering, yes you can compile with mtasc too)

  28. SharpDevelop is another pluggable IDE by cyberjessy · · Score: 3, Informative

    Those of you who want to try out a fully featured IDE for .Net can try out SharpDevelop. This is GPL'ed and the project (including source code) can be found at ICSharpCode.

    I had written a couple of plug-ins for #D, and it took me less that two days to understand the architecture. Parts of the application are hacks, mainly because it does not have an industry heavy weigth behind it, unlike Eclipse. The project runs on contributions.

    SharpDevelop architecture includes pluggable language parsers, components, add-ins etc. I will definitely recommend this application to any .Net programmer.

    --
    Life is just a conviction.
    1. Re:SharpDevelop is another pluggable IDE by RobertKozak · · Score: 1

      For more information take a look at Dissecting a C# Application: Inside SharpDevelop

      This is a book about the development of SharpDevelop. Even though I don't agree with alot of their design decisions I found it was not a bad read.

      Robert

      --
      Bet this .sig looks familiar.
    2. Re:SharpDevelop is another pluggable IDE by Anonymous Coward · · Score: 0

      a free ebook version of this book is available, too: http://www.apress.com/free/index.html [scroll to the bottom]

    3. Re:SharpDevelop is another pluggable IDE by Anonymous Coward · · Score: 0

      tried it and am developing in C# using it, but I had to turn off code completion, one of the big reasons to use IDE in the first place. it was just too slow. they do have integrated assembly view with help - very nice touch, but above basic editing, it's barely tolerable.

    4. Re:SharpDevelop is another pluggable IDE by RobertKozak · · Score: 1

      True, I tried to forget about the free ebook. It came out 2 days after I ordered the dead tree version. :-S

      Robert

      --
      Bet this .sig looks familiar.
  29. SharpDevelop - "add-in" architecture using XML by Bigger+R · · Score: 2, Interesting

    The developers of the GPLed C# IDE wrote some well-presented documentation that discusses in part their add-in architecture: "SODA - SharpDevelop Open Development Architecture Almost all mid to large size software projects have some sort of add-in architecture. An add-in is basically an extension to the functionality of the main application. The common way to introduce an add-in structure is to load libraries from a specific directory at runtime. (Author: Mike Krueger)"

    --
    Beta only seems to work for Google. Such a shame.
  30. Eclipse and remote debugging by StratoFlyer · · Score: 1

    In Eclipse 3.0.1, I attached to and debugged a web app in a remote tomcat.

  31. IBM loves to shove Eclipse down our throats by Shivetya · · Score: 2, Interesting

    being an IBM shop we have seen many of our beloved (read:working) tools being phased out in favor of an Eclipse based solution.

    So far the net result has been bloated and very slow loading applications. The minimum memory requirement is 512mb with 1gb being recommended on user groups.

    After my experience with it at work I would not touch it at home. Not a single developer here uses Eclipse, they all prefer to use the older programs that are no longer supported or are being phased out.

    --
    * Winners compare their achievements to their goals, losers compare theirs to that of others.
    1. Re:IBM loves to shove Eclipse down our throats by Anonymous Coward · · Score: 0

      Well Eclipse is no speed demon. Reminds me of a time I got back to my apartment to change and head out a bar a few metro stops away to meet my roomate. I thought he had JUST left because I noticed that Eclipse was loading up on his laptop. Well a second later I get a phone call from him asking where the hell I am. Granted this was on a 700 MHz computer with 256 megs of RAM, but still...

    2. Re:IBM loves to shove Eclipse down our throats by irritating+environme · · Score: 1

      Well, this developer loves eclipse. Buy myeclipse plugin set for 30 bucks a year subscription, and you get a full Java/JSP/Struts/XML IDE.

      The memory requirements are probably because of the compile-as-you go Java, which I can no longer live without. Ditto for the refactoring features, variable renaming is fantastic. The enhanced syntax coloring of myeclipse allows me to see what functions are inherited and ones that aren't, if a variable is local, argument, or method, if its static or not, all at a glance.

      I notice you didn't mention a single "older" IDE that people could counter-critique. Borland's older JBuilder IDEs don't hold a candle to a fully loaded Eclipse. So your post is basically FUD. Next thing you'll be telling me is "all you need is vi".

      --


      Hey, I'm just your average shit and piss factory.
  32. Re:Surprisingly like cooking! (analogy) by tomhudson · · Score: 1
    So is this why my roomate (who can't even cook mac and cheese without screwing it up) has an internship at Microsoft?
    Well, they do have a philosophy of "eating their own dog-food". So much the better if it tastes like dog-food.

    So, what type of code do people produce?

    [ ] Italian code - mostly spaghe[tt]i
    [ ] DoD code - Department of Defence - enormously overpriced, Dead on Doorstep
    [ ] Sicilian code - coding by contract
    [ ] Polish code - looks like perl, tastes like perl, ...
    [ ] French code - retreats under preassure
    [ ] German code - You vill do vat I vant, und LIKE IT!
    [ ] American code - supersize me, baby! thank you, thank you verrry much!
    [ ] Canadian code - compromise,compromise,compromise.
    [ ] Chinese code - it all looks the same
    [ ] Greek code - it's all greek to me ...
    [ ] Lawyer code - doesn't run, but it pays for 3 cars, two houses, etc.
    [ ] Plumber code - stinks like a sewer
    [ ] Aussie code - "Oops, sorry mate, a dingo ate your data"
    [ ] Peewee Herman code - quit pulling my chain, that will never compile!
    [ ] Michael Jackson code - held together by duct tape
    [ ] "Ahnold" code - "Your account is terminated"
    [ ] George Bush code - "We'll find the code. We'll hunt it down. There is no evading us. We will not rest until the code is liberated from the tyrants of the open sores terrorists"
    [ ] All the above
  33. A well written java program ?! by tototitui · · Score: 5, Interesting

    I just read a earlier a long string of bashes around java & Open Office and then this item about Eclipse.

    Let me tell you this.
    A furiously anti-java, C++ist, debianist friend of mine tried it and found it cool for his C++ development !

    It is a living demonstration that all that religious wrath around java is a non-sens.

    Compared to the usual "Java is slow, Swing stinks, it closed source for playmobile developers."

    Eclipse is fast, GTK native, full open-source with a very well done plugin architecture ...

    You even have a full GCJ port for the zealots :
    http://klomp.org/mark/gij_eclipse/

    1. Re:A well written java program ?! by Shelrem · · Score: 1

      While i'd rather be working in VIM, i use Eclipse at work and it is pretty slick. The one thing that i can say against it, however, is that it takes a huge amount of RAM. I recently upgraded to 768MB, and with Eclipse, Firefox, and Gaim running, my memory utilization gets up near 100% (and Eclipse takes the biggest slice of the memory pie). Now, i know the JVM is largely to blame, but no matter what area of the code it's in, that's still ridiculous. I look forward to some optimization in this area.

      All that notwithstanding, if you have the memory to spare and you like these GUI IDEs that the kids are using these days, i have to say, Eclipse is worthwhile.

      b.c

    2. Re:A well written java program ?! by Anonymous Coward · · Score: 0

      I've heard Eclipse called a lot of things, but fast isn't one of them.

    3. Re:A well written java program ?! by noda132 · · Score: 1

      Eclipse is fast, GTK native, full open-source with a very well done plugin architecture .

      Point by point:

      • Fast: well, it's all relative, I suppose. For example, according to Einstein, if you were to speed around the world in a fraction of a second and end up back at your computer seat, maybe it would actually accomplish something (e.g., actually display the key I typed on my keyboard) in a under a second. But let's call a spade a spade here: Eclipse is one of the slowest (useful) programs in the world. Oh, and ever try the Visual Editor? Makes the rest of Eclipse look speedy.
      • GTK native: well, that all depends on your definition of "native". You could say Mozilla uses native GTK widgets, but that doesn't stop its horizontal scroll bar from behaving funny. Just like Eclipse's tabs and docking features behave in approximately the exact opposite manner of the rest of my GNOME applications.
      • Plugin architecture: yes, yes, congrats, it's great. Until you try to change a preference and all those plugins jump out at you simultaneously.

      Don't get me wrong. I think Eclipse is hands-down the best Java IDE in the world. But it's the only half-decent Java IDE, period. It's also the least consistent with the rest of my desktop, and it's way too bloated.

  34. OSGI by DimGeo · · Score: 0, Troll

    Eclipse uses an underlying OSGi framework. Much like the one my company makes.

  35. Re:Surprisingly like cooking! (analogy) by smittyoneeach · · Score: 2, Funny
    I want the "all your plugins are belong to us" Borg plug-in.
    See emacs.
    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  36. So why not EMACS? by Anonymous Coward · · Score: 0

    You want new functionality, you write or download some elisp. you want the functionality included in editor, you load it in you .emacs file. very clever.

  37. Re:Surprisingly like cooking! (analogy) by squiggleslash · · Score: 1
    In cooking, you can give eaters condiments, and they can end up making something that's almost an entirely different meal. I think that's what we should view plug-ins as, not an excuse to create a poor meal to begin with (on the grounds an end user can customize it with as much ketchup and soy-sauce as they want until it's edible), but as something that can be added to a best-try attempt to make a perfect meal, by people who are never satisfied.

    In that sense, cooking is a li[tt]le like an onion. On the inside, you have the apical meristem, the root core of the onion, which provides it with its link to the ground, allowing it to obtain liquids and other important fluids from the ground. Just as you might add ingredients to the pot, this pulls carbon and water and "cooks" it using a highly developed cell structure into something else. You, in this sense, are the apical meristem, and you are "making" the onion by turning raw ingredients and energy into, what's essentially, food. And, of course, the onion is covered in a thick skin, which you might see as the presentation layer of the meal you cook - you don't just slop cells onto a plate, it's important the texture of the food is represented by the physical appearance. Your cooking, of course, is similar to programming an IDE - you might say that you're taking tools like Java, object libraries, slivers of code from memory, and converting them into a full blown application, similar to how you build the cells of the onion and turn it into a full blown onion. The outer layer of the onion is the UI of your program, and an end user can essentially take the onion and use it in their own projects, extending it as necessary. They add seasoning, fry the onion in butter, etc, making it their own.

    We need to see the end project as the meal. We can see it as the onion, and in one sense, creating a final product for a cook, it is, in that analogy, but in the other analogy, it's just an ingredient. We need to give people the meal, and make the best meal we can, and they can add salt and pepper if they need it. Let's not just give them onion seeds.

    --
    You are not alone. This is not normal. None of this is normal.
  38. Eclipse has a long way to go. by rplacd · · Score: 2, Insightful

    The other day I had to write a bunch of code with similar lines. Something like

    $entry = cleanAttr("comp_phone", $totCompany_list[$i]["phone"]) .
    cleanAttr("comp_fax", $totCompany_list[$i]["fax"]) .
    cleanAttr("comp_email", $totCompany_list[$i]["email"]) .
    [...];

    I hopped over to my *scratch* buffer and typed in a short emacs lisp function (three lines of code, if that). I evaluated it, switched back to my code buffer, and added the lines by hitting a key sequence. The above lines were reduced to M-x attr RET phone RET M-x M-p RET fax RET M-x M-p RET email RET, etc. I could've even bound the attr call to a chorded key press or two.

    Total time to look up the docs and write the code to extend emacs: about a minute.
    Total time spent compiling code, loading a "plugin", restarting emacs: 0.
    Total time spent dealing with "you forgot the static keyword on line 12": 0.
    Total time spent fixing my code after upgrading emacs: 0.

    This is a feature that's been around for decades. Decades! When extending your editor is this simple, you'll do it more frequently.

    1. Re:Eclipse has a long way to go. by tezza · · Score: 2, Interesting
      I use Eclipse as a complement to my development process. The other main parts are:

      Emacs NT
      Cygwin
      c:\cygwin\bin\rxvt.exe -fn "Lucida Console-11" -bg DarkSlateGray -fg Wheat -cr Orchid -sl 10240 -tn xterm -g 170x70 -e /usr/bin/bash --login -i
      perl
      and
      ant 1.6.1

      Each is for a special purpose.

      To bring it back to the article, the Eclipse plugins I use are the visual Ant Task validator, the Debug mode with process attach, code completion, debug groups [coming in 3.1] and a whole host of others.

      The single best features are auto-compile and a usable dropdown class explorer. Emacs speedbar cannot come close to comlete overview of the whole project with 3000+ classes.

      Horses for courses. Eclipse is no panacea, but it is darn good at what it does, and there are a great range of plugins.

      --
      [% slash_sig_val.text %]
    2. Re:Eclipse has a long way to go. by Anonymous Coward · · Score: 0
      New technologies come and go, but Emacs has survived them all:


      > there is no future for anything else than full CUA compability and
      > GUI dialogs for everything.

      The wayside of Emacs is littered with operating systems and concepts without which there was no future.

      thread
    3. Re:Eclipse has a long way to go. by rplacd · · Score: 1

      I notice you don't list any plugins or extensions that you've written for Eclipse.

      See, I'm just pointing out that extending Eclipse is nowhere near as easy as extending emacs. If you wanted to change how Eclipse did something -- anything at all that didn't sit well with you -- you'd have a pretty hard time doing it, relative to making a similar change to Emacs.

    4. Re:Eclipse has a long way to go. by Fnord · · Score: 1

      Editor utility functions are different from UI and environment plugins. For quick and dirty write-these-lines-for-me, syntax hilighting rules, common task macros, emacs can't be beat (I sure as hell can't live without it). But for managing projects, integrating whole other apps (like debuggers, web browsers, class browsers, db interfaces) emacs doesn't hold a candle to eclipse. The thing I have the most hope for is the plugin that uses emacs as eclipse's editor using gnuserv. That is the one thing tempting me from moving from pure emacs.

    5. Re:Eclipse has a long way to go. by Anonymous Coward · · Score: 0
      This is a feature that's been around for decades. Decades!

      And that's why Eclipse has something which does this very comfortably. It's called "Templates". Using Your example I created a new template called "sltest", which looks like

      cleanAttr("comp_fax", $$totCompany_list[$$i]["${type}"]) . ${cursor}

      give it "PHP" as context; and now, if I type "sltest", then CTRL+SPACE, your code snippet appears and the cursor is so positioned, I just have to type "phone". After I hit RETURN, the cursor is just after the dot, and I can continue writing. Piece of cake.

    6. Re:Eclipse has a long way to go. by Arslan+ibn+Da'ud · · Score: 1

      Of course. That's because Eclipse is extended using the same programming language it's built in (Java). Emacs is built in C, but you extend it using Elisp. As such, there are many (useful?) extensions you simply can't do, being limited to elisp.

      Both are plugin architectures, but that's where their similarity ends.

      --

      Practice Kind Randomness and Beautiful Acts of Nonsense.

    7. Re:Eclipse has a long way to go. by Anonymous Coward · · Score: 0

      In Eclipse, I can use my mouse to drag a class from one package to another, and all of the references to it will be automatically updated. Can you show me how to do this in Emacs?

    8. Re:Eclipse has a long way to go. by rca66 · · Score: 1
      In Eclipse, I can use my mouse to drag a class from one package to another, and all of the references to it will be automatically updated. Can you show me how to do this in Emacs?

      Or: you have two classes, C1 and C2, each with a method foo(). Now you want to rename C1.foo() to C1.bar(), How to do this in emacs - of course with changing all references of this method but leaving C2.foo() and its references untouched?

    9. Re:Eclipse has a long way to go. by Anonymous Coward · · Score: 0

      The other day I had to write a bunch of code with similar lines. Something like

      $entry = cleanAttr("comp_phone", $totCompany_list[$i]["phone"]) .
      cleanAttr("comp_fax", $totCompany_list[$i]["fax"]) .
      cleanAttr("comp_email", $totCompany_list[$i]["email"]) .
      [...];

      I hopped over to my *scratch* buffer and typed in a short emacs lisp function (three lines of code, if that).


      Sounds good. Of course, a lisp function really isn't needed to accomplish the same task. A simple macro would do the trick. Then it's just a matter of entering 'phone', 'fax', and 'email' each on its own line and executing the macro three times. Plenty of editors can handle such a simple task using macros, with no lisp required.

    10. Re:Eclipse has a long way to go. by rplacd · · Score: 1
      That's because Eclipse is extended using the same programming language it's built in (Java).

      Well, there's no reason for it to be that way, is there? I mean, look at TCL, for example. A lot of apps written in C/C++/etc use TCL simply because it's a lot easier to control/extend/whatever their apps with TCL than it is with the implementation language.

    11. Re:Eclipse has a long way to go. by Anonymous Coward · · Score: 0
      s/.*/cleanAttr("comp_&", $totCompany_list[$i]["&"]) .
  39. Re:Surprisingly like cooking! (analogy) by tomhudson · · Score: 1
    Sorry, I'm a vi man myself.

    The article speaks of up to 10,000 plugins:

    ... the platform goal has been revisited to support scaling between 5,000 and 10,000 plug-ins.
    That's 100,000,000 possible interdependency conflicts in a 1-on-1 scenario. And 10,000 pieces of code that may or may not be present on any one system. Version problems. Missing/out-of-date problems. Dependency problems.

    Then there's the security problems. 10,000 links - and your chain is only as good as the weakest one.

    With 10,000 components, you're pretty much guaranteed that SOMETHING is going to need to be updated every day, even if the average component has a lifetime of 30 years (ha - fat chance)...

    More likely to be able to make a good meal by throwing together whatever isn't crawling around in the bottom of the fridge, than keeping that organized over long periods of time.

    My guess - we're fascinated by complex systems. So much so that we don't even bother to try to find a more elegant solution. We want the fancy desser[tt]s, the calorie-filled eye candy, more than we want to "just get the job done". Getting the job done isn't as "exciting".

  40. COBRA-OLE by Anonymous Coward · · Score: 0

    And COBRA is "Plugins" done remotely.

  41. Didn't mean to be troll... by DimGeo · · Score: 1

    Sorry to everyone. I just thought that OSGi might be interesting for Free Software developers. It is a very nice way to implement plugins in Java. It is even not so difficult to implement in a GPL product, it's just a spec of delayed loading of jar files with special a manifest. It's cool, that's all. Didn't mean to troll or anything... :(

    1. Re:Didn't mean to be troll... by Anonymous Coward · · Score: 0

      Right on Astroturfing man. Well OSGi is the rankest piece of shit I've ever used. Don't waste your time.

    2. Re:Didn't mean to be troll... by Anonymous Coward · · Score: 0

      >>OK, almost noone knows what osgi is (1)
      >>and those who know hate it (2)
      >>read my other posts around slashdot (3)

      LOL. A very productive comment by an "inherent authority"(3) telling about a bad product (2) referring to people (1), that are as unknown as people can't read.
      The world is soooooooooooooooooooo bad.
      Again, LOL.

  42. Better non-Java support by MrBoring · · Score: 1

    I've used Eclipse on a program that uses both Java and C++ through a JNI layer. The Java side was pretty good, though I had to get used to the keys. The C++ side needed some help though. It's obvious that whoever dreamed up Eclipse thought of it as a Java project IDE and anything else second. And yes, there is a C++ plugin, but that doesn't go nearly as far as the Java tools built into the program, such as refactoring.

  43. More platitudes by betelgeuse68 · · Score: 1

    Have I wondered how it works? No. Do I ever see myself caring? It's a GUI application. There are dozens of them, all of which decompose to lots of API calls to create windows and register handlers. Big deal.

    The other thing, "monolithic, bloated IDEs"? What other monolithic, bloated IDEs? Somehow I get the feeling the writer could be eluding to Microsoft's Visual Studio since well, IDEs on *NIX-land have largely been non-existent. Or last least, not very popular. Despite my lack of affinity for Microsoft in various ways, their Visual Studio product has been polished for years and years, before anything similarly worthwhile existed in *NIX-land. Being an EMACS head I could care less frankly.

    Perhaps they were referring to Netbeans but considering this is about the only other IDE outside of Eclipse in the *NIX world worth bothering with, the fact that the term "IDEs" was used (indicating plural) is just more of the same... self-aggrandizing platitudes.

    Zzzz,
    -M

    1. Re:More platitudes by mrlpz · · Score: 1

      Like you said...

      NetBeans.....JBuilder...>WebSphere AD ( can you smell the "eclipse" underneath )....oh...and yes...VS.NET. Just about every IDE out there is WAY top heavy....

      Please take your cynical a$$ out of the discussion, you unkempt, command-line hugging ( Oh, that's right, you said your are an EMACS head....nevermind, that explains it, go on about your business ).

  44. Re:Surprisingly like cooking! (analogy) by burner · · Score: 1

    component != plugin

    Indeed, many plugins are usually grouped together into a single "feature" (which is really more like a component than a plugin is). And features tend to be fairly, if not completely independent (apart from base/core components).

    Put another way, I've got thousands of debian packages installed on my computer. Debian packages are more interdependent than most eclipse features and plugins (except for the eclipse core). Every day, some are updated, at my request. Occaisionally, things break or stop working in a way I expect, but in general, things keep steadily moving forward. So having thousands and thousands of interdependent software packages/components being updated actually does end up working.

    So you see, it's not as bad as you make it seem.

    --
    MRSH-Recording device, corned beef sandwich with kraut, seafaring bird, and the foamy top of a beverage.
  45. ^I by tsanth · · Score: 1

    I prefer using hard tabs and letting the IDE/editor use a specified tab-width (say, 4 spaces per tab character).

    IIRC, both Vim and Eclipse support this kind of tab-handling, and it's served me well thus far. I'm rather curious: why the bias against hard tabs?

    1. Re:^I by BlindRobin · · Score: 1

      other than not liking usless, archaic constructs, if i were to inherit your code and prefer different tab widths, say 6 or 8, or 3(my personal favorite) i'd have to change my editor settings or jerk it around and convert the tabs to get it to be readable.......
      why not just use a soft tab of 4 spaces?
      looks the same everywhere for everyone.

    2. Re:^I by menkhaura · · Score: 1

      You like a tabwidth of 3, some guys prefer 2, some others like 4, and others (like me) like 8... Why limit all those preferences? Any self-respecting editor can set the tab width to whatever you like, so, by using a hard tab, each user can see the indentations as they please, not as the original coder wanted; the programmer uses hard tabs, and everyone is happy.

      --
      Stupidity is an equal opportunity striker.
      Fellow slashdotter Bill Dog
    3. Re:^I by tsanth · · Score: 1

      That was the response I had in mind.

      Thanks.

    4. Re:^I by Anonymous Coward · · Score: 0

      You're an idiot! Re-read what you just wrote and realize that hard tabs are the way to go. If it's 4 spaces instead of a tab then you CAN'T change it to 6,8, or 3 without going everywhere and adding/subtracting spaces. With hard tabs you can easily configure the way it looks like on the screen to suit you (4,6,8,3,15 whatever).

    5. Re:^I by Anonymous Coward · · Score: 0

      The problem comes when more than 1 person works with the file, and they have different tab preferences.

      If you're inserting hard tabs, it's an instant recipe for the code formatting to get completely screwed ...

      To get to the same point from the left, people with tabs set at 4 spaces will insert two ^I chars, vs. the one ^I inserted by the person with tabs set at 8 spaces.

    6. Re:^I by tsanth · · Score: 1

      This doesn't seem a direct result of using hard tabs. Rather, this seems a problem that would more efficiently be solved with a team-standardized tab convention. Whether the team chooses hard or soft tabs, the point is really that use should be uniform for all coders on a given project. After all, if everyone plays nicely together, then there's no problem.

      In my experience, I have just as much trouble dealing with different coders' conventions for soft-tabs. 4, 3, 6, whatever--it's always something different, and I end up having to "just deal."

      My preferred solution is to run the code through an indentation utility (or sometimes manually re-indent the code), replacing hard tabs where needed. Then I just set my editor to use a 4-wide tab width and make a note in the code comments saying what I've done.

      As the GGP mentioned, I've found this to be the best workable solution for me and those that I work with.

    7. Re:^I by buraianto · · Score: 1

      Right. Standardize on it as a team. Use hard tabs. Then, if someone likes 3-space tabs, and another likes 4-space tabs, they both get what they want while *still* conforming to the standard. If you collaborate with another company and get code from them, it's still perfectly legible, whether they have standardized on 2-space tabs, 3-space tabs or 23-space tabs.

    8. Re:^I by tsanth · · Score: 1

      On a second re-read, I realize what my post sounded like.

      I meant to imply this: I replace all occurrences of soft-tabs with hard tabs, and make a note in the code that I have done so.

      (That's what I get for trying to multitask.)

  46. Can't stress enough... by RobertKozak · · Score: 2, Insightful

    I can't stress enough how important security is!

    When you have a late-bound, extensible environment it is so easy to mess with it. Plugins by their very nature are supposed to be powerful, with hooks into the system at very low levels. This makes it very easy for virus writers, malware authors and spyware developers to run their code with full priviledge.

    But lets forget about Spyware and Virus for a moment. Lets say you have a plugin architecture for an application that does proprietary financial calculations for loan approval. You don't want someone to come along create a plugin and change those calulations.

    I think about this all the time because I have been developing plugin frameworks for the past 7 or 8 years. I really don't want to limit the functionality of the plugins because in all honesty I want the plugins to be as powerful as they can be so they change the calulations. I know it sounds like I am contradicting myself but the truth is I am not. Creating a plugin architecture is not a decision that you should take lightly.

    When deciding to create a plugin system you have to be sure that you can handle the complexity and the inherent insecurity that decision brings you.

    #1 point with plugin systems. Plugins are all powerful.

    Robert

    --
    Bet this .sig looks familiar.
  47. Re:Surprisingly like cooking! (analogy) by smittyoneeach · · Score: 1
    I dunno. My theory is that it's really all an iceberg, where the waterline is at the interface level.
    Typically, we want to manage things in a declarative sort of way, with a high waterline, and have the code fret about the annoying details.
    Then, suddenly, things no worky-worky, or we need to improve time/space/features of the code. Now we want that waterline lower, exposing more of our iceberg, so we can do some imperative sorts of things with it.
    While not a GUI, I've been recently living this iceberg metaphor in a MS environment. Consider:
    Public Sub asdf()
    Dim x As ADOX.Catalog
    Dim c As ADODB.Command
    Set x = New ADOX.Catalog
    x.ActiveConnection = CurrentProject.Connection
    Set c = x.Procedures("your_query").Command
    End Sub

    Duplicating this code in C-shrap or C-pee-pee is a non-trivial undertaking.
    As for Eclipse...I fell short of being thrilled back around 3.0.
    Dare I say, as an emacsor to a viman, that the old "rivalry" between the two shall continue, long past the eventual demise of Java, XML, and the Next Bloated Idea (NBI) has come to roost. :)
    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  48. KDevelop by aCapitalist · · Score: 2, Interesting

    I've been impressed with Kdevelop since the 3.x rewrite (Gideon).

    It has a plugin architecture, is native, and even has a decent vi editor kpart via yzis.

    And I believe the killer feature of Kdevelop is the ability to import autotools projects - which is basically everything in the open source world.

    Eclipse (CDT/C++ plugin) doesn't have this ability yet.

    The other night I imported KDElibs straight from cvs, it parsed everything out, I had my class browser with the entire kdelibs project there, changed some configure options, and built the whole thing within the IDE.

  49. Re:Surprisingly like cooking! (analogy) by tomhudson · · Score: 1
    The article makes it quite clear that there are 3 types of plug-ins:
    1. plug-ins that manage other plug-ins
    2. plug-ins that have nothing to do with the UI
    3. UI plug-ins
    Sure, your system has thousands of components, and once in a while something breaks after an update.

    But how about an app you've written that depends on ALL of those thousands of components (they've already deployed apps with greater than 1,000 plug-ins). The changes of your app breaking just got bigger, because of all the dependencies.

    It's a disaster waiting to happen. Combine this with something like Metafor programming for non-programmers and we're in for a real shit-storm.

  50. Re:Surprisingly like cooking! (analogy) by tomhudson · · Score: 1
    The "iceberg metaphor is pretty good, actually. Maybe I'll steal^Wborrow it.
    ... that the old "rivalry" between the two shall continue, long past the eventual demise of Java, XML, and the Next Bloated Idea
    Sounds about right.
  51. Drupal by Anonymous Coward · · Score: 1, Informative

    This is the way Drupal works, and why it is so powerful.

  52. Didn't mean to be troll... by DimGeo · · Score: 1

    OK, having read what astroturfing means (thanks, google), OK, almost noone knows what osgi is, and those who know hate it. Fine. Sorry! Again, trolling was not my intention, read my other posts around slashdot. I am not even working at that company right now, I am like 7 countries north of it, studying graphics at HIN, making doom 2 levels and enjoying a 6 months non-paid vacation and am eagerly waiting for the white nights here north of the polar circle. So there. Have a nice day.

  53. Can we lose this moronic "plug in" term already? by snorklewacker · · Score: 1

    Every single app I use seems has a "plugin" architecture. Add a couple hooks to your program, it's plug-in. Use DLL imports from multiple DLL's, plug-in. Design a whole modularity architecture, it's still "plug in". Support external config files that change a few presets ... freakin "plug in".

    Component, package, library, expansion, whatever ... Maybe eclipse has a standard registration and callback architecture, maybe it's a message bus, maybe it's an agent blackboard system, maybe it's AOPAlliance-style interceptors. Who knows, it's just got freaking plug-ins.

    I'm not asking for precise architectural details, just something to differentiate it from the term used by every kiddie who slaps together a template engine in PHP.

    --
    I am no longer wasting my time with slashdot
  54. Re:Surprisingly like cooking! (analogy)-Baked good by sherpajohn · · Score: 1

    The sciences of food and programming are not quite the same. Though I would hazard a guess that many good chefs do not understand the science of cooking, while on the other hand many programmers do not understand the art of coding.

    --

    Going on means going far
    Going far means returning
  55. Re:Surprisingly like cooking! (analogy) by burner · · Score: 1

    Well, I guess it's the developer's own dumb fault for depending on all those thousands of components.

    In practice, independent developers don't depend on many other independent developers, so neither do their components.

    I leave the benefits of end-user programming to the HCI researchers.

    --
    MRSH-Recording device, corned beef sandwich with kraut, seafaring bird, and the foamy top of a beverage.
  56. Eclipse? Blasphemy! by djSpinMonkey · · Score: 1

    There is only one standard editor.

  57. And you can have it in Perl too ! (PXP) by dbarth · · Score: 1

    The Eclipse plugin model is a really nice one.

    First, it is really generic : you are not constrained to a particular subset of an API, like the "old-school" Netscape plugin API for example. Some would argue its over-generic : it does not provide a pre-built organization of extension points and extension for you, so you have to adapt one for your own needs.

    It is also a proven base layer for a community development platform. Read: Eclipse has shown that thousands of independent developers and vendors can cooperate on this ground without stepping on others toes.

    Finally, the plugin descriptors are really close to the IoC/code injection pattern. All this leads to a great toolbox for building componentized systems.

    This is what decided me to port it to Perl for use in my console project. So Perl hackers will be interested to hear about PXP (Perl eXtensions and Plugins), recently uploaded on CPAN : http://search.cpan.org/~dbarth/PXP-0.1.2/

    This library implements most of the Eclipse model and configuration syntax. Of course, it does not force you to derive your components from a particular, "fragile", base class : the library can work without any object dependency between the framework runtime and your program.

    I'm trying to improve the configuration of the extension components, so that it is more compatible with code injection and "standard" Perl init() sub-routines, ie, not tied to a particular XML parser. This way, you'll be able to compose _and_ configure a program with regular Perl objects.

    PXP has been use successfully in IMC, my other web management console project : see http://imc.sourceforge.net/ for more details.

    You can discuss PXP on the IMC mailing list for now.

  58. Not a good example by Paul+Crowley · · Score: 1

    A cynic might observe that had you been using a less powerful editor, you would have been forced to write something like (will contain bugs):

    $entry = join("", map {cleanAttr("comp_$_",
    $totCompany_list[$i][$_]} qw(phone fax email));

    which would have been the right thing to write.

    In Perl, you should almost never be writing repetitive code. Sadly, you sometimes have to write repetitive Java - eg defining a bean.

    1. Re:Not a good example by rplacd · · Score: 1
      which would have been the right thing to write.

      Not in my case -- I was rewriting a co-worker's PHP code.

    2. Re:Not a good example by Paul+Crowley · · Score: 1

      Ah! Amusingly what you wrote is AFACIT valid Perl code. I had to stop myself writing it in Python, which I've been writing a lot of recently. But surely a similar thing must be possible in PHP?

    3. Re:Not a good example by rplacd · · Score: 1

      I don't know if a similar construct exists in PHP. I have a feeling, though, that even if I did use something like that in PHP, the next maintainer to come along will likely rip it out.

  59. Satanic bloat by CarpetShark · · Score: 1

    Actually, I thought Eclipse itself was a pretty satanic example of bloat ;)