Wątek przeniesiony 2017-12-06 13:49 z Delphi i Pascal przez ŁF.

Delphi - czy to nadal oplacalne?

0

cześć, czy w delphi opłaca sie jeszcze kodzic? mam zamair przeniesc sie na cpp jednakze bardzo lubie delphi i daże ja wielkim sentymentem

1

Trochę dziwnie zadane pytanie... jak masz odbiorców na swoje oprogramowanie to ich raczej nie interesuje w czym jest ono napisane. Ma dzialać stabilnie i pokrywać założenia funkcjonalne. IDE Delphi jest na pewno bardzo wygodnym środowiskiem z szeregiem sprawdzonych technologii np. dostępu do danych przez FireDac.

0

Delphi nie należy do popularnych języków programowania (choć najgorsze czasy chyba ma za sobą teraz jest trochę lepiej nawet jest w pierwszej 10 wg. TIOBE ) a jeżeli chodzi o pracę to nawet po ogłoszeniach na tej stronie widać, że nie ma jej zbyt wiele ale tu pocieszeniem jest to że w Polsce nie ma też armii programistów tego języka. Natomiast jako freelancer jak najbardziej, bo większość klientów nawet nie obchodzi w czym piszesz program tylko on ma po prostu działać. Myślę, że jeżeli masz zapał do uczenia się innego języka to przecież nie musi to od razu oznaczać porzucenia Delphi nawet dobrze znać kilka języków.

0
gurallo napisał(a):

cześć, czy w delphi opłaca sie jeszcze kodzic?

Zależy co wg Ciebie oznacza „opłacać się”. Trzeba znać to środowisko i język, jeśli chce się pracować z projektami stworzonymi w tej technologii. Nie mam na myśli wyłącznie zatrudnienia się w firmie tworzącej/rozwijającej projekty w Delphi – chodzi również o popularne otwarte projekty oraz własne.

Jeśli ani nie zamierzasz starać się o pracę na stanowisku programisty Delphi, ani też nie interesuje Cię przyłączenie się do jakiegoś otwartego projektu lub stworzenie i rozwój własnego – odpowiedź jest oczywista.

mam zamair przeniesc sie na cpp jednakze bardzo lubie delphi i daże ja wielkim sentymentem

Masz zamiar po prostu zrezygnować z programowania w Delphi na rzecz nauki i rozwoju z wykorzystaniem innej technologii, czy chcesz przeportować swój projekt na inny język lub zmienić obecną pracę?

Pytasz zbyt ogólnie i trudno tu o konkretną odpowiedź.


@gurallo: widzę, że jedno konto Ci nie wystarcza. Nie radzę spamować czy zakładać milion wątków z bzdurnymi pytaniami, bo się pożegnamy (z kontem @mechinek również). Istnienie tego wątku też nie ma większego sensu i raczej prędzej czy później wyląduje w koszu.

0

cześć, czy w delphi opłaca sie jeszcze kodzic?

mnie się opłaca bo zarabiam na tym

0

Jeśli lubisz Delphi i chcesz pracować w Delphi, to nic nie stoi na przeszkodzie, możliwe że jakąś pracę w tym znajdziesz, choć łatwo nie będzie, bo ofert jest o 90% niż w innych, nowocześniejszych technologiach. Poza tym, większość pracy dziś to aplikacje webowe i mobilne, a nie desktopowe, a tutaj Delphi nie ma za wiele do zaoferowania na dzień dzisiejszy (a przynajmniej, firmy z branży IT takie mają zdanie)

0

No i właśnie tym udowodniłeś, że nic nie wiesz o Delphi. Delphi wcale nie jest złym środowiskiem ale jest cholernie drogie (wielokrotnie droższe od VS) i to jedna z przyczyn jego małej popularności zwłaszcza w Polsce, drugą był przez długi czas brak darmowej wersji nawet do nauki a obecnie wypuszczane darmowe wersje są strasznie okrojone.

0

Gdyby środowisko Delphi było równie dobre do pisania aplikacji webowych, to cena by miała drugorzędne znaczenie. Problem zaczyna się wtedy, gdy cena nie uzasadnia możliwości. Może i Delphi nie jest gorsze niż VS (w co mocno wątpię, ale ok niech będzie), ale nie jest też o tyle lepsze, żeby uzasadniało to jego cenę.

0

Bardziej bym się skłaniał do FPC/Lazarusa. Na początku może być trudniej jednak możliwości są nieporównywalne. Lazarus i FPC jest tworzony przez programistów dla programistów przez co wygląd nie do końca jest cukierkowy i bajkowy (co szczerze mówiąc nie powinno być kluczowe dla programisty).

Najnowsze wersje Lazarusa (zwłaszcza rozwojowe/trunk) można bardzo upodobnić do Delphi : http://newpascal.org/docked.html

0

Czy w Lazarusie można napisać aplikację webową, najlepiej MVC?

