Kurs Programowania w Lazarus (FreePascal)

4

Siema, nagrywam kurs Programowania w Lazarus (FreePascal) na youtube

0

Mam mieszane uczucia.

2

To ma ujemną wartość bo uczysz ludzi jakichś staroci, których nikt normalny nie użyje.
Jak chcesz edukować to weź na warsztat jakiś WinUI lub SwitftUI lub Android lub Qt, coś z czego można robotę znaleźć i kasę zarobić.

Jak ja byłem w liceum (20 lat temu) to Delphi już było martwe....

5

@0xmarcin: miałem skomentować twój post, ale debilizmy w nim zawarte idealnie zilustruje emotka "🤣".

0
Adin napisał(a):

Mam mieszane uczucia.
Jakie?

3
0xmarcin napisał(a):

To ma ujemną wartość bo uczysz ludzi jakichś staroci, których nikt normalny nie użyje.
Jak chcesz edukować to weź na warsztat jakiś WinUI lub SwitftUI lub Android lub Qt, coś z czego można robotę znaleźć i kasę zarobić.

Jak ja byłem w liceum (20 lat temu) to Delphi już było martwe....

Ok, będę więcej nagrywać takich staroci 😀 bo, mi się podoba ten język i to środowisko.

1

@furious programming zróbmy test rynku pracy:
screenshot-20240211112416.png

Ta jedna oferta którą znaleziono ma frazę "Delphix", co jest jakimś tool'em chmurowym: https://www.delphix.com/

W tym samym czasie mamy kilka stron wyników dla hasła "Golang": https://nofluffjobs.com/pl/Golang?page=2 gdzie jest też wiele ofert 30k+ a maksymalne widły 80k PLN.

Młodzik który uczy się Delphi w 2024 jeśli nie jest fanem archeologii i softdev ala '90 i VB strzela sobie w kolano, czas RAD i GUI już dawno się skończył, teraz jest Web i mobile.

3
0xmarcin napisał(a):

czas RAD i GUI już dawno się skończył, teraz jest Web i mobile.

To ja podziękuję za takiej jakości web. Infinite Scroll, najgorszy rak jaki może być. Automatyczne przeładowywanie stron co określony czas trwające wieki i obciążające dość mocno system, brak skrótów klawiszowych w apkach. Mam u klientów parę systemów wykonanych jako web. Sorry, ale do pracy biurowej słabe to jest muli się, wymaga jakichś odpowiednich wersji grom wie jakich składników, nie można tego aktualizować, bo system nie będzie działać poprawnie. Czasami Windows coś sam zaktualizuje i klient dzwoni "Rety pomóż Pan, bo nie działa" Słabo się to obsługuje, nie mówiąc, że interface rodem z webu lat 90-tych ubiegłego stulecia.

A jak sobie wyobrażasz pracę księgowej albo fakturzystki na mobile?

Po prostu każde narzędzie ma swoje zastosowanie i brak rozumienia tego pokazuje to, że człowiek tylko widzi swój nos i nic więcej.

Mam klientów gdzie informatycy wymusili zmianę z normalnej apki desktopowej na web. Niestety panie w firmie mają problem z obsługą. Firma tak wdrożyła system naliczania płac, że po paru godzinach naliczania płac dla 200 ludzi zrezygnowali, bo ile można czekać.

Albo inny przykład. Firma zamówiła system zarządzania produkcją w chmurze. Nie dość, że piszą to już chyba 2 lata i jeszcze nie jest w stanie nic zrobić sensownego. To wyszukiwanie w bazie towarów (8 tyś tyS rekordów) tak muli, że po wpisaniu każdej literki przeglądarka się zawiesza na 5-10 sekund. Podczas gdy u mnie wyszukiwanie trwa w mgnieniu oka. A co najgorsze mam się z tym szajsem integrować.

1

@Mr.YaHooo: ale co do tego wszystkiego ma web?

1

@Adin a to właśnie, że to co opisałem to tak wygląda soft webowy. Za taki soft to ja podziękuję. Web wiadomo ma swoje miejsce, ale nie wszędzie.

1

Obstawiam ze jakis cienki Bolek pisał sql. Chcesz to ci mogę pokazać wymagajaca apke na web która dobrze działa.

