Warsztat » Forum

[Nowe technologie] Code bubbles - IDE przyszłości?

Jul 23, 2009 | Koshmaar |
49 wypowiedzi na 4 stronach:
1 2 3 4
Koshmaar
Jul 23, 2009

Code bubbles - IDE przyszłości?

Grupka naukowców wypróbowuje nową koncepcję nawigacji i pracy z kodem.

http://www.codebubbles.org  (na stronie jest filmik)


Co mi się podoba:

- jednoczesny wgląd w wiele miejsc w kodzie (super sprawa, dzielenie okien w pionie i poziomie jest bardzo organiczone)
- potencjalnie super narzędzie do refaktoryzacji dużych i/lub rozproszonych kawałków kodu
- przewijanie 2d ala photoshop i zoomowanie... wygląda na to że idea ZUI (Zooming User Interface) znalazła odpowiednie zastosowanie
- możliwość pracy w różnych miejscach wirtualnego ekranu nad różnymi problemami, zapamiętywanie wyglądu i dzielenie się fragmentami tego wirtualnego ekranu
- dodawanie notatek, annotacji itp

Nie podoba mi się:

- ze względu na ramki i domyślne otwieranie małych bąbelków, nawigacja w dużych repozytoriach, w dużych plikach i dużych funkcjach może być mniej efektywna - choć na stronie pisze że developerzy którzy używali tego zarzekają się że jest odwrotnie
- ciekawe jak z wydajnością... jeśli będzie muliło, to znacznie zmniejszy przydatność w tzw real world
- potrzebny jest duży monitor ;]
Kos
Jul 24, 2009

Odp: Code bubbles - IDE przyszłości?

Duży monitor? Jeśli nawigacja będzie równie łatwa co przerzucanie zakładek w normalnym IDE, to i monitor normalnych rozmiarów wystarczy.

Bardzo ciekawy temat. Mam tylko nadzieję, że zostanie to zrealizowane:
- Wydajnie, najlepiej z wsparciem akceleracji sprzętowej,
- Na bazie technologii Eclipse (by wykorzystać masę gotowego, dobrze zorganizowanego i - co ważne - już napisanego kodu).

Na przykład taki Mylyn (plugin do kolaboracji) już od dawna istnieje jako dorosły projekt Eclipse i stara się pomagać mniej więcej z tym samym, co Code Bubbles - ułatwiając skupienie programisty na konkretnej części kodu. Istnieje pojęcie "kontekstu", czyli zestawu plików (lub np. konkretnych klas/metod w pliku) - podczas pracy nad danym zadaniem Mylyn zapamiętuje co mieliśmy otwarte, nad jakim fragmentem spędziliśmy najwięcej czasu, etc. Kontekst jest zapisywany lokalnie dla konkretnego taska, by programista po zmianie zadania i powrocie do poprzedniego zobaczył z powrotem otwarte edytory tak, jak i je zostawił. :)
Istnieje też opcja "focus on context" ukrywająca z widoku projektu zasoby nie należące do kontekstu. I co najfajniejsze, kontekst można jednym kliknięciem wysłać lub pobrać z issue trackera (jako załącznik parę kb), by ktoś inny pracujący z Mylyn mógł szybko "wskoczyć" w nowe zadanie i z miejsca przejrzeć odpowiednie pliki lub metody, nie tracąc czasu na szukanie OCB.

Code Bubbles zdaje się robić również podobne rzeczy, choć ofc w ciekawszy wizualnie sposób oraz - z funkcjonalnego punktu widzenia - dokładniej, bo w przeciwieństwie do Mylyn pokazuje też skąd dokąd nawigowaliśmy. Zaprzęga też do roboty ludzką orientację w przestrzeni, pozwalając sobie całość ładnie poukładać w sensowny sposób.

Jestem na tak. :)
wyszo
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?


W dużym skrócie: ja to chcę! Mam nadzieję, że taki sposób nawigowania poprzez kod stanie się branżowym standardem i obejmie również inne języki niż java. A szczytem marzeń byłaby możliwość podpięcia zewnętrznego edytora do obsługi tekstu w bąbelkach (a konkretnie Vima) :]
michalb
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?

Cytat:

choć na stronie pisze że developerzy


gdzie której tak pisze? misa nie widziec.
Jeśli o mnie chodzi to uważam że to po prostu wodotrysk, nic więcej. Nic czego już wcześniej by nie było (praktycznie, bo wizualnie jest oryginalne).
fn2000
Jul 22, 2009

Odp: Code bubbles - IDE przyszłości?

Wg mnie narzędzie bardzo ułatwia utrzymywanie kodu i kolaborację - np. code-reviews.

Natomiast na etapie rozwoju gdzie przede wszystkim piszesz, a nie nawigujesz pomiędzy relatywnie odległymi miejscami w kodzie to zdecydowanie lepszy jest klasyczny układ.