2
Krzywy Programista napisał(a):

Czy w Lazarusie można napisać aplikację webową, najlepiej MVC?

Tak, można (tak jak i w Delphi). Najlepszym frameworkiem do tego jest mORMot. Dodatkowo na dniach będzie premiera transpilera FPC na JavaScript z wsparciem komercyjnych komponentów dla Lazarusa co otworzy nowe możliwości.

0
Krzywy Programista napisał(a):

Czy w Lazarusie można napisać aplikację webową, najlepiej MVC?

Z tego co wiem to od ręki nie.
W delphi też od ręki nie.
Ale są biblioteki, które to potrafią np. unigui dla delphi.
Generalnie jednak póki co nie pisałbym aplikacji webowych w delphi albo prościej mówiąc napisałbym w czym innym jak bym potrafił, a jak ktoś nie potrafi
to pisze w czym może.

hnb napisał(a):

Tak, można (tak jak i w Delphi). Najlepszym frameworkiem do tego jest mORMot. Dodatkowo na dniach będzie premiera transpilera FPC na JavaScript z wsparciem komercyjnych komponentów dla Lazarusa co otworzy nowe możliwości.

A to ciekawe - napisz coś więcej o tym albo podrzuć linki. Będzie to od strony Lazarusa czy mORota?

0
lampasss napisał(a):

A to ciekawe - napisz coś więcej o tym albo podrzuć linki. Będzie to od strony Lazarusa czy mORota?

Lazarusa (komponenty). Niemniej transpiler będzie ogólnodostępny o otwartych źródłach. Pewnie będę pomagać ab w wdrożeniu tego do mORMota do niektórych zadań. Nie przeczytasz o tym za wiele. Temat był dyskutowany na zamkniętych grupach developerów Lazarusa i FPC. Sprawa jest o tyle konkretna, że na transpiler FPC->JS poszła prywatna kasa. Wersja którą dostałem działa (niemniej nie robiłem bardzo skomplikowanych testów). Transpiler ma dwa "targety" kompilacji: node js i web.

0
lampasss napisał(a):
Krzywy Programista napisał(a):

Czy w Lazarusie można napisać aplikację webową, najlepiej MVC?

Z tego co wiem to od ręki nie.
W delphi też od ręki nie.
Ale są biblioteki, które to potrafią np. unigui dla delphi.
Generalnie jednak póki co nie pisałbym aplikacji webowych w delphi albo prościej mówiąc napisałbym w czym innym jak bym potrafił, a jak ktoś nie potrafi
to pisze w czym może.

No to masz częściową odpowiedź, czemu (oprócz ceny) Delphi jest mało popularne. Większość projektów tworzy się jako webowe i mobilne. Dodatkowe biblioteki? Ok, ale czy są to biblioteki od producenta środowiska? Jak ze wsparciem? Mowa o wsparciu technicznym, komercyjnym.

0
Krzywy Programista napisał(a):

No to masz częściową odpowiedź, czemu (oprócz ceny) Delphi jest mało popularne. Większość projektów tworzy się jako webowe i mobilne. Dodatkowe biblioteki? Ok, ale czy są to biblioteki od producenta środowiska? Jak ze wsparciem? Mowa o wsparciu technicznym, komercyjnym.

Zgadzam się po części, że jak ktoś rzuci hasłem APLIKACJA WEBOWA to nikomu normalnemu pierwszym słowem na myśli nie będzie DELPHI tylko coś innego chociażby zakichany php, javy i inne podobne technologie.

Nie mniej jednak w delphi się da i to zarówno web jak i mobilne, a te drugie to już od wielu lat oficjalnie od producenta.
Z tym że trzeba za to dodatkowo zapłacić niestety, więc znowu cena cena cena.

Co do wsparcia owe jest i to miare dobre, komercyjne.

0
hnb napisał(a):
Krzywy Programista napisał(a):

Czy w Lazarusie można napisać aplikację webową, najlepiej MVC?

Tak, można (tak jak i w Delphi). Najlepszym frameworkiem do tego jest mORMot. Dodatkowo na dniach będzie premiera transpilera FPC na JavaScript z wsparciem komercyjnych komponentów dla Lazarusa co otworzy nowe możliwości.

A co z hostingiem takiej aplikacji webowej? Jest jakiś serwer aplikacyjny, na którym to działa? Odpowiednik Apache dla PHP albo IIS dla aplikacji .NET?

0
hnb napisał(a):

Najpierw odniosę się do tego, co napisałeś w komentarzu, jeśli można...

CI i testy, możliwość posiadania wielu Lazarusów na jednym komputerze,

No popatrz, od dawana mam co najniiej 3 IDE Delphi (aktualnie; XE, Berlin i Tokyo) i nie mam z tym żadnych problemów.

nie trzeba instalować Lazarusa,

To feature, ale czy zaleta lub wada... ?

edytor kodu (i tu cały szereg zalet - mi. klonowanie modułów, lepsza nawigacja po kodzie),

