Lazarus vs Delphi (embarcadero Community Edition)

0

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

2
darekdarek napisał(a):

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

Lepsze do czego? Do sterowania choinką na Raspberry Pi czy programowania ERP dla fabryki rowerów?

0
vpiotr napisał(a):
darekdarek napisał(a):

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

Lepsze do czego? Do sterowania choinką na Raspberry Pi czy programowania ERP dla fabryki rowerów?

Do programowania ERP dla fabryki rowerów.
Zresztą obojętne - czy jest obszar w którym Lazarus będzie lepszy?

3

Lazarus jest lepszy w:

  • w darmowości (darmowe bez ograniczeń na dochód)
  • w działaniu na Linuksie
  • w perspektywie długości wsparcia (nie zniknie - masz pełne źródła)
0
vpiotr napisał(a):
darekdarek napisał(a):

Witam,
teraz jedno i drugie (Lazarus i Delphi) do części zastosowań darmowe.
Co lepsze? Jak do tego podchodzić?

Lepsze do czego? Do sterowania choinką na Raspberry Pi czy programowania ERP dla fabryki rowerów?

Żadne z powyższych.

1

W Lazarusie jest pełno WTF jeśli chodzi o stabilność. Mniej funkcji niż w Delphi, ale da się pisać i możesz używać komercyjnie. Delphi musisz bulić jak za zboże. Szczerze to odradzał bym, produkty firmy Embarcadero ze względu na licencjonowanie, jakość i wsparcie. Jednak musząc wybierać wybrał bym Delphi.

0
somedev napisał(a):

W Lazarusie jest pełno WTF jeśli chodzi o stabilność.

Masz na myśli stabilność samego IDE? Chyba nie stabilność programu wynikowego?

2

To i to. Ide potrafi sie wykrzaczyć, czy błędnie działać, a sam LCL też ma błędy w runtime, szczególnie jak chcesz przenosić kod między środowiskami. Jakieś liby stylu LazSerial, też nie za bardzo sobie radzi zmieniając platforme. Ta dewiza "Write once, compile everywhere" to tylko marketing.

4

Lazarus potrafi się wysypać w najmniej oczekiwanym momencie, czasem za sprawą absolutnie podstawowych czynności. I to nie że wyskoczy błąd i dana operacja zostanie przerwana – poleci wewnątrz wyjątek, nie zostanie złapany i wyskakuje komunikat AFAIR z przyciskami Continue i Abort. Nieważne co się wybierze, bo kontynuacja oznacza ”wiszenie” zaciętego IDE, a przerwanie jest równoznaczne z ubiciem procesu i utratą danych niezapisanych w danej sesji.

Przedwczoraj mało mnie krew nie zalała, gdy takie błędy dostawałem podczas edycji filtrów w oknie komunikatów. Z jakiegoś powodu IDE utworzyło dwa różne filtry o takim samym ID i przy próbie usunięcia jednego z nich leciał wyjątek, który nie był ubsługiwany. Z poziomu środowiska nic nie dało się zrobić – musiałem ręcznie usuwać te filtry bezpośrednio z plików konfiguracyjnych środowiska.

Inny przykład wyjątku z d**y? Ustawić kursor na wbudowanym identyfikatorze, nie posiadającym deklaracji (np. instrukcji Break) i użyć funkcji Find declaration. W oknie komunikatów pojawi się to:

Codetools, Errors, 1:
Error: EAccessViolation: Access violation

Tyle dobrze, że ten wyjątek środowiska nie wywala i można dalej normalnie pracować.

Takich małych utrudnień jest masa – niektóre całkowicie wykrzaczają IDE, pozostałe co najwyżej wkurzają (nie wpływają na stabilność). Mimo wszystko tego typu niedociągnięć z wersji na wersję jest coraz mniej, więc prace idą w dobrym kierunku i środowisko jest coraz bardziej stabilne. Sam radzę sobie z tym po prostu pamiętając czego nie robić, aby nie wykrzaczyć IDE.


Żeby opisać wszystkie bolączki to trzeba by spory artykuł wysmarować. Sam nauczyłem się pracować z tym środowiskiem, unikać wszelkich problemów i zapamiętywać kolejne napotkane, aby móc ich unikać w przyszłości. Mimo wszystko jestem z niego zadowolony – przynajmniej za nic nie muszę płacić i mam pełen dostęp do źródeł (z paskudnym, niejednolitym formatowaniem, ale co poradzić…).

Natomiast społeczność jest na tyle duża i obeznana, że w przypadku trudniejszych problemów zawsze jest się do kogo zwrócić o pomoc i tę pomoc chętnie i szybko się otrzyma, a wszystkie zgłaszane błędy są rozpatrywane i dość sprawnie łatane w kolejnych trunkach.

Podsumowując – Lazarus to środowisko, w którym bohatersko pokonuje się trudności nieznane w żadnym innym IDE. ;)

0
furious programming napisał(a):

Inny przykład wyjątku z d**y? Ustawić kursor na wbudowanym identyfikatorze, nie posiadającym deklaracji (np. instrukcji Break) i użyć funkcji Find declaration. W oknie komunikatów pojawi się to:

Codetools, Errors, 1:
Error: EAccessViolation: Access violation

Tyle dobrze, że ten wyjątek środowiska nie wywala i można dalej normalnie pracować.

Takich małych utrudnień jest masa – niektóre całkowicie wykrzaczają IDE, pozostałe co najwyżej wkurzają (nie wpływają na stabilność). Mimo wszystko tego typu niedociągnięć z wersji na wersję jest coraz mniej, więc prace idą w dobrym kierunku i środowisko jest coraz bardziej stabilne. Sam radzę sobie z tym po prostu pamiętając czego nie robić, aby nie wykrzaczyć IDE.

czy masz gdzieś linki do tych błędów na bugtrackerze? Jeśli nie, to byłoby miło gdybyś je dodał.

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