-
Data: 2020-05-05 10:38:47
Temat: Re: Programowanie wizualne
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 4 maja 2020 23:40:59 UTC+2 użytkownik Maciej Sobczak napisał:
> > Tutaj jedyna wartość dodana to "wiedza z eksperymentu".
>
> OK. To jest jak najbardziej wartość dodana. Tzn. na razie jest to dług techniczny,
ale niech będzie, że jest to inwestycja w eksplorację.
Jako dług techniczny to rzeczywiście trochę jest (a trochę nie jest).
Nie jest, bo mogę to w każdej chwili wyrzucić, i nie będzie bolało.
Ale jest, bo rzeczywiście doszedłem do etapu, że rozwijanie tego stało się bolesne (i
nie chodzi o to, że małe literki i drobniuteńka klawiatura dotykowa, tylko
architektura kodu jest taka, że jak chcę wprowadzić zmianę, to muszę przeglądać w
kilku miejscach)
> > Docelowo zaś: jest nadzieja, że dla różnych zastosowań zwiększy to efektywność
różnych interakcji za pośrednictwem Smartfona.
>
> OK. Ale dlaczego tylko smartfona? Nie będę mógł skorzystać z tego pomysłu machając
myszką na desktopie? Chciałbym.
> Inaczej mówiąc - nie traktuj wspomnianego wcześniej kibelka jako docelowego
use-case'a. Nawet jak już wszyscy będą mieć po trzy telefony, to jednak praca
inżynierska nadal odbywać się będzie na dużym ekranie (i słusznie).
Jasne, ale też sądzę, że to może być dobry punkt wyjścia.
Wcześniejszy prototyp był na myszkę, i widać, że oba są jakoś do siebie podobne.
Za to przy okazji prac zauważyłem, że na przykład aplikacje pisane w bibliotece
ncurses całkiem dobrze się obsługuje na ekranie dotykowym. Ale da się na Androidzie
odpalić też X serwer, i muszę powiedzieć, że obsługa natywnych aplikacji GUI pisanych
na myszkę na ekranie dotykowym to jakiś koszmar.
> > Ja sobie myślę o nieco bardziej "telefonowych" use case'ach: że rysuję sobie
guziki na ekranie i je rozmieszczam jak mi wygodnie, i przypisuję sobie do nich różne
funkcje.
>
> 20 lat temu robiły to różne Buildery i inne Visuale. To się nazywało RAD.
No, tylko tam też była radykalna separacja kodu od interfejsu.
A ja szukam sposobu, żeby jakoś jedno z drugim zintegrować.
> > Może na przykład rysowanie diagramu przepływu sterowania na telefonie okaże się
lepszym pomysłem?
>
> Znowu ślepa uliczka. Rysowanie diagramu ogólnie jest lepszym pomysłem, nie tylko na
telefonie.
Tzn. moje doświadczenie jest takie, że komputery stacjonarne wolę obsługiwać głównie
z klawiatury, bo to jest efektywne. Rysowanie myszką jest raczej nieefektywne -
ewentualnie składanie diagramów z gotowych elementów.
Dlatego myślę sobie, że może jeśli zoptymalizuję się na bardziej spartańskie warunki,
to łatwiej będzie można się później "rozpasać".
Ciekawostka jest taka, że jak wrzuciłem video na twittera, to ktoś odpowiedział czymś
takim:
https://twitter.com/crabl/status/1256722620814364678
> > Na pewno największą motywacją dla mnie jest w tej chwili wizualizacja danych.
>
> Tak. Ale podchodzisz do tego od strony edycji. Wizualizację można zrobić bez
edycji.
To prawda. Edycja jest dla mnie nie mniej istotna, niż wizualizacja :]
> > Że na przykład (-1, 1), (1, 1), (1, -1), (-1, -1) mówi mi stosunkowo niewiele,
ale już coś w rodzaju
> >
> > +------+
> > | |
> > | |
> > | |
> > +------+
> >
> > (kwadrat, na wypadek gdyby się źle sformatowało) mówi mi nieco więcej.
>
> Tak. Przy jakiejś tam metodzie wizualizacji. Bo akurat narysowałeś wielokąt
rozpięty na zadanych punktach. A może to miał być graf?
> Ale zgadzam się, że wizualizacja jest potrzebna.
>
> > I nie chodzi mi o to, że chcę mieć obrazek, tylko że dla każdego rodzaju danych,
z którymi pracuję, chciałbym mieć wyspecjalizowany edytor do pracy z tym właśnie
rodzajem danych. Albo nawet kilka wyspecjalizowanych edytorów.
>
> Dobry pomysł.
> A tak nie jest? Mam edytor do plików graficznych, inny edytor do plików
dźwiękowych, jeszcze inny do kodu, inny do arkusza kalkulacyjnego, inny do schematów
elektrycznych...
To prawda. Tyle że jedyna forma integracji pomiędzy tymi edytorami to że mogę sobie
przełączać pomiędzy oknami tych edytorów. Do tego z reguły uruchamianie tych edytorów
trwa dłuższą chwilę, i każdy jest raczej rozbudowaną kobyłą.
Co wiecej, nie mogę sobie zawrzeć takiej wizualizacji np. w teście jednostkowym
(że "takie coś na wejściu" daje mi "takie coś na wyjściu", gdzie przez "takie coś"
rozumiem jakąś formę wizualizacji danych)
Ostatnio wklejałem link do tej prezentacji:
https://www.youtube.com/watch?v=Pot9GnHFOVU
Tutaj jest w moim odczuciu nawet dobrze zaimplementowane to, co "mi się widzi"
Tylko że ja bym chciał też trochę coś innego. Chciałbym móc podglądać, w jaki sposób
na różnych etapach wykonania programu "wyglądają" dane wejściowe, tzn. w jaki sposób
są przekształcane.
Docelowo myślę sobie, że mając takie coś do dyspozycji, można by było widzieć
wykonanie programu jako animację. Myślę, że szczególnie dobrze nadaje się do tego
model podstawieniowy.
Swego czasu robiłem prezentację o programowaniu funkcyjnym, i zostały mi po niej
takie slajdy:
https://github.com/panicz/writings/raw/master/talks/
hackerspace/fun/intro.pdf
jeżeli pójdziesz do slajdu 34 i odpalisz tryb pokazu slajdów, i zaczniesz przerzucać
slajdy strzałką w prawo, to dostaniesz taką animację.
Strasznie się wtedy napierdzieliłem w LaTeXu, żeby to jakoś wyglądało, ale wyobrażam
sobie, że dobre środowisko mogłoby pozwolić generować takie animacje za darmo (i
można by było wizualizować nie tylko listy, ale również "dowonle formy", a w
szczególności grafy, bo grafy mnie w tej chwili najbardziej interesują od strony
praktycznej)
> > Ja mam taką nadzieję, że może iteracyjnie uda się dojść do takiej sytuacji, że
tworzenie kodu na ekranie dotykowym będzie nie mniej efektywne od tworzenia go z
poziomu klawiatury.
>
> To może krok albo kilka do tyłu. Dlaczego chcesz tworzyć *kod*?
> Może to właśnie kod jest ograniczeniem, a nie metoda jego wprowadzania?
> Może np. graf jest lepszy od kodu? Wtedy nie trzeba myśleć o nowej metodzie
wprowadzania kodu, tylko o nowej metodzie wyrażenia jakiejś intencji, jak np.
następstwo zdarzeń. W tej koncepcji niech kod zostanie kodem (bo tak jest dobrze i
nie trzeba tego poprawiać) ale niech też istnieją inne artefakty inżynierskie, które
nie są kodem.
No nie wiem.
Kiedyś pracowałem "sobie" nad programem do opisywania reguł gier planszowych, i
stworzyłem do tego język, w którym np. opis szachów wyglądał tak:
https://bitbucket.org/panicz/slayer/src/default/demo
s/schess/rules/chess.ss
Pytanie, czy to jeszcze jest kod, czy już nie jest?
Wśród programistów lispowych funkcjonuje taka mantra, że "kod to dane, a dane to
kod", i ja też raczej myślę o tym w ten sposób.
Chciałbym mieć różne możliwości wprowadzania danych, w tym różne możliwości
wprowadzania kodu.
Swego czasu ktoś mi chyba na Twitterze albo na Quorze podsunął projekt "programowania
intencjonalnego", który był w latach 90. rozwijany w Microsofcie:
https://www.youtube.com/watch?v=tSnnfUj1XCQ
> I do tych innych będzie można zrobić inne edytory. I to może być autentycznie
lepsze, niż obecne opisywanie tych wszystkich innych koncepcji kodem, tak jakby kod
był jedyną metodą zapisywania czegokolwiek.
No u mnie tak naprawdę nie ma nawet kodu. Aktualnie są po prostu pudełka w pudełkach,
i w niektórych ewentualnie można znaleźć litery.
Docelowo bym chciał, żeby można było użyć tych "pudełek w pudełkach" do opisywania
reguł rządzących zachowaniami innych rodzajów pudełek. I wtedy być może będzie można
użyć niektórych spośród tych innych rodzajów pudełek do opisania pudełek, przy pomocy
których będzie można lepiej opisywać reguły rządzące zachowaniami pudełek.
Następne wpisy z tego wątku
- 23.08.21 14:28 Maciek Godek
- 11.09.21 20:27 Maciek Godek
- 28.09.21 08:44 Maciek Godek
- 29.09.21 17:27 Maciek Godek
- 28.10.21 13:03 Maciek Godek
- 02.08.23 15:41 Maciek Godek
- 11.08.23 16:27 Maciek Godek
- 19.08.23 03:38 Arnold Ziffel
- 10.09.23 20:36 Maciej Sobczak
- 10.09.23 21:08 heby
- 11.09.23 12:22 Maciek Godek
- 11.09.23 22:38 Maciej Sobczak
- 11.09.23 23:50 Maciek Godek
- 12.09.23 22:45 Maciej Sobczak
- 14.09.23 15:01 Maciek Godek
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)