No, w Delphi również jest edytor kodu :D
Mnie to w ogóle nie przekonuje, ponieważ od lat używam MMXa (Model Maker Code Explorer) i sorry - nic lepszego nie ma dla Delphi/FPC.

lepsze code-completion i działający refactoring w porównaniu do Delphi.

CodeCompletion jest lepsze niż w CnWizards?
Refactoring jest lepszy niż w MMX?
Pewnie, to nie jest standard Delphi.
Tylko w.w rozszerzenia dla Delphi istnieją, a dla Lazursa niestety nie.
A ja wolę zapłacić i mieć dobre narzędzie, a nie kulawe, ale teoretycznie lepsze od standardu...

Możliwość uruchomienia IDE na wielu systemach operacyjnych, możliwość zastosowania wielu backendów do LCL (np. Qt i używanie skinów), możliwość stworzenia własnych dystrybucji z preinstalowanymi komponentami "uruchamialnymi" z pendriva, otwarte źródła i wiele innych.

Tak, tak - wszystko prawda. Ale nie każdemu to potrzebne.
Mnie np. w ogóle.

A gdzie przeaga Delphi na Lazarusem?
Język i IDE ma daleko większe możliwości (RTTI i Generyki!), kod jest szybszy, a ostatnio nawet przenaszalny pomiędzy systemami.
Zatem owa "przewaga" FPC/Lazarusa, wcale nie są takie oczywiste.

lampasss napisał(a):

A to ciekawe - napisz coś więcej o tym albo podrzuć linki. Będzie to od strony Lazarusa czy mORota?

Lazarusa (komponenty). Niemniej transpiler będzie ogólnodostępny o otwartych źródłach. Pewnie będę pomagać ab w wdrożeniu tego do mORMota do niektórych zadań. Nie przeczytasz o tym za wiele. Temat był dyskutowany na zamkniętych grupach developerów Lazarusa i FPC. Sprawa jest o tyle konkretna, że na transpiler FPC->JS poszła prywatna kasa. Wersja którą dostałem działa (niemniej nie robiłem bardzo skomplikowanych testów). Transpiler ma dwa "targety" kompilacji: node js i web.

Żeby to zrobić dobrze, to trzeba się niewąsko napracować.
A zrobić to po łebkach (np. nie wszystkie konstrukcje języka są wspierane), to tylko proteza - niestety.
Poza tym, takich projektów było już kilka, ale w tej chwili chyba najbardziej zaawansowanym jest Smart Mobile Studio.
Co prawda to nie to samo, ale jednak podobnie.
Ciekawi mnie jaki jest target takiego transcompilera? Dla kogo jest adresowane to narzędzie i po co?

1
Krzywy Programista napisał(a):

A co z hostingiem takiej aplikacji webowej? Jest jakiś serwer aplikacyjny, na którym to działa? Odpowiednik Apache dla PHP albo IIS dla aplikacji .NET?

najtańszy VPS z OVH daje radę. w mORMocie możesz stworzyć w prosty sposób swojego Apacha/włąsny serwer aplikacyjny. Dość trudno określić technologię jaką jest mORMot. Jak to działa w praktyce?

tworzysz plik wykonywalny bez zależności (no prawie) od jakiegokolwiek frameworka. Odpalasz go na czystym Linuxie i masz własny serwer aplikacyjny. A dalej ogranicza Cię tylko wyobraźnia. Można pisać MVC w Pascalu albo można pisać swoje aplikacje/moduły w JS dostarczając wysokowydajny backend w Pascalu do komunikacji z bazami danych. mORMot ma nawet zaszytego własnego "Node JS" bazującego na SpiderMonkey z Firefoxa :).

Wydajność takiego rozwiązania w porównaniu z innymi technologiami (.NET, Java EE) jest naprawdę imponująca (konsumpcja RAMu, ilość requestów)...

0
Krzywy Programista napisał(a):
hnb napisał(a):
Krzywy Programista napisał(a):

Czy w Lazarusie można napisać aplikację webową, najlepiej MVC?

Tak, można (tak jak i w Delphi). Najlepszym frameworkiem do tego jest mORMot. Dodatkowo na dniach będzie premiera transpilera FPC na JavaScript z wsparciem komercyjnych komponentów dla Lazarusa co otworzy nowe możliwości.

A co z hostingiem takiej aplikacji webowej? Jest jakiś serwer aplikacyjny, na którym to działa? Odpowiednik Apache dla PHP albo IIS dla aplikacji .NET?

mORMot jest takim serwerem.
Może działać jako usługa, aplikacja lub nawet in-process, na Windows/Linux.
mORMot może być również osadzony, jak ostatnio wyczytałem (a nie używam, więc proszę mnie nie pytać, bo zwyczajnie nie wiem), w IIS.

0