1
0xmarcin napisał(a):

To ma ujemną wartość bo uczysz ludzi jakichś staroci, których nikt normalny nie użyje.
Jak chcesz edukować to weź na warsztat jakiś WinUI lub SwitftUI lub Android lub Qt, coś z czego można robotę znaleźć i kasę zarobić.

Jak ja byłem w liceum (20 lat temu) to Delphi już było martwe....

Połowicznie się zgadzam. Owszem nie warto marnować za dużo czasu na Delphi, lecz istnieje dużo legacy aplikacji w tym języku w którym klienci chcą je przepisać na Jave / C#. Więc jeśli przepisuje się taką apke, warto znać podstawy Delphi/Pascala i jak ktoś się tego uczy nie jest to ujemna wartość bo może się zawsze przydać.

4

Po pierwsze, wątek dotyczy Lazarusa, a nie Delphi — to dwa bardzo różne środowiska, języki, biblioteki komponentów i ogólnie ekosystemy, w dodatku kompatybilne ze sobą jedynie częściowo. Ale już przywykłem do tego, że nawet gdyby niektórych geniuszy zabrać na łazarzowe wzgórze i postawić nos-w-nos przed znakiem:

screenshot-20240212152603.png

to i tak nadal bredziłby o Delphi. Najwyraźniej niektórzy mają tak zakleszczone i wyprane przez korporacyjne środowisko mózgi, że nie potrafią myśleć logicznie i jedyne co im pozostaje to odruchy bezwarunkowe w formie deprecjonowania Lazarusa, szukania ofert pracy i zwykłego bóldupienia.


Po drugie, nie ma żadnych przeciwskazań, aby stworzyć tutorial obsługi Lazarusa, ani jakiegokolwiek innego oprogramowania, choćby było używane jedynie przez twórcę tutoriala i jego sąsiada. Żeby zaspokoić ludzkość, potrzeba materiałów edukacyjnych niemal na każdy temat, nawet na najbardziej absurdalne tematy, które żadnych wyjaśnień nie wymagają. Dlatego też nie ma problemu, aby znaleźć tutorial obsługi suwmiarki czy wręcz durnego śrubokręta — zawsze znajdzie się ktoś, kto takich materiałów potrzebuje.

Tymczasem Lazarus cieszy się dużym zainteresowaniem, jest wykorzystywany przez setki tysięcy użytkowników, zarówno do zabawy, edukacji (w tym szkolnej/uczelnianej), a także do zastosowań komercyjnych. Może niektórzy jeszcze nie wiedzą, ale kraj kwitnącej cebuli nie opasa całego globu, więc nie jest jedynym obszarem, na którym należy szukać użytkowników tego IDE.

Jeśli chcesz zmierzyć popularność Lazarusa, to wylistuj sobie wszystkie firmy na świecie i policz zatrudnionych w nich deweloperów Free Pascala. Następnie wylistuj wszystkie szkoły i uczelnie, na których uczy się obiektowego Pascala z wykorzystaniem tego oprogramowania i policz uczniów/studentów. Wylistuj też publiczne i prywatne kursy i ich kursantów, a także hobbystów i wszystkich innych, którzy pobierają, instalują i używają tego IDE. Wtedy będziesz wiedział jaki jest zasięg Lazarusa i Free Pascala i to będzie wartościowa statystyka.

Zawsze można sprawdzić liczbę pobrań IDE — SourceForge, który hostuje tej projekt, prowadzi takie statystyki. Tylko z tego serwisu, w ostatnich 365 dniach Lazarusa pobrano 928,294 razy, najwięcej pobrań w Niemczech, USA, Rosji, Brazylii i Chinach (Polska na 14. miejscu). Linki do źródeł:

Milion pobrań na rok to dużo. Bez względu na to czy inne IDE pobrano wielokrotnie więcej razy, milion to duża liczba.

2