Poza tym, traci się ogólną perspektywę na cały moduł albo bibliotekę. Fajnie, że możesz szybko otwierać interesujące fragmenty, ale w ten sposób są one prezentowane wyrwane z kontekstu, żeby obejrzeć większy fragment musisz albo otworzyć dużego bąbla - co w efekcie sprowadza się do klasycznego okna - albo otworzyć wiele bąbli z poszczególnymi metodami i żeby to sensownie ogarnąć to nie starczy ani 52" ekran a nie domyślnego FOVa ludzkiego oka ;) Nie mówię już o pisaniu kodu w takim małym bąblu.

Podsumowując: IMHO świetne narzędzie, ale dla programistów utrzymujących kod, testerów, liderów zespołów.
Xion
Jul 23, 2009

Odp: Code bubbles - IDE przyszłości?

Coś takiego już dawno zostało wymyślone. Nazywa się to MDI... no, prawie :)

Ogólnie pomysł jest interesujący, ale wydaje mi się, że nie do każdego kodu takie coś się nada. Jeśli mamy do czynienia z kodem programu użytkowego, gdzie większość to krótkie procedury np. zdarzeniowe, OK. Ale jeśli to coś z bardziej skomplikowanymi i dłuższymi algorytmami - np. znane i lubiane endżajny - to lepiej je chyba pisać w tradycyjnym IDE.

A że sprowadza się ono wtedy do dużego bąbla, to inna sprawa :)
Wine
Jul 23, 2009

Odp: Code bubbles - IDE przyszłości?

Nie podoba mi się. Takie wymyślanie. Jak nie ma się co robić to się za dużo myśli a jak się za dużo myśli to się głupoty wymyśla. Autorzy tego chyba się nudzili ;).

Nie podoba mi się sama organizacja kodu w czymś takim. Po prostu nie wygląda to na przejrzyste, te całe bajery graficzne (bąbelki) będą rozpraszać aniżeli pomagać. Praca programisty polega na skupieniu, a nie na wymyślaniu jak tu te bąbelki na ekranie zorganizować.

-W
Groshu
Jul 23, 2009

Odp: Code bubbles - IDE przyszłości?

Cytat:

Nie podoba mi się. Takie wymyślanie. Jak nie ma się co robić to się za dużo myśli a jak się za dużo myśli to się głupoty wymyśla. Autorzy tego chyba się nudzili ;).

Nie podoba mi się sama organizacja kodu w czymś takim. Po prostu nie wygląda to na przejrzyste, te całe bajery graficzne (bąbelki) będą rozpraszać aniżeli pomagać. Praca programisty polega na skupieniu, a nie na wymyślaniu jak tu te bąbelki na ekranie zorganizować.

-W

IMO da się do tego przyzwyczaić. Bąbelki pozwalają na większą elastyczność organizacji obszaru pracy, więc myślę, że prędzej czy później się przyjmą. Przynajmniej do niektórych zastosowań.
Krzysiek K.
Jul 23, 2009

Odp: Code bubbles - IDE przyszłości?

Teraz zrobić to w wersji 3D, zmienić kolory na matrixowe, użyć rękawicy jako manipulatrora i już mamy środowisko programowania rodem z filmów sci-fi. ;)


A tak serio, to nie widzę w tym wygody. To się nada jedynie do bardzo prostych rzeczy (paręnaście funkcji po kilka, kilkanaście linijek max), tyle że proste rzeczy już same w sobie są proste. Jak przyjdzie operować jednocześnie na kilkudziesięciu funkcjach, po kilkadziesiąt linii każda, to się człowiek w tych bąbelkach zaplącze.


Cytat:
Bąbelki pozwalają na większą elastyczność organizacji obszaru pracy, więc myślę, że prędzej czy później się przyjmą.

Elastyczność nie wystarczy. Znacznie ważniejsza jest dynamika, czyli możliwość ekspresowego przejścia z jednego widoku do drugiego (czyli coś, co już oferują nam zakładki), bo na monitorze tekstu mieści się tyle, ile się mieści i nie więcej.
WielkiPan
Jul 24, 2009

Odp: Code bubbles - IDE przyszłości?

Cytat:

Teraz zrobić to w wersji 3D, zmienić kolory na matrixowe, użyć rękawicy jako manipulatrora i już mamy środowisko programowania rodem z filmów sci-fi. ;)


A tak serio, to nie widzę w tym wygody. To się nada jedynie do bardzo prostych rzeczy (paręnaście funkcji po kilka, kilkanaście linijek max), tyle że proste rzeczy już same w sobie są proste. Jak przyjdzie operować jednocześnie na kilkudziesięciu funkcjach, po kilkadziesiąt linii każda, to się człowiek w tych bąbelkach zaplącze.