Tylko dodam, że mORMota używam, ale z wygody wykupiłem VPS z windowsem i tam sobie exeka stawiam, uruchamiam i bangla aż miło.
Ale chodzi mi po głowie, żeby bakcend przenieść do Lazarusa i wtedy uruchamiać serwer na VPS linuxowym w przyszłosci (W delphi się też da, ale w wersji architect i wyzej).

0
wloochacz napisał(a):

No popatrz, od dawana mam co najniiej 3 IDE Delphi (aktualnie; XE, Berlin i Tokyo) i nie mam z tym żadnych problemów.

Chodzi o to, że nie jesteś w stanie zainstalować dwa razy XE2 w tym samym czasie i używać obu (co jest sprecyzowane w dalszym komentarzu, no ale po co czytać) z różnymi komponentami. A zdarza się, że jest to potrzebne.

To feature, ale czy zaleta lub wada... ?

Jest też instalator.

No, w Delphi również jest edytor kodu :D
Mnie to w ogóle nie przekonuje, ponieważ od lat używam MMXa (Model Maker Code Explorer) i sorry - nic lepszego nie ma dla Delphi/FPC.

Eeee? Zgubiłeś sens wypowiedzi. Było zestawienie istniejących funkcjonalności w edytorach kodu. Co ma do tematu to, że używasz MMXa?

Refactoring jest lepszy niż w MMX?
Pewnie, to nie jest standard Delphi.
Tylko w.w rozszerzenia dla Delphi istnieją, a dla Lazursa niestety nie.
A ja wolę zapłacić i mieć dobre narzędzie, a nie kulawe, ale teoretycznie lepsze od standardu...

Ponoć sex też można kupić ale czy to miłość?

Tak, tak - wszystko prawda. Ale nie każdemu to potrzebne.
Mnie np. w ogóle.

Co nie zmienia faktu, że to jest, bo jedyne wypowiedzi na temat Lazarusa są w tonie: "Boże jak ja Kocham Delphi mogę w nim wszystko, inne języki i środowiska są takie słabe a Lazarus? Po co mi to". Wynika to z ignorancji i niewiedzy.

A gdzie przeaga Delphi na Lazarusem?
Język i IDE ma daleko większe możliwości (RTTI i Generyki!), kod jest szybszy, a ostatnio nawet przenaszalny pomiędzy systemami.
Zatem owa "przewaga" FPC/Lazarusa, wcale nie są takie oczywiste.

  1. Nie jest szybszy, zależy od przypadku i ustawień kompilatora.
  2. Generyki w FPC dają większe możliwości (kombinacja C++ templates i generics z C#, podczas gdy Delphi klonuje bez własnego pomysłu rozwiązanie z C#).
  3. Delphi nie jest do końca wieloplatformowe. Mamy do czynienia z dwoma kompilatorami (LLVM i classic). Diabeł tkwi w szczegółach (głównie ARC dla obiektów co jest ogromnym problemem).
  4. Advanced RTTI to kwestia czasu jak razem ze Svenem doimplementujemy brakujące części. FPC jest kompilatorem bardziej zaawansowanym o bardziej racjonalnym rozwoju i wspiera dużo platform ze znacznie większą kompatybilnością wsteczną. Jest to jedna z przeszkód w dynamicznym rozwoju, ponieważ trzeba utrzymać działający kompilator dla LittleEndian/BigEndian, 8/32/64 bitowych procesorów z całym balastem przeszłości. Przy odrobinie wiedzy na temat RTL FreePascala pozwala na wyparsowanie interesujących części i stworzenie własnego Advanced RTTI no ale to raczej dla desperatów.

Żeby to zrobić dobrze, to trzeba się niewąsko napracować.
A zrobić to po łebkach (np. nie wszystkie konstrukcje języka są wspierane), to tylko proteza - niestety.
Poza tym, takich projektów było już kilka, ale w tej chwili chyba najbardziej zaawansowanym jest Smart Mobile Studio.
Co prawda to nie to samo, ale jednak podobnie.
Ciekawi mnie jaki jest target takiego transcompilera? Dla kogo jest adresowane to narzędzie i po co?

Tak, trzeba się napracować. Jest adresowany do programistów do tworzenia aplikacji.

0
hnb napisał(a):

tworzysz plik wykonywalny bez zależności (no prawie) od jakiegokolwiek frameworka. Odpalasz go na czystym Linuxie i masz własny serwer aplikacyjny.

Ale to przecież bezsens. Nie chcę nic odpalać w shellu, mogę nawet nie mieć dostępu do shella. Po to jest serwer aplikacyjny, żeby w IDE kliknąć "Deploy" i wrzucić aplikację na serwer. Tak samo aktualizacja aplikacji, chyba nie chcesz mi powiedzieć, że za każdym razem mam z palca odpalać jakiś plik w shellu żeby moja aplikacja wstała.

0
Krzywy Programista napisał(a):

Ale to przecież bezsens. Nie chcę nic odpalać w shellu, mogę nawet nie mieć dostępu do shella. Po to jest serwer aplikacyjny, żeby w IDE kliknąć "Deploy" i wrzucić aplikację na serwer. Tak samo aktualizacja aplikacji, chyba nie chcesz mi powiedzieć, że za każdym razem mam z palca odpalać jakiś plik w shellu żeby moja aplikacja wstała.

Jeśli chodzi o IIS to "Deploy" jest możliwy (osobiście nigdy nie sprawdzałem - nie miałem takiej potrzeby). Jeśli mowa o Linuxie na dzień dzisiejszy dostęp do shella jest potrzebny. Jeśli go nie ma raczej bym zastosował inną technologię.

0
hnb napisał(a):
wloochacz napisał(a):

No popatrz, od dawana mam co najniiej 3 IDE Delphi (aktualnie; XE, Berlin i Tokyo) i nie mam z tym żadnych problemów.

Chodzi o to, że nie jesteś w stanie zainstalować dwa razy XE2 w tym samym czasie i używać obu (co jest sprecyzowane w dalszym komentarzu, no ale po co czytać) z różnymi komponentami. A zdarza się, że jest to potrzebne.

Kiedy? Bo nie jestem w stanie sobie tego wyobrazić.
No może wtedy, gdy muszę coś skompilować z inną wersją komponentów niż mam aktualnie - ale wtedy po prostu przywołuje rewizję z REPO i buduję wszystko.

To feature, ale czy zaleta lub wada... ?

Jest też instalator.

Fajnie :)

