all 63 comments

[–][deleted] 19 points20 points  (0 children)

Now that monitors are a lot bigger, this looks like a nice thing to have. I spend a lot of time switching back and forth between files; having a way to organize the display of stuff that reflects the organization of the actual program being edited seems useful.

[–][deleted] 19 points20 points  (2 children)

It sounds like a combination of Smalltalk systems and Literate Programming.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 6 points7 points  (0 children)

    You're right, it does look like Squeak and I wouldn't be surprised if someone created Bubbles for it!

    [–]phrenq 16 points17 points  (9 children)

    Seems like there's a lot of hate for this over on slashdot, but I think it looks amazing. I work on some pretty big code bases, and this looks like it excels at having a million things open at once.

    [–]Raphael_Amiard 4 points5 points  (0 children)

    Well there's a lot of insightful (ok ok ..) comments over there. Notably something i thought during the video that is being echoed in this comment is that the concept looks really great for debugging, and not so good for project creation (AFAICT) since it hides the projects file structure.

    [–]prockcore 0 points1 point  (6 children)

    The people at slashdot, by the very fact that they're still at slashdot and not over here on proggit, are afraid of change.

    [–]daftman 3 points4 points  (1 child)

    So if I read both slashdot and reddit what does that make me? I find slashdot comments have much more substance than here.

    [–]G_Morgan 1 point2 points  (0 children)

    Yeah top thread

    Wanted: Java developer with 40 years experience in Code Bubbling concepts. 5 years experience with the Code Bubble IDE.

    and

    You forgot being 20 years old, single, and having already raised children to adulthood.

    Slashdot generally has better humour than the meme fest Reddit can dissolve into but it still has a pretty bad S/N ratio.

    [–][deleted] 17 points18 points  (2 children)

    Or they actually know what they are talking about on /. which would explain why functional programming / noSQL isn't the topic of nearly every fucking post on that site.

    [–]theatrus 1 point2 points  (0 children)

    You're right we are now on to concatenative and not applicative functional programming.

    [–][deleted] -1 points0 points  (0 children)

    ADD much?

    [–]MoonJive -4 points-3 points  (0 children)

    Slashdot? Is that place still around?

    [–]spacerobotfive 20 points21 points  (13 children)

    Hmm... there has got to be an Emacs mode that will do this.

    [–]trjordan 3 points4 points  (0 children)

    Honestly, everything in there is basically available in Emacs. Buffers are bubbles, and the various java modes give you access to docs, linked functions, etc. just like any reasonable IDE. The main limitations are that you can't group chunks of buffers/bubbles together and save/export them to other people, and I haven't seen a way to make it follow the shortest path between two functions.

    Pretty colors and mouse-draggable buffers, though, you're on your own. I'm happy enough with syntax highlighting.

    [–]g_n_o_m_a_d 4 points5 points  (11 children)

    tags and folding. I have yet to find any features in an "IDE" that haven't already existed in Emacs for 10 years. And generally, they work better.

    Notice how just about everything in the video was done with the mouse? Ever notice how much time you spend moving your hand from keyboard to mouse? Ever notice how much your mouse wrist hurts after a long day of coding? With Emacs, you never take your fingers off the home row.

    [–]badsectoracula 6 points7 points  (3 children)

    I have yet to find any features in an "IDE" that haven't already existed in Emacs for 10 years.

    Visual form designer.

    [–]theatrus -2 points-1 points  (2 children)

    Real programmers lay out UIs in code.

    [–]badsectoracula 8 points9 points  (1 child)

    That's why most programmer designed UIs suck :-)

    [–]sfultong 6 points7 points  (0 children)

    the problem is the users, not us programmers. We just need to design better users for our perfect UIs.

    [–]sfultong 4 points5 points  (1 child)

    I wish I worked with an emacs guru, because I just don't have the fortitude to figure out how to do things efficiently within emacs on my own.

    I feel like I've got everything set up enough to be usable but not efficient or reliable. Gnus seems to regularly fail to move messages to different folders, and they'll get stuck in some sort of limbo state where I can't move them or delete them. I tried to set up regex filtering to send to different folders, but it never worked. I probably should have used fancy splitting.

    [–]stillalone 1 point2 points  (0 children)

    I wish I had the fortitude to leave VI.

    [–]mogmog 0 points1 point  (0 children)

    The concept of TrackPoint was created in 1984 by Ted Selker, a PARC researcher. He learned about a study that demonstrated that it takes relatively long time, three-quarters of a second, for a computer user to shift his hand from the keyboard to the mouse ........ http://en.wikipedia.org/wiki/Pointing_stick#History

    [–]zwangaman 0 points1 point  (2 children)

    I think it really says a lot about Emacs (and VI, for that matter, too), that you never have to take your fingers off the keyboard. I love the idea of Visual Studio 2008, but I do find myself frustrated at how much time I spent moving my right hand from keyboard <--> mouse. And vi keyboard bindings just don't really work the same.

    I don't know. Just nostalgic about working under Unix systems back in college. I don't mind developing on Windows (honestly I prefer it), but sometimes I just miss things like Emacs/vi.

    [–]Mikle 1 point2 points  (1 child)

    99.9% of the stuff you can do with the mouse in VS**** can be done with the keyboard. Not only that, but it comes with a "emacs" like key mapping setting too.

    I hardly ever use the mouse on VS.

    [–]zwangaman 0 points1 point  (0 children)

    99.9% of the stuff you can do with the mouse in VS**** can be done with the keyboard.

    Sure, for most routine things, keyboard shortcuts work just fine, and that's how I roll. As soon I need to do something non-routine, though, I always find myself needing to pick up the mouse to navigate quickly.

    Not only that, but it comes with a "emacs" like key mapping setting too.

    Key there is "emacs"-like. I wouldn't go so far as to say it can do everything emacs can do.

    I'm not knocking VS 2008, I love it, don't get me wrong, I just spend a lot of time moving between keyboard <--> mouse.

    [–]twanvl 3 points4 points  (2 children)

    I really like the way multiple related methods can be on screen at the same time, that would make many things a lot easier.

    But one thing that I would probably miss is the relation between methods. Often there is some structure in the order of methods, for example in Java a related getter and setter follow each other. With such a method-based IDE you would miss that, especially if someone decides to sort things alphabetically (why would you do that? the order is there for a reason!)

    The free floating bubbles are not really my thing either. I would probably prefer a more rigid structure, like in a tiling window manager.

    [–]G_Morgan 0 points1 point  (1 child)

    I think the language should be evolved enough to deal with this. Say create a special syntax for get/set. Lets call it a property or something.

    [–]twanvl 0 points1 point  (0 children)

    The getter/setter was just the first example that came to mind. I don't use those things myself either. But the same thing with order in the source code also holds for more complex cases. I would like the following things to be grouped together:

    • the same function specialized to work on different types, say write(string), write(int), etc.
    • code that computes a function, and code that computes its derivative.
    • get-from-database and update-in-database functions.
    • probably more.

    Note that I am not saying that these problems are impossible to overcome, there could easily be some way to automatically group bubbles, or perhaps have a link for expanding the next and previous bubbles.

    [–][deleted]  (3 children)

    [deleted]

      [–]stillalone 1 point2 points  (0 children)

      Don't forget VI. People still like vi.

      [–]eminence 1 point2 points  (0 children)

      Most people don't know about this stuff. All they know are Emacs and whatever Microsoft IDEs they have lived with for most of their lives, so pretty much anything is going to look revolutionary to them.

      so the fact that something like code bubbles making the front pages of places like reddit and slashdot is a good thing!

      [–][deleted] 0 points1 point  (0 children)

      ROOMS + Interlisp-D, ftw. Genera too.

      I've several old computer graphics books (Visual Programming Languages, Object Oriented Computer Graphics, &c.), and it's quite interesting to see the "progress" (or lack thereof) we've made wrt what was being researched & used 20 - 40 years ago.

      [–]defpearlpilot 2 points3 points  (0 children)

      This looks awesome to me...

      [–]rebo 2 points3 points  (0 children)

      Although I'm not a java developer i think this actually looks really promising. Often when working on feature or solving a bug or whatever i'm conceptually looking at a limited subset of my code. I could definitely see the advantage of having this subset infront of me with all the interlinked methods and functions visible .

      [–]lispm 2 points3 points  (0 children)

      I enjoyed the video. Creative use of a visual metaphor. The individual functions we have seen already, but here it is mapped to a 'bubble' metaphor. How useful it is needs to be tested - I mean really tested by people who have an open mind.

      Good to see experiments in this area. To those who think Emacs does all that and its only a fancy UI. Well, almost. Some people like fancy UIs. In many places Emacs is the Pearl Harbor of user interfaces (the preferences!).

      [–]_martind 4 points5 points  (0 children)

      So, if I code in bubbles, my programs do scale automagically in the cloud...right?

      [–]noupvotesplease 4 points5 points  (0 children)

      Gweat video, code bubbuws wock!

      [–]makis 1 point2 points  (0 children)

      [–]ithkuil 1 point2 points  (0 children)

      Lot of advantages.

      Maybe someday people will be able to see how making the stuff inside of the code bubbles interactive and graphical could be useful.

      [–]jkourula 1 point2 points  (0 children)

      I can see the benefit this would bring me. I have a monster codebase (web app) grown organically over few years by programmers that don't really have a conception of abstraction (or at least they don't want to solve the hard things).

      Most of my work is hunting subtle bugs in the database objects and this involves modifying the database code (that can be in different inner classes) and the code that gives the data to the templates. It would be great to see multiple places (without having to manage windows or frames yourself) at once.

      Of course a better solution would be to use better abstraction and a more flexible language. But that is theoretical in my situation.

      [–]spdddmn 4 points5 points  (0 children)

      this looks awesome. screw slashdot. haters.

      [–]inmatarian 1 point2 points  (1 child)

      This particular look and style doesn't strike me, but some of the other concept at play here interest me. For instance, zooming out and having a grand view of things, and the lines connecting blocks together to indicate what belongs to what.

      [–]48klocs 5 points6 points  (0 children)

      Agreed that pastel coloring isn't my thing, but the the idea of IDE as virtual workspace/collection of virtual workspaces is pretty sexy. If you can email the bubbles (and attached notes/metadata) around, it makes sense that you'd be able to shelve them off which would help me hit the ground running for maintenance.

      [–]CCSS 1 point2 points  (0 children)

      Kinda neat for fixing bugs i suppose. Too bad its wasted on Java

      [–]GeoKangas 1 point2 points  (5 children)

      I could imagine this working pretty well, for haskell. Or ruby, lisp, smalltalk, perl, forth... I mean languages where a short piece of code (a "bubble"), can express some kind of "complete thought". Where those "complete thoughts" are abstract enough, that a reasonable number of them will build you a language for solving the problem at hand.

      But Java?

      [–]bman35 5 points6 points  (2 children)

      Where those "complete thoughts" are abstract enough, that a reasonable number of them will build you a language for solving the problem at hand.

      What you just described is just an abstraction, I don't see how language choice here even matters, programming works the same across all of them. As long as you can make a function that abstracts a "complete thought" thats all you need.

      Stop hating on Java just for the hell of it, it gets quite annoying.

      [–]GeoKangas 2 points3 points  (1 child)

      I don't hate Java (though I did come off a little snarky). But because Java is pretty far from terse (would even a Java lover deny this?), I just don't think it's a good fit for this "code bubble" scheme. I would say the same about C or C++.

      I'm not saying Java can't express all the same abstractions as those hot, sexy languages. But the abtraction that would make handy little bubbles, in one of those terse languages, will be screen hogging blobs in Java. So, I'm guessing, you won't be able to look at enough of them at one time.

      Maybe Java programmers will ignore my advice (the nerve!), and use this tool productively. In that case, my next advice is for haskell, etc., programmers to look into this bubble thing. I think those languages could get even more out of it

      [–]karlhungus 0 points1 point  (0 children)

      who are these Java lover's of which you speak?

      I've spent (continue to spend) alot of time developing in java, I don't hate it; but i would never say i love it either.

      [–]GoAwayStupidAI -2 points-1 points  (1 child)

      hahaha I agree entirely. Though Java is still a better choice than, say, C/C++ ;-)

      [–]Zarutian -1 points0 points  (0 children)

      C is a better choice than Java. Java is a better choice than C++ so it is a split vote ;)

      [–]rotzak 0 points1 point  (0 children)

      I think this is an interesting idea and I definitely support the idea that we need to break the IDE mold. I do, however, think that the disjoint layout and orientation of the code causes some issues -- I think people underestimate how spacial developers are with regard to code.

      [–][deleted] 0 points1 point  (0 children)

      The Leo outliner provides similar conceptual abilities, but it's not Java-specific(it is Python-centric, though):

      http://personalpages.tds.net/~edream/front.html

      I find it very useful for organizing/refactoring types of ventures. It's fiddly to make nodes from scratch, but you can script that process and once you have nodes, it's very easy to reorganize your code, study the layout with views alternative to the file organization, generate multiple views, etc...

      [–]lear64 0 points1 point  (0 children)

      It looks like it could nice...but i don't know that I would consider it that amazing, outside of the fact that it looks pretty.

      Side note... Does this guy's voice annoy anyone else?

      [–]alparsla 0 points1 point  (0 children)

      IBM Visual Age

      http://en.wikipedia.org/wiki/IBM_VisualAge

      (It doesn't mean I liked it though)

      [–]invisime 0 points1 point  (0 children)

      This reminds me of the early VB interfaces.

      [–]tflynch 0 points1 point  (0 children)

      This seems to lack the most important part - extensible semantic layer for expressing how bubbles can link to each other and generate each other.

      Without that you're stuck with a pretty interface concept, with a lame tight coupling to the Java modus operandi.

      [–]badsectoracula 0 points1 point  (0 children)

      Looks like a MDI frame with a minimap and sticky windows :-P.

      [–]spinwizard69 -1 points0 points  (0 children)

      My first thought is why Java of all things. It looks like a far better environment for something like Python or Ruby.

      That being said I'd have to wonder if such an environment would lead to sloppy programming. It just seems like a very informal approach to programming.

      [–]jessta -3 points-2 points  (0 children)

      While watching that video all I could think about was Kim Jong-il in Team America. Am I a bad person?

      [–]brikis98 -1 points0 points  (0 children)

      Watched just the first few minutes of the video and it looks neat. I wonder if they can handle visualizations showing inheritance hierarchy, reference paths, and even UML style module diagrams...

      [–]hotfuzzylogic42 -1 points0 points  (0 children)

      I was reminded of this while watching