@furious programming
Nie ma się co denerwować. Widzę tutaj wielu hejterów, dziwnych ludzi, których jakimś sposobem boli to, że ktoś chce używać Delphi czy Lazarusa...
Każdy, kto używa tych środowisk doskonale wie, jak wygląda sytuacja, doskonale wie na co się pisze i po co. Zna wady jak i zalety tych środowisk. To oczywiste! Ciągłe pisanie jaka to strata czasu obraża "naszą" inteligencję. Co najważniejsze - nie wszyscy piszą komercyjne projekty! Osobiście uwielbiam Delphi (mimo, że codziennie walczę z wieloma głupotami środowiska). Tak, jestem amatorem i prawdopodobnie nigdy nie napiszę softu, który zarobi duże pieniądze (czy jakiekolwiek) - ale mam szanse napisać coś co służy mnie i innym. Coś co sprawia mi radość i ułatwia życie innym.

Lazarus to świetna alternatywa dla Delphi. Kibicuje im i mam nadzieję, że z wydania na wydanie będzie jeszcze lepsze. Osobiście, wciąż używam Delphi CE... ale jak długo jeszcze? Niestety, Delphi jest w rękach korporacji, na której łasce jesteśmy... i tutaj jest bardzo słabo... problemy z licencją, serwerami, obostrzeniami (choćby bieżąca "awaria" hardware'u, która uniemożliwia instalację czy pobranie Delphi CE). Od dawna mam na uwadze przenosiny na darmową alternatywę Delphi... Czy Embarcadero naprawdę chce podciąć gałąź na której siedzi (a na to wygląda)?

Bardzo chętnie obejrzę czy przeczytam poradnik Lazarusa - dlaczego nie? W sumie, w Lazarusie brakuje mi tak naprawdę porządnej implementacji "VCL Styles" - obsługi nowoczesnego GUI (Dark Mode) - a może już jest? Samo środowisko ma jeszcze też sporo do nadrobienia (a może po prostu za bardzo się przyzwyczaiłem do wygód)... ale wszystko przed nimi.

0
Pepe napisał(a):

@furious programming
Nie ma się co denerwować. Widzę tutaj wielu hejterów, dziwnych ludzi, których jakimś sposobem boli to, że ktoś chce używać Delphi czy Lazarusa...

Nie denerwuję się, bo to nie ja jestem ignorantem. 😉

Cenię sobie Lazarusa, bo zapewnia mi to co Delphi (a w pewnych względach nawet więcej) oraz jest darmowy i otwarty. Używam go niemal codziennie od bagatela 10 lat, teraz jeszcze intensywniej, ze względu na obecnie rozwijany projekt silnika/gry. Jednego narzędzia używam do budowy silnika, gry, edytorów zawartości, instalatora i deinstalatora oraz updatera. Kompilacja na różne platformy to kilka kliknięć — żal mi np. tych, którzy muszą rzeźbić w cmake.

Delphi jest w rękach korporacji, na której łasce jesteśmy... i tutaj jest bardzo słabo... problemy z licencją, serwerami, obostrzeniami (choćby bieżąca "awaria" hardware'u, która uniemożliwia instalację czy pobranie Delphi CE).

To są główne powody, dla których Delphi nawet nie tykam — gówniana polityka licencyjna (plus wielki brat monitoruje instalacje i wie kto łamie EULA), ograniczenia co do tworzenia aplikacji komercyjnych, do tego dużo wyższe wymagania sprzętowe (w stosunku do Lazarusa).

W sumie, w Lazarusie brakuje mi tak naprawdę porządnej implementacji "VCL Styles" - obsługi nowoczesnego GUI (Dark Mode) - a może już jest?

Znam co najmniej dwa sposoby na zrobienie ciemnego motywu IDE pod Windows. Pierwszy to instalacja pakietu metadarkstyle — pobierz pakiet, dodaj do listy pakietów IDE, przebuduj i ponownie otwórz IDE. Następnie wejdź do ustawień IDE, do gałęzi Environment→Dark style i wybierz z comboboxa wymuszenie ciemnego motywu. Po ponownym uruchomieniu, IDE odpali się z ciemnym motywem.

screenshot-20240216203840.png

Drugi sposób to pobranie bibliotek dll dla Qt i przebudowanie IDE z wykorzystaniem widgetsetu Qt. Używałem kiedyś Lazarusa zbudowanego na Qt, ale nie próbowałem ustawiać ciemnego motywu. Jednak da się to zrobić bez problemu — @Paweł Dmitruk na forum Lazarusa pokazywał jak to zrobić (i dał małe demo), ale nie potrafię znaleźć tego posta.

Samo środowisko ma jeszcze też sporo do nadrobienia (a może po prostu za bardzo się przyzwyczaiłem do wygód)... ale wszystko przed nimi.

Największym problemem Lazarusa jest bylejakość — bardzo wiele elementów/narzędzi tego IDE jest zrobionych na pałę, byłe jak, byle cokolwiek było. Gdzie nie spojrzeć tam albo czegoś brakuje, albo działa nieintuicyjnie/dziwnie. W dodatku niektóre funkcje IDE potrafią walić niezłapanymi wyjątkami, a np. edytor menu głównych i kontekstowych potrafi wyświetlać komunikaty debugowania (sic!), mimo że korzystam z wersji release.

Ostatnio miałem taki przypadek, że zrobiłem sobie TTreeView, dodałem gałęzie, ustawiłem ikonki, niektóre gałęzie zwinąłem. Potrzebowałem skopiować dane drzewa z jednej kontrolki TTreeView do drugiej — nie da się. Edytor itemów TreeView to jakiś żart. Nie da się wyczyścić drzewa, więc aby to zrobić, trzeba zaznaczyć ustatni węzeł i mashować przycisk Delete. Niby jest eksport i import drzewa, do i z pliku, ale zapisywane są wyłącznie tytuły węzłów — w trakcie eksportu traci się stan zwinięcia węzłów i wszystkie dane ich ikonek, więc po imporcie trzeba ustawiać wszystko od nowa.

Takich bubli w całym IDE jest masa.

0

Wszystko to prawda. Ale tylko doprecyzuje, że nie chodziło mi o Dark Mode IDE Lazarusa, ale aplikacji stworzonych w Lazarus.

1

@Pepe: Lazarus też jest stworzony w Lazarusie — pakiet raz zainstalowany, może być użyty zarówno do kompilacji samego IDE, jak i każdego programu, który w nim tworzysz. Do tego pakiet metadarkstyle tylko początkowo był przeznaczony do przerobienia UI na ciemny — obecnie można dowolnie modyfikować paletę kolorów. Możesz sobie zrobić aplikację, która będzie biała, ciemna, ale też np. w odcieniach zielonego, czerwonego, niebieskiego itd. Pod spodem nadal będzie siedział stary dobry Win32.

Razem z tym pakietem dostarczane są demówki, więc możesz sobie kuknąć jak tego używać. W razie czego jest to projekt otwartoźródłowy, więc gdybyś potrzebował coś zmienić (na potrzeby tworzonej aplikacji), to nie ma problemu.

2
furious programming napisał(a):

Drugi sposób to pobranie bibliotek dll dla Qt i przebudowanie IDE z wykorzystaniem widgetsetu Qt. Używałem kiedyś Lazarusa zbudowanego na Qt, ale nie próbowałem ustawiać ciemnego motywu. Jednak da się to zrobić bez problemu — @Paweł Dmitruk na forum Lazarusa pokazywał jak to zrobić (i dał małe demo), ale nie potrafię znaleźć tego posta.

screenshot-20240217070902.png
Źródła programu: project1.zip a tu możesz pobrać biblioteki potrzebne do uruchomienia skompilowanej aplikacji.

Największym problemem Lazarusa jest bylejakość — bardzo wiele elementów/narzędzi tego IDE jest zrobionych na pałę, byłe jak, byle cokolwiek było. Gdzie nie spojrzeć tam albo czegoś brakuje, albo działa nieintuicyjnie/dziwnie. W dodatku niektóre funkcje IDE potrafią walić niezłapanymi wyjątkami, a np. edytor menu głównych i kontekstowych potrafi wyświetlać komunikaty debugowania (sic!), mimo że korzystam z wersji release.

Ostatnio miałem taki przypadek, że zrobiłem sobie TTreeView, dodałem gałęzie, ustawiłem ikonki, niektóre gałęzie zwinąłem. Potrzebowałem skopiować dane drzewa z jednej kontrolki TTreeView do drugiej — nie da się. Edytor itemów TreeView to jakiś żart. Nie da się wyczyścić drzewa, więc aby to zrobić, trzeba zaznaczyć ustatni węzeł i mashować przycisk Delete. Niby jest eksport i import drzewa, do i z pliku, ale zapisywane są wyłącznie tytuły węzłów — w trakcie eksportu traci się stan zwinięcia węzłów i wszystkie dane ich ikonek, więc po imporcie trzeba ustawiać wszystko od nowa.

Takich bubli w całym IDE jest masa.

Wynika to z faktu, że środowisko jest robione przez wolontariuszy i wszystkie funkcje posiadają taką funkcjonalność, która jest wystarczająca dla jej autora. Jako, że nie jest to zbyt popularny język, to nie ma firm, które chciałyby zainwestować w rozwój FPC czy Lazarus-a.
Wszystkie błędy czy propozycje nowych funkcjonalności można zgłaszać i może znajdzie się, ktoś kto te zgłoszenia rozwiąże. Można też samemu stworzyć poprawkę / nową funkcjonalność i zgłosić, jest duża szansa, że zostanie przyjęta przez deweloperów.

Co do ciemnego trybu dla aplikacji napisanych w Lazarusie to na myśl mi przychodzą 2 przykłady:

  • Total Commander w wersji 64-bit jest kompilowany w Lazarusie, ale źródła ma zamknięte i nie podejrzysz
  • Double Commander jest napisany w lazarusie i ma otwarty kod. Zresztą pakiet, o którym wspomniał @furious programming jest oparty na kodzie z Double Commander-a
0
Paweł Dmitruk napisał(a):

Wynika to z faktu, że środowisko jest robione przez wolontariuszy i wszystkie funkcje posiadają taką funkcjonalność, która jest wystarczająca dla jej autora.

Zgoda, tyle że najwyraźniej większość wolontariuszy zwykło zadowalać się byle czym. W dodatku nie biorą pod uwagę tego, że nie robią narzędzi dla siebie, a pracują nad IDE używanym przez setki tysięcy deweloperów. W takim przypadku trzeba brać pod uwagę nie własne wymagania, a wymagania ogółu i najpierw zastanowić się nad tym co będzie ludziom potrzebne, a następnie zaimplementować narzędzie tak, aby jak najwięcej można było w nim zrobić.

Ostatnio dużo pracuję z drzewami, czyli z kontrolkami klasy TTreeView, których używam do wyświetlania drzew plików oraz pakietów wchodzących w skład plików używanych przez silnik mojej gry. W każdym edytorze (a mam ich obecnie trzy) mam co najmniej jeden komponent z drzewem. Przykład z eksportera stron do pliku fontu:

screenshot-20240217133302.png
Co mamy do edycji drzewa itemów tego komponentu w IDE? Abominację edytora:

screenshot-20240217133900.png

Na pierwszy rzut oka wygląda nie najgorzej, ale UX jest fatalne:

  • drzewo po lewej nie obsługuje:
    • edycji treści itemów (zapalona flaga TreeView.Options.tvoReadOnly),
    • odznaczania itemów kliknięciem na puste miejsce (zgaszona flaga TreeView.Options.tvoEmptySpaceUnselect).
    • multiselectu itemów, w celu ustawienia wszystkim np. tych samych ikon czy usunięcia tych itemów,
    • sortowania itemów według zadanych kryteriów,
    • drag & dropa itemów, więc:
      • aby przesunąć item w tym samym węźle, trzeba napierdzielać w przycisk ze strzałką,
      • aby przenieść item do innej gałęzi, trzeba go ręcznie stworzyć, a stary ręcznie usunąć…
    • menu kontekstowego z przydatnymi funkcjami, pozwalającymi np.:
      • dodać nowy item lub subitem,
      • usunąć zaznaczone itemy,
      • drag & dropu itemów w docelowej gałęzi,
      • zwijania i rozwijania gałęzi (rekurencyjnie lub nie),
      • sortowania zawartości gałęzi (rekurencyjnie lub nie),
  • brak możliwości skopiowania danych drzewa do schowka, tak aby można było je wkleić lub dokleić w drzewie tego samego lub innego komponentu,
  • brak możliwości edycji ImageList drzewa z poziomu tego edytora, więc aby zmodyfikować zbiór ikonego w którymś z przypisanych ImageList, trzeba zapisać drzewo, przejść do edytora ImageList, dokonać zmian i je zapisać, a następnie ponownie otworzyć edytor TreeView i kontynuować prace nad drzewem,
  • nie da się wyczyścić drzewa, więc trzeba zaznaczyć któryś item i napierdzielać w przycisk Delete
  • nie ma przycisku Clear np. pod przyciskiem Delete,
  • wciśnięcie klawisza Enter po zakończeniu wpisywania treści itema w polu edycyjnym powoduje nie tylko akceptację nowej treści, ale też automatycznie dodaje nowy item/subitem do drzewa, bo jakiej jaja dzieją się z fokusem w tym oknie,
  • do wyboru indeksu ikony z ImageList używane są pola edycyjne, zamiast spin-editów,
  • brak możliwości ustawienia stanu Enabled itemów — nie ma do tego checkboxa,
  • funkcja eksportu zapisuje dane do zwykłego, płaskiego pliku tekstowego, zamiast do pliku konfiguracyjnego o strukturze drzewiastej — np. XML, który wykorzystywany jest przez IDE do zapisu konfiguracji najróżniejszych elementów.
  • eksport drzewa do pliku to w ogóle jakiś smutny żart:
    • okno dialogowe nie posiada konkretnego filtru, więc nie wiadomo jaki format danych używany jest do zapisu danych drzewa,
    • jedyny istniejący filtr w oknie dialogowym to All files (*.*), który nic nie mówi użytkownikowi o sugerowanym formacie docelowego pliku,
    • brak domyślnej nazwy i rozszerzenia pliku w polu edycyjnym tego okna, a teraz co najgorsze:
    • eksport drzewa do pliku dotyczy jedynie treści węzłów i ich lokalizacji w drzewie (poziomu osadzenia), a gubione są dane na temat:
      • stanu zwinięcia węzłów,
      • ikonek podstawowych i zaznaczenia (TreeView.Images),
      • ikonek stanu (TreeView.StateImages),
    • po zaimportowaniu danych drzewa z takiego pliku, wszystko prócz treści trzeba ustawiać od nowa, ręcznie…
  • żadna kontrolka w oknie tego edytora nie ma ustawionych hintów.

To co opisałem wyżej to i tak pewnie nie wszystkie problemy, a to tylko kwestia edytora itemów TreeView — nawet nie chce myśleć ile zajęłoby mi listowanie problemów wszystkich okien IDE i wszystkich jego narzędzi, a tym bardziej ile zajęłoby mi raportowanie tego wszystkiego w bug trackerze Lazarusa… Ile dałem radę to zgłosiłem, ale podczas pracy nad swoimi aplikacjami dosłownie co chwilę trafiam na coś, co wymagałoby zgłoszenia i naprawy.

Gdyby autor tego pożal-się-boże edytora itemów najpierw pomyślał o tym co będzie potrzebne do edycji drzew i czego będą użytkownicy Lazarusa potrzebować, a dopiero później zabrał się do pracy, to bez problemu zaimplementowałby aktualną funkcjonalność oraz wszystko co opisałem wyżej dosłownie w jeden wieczór. Szczególnie, że mówimy o LCL, czyli o tym, że sporo można wyklikać w designerze, a reszta wymaga naklepania dosłownie kilku linijek kodu (np. drag & drop, niezwykle przydatna rzecz, a to tylko kilka linijek kodu).

Postaram się wygospodarować trochę czasu i naprawić ten edytor, bo krew mnie zalewa za każdym razem, gdy go otwieram.

Wszystkie błędy czy propozycje nowych funkcjonalności można zgłaszać i może znajdzie się, ktoś kto te zgłoszenia rozwiąże. Można też samemu stworzyć poprawkę / nową funkcjonalność i zgłosić, jest duża szansa, że zostanie przyjęta przez deweloperów.

Co mogę i na co mam czas to zgłaszam. W końcu zależy mi na tym, aby IDE było jak najlepsze i żeby mi się jak najlepiej w nim pracowało. Niestety to nie jest rozwiązanie, bo zanim zgłoszenie zostanie rozwiązane, może minąć nawet kilka lat. Poza tym, nawet jeśli ktoś szybko obsłuży zgłoszenie i naprawi problem, może minąć nawet rok zanim zmiany trafią do oficjalnego, stabilnego release'u — a tylko z takich korzystam. Pozostaje mi więc śledzić interesujące mnie zgłoszenia i ręczne, ostrożne ich aplikowanie w kodzie swojej instalacji Lazarusa, co jest uciążliwe.

0
furious programming napisał(a):

... ale UX jest fatalne:
...

Rozumiem to, ale też nie każdy korzysta ze wszystkich funkcji IDE, ja np. dzisiaj pierwszy raz uruchomiłem te okno, po przeczytaniu Twojego postu, pomimo, że z lazarusa korzystam prawie 20 lat.

Poza tym, nawet jeśli ktoś szybko obsłuży zgłoszenie i naprawi problem, może minąć nawet rok zanim zmiany trafią do oficjalnego, stabilnego release'u ...

Wersje lazarusa wprowadzające nowości wychodzą średnio co 2 lata

... a tylko z takich korzystam

zmień to. Ja już od kilku lat korzystam z lazarus-a w wersji rozwojowej oraz fpc w wersji poprawkowej i sobie chwalę. Oczywiście czasami można się naciąć na jakieś problemy, jak ktoś wrzuci commit-a bez przetestowania ale jest to bardzo rzadki przypadek.

1
Paweł Dmitruk napisał(a):

Rozumiem to, ale też nie każdy korzysta ze wszystkich funkcji IDE, ja np. dzisiaj pierwszy raz uruchomiłem te okno, po przeczytaniu Twojego postu, pomimo, że z lazarusa korzystam prawie 20 lat.

Dlatego, tak jak napisałem w poprzednim poście, najpierw należy się zastanowić nad tym co powinno ów narzędzie zawierać i jakie możliwości dawać, a dopiero później zabrać się za jego tworzenie. Przy czym funkcjonalność narzędzia powinna być określana na podstawie funkcjonalności elementu, który będzie się modyfikowało, a nie wymagań społeczności.

Przykładowo, jeśli chodzi o ten edytor itemów TreeView, jego funkcjonalność powinna zostać określona na podstawie tego, co można zrobić z drzewem tej kontrolki, a nie tego z jakich funkcji użytkownicy będą chcieli korzystać. I gdyby tak postępowano, to nie miałbym powodu do narzekania, ale że zrobiono na odwrót, to ten edytor jest super-ograniczony i tylko irytuje.

Wersje lazarusa wprowadzające nowości wychodzą średnio co 2 lata

Nie chodzi o wersje wprowadzające nowości, a o bug-fixy. Te powinny wychodzić często, co miesiąc-dwa, a nie wychodzą w ogóle, bo deweloperom Lazarusa wydaje się, że skoro jest trunk, to wszyscy z niej korzystają. No niestety nie, mało kto korzysta z trunku, bo używa Lazarusa do programowania, a nie do tego, aby non-stop go rekompilować.

Oczywiście czasami można się naciąć na jakieś problemy, jak ktoś wrzuci commit-a bez przetestowania ale jest to bardzo rzadki przypadek.

I właśnie dlatego nie zamierzam korzystać z trunków. Chcę korzystać (pozornie) ze sprawdzonych rozwiązań, aby później nie tracić czasu na cofanie zmian w swoich projektach czy wręcz na naprawianie IDE, jeśli ktoś swoimi commitami popsuje źródła kompilatora/IDE. Trunk powinien być przeznaczony i używany tylko przez deweloperów kompilatora i IDE oraz tych, którzy chcą mieć dostęp do nowinek.

Normalnego użytkownika IDE nie interesuje repozytorium — chce pobrać/zaktualizować oprogramowanie i z niego korzystać. A jeśli są błędy, to powinny być wydawane załatane wersje, w regularnych, krótkich odstępach czasu (np. raz na dwa miechy).

1 użytkowników online, w tym zalogowanych: 0, gości: 1