No, w Delphi również jest edytor kodu :D
Mnie to w ogóle nie przekonuje, ponieważ od lat używam MMXa (Model Maker Code Explorer) i sorry - nic lepszego nie ma dla Delphi/FPC.

Eeee? Zgubiłeś sens wypowiedzi. Było zestawienie istniejących funkcjonalności w edytorach kodu. Co ma do tematu to, że używasz MMXa?

To, że nie ma go dla Lazarusa. I wielu innych szalenie przydatnych dodatków (co jest sprecyzowane w dalszym komentarzu, no ale po co czytać).

Refactoring jest lepszy niż w MMX?
Pewnie, to nie jest standard Delphi.
Tylko w.w rozszerzenia dla Delphi istnieją, a dla Lazursa niestety nie.
A ja wolę zapłacić i mieć dobre narzędzie, a nie kulawe, ale teoretycznie lepsze od standardu...

Ponoć sex też można kupić ale czy to miłość?

Argument godny gimbusa.

Tak, tak - wszystko prawda. Ale nie każdemu to potrzebne.
Mnie np. w ogóle.

Co nie zmienia faktu, że to jest, bo jedyne wypowiedzi na temat Lazarusa są w tonie: "Boże jak ja Kocham Delphi mogę w nim wszystko, inne języki i środowiska są takie słabe a Lazarus? Po co mi to". Wynika to z ignorancji i niewiedzy.

Po pierwsze - to znowu argument (ten w cudzysłowu) na poziomie gimbazy. Proszę, nie wrzucaj mnie do takiego worka - za stary jestem na to.

To Twoja opinia.
Ja mam inną; dla mnie programowanie to też kwestia przyzwyczajenie i nawyków, których nie mogę łatwo przenieść do Lazarusa.
Dla Ciebie do ignorancja, a dla mnie to katorga używania czegoś, co ma swoje "lepsze" pomysły.
I tak, wolę zapłacić i mieć np. MMX niż męczyć się z namiastką w Lazarusie.
A i jeszcze jedno - ja używam tego komercyjnie i profesjonalnie zatem

A gdzie przeaga Delphi na Lazarusem?
Język i IDE ma daleko większe możliwości (RTTI i Generyki!), kod jest szybszy, a ostatnio nawet przenaszalny pomiędzy systemami.
Zatem owa "przewaga" FPC/Lazarusa, wcale nie są takie oczywiste.

  1. Nie jest szybszy, zależy od przypadku i ustawień kompilatora.

Widziałeś porównanie pomiędzy Delphi/FPC dotyczącego tablic i listy generycznych?
https://www.arbinada.com/fr/node/1411

Delphi jest 2x szybsze.
Arnaud Bouchez też robił podobne testy, jak rozumiem nie potrafił ustawić opcji kompilatora?

  1. Generyki w FPC dają większe możliwości (kombinacja C++ templates i generics z C#, podczas gdy Delphi klonuje bez własnego pomysłu rozwiązanie z C#).

Być może, ale to są spory na poziomie akademickim, a nie praktycznym.
Prawda jest innego rodzaju - co w zamiast np, do Spirng4D dla Lazarusa?
I pewnie zylion innych ciekawych bibliotek...

  1. Delphi nie jest do końca wieloplatformowe. Mamy do czynienia z dwoma kompilatorami (LLVM i classic). Diabeł tkwi w szczegółach (głównie ARC dla obiektów co jest ogromnym problemem).

Wiem o tym.
Ale jak pisałem, wieloplatformość to nie jest killer feature wg nie.
A co ARC są dwa obozy, ale pewnie o tym wiesz :)
Osobiście mam mieszane uczucia do ARC, jaki wprowadzono w Delphi na kompilatorach LLVM.
Po prostu nie ufam za bardzo wszelkiej maści automatom...

  1. Advanced RTTI to kwestia czasu