Cytat:
Bąbelki pozwalają na większą elastyczność organizacji obszaru pracy, więc myślę, że prędzej czy później się przyjmą.

Elastyczność nie wystarczy. Znacznie ważniejsza jest dynamika, czyli możliwość ekspresowego przejścia z jednego widoku do drugiego (czyli coś, co już oferują nam zakładki), bo na monitorze tekstu mieści się tyle, ile się mieści i nie więcej.


Ciekawe, że od razu pomyślałeś o tym samym:) Pomysł fajny, ale najlepiej sprawdziłby się właśnie na ekranie dotykowym, gdzie na dużej powierzchni operowałbyś gotowym kodem przy pomocy obu rąk, jak w sci-fi (dobre do analizowania wielu bloków kodu jednocześnie, znacznie wygodniejsze niż przerzucanie piętnastu zakładek ze źródłami). Samego tworzenia (znaczy kodzenia) by zbytnio nie przyspieszyło (a nawet mogłoby spowolnić przez odwracanie uwagi).
Fajnie byłoby przybliżać sobie poszczególne "bąbelki" jak zdjęcia/strony/teksty na iphonie/ipodzie (przez rozsuwanie palców).
dannte
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?

No z pewnością macie rację - coś takiego tylko by przeszkadzało, tymbardziej jeśli wyglądałoby tak jak to pokazane na filmiku - oglądając się pogubiłem.

Ale z drugiej strony, to nikt nie każe bawić się bąbelkami (no chyba, że w tych bąbelkach po prostu nie można przewijać tekstu :D), ale np. jeśli zajdzie potrzeba porównać sobie dwa pliki (np. żeby coś dopasować, albo widzieć implementację funkcji kogoś innego z zespołu, a nie zawsze zakładki są wygodne - np. nie ma skrótu do przełączania się między nimi), albo gdy piszesz coś już długo i funkcja zaczyna przybierać na długości, to niewygodne byłoby ciągłe przewijanie na samą górę, żeby zmienić coś w kodzie/nagłówku innej funkcji pomocniczej itp. itd. - w każdym razie szczególiki (no ale mimo wszystko przewijanie rozprasza sto razy bardziej niż kilka bąbelków wokół kodu).

Więc podsumowując - jeśli sam(a) na siłę sobie nie będziesz utrudniać, to takie coś może tylko pomóc. No chyba, że na start zeżre pół ramu.

Pozdro.
kuba1900
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?

Macie bardzo ograniczoną wizję przyszłości. A nie przyszło Wam do głowy, że w przyszłości komputery będą sterowane myślami, niepotrzebne będą jakieś bąbelki, rękawiczki i machanie rączkami. Poza tym już widzę, jak ośmiogodzinne machanie ręką przed sobą wpłynie na "komfort" pracy.
WielkiPan
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?

Cytat:
No chyba, że na start zeżre pół ramu.

Humor roku  ;D Słyszałeś o czymś takim, jak "względność". Określenie pół w stosunku do ramu w tym wypadku może oznaczać np. 8 do 16 GB (dla dajmy na to odpicowanej stacji roboczej w studiu filmów 3d).
Po co się teraz martwić o wymagania sprzętowe? Takie gdybanie nie ma sensu. Jeżeli to będzie rzeczywiście przydatne, to, pomimo dużych wymagań sprzętowych programu (w które wątpię), zainteresowani zainwestują nawet w drogi sprzęt, żeby z tego skorzystać.  
Cytat:
Poza tym już widzę, jak ośmiogodzinne machanie ręką przed sobą wpłynie na "komfort" pracy.

Weź, bo spadnę z krzesła XD
fn2000
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?

Skoro nie ma tego w VS2010, tzn., że jest zbędne ;)

Na poważnie to do tego co już napisałem dodam taką myśl: dopóki piszemy kod aplikacji to tego typu zabawki to są raczej zabawki. Natomiast, kiedyś w przyszłości, gdy programowanie wejdzie na kolejny poziom abstrakcji i będziemy diagramować (jest takie słowo??) i budować aplikacje klikając we flowcharty, łączyć ze sobą pudełka a zamiast IFów wstawiać romby, bez schodzenia do kodu, to taki interfejs będzie idealny.
WielkiPan
Jul 25, 2009

Odp: Code bubbles - IDE przyszłości?

http://en.wikipedia.org/wiki/Visual_programming_language
-.-
Prog(r)amer
Jul 26, 2009

Odp: Code bubbles - IDE przyszłości?

Hehe, fajny i ciekawy pomysl.
Tylko czy na dluzsza mete tez by sie dobrze sprawowal... :P
Gdybym uczyl sie Javy to zaraz bym dolaczyl do beta testow  :D
Strony:
1 2 3 4