Discussion:
Jak Wam się pracuje z samodzielnie zaprojektowanymi i zakodowanymi programami?
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
Jacek Marcin Jaworski
2022-03-20 19:36:05 UTC
Permalink
Dzień dobry!

Mam takie pytania do programistów:
1. Jak wam się pracuje z własnymi programami?
Chodzi mi o programy zaprojektowane i zakodowane samodzielnie do użytku w pracy lub w domu.
Może są to jakieś specjalizowane edytory? Albo programy testujące? Albo monitory? Albo może nawet jakieś narzędzia do projektowania. Albo do nauki.

2. Czy zaszła jakaś istotna różnica w waszej wydajności?

3. Albo może macie jakieś inne uczucia gdy ich używacie? Np. uczucie dumy lub radości.

4. Jak teraz wspominacie używanie wcześniejszych programów które zastąpiliście własnymi?
dziesięc
2022-03-23 09:57:15 UTC
Permalink
Post by Jacek Marcin Jaworski
Dzień dobry!
1. Jak wam się pracuje z własnymi programami?
fajnie
Maciek Godek
2022-03-27 20:35:27 UTC
Permalink
Post by Jacek Marcin Jaworski
Dzień dobry!
1. Jak wam się pracuje z własnymi programami?
Chodzi mi o programy zaprojektowane i zakodowane samodzielnie do użytku w pracy lub w domu.
Może są to jakieś specjalizowane edytory? Albo programy testujące? Albo monitory? Albo może nawet jakieś narzędzia do projektowania. Albo do nauki.
2. Czy zaszła jakaś istotna różnica w waszej wydajności?
3. Albo może macie jakieś inne uczucia gdy ich używacie? Np. uczucie dumy lub radości.
4. Jak teraz wspominacie używanie wcześniejszych programów które zastąpiliście własnymi?
Od jakiegoś czasu pracuję nad swoim strukturalnym edytorem do programowania wizualnego.
Kiedyś dawałem tutaj link z prezentacji:


Ten program ciągle jest jeszcze "nieużyteczny", ale wchodzenie z nim w interakcję sprawia mi dużo przyjemności.
Aktualnie pracuję nad tym, żeby można było z nim pracować przy użyciu normalnej klawiatury
(i nie piszę tego na telefonie, tylko na laptopie z normalną klawiaturą)

W każdym razie mam wrażenie, że to podejście ma bardzo duży potencjał względem "tekstowego" podejścia do programowania.

Z rzeczy, które napisałem i których używam, są moje rozszerzenia językowe dla Guile'a:

https://github.com/plande/grand-scheme

Za każdym razem, kiedy wykonuję w swoim Emacsie/Geiserze linię

(use-modules (grand scheme))

odczuwam dużą przyjemność.

Ostatnio używałem tego do napisania parsera dla pewnego podzbioru standardu Wireless MBus. Ten kod co prawda był bardziej "wykonywalną notatką", niż częścią produktu -- bo sam produkt to aplikacja mobilna pisana we frameworku Flutter, i języku programowania Dart.

O języku Dart mam dość dobre zdanie; jednak jak przepisałem na to parser, to był prawie dwukrotnie dłuższy, niż ten w Schemie, i zamiast przyjemności sprawiał swoistą bolesność.

Nie wiem też, czy to się liczy, ale mam napisanych kilka funkcji do Emacsa.

Moja ulubiona jest ta:

(defun kill-whitespace-or-sexp ()
"Kill the whitespace between two non-whitespace characters"
(interactive "*")
(save-excursion
(save-restriction
(save-match-data
(if (string-match "[ \t\r\n]" (string (char-after)))
(progn
(re-search-forward "[ \t\r\n]+" nil t)
(replace-match "" nil nil))
(kill-sexp))))))

(global-set-key (kbd "M-<delete>") 'kill-whitespace-or-sexp)

Działa to w taki sposób, że jak naciskam Alt+Delete,
to jeżeli kursor jest na jakimś białym znaku,
to kasuje całą sekwencję białych znaków od kursora
do najbliższego nie-białego znaku. Natomiast w przeciwnym razie
wycina mi do schowka wyrażenie zaczynające się na kursorze
(przy czym wyrażenie to albo jakiś symbol/identyfikator/literał,
albo coś pomiędzy nawiasem otwierającym i odpowiadającym mu
nawiasem zamykającym).

Pewnie łatwiej to "odczuć", niz opisać.

Na co dzień pracuję w Emacsie działającym w Uniksowym terminalu,
i mam sporo różnych sktyptów i małych narzędzi do generowania kodu.

Jeżeli idzie o wydajność, to trochę ciężko to zmierzyć.
Na pewno demoralizujące są długie czasy budowania.
Mam w pracy jeden projekt w C, którego zbudowanie zajmuje
kilka minut, i te kilka minut trochę odbiera skupienie.

Ze Flutterem jest podobnie, przy czym tutaj jest więcej irytacji:
czasem wyjdzie jakaś nowa wersja jakiegoś komponentu,
i projekt, który w piątek jeszcze się budował, w poniedziałek
już nie chce, bo trzeba gdzieś podbić jakąś wersję. No i irytuje
to, że nie wiem, co tam się dzieje.

(Jak piszę we Flutterze, używam Android Studio. Robię to trochę
z ciekawości, żeby poznać, jak "mainstream" wyobraża sobie to,
jak powinna wyglądać praca programisty - i szczerze mówiąc
nie mam o tym wyobrażeniu najlepszego zdania. W Emacsie
i terminalu mogę spokojnie programować nawet na małym telefonie,
natomiast pracy w IntelliJ bez dwóch dużych monitorów nie
jestem w stanie sobie wyobrazić).

W przypadku programowania w Emacsie w Lispie (z wtyczkami
w rodzaju Geiser) niesamowite dla produktywności jest też to,
że wszystkie kawałki programu mogę wykonywać na bieżąco
- że nie ma tego durnego cyklu "edycja-kompilacja-uruchomienie",
tylko na bieżąco "gadam" z interpreterem.

Taki sposób pracy był dla mnie wielkim odkryciem,
ale oczywiście w tej możliwości nie ma żadnej mojej zasługi.
Jacek Marcin Jaworski
2022-07-03 12:59:49 UTC
Permalink
niedziela, 27 marca 2022 o 22:35:28 UTC+2 Maciek Godek napisał(a):

Dzięki Maciek za szczerą, ludzką odp.

slawek
2022-06-14 14:00:49 UTC
Permalink
Post by Jacek Marcin Jaworski
Albo może macie jakieś inne uczucia gdy ich używacie?
A tak z ciekawości... jakie to uczucie być nachalnym, zadawać
kretyńskie pytania i liczyć na szczere odpowiedzi?!


----Android NewsGroup Reader----
http://usenet.sinaapp.com/
Loading...