Oby i szczerze trzymam kciuki.
Jednakże do tej pory było tak, że ta kwestia czasu dla FPC/Lazarusa liczona jest w dekadach...
podobnie zresztą jak w Delphi, jeszcze z 5-8 lat temu...

jak razem ze Svenem doimplementujemy brakujące części. FPC jest kompilatorem bardziej zaawansowanym o bardziej racjonalnym rozwoju i wspiera dużo platform ze znacznie większą kompatybilnością wsteczną. Jest to jedna z przeszkód w dynamicznym rozwoju, ponieważ trzeba utrzymać działający kompilator dla LittleEndian/BigEndian, 8/32/64 bitowych procesorów z całym balastem przeszłości. Przy odrobinie wiedzy na temat RTL FreePascala pozwala na wyparsowanie interesujących części i stworzenie własnego Advanced RTTI no ale to raczej dla desperatów.

Wszystko prawda i zgoda.
Jednakże czy nie warto się zastanowić na wprowadzeniem pewnych istotnych i nowoczesnych cech języka na wybrane platformy?
Jak pisałem wcześniej - wieloplatformość to nie jest killer feature.

Żeby to zrobić dobrze, to trzeba się niewąsko napracować.
A zrobić to po łebkach (np. nie wszystkie konstrukcje języka są wspierane), to tylko proteza - niestety.
Poza tym, takich projektów było już kilka, ale w tej chwili chyba najbardziej zaawansowanym jest Smart Mobile Studio.
Co prawda to nie to samo, ale jednak podobnie.
Ciekawi mnie jaki jest target takiego transcompilera? Dla kogo jest adresowane to narzędzie i po co?

Tak, trzeba się napracować. Jest adresowany do programistów do tworzenia aplikacji.

No toś odpowiedział :)
Znaczy, ze dowolny kod FPC, z pełnym wsparciem RTL (i LCL?) może zostać transformowany do JS?

0

Arnaud Bouchez generalnie robi testy wykazujące, że to FPC jest górą a Delphi słabo zoptymalizowane. No ale znalazłeś test z 2015 który absolutnie o niczym nie świadczy. Można się przerzucać takimi przykładami w nieskończoność. Idąc dalej:

wloochacz napisał(a):

Argument godny gimbusa.

Na tym się kończy nasza dyskusja. To nie argument tylko stwierdzenie i alegoria do tego, że pasji nie można kupić i można w czymś robić bo jest to tożsame z naszymi przekonaniami np. wolne oprogramowanie, bezpieczeństwo na przyszłość jak "komercyjna" firma z zamkniętym oprogramowaniem upadnie z trzaskiem. Twoja kasa - kupuj co chcesz.

0
hnb napisał(a):

Arnaud Bouchez generalnie robi testy wykazujące, że to FPC jest górą a Delphi słabo zoptymalizowane. No ale znalazłeś test z 2015 który absolutnie o niczym nie świadczy. Można się przerzucać takimi przykładami w nieskończoność. Idąc dalej:

Można, ale nie podałeś żadnego kontr-testu. A szkoda, bo to ciekawe, tylko niewiele wnosi...
Może nie wyraziłem się zbyt jasno; mnie te 5 czy 15% wydajności kodu wynikowego lata.
Ważniejsza jest wygoda, możliwości, stabilność, dostępność dodatkowych narzędzi bibliotek (no i stąd prosty wniosek, że powinienem rozwijać oprogramowanie w .NET lub Javie ;-) ).
Poza tym, sam kod prawie nigdy nie jest wąskim gardłem wydajności. Bo to albo (skopana) baza danych, albo skopany projekt, albo algorytm "dziadu ratuj"...

Dla mnie przejście na FPC to decyzja strategiczna, a nie w stylu "bo jest lepiej, fajniej i ma otwarte źródła i tylko prosi korzystają z FPC".
W ten sposób może sobie rozważać problem ktoś, dla kogo to jest hobby i nie ma wiele do stracenia.
Co nie znaczy, że FPC nie nadaje się do profesjonalnych zastosowań!
Ja przedstawiam tylko i wyłącznie swój punkt widzenia i tak, znam firmy które opierają własne produktu tylko na FPC. I działają z powodzeniem.

wloochacz napisał(a):

Argument godny gimbusa.

Na tym się kończy nasza dyskusja. To nie argument tylko stwierdzenie i alegoria do tego,
To był kontr-argument do mojego i niestety, ale zabrzmiał jak gimbaza.
A resztę właśnie sobie dopowiedziałeś - niżej...

że pasji nie można kupić i można w czymś robić bo jest to tożsame z naszymi przekonaniami np. wolne oprogramowanie, bezpieczeństwo na przyszłość jak "komercyjna" firma z zamkniętym oprogramowaniem upadnie z trzaskiem. Twoja kasa - kupuj co chcesz.

Zgoda, pasji nie można kupić, ale można ją połączyć z komercyjnym rozwojem - nie widzę tu wykluczeń.
Dla mnie pasja dla samej pasji sensu stricte, skończyła się jakieś 10 lat temu. Teraz jest to dla mnie i mojej rodziny źródło utrzymania i sentymenty się skończyły.
Także, powodzenia przy rozwijaniu i więcej obiektywizmu życzę, w podejściu do własnych dokonań.

0
wloochacz napisał(a):

Można, ale nie podałeś żadnego kontr-testu. A szkoda, bo to ciekawe, tylko niewiele wnosi...

Pierwsze lepsze z brzegu: http://blog.synopse.info/post/2015/06/21/Why-FPC-may-be-a-better-compiler-than-Delphi

i można tak w nieskończoność co nie ma sensu. Często jest to też kwestia RTL i bibliotek a nie kompilatora.

Zgoda, pasji nie można kupić, ale można ją połączyć z komercyjnym rozwojem - nie widzę tu wykluczeń.
Dla mnie pasja dla samej pasji sensu stricte, skończyła się jakieś 10 lat temu. Teraz jest to dla mnie i mojej rodziny źródło utrzymania i sentymenty się skończyły.
Także, powodzenia przy rozwijaniu i więcej obiektywizmu życzę, w podejściu do własnych dokonań.

Nawet u siebie w firmie nie forsuję wszystkiego na FPC. W wielu przypadkach to samobójstwo i coś nierealnego (legacy projects). Niemniej nowe projekty używają backend w FPC + Delphi do GUI.

Z mojej perspektywy biznes jest katalizatorem dla OpenSource. Potrzeba generuje produkt i innowację na drodze do jego budowy a gdy produkt jest tworzony z użyciem Open Source to świat staje się odrobinę lepszy. To nie są moje dokonania tylko dziesiątek/setek ludzi.

Nie rozumiem gdzie zarzucasz mi brak obiektywizmu. Wymieniłem elementy/fakty i konkrety których nie ma w Delphi albo takie które w nim kuleją a które są za darmo w Lazarusie (i o których ludzie nie mają pojęcia). Mogę wymienić znacząco więcej wad Lazarusa/FPC jak i wad Delphi - tylko po co? W Twojej ocenie niektóre elementy są bezwartościowe jednak te elementy tam są i ktoś z nich korzysta. Na ten przykład autor mORMota pracuje teraz w Lazarusie i przyszłość mORMota jest ściśle związana z FPC.

0
hnb napisał(a):
wloochacz napisał(a):

Można, ale nie podałeś żadnego kontr-testu. A szkoda, bo to ciekawe, tylko niewiele wnosi...

Pierwsze lepsze z brzegu: http://blog.synopse.info/post/2015/06/21/Why-FPC-may-be-a-better-compiler-than-Delphi

True, ale wiesz... mój przykład jest znacznie bardziej realny niż ten.
A takich porównań bym sobie życzył.
No, ale cóż - ja ich nie zrobię i pewnie nikomu na tym nie zależy.

i można tak w nieskończoność co nie ma sensu. Często jest to też kwestia RTL i bibliotek a nie kompilatora.

Zgoda, pasji nie można kupić, ale można ją połączyć z komercyjnym rozwojem - nie widzę tu wykluczeń.
Dla mnie pasja dla samej pasji sensu stricte, skończyła się jakieś 10 lat temu. Teraz jest to dla mnie i mojej rodziny źródło utrzymania i sentymenty się skończyły.
Także, powodzenia przy rozwijaniu i więcej obiektywizmu życzę, w podejściu do własnych dokonań.

Nawet u siebie w firmie nie forsuję wszystkiego na FPC. W wielu przypadkach to samobójstwo i coś nierealnego (legacy projects). Niemniej nowe projekty używają backend w FPC + Delphi do GUI.

Ciekawe, a dlaczego tak?

Z mojej perspektywy biznes jest katalizatorem dla OpenSource. Potrzeba generuje produkt i innowację na drodze do jego budowy a gdy produkt jest tworzony z użyciem Open Source to świat staje się odrobinę lepszy. To nie są moje dokonania tylko dziesiątek/setek ludzi.

Nie rozumiem gdzie zarzucasz mi brak obiektywizmu.

Być może użyłem niewłaściwego zwrotu, bardziej chodziło mi o brak dystansu, do tego co i jak robisz. Nie oceniam Cię, raczej widzę podobieństwo do siebie i jeśli jesteś podobny do mnie, to dobrze Ci radzę - wyciągaj obiektywne wnioski.
Wiesz, ja Cię pamiętam z projektu Sparta. Byłem pod wielkim wrażeniem tego projektu. I pamiętam, że rozmawiałem u siebie w firmie z ludźmi na ten temat (z Tobą też wymieniłem kilka maili) - byliśmy raczej jednoznacznie nastawieni do tego pomysłu. Ogrom pracy, zylion godzin R&D, imponujące efekty i zerowe szanse na jakąkolwiek monetyzację. Uważałem, że wielka szkoda, że zaangażowałeś się w GameDev na platformie Delphi :)
Bo wiedzy, talentu, samozaparcia i pracowitości nie można Ci odmówić.

Ja po prostu zrobiłem się bardziej praktyczny - misja i pasja jeszcze raczej nikomu jeść nie dała. Mi na pewno, a projektów w szufladzie by się uzbierało ho-ho...
Ale rozumiem Twoje podejście, tylko mi już przeszło - jestem stary zgred przez co zrobiłem się praktyczny i wygodny ;-)

I jeszcze jedno - jakoś zręcznie unikasz braku wsparcia dla FPC przez naj biblioteki dla Delphi (kolejność przypadkowa: OTL, Spring4D, DSharp, DDetours, itd. a sam mORMot jest wyjątkiem potwierdzającym regułę), o mizernym wsparciu komponentów VCL dla Lazarusa nawet nie wspominam.
Oczywiście są jaskółki, jak Twój projekt Generics.Collections, no ale...

Bo i pewnie z jakiejś przyczyny rozwijacie w firmie front-end w Delphi, prawda?
Ciekawym tylko, co z tym bezpieczeństwem, kiedy jak to ładnie napisałeś cyt: bezpieczeństwo na przyszłość jak "komercyjna" firma z zamkniętym oprogramowaniem upadnie z trzaskiem... Rozumiem, że w firmie nie Twoja kasa i kupują co Ty chcesz?

Tak czy siak - zawsze mnie interesowało dlaczego FPC jest wybierany jako komercyjna platforma?
Bo jest wieloplatformowe?
OK, ale są do tego lepsze narzędzia (i nie, nie mam na myśli Delphi).
Bo jest podobne do Delphi? OK, ale jest Delphi.
Bo jest "lepsiejsze" od Delphi - to zależy.
Bo jest za friko? No jest, ale w biznesie cena nie jest (a raczej nie powinna być) decydującym kryterium.
Bo jest otwarte i wolne? OK, na to nie mam żadnego argumentu.
I uważam, że nie muszę mieć - to jest kwestia wyboru, a mi nic do Twoich wyborów. I vie-versa.

Ale wydaje mi się, że rozumiem Twoje motory napędowe.
Rozwijanie NewPascala jest pewnie naprawdę satysfakcjonujące.
Możliwość kształtowania języka i zmiana pewnych mechanizmów, na takie które mi są bliskie - to może być naprawdę fajne.
Tylko wiesz, jest jeszcze tzw. mainstream - a ten paskud, nie wie co dobre i zawsze wybiera jakieś potworki jak zamknięte, drogie i zabugowane Delphi.

Wymieniłem elementy/fakty i konkrety których nie ma w Delphi albo takie które w nim kuleją a które są za darmo w Lazarusie (i o których ludzie nie mają pojęcia).

Przepraszam, ale co wymieniłeś?
Że refactoring jest lepszy niż w Delphi lub że Lazarus ma edytor kodu z lepszym podpowiadaniem składni?
No może, ale gdzie mogę to sprawdzić/przeczytać/zobaczyć?
A poza tym właśnie dlatego ja używam MMXa i CnWizards, bo to co jest w Delphi nie jest tym co bym chciał żeby było. Na szczęście mam wybór - za $$$, ale zawsze.

Mogę wymienić znacząco więcej wad Lazarusa/FPC jak i wad Delphi - tylko po co? W Twojej ocenie niektóre elementy są bezwartościowe jednak te elementy tam są i ktoś z nich korzysta.

Np. co dokładnie powiedziałem że jest bezwartościowe?
Konkret?
Nie przypisuj mi słów, których nie użyłem.
Przypomnę Ci - napisałem, że wieloplatformowość to nie jest killer feature, wg mnie.
A to jest w cholerę daleko od bezwartościowe.

Na ten przykład autor mORMota pracuje teraz w Lazarusie i przyszłość mORMota jest ściśle związana z FPC.

Mnie to nie boli, pod warunkiem ze wsparcie dla Delphi będzie utrzymane.
Za to boli mnie miejscami architektura (i nie tylko) mORMota, ale to jest temat na inną dyskusję...
I nie, nie uważam że jest bez sensu - uważam, że mogłoby być lepiej lub inaczej a przez to lepiej.
Za to uważam, że mORMot powinien oferować komercyjne wsparcie - i będę w szpicy, który je zakupi.

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