Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

dejot44

Nauczyłem się w miarę c++ i szukam innego języka do aplikacji

Rekomendowane odpowiedzi

Witam! Jako, że w miarę nauczyłem się C++(kurs Pana M.Zelenta na youtube oraz książki J.Grębosza) szukam czegoś innego do pisania w miarę prostych aplikacji, lub gier które je przypominają(C++ uczyłem się z przekonaniem, że będzie mi łatwiej przyswajać inne języki i na razie zdaje to egzamin). Aplikacje powinny móc być multiplatformowe i powinny bez problemu komunikować się z serwerami ftp(mówiąc multiplatformowe mam na myśli platformy komputerowe, czyli linux, Windows i MacOs, na platformach mobilnych na razie mi za bardzo nie zależy). Myślałem nad pythonem. Z góry dziękuję za pomoc ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

C# lub JAVA.

 

O javie słyszałem, że ma kłopoty z pamięcią, a C# podobno tylko pod windowsy

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zarówno w Javie i C# jest Garbage Collector. Jest to trochę inne podejście niż w C++, gdzie samemu trzeba pamiętać o dealokacji zasobów(najlepiej stosować wzorzec RAII). Czasami jakieś silne referencje mogą blokować GC, jednak jest to kwestia danego frameworka, bądź zastosowanego rozwiązania. Sama Java nie ma problemów z zarządzaniem pamięcią. Teraz musisz pomyśleć w czym dokładnie chciałbyś pracować. C# jest troszeczkę bardziej rozwinięty, jednak ograniczony do środowiska Windowsowego(aplikacje desktopowe, webowe, windows mobile). Java jest dużo bardziej uniwersalna, jednak sam język to za mało. Bardziej liczy się otoczka tego języka. Jest bardzo dużo frameworków Webowych, B2B, android itp.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ogólnie to na tym etapie polecam postawić sobie jako cel stworzenie realnej aplikacji. Może to być kopia jakiegoś istniejącego programu. Jeżeli interesują Ciebie bardziej aplikacje desktopowe zainteresuj się C#. W przypadku aplikacji mobilnej polecam androida oraz Javę. Sam kurs oraz książka do C++ to trochę za mało. Bardzo ważna jest praktyka oraz umiejętne zastosowanie wzorców projektowych. Do dalszej nauki C++ polecam Unreal Engine 4. Tam w ciekawy sposób możesz wypróbować umiejętności C++.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

skoro zacząłeś uczyć się c++ to czemu się nie podszkolić i iść dalej szczególnie, że chciałbyś pisać przenośne (bez mobilnych) gry

bo przenośność niekoniecznie oznacza możliwość bezpośredniego uruchomienia tej samej aplikacji (w sensie kodu wynikowego) na różnych platformach

wystarczy, żeby dało się to wygenerować automatycznie bez zmian w kodzie

 

zainteresuj się SDL, openGL i QT

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ogólnie to na tym etapie polecam postawić sobie jako cel stworzenie realnej aplikacji. Może to być kopia jakiegoś istniejącego programu. Jeżeli interesują Ciebie bardziej aplikacje desktopowe zainteresuj się C#. W przypadku aplikacji mobilnej polecam androida oraz Javę. Sam kurs oraz książka do C++ to trochę za mało. Bardzo ważna jest praktyka oraz umiejętne zastosowanie wzorców projektowych. Do dalszej nauki C++ polecam Unreal Engine 4. Tam w ciekawy sposób możesz wypróbować umiejętności C++.

Z C# nawet nie mam jak korzystać bo mam linux na komputerze. Podobnie jeśli chodzi niestety o Unreal Engine :/

 

Zarówno w Javie i C# jest Garbage Collector. Jest to trochę inne podejście niż w C++, gdzie samemu trzeba pamiętać o dealokacji zasobów(najlepiej stosować wzorzec RAII). Czasami jakieś silne referencje mogą blokować GC, jednak jest to kwestia danego frameworka, bądź zastosowanego rozwiązania. Sama Java nie ma problemów z zarządzaniem pamięcią. Teraz musisz pomyśleć w czym dokładnie chciałbyś pracować. C# jest troszeczkę bardziej rozwinięty, jednak ograniczony do środowiska Windowsowego(aplikacje desktopowe, webowe, windows mobile). Java jest dużo bardziej uniwersalna, jednak sam język to za mało. Bardziej liczy się otoczka tego języka. Jest bardzo dużo frameworków Webowych, B2B, android itp.

Nad Javą też myślałem, ale czemu python odpada?(tzn. nie jest wymieniony?). Jeśli chodzi o aplikację to troszkę w SFML'u siedziałem, ale wątpię żeby to co zrobiłem się zaliczało :/

 

skoro zacząłeś uczyć się c++ to czemu się nie podszkolić i iść dalej szczególnie, że chciałbyś pisać przenośne (bez mobilnych) gry

bo przenośność niekoniecznie oznacza możliwość bezpośredniego uruchomienia tej samej aplikacji (w sensie kodu wynikowego) na różnych platformach

wystarczy, żeby dało się to wygenerować automatycznie bez zmian w kodzie

 

zainteresuj się SDL, openGL i QT

Już pisałem i to nawet sporo w SFML'u, ale mimo wszystko chciałbym spróbować innego języka niż C++ :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Według mnie Python jest bardzo dobry jako jeden z kolejnych języków programowania. Teraz powinieneś się nauczyć reguł OOP (programowania obiektowego). Pewnie może wiesz z kursów co to klasa, obiekt. Jednak filozofii OOP nie rozumiesz. Java oraz C# będą najlepsze do nauki programowania obiektowego. Python wprowadza za dużo uproszczeń i potem może być ciężej z nauką innych języków programowania.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Według mnie Python jest bardzo dobry jako jeden z kolejnych języków programowania. Teraz powinieneś się nauczyć reguł OOP (programowania obiektowego). Pewnie może wiesz z kursów co to klasa, obiekt. Jednak filozofii OOP nie rozumiesz. Java oraz C# będą najlepsze do nauki programowania obiektowego. Python wprowadza za dużo uproszczeń i potem może być ciężej z nauką innych języków programowania.

Jeśli chodzi o filozofię OOP, to myślę że ją rozumiem. Bardzo ułatwia pracę przy dużych programach i pozwala je łatwo rozbudowywać(zwłaszcza funkcje wirtualne). Javy mogę spróbować, ale poczekam na wypowiedzi innych osób ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nad Javą też myślałem, ale czemu python odpada?(tzn. nie jest wymieniony?).

 

dlatego :E

 

CPU / mem - python vs C++

z listy możesz wybrać sobie też jave, C# i inne

 

w pythonie to możesz napisać sobie grę w trybie tekstowym - on jest po prostu zaj... wolny w porównaniu z kompilowalnymi językami

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dlatego :E

 

CPU / mem - python vs C++

z listy możesz wybrać sobie też jave, C# i inne

 

w pythonie to możesz napisać sobie grę w trybie tekstowym - on jest po prostu zaj... wolny w porównaniu z kompilowalnymi językami

Dzięki będe się uczył Javy ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzięki będe się uczył Javy ;)

Dobry wybór. Na początek osobiście uważam Javę za lepszy wybór ze względu na ogromne wsparcie społeczności. W razie czego C# jest bardzo podobny składniowo, łatwo się przesiąść.

Ilość klas, frameworków do Javy jest ogromna. Większa niż do C# (nie tak jak ktoś tam mówił). Po prostu jest dłużej na rynku.

 

EDIT:

Tzn. zależy co kolega miał na myśli pisząc "troszkę bardziej rozwinięty". ;) Żeby nie było nieporozumień - mogłem po prostu źle go zrozumieć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Miałem na myśli, że sam język C#(składnia) jest trochę bardziej rozbudowana w stosunku do Javy. Oczywiście wsparcie, frameworki, biblioteki są po stronie Javy.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Miałem na myśli, że sam język C#(składnia) jest trochę bardziej rozbudowana w stosunku do Javy. Oczywiście wsparcie, frameworki, biblioteki są po stronie Javy.

To masz rację. Też tak pomyślałem, że o to Ci chodzi i dlatego się poprawiłem. W sumie nie ma się co dziwić, C# jest n-tą próbą M$ na stworzenie udanego języka przypominającego Javę. No i im się udało. ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeżeli chodzi o C# pod Linuxem to poczytaj o MonoDevelop ;)

 

A jeżeli chodzi o pisanie gier też w tym języku to możesz pobawić się w MonoGame - wszystko multi-platformowe.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

w pythonie to możesz napisać sobie grę w trybie tekstowym - on jest po prostu zaj... wolny w porównaniu z kompilowalnymi językami

Python jest kompilowany do kodu pośredniego, jak Java czy C#. Z tym, że maszyna wirtualna nie jest tak zoptymalizowana jak ta u konkurentów (z jednej strony ze względu na większą elastyczność języka, z drugiej na mniejsze zasoby finansowe niż te które ma MS czy Oracle. Jest nieco eksperymentalny (i nie w 100% kompatybilny) PyPy, który robi kompilację w locie i potrafi być kilka-kilkanaście razy szybszy od referencyjnego Pythona. Jest wreszcie RPython, czyli mocno obcięty podzbiór składni który da się skompilować do kodu maszynowego.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Py2Exe działa bardo fajnie. Pakuje aplikację z zależnymi modułami do exeka i paru plików dodatkowych (dll, zip, itp.). Używam tego produkcyjnie, aby uprościć wdrażania programików narzędziowych w pythonie na stacjach klienckich. Aplikacja praktycznie jest portable.

 

PyPy czasem ciężko użyć w aplikacji, która ma sporo zależności nie napisanych w czystym pythonie. Za to genialnie się sprawdza przy ciężkim przetwarzaniu w tle. Idealnym przykładem zastosowania jest bot internetowych, który coś czyta i zapisuje do bazy a poza tym skanuje strony. Wydajność jest dużo lepsza od CPythona. Wcześniej posiłkowałem się asynchronicznymi frameworkami, aby zminimalizować wpływ opóźnień komunikacji HTTP na wydajność. PyPy + gevent jeszcze nie testowałem, bo jest wspierane od niedawna, ale podobno jest też szybkie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A jeszcze jest cos takiego jak pyth2exe czy jakos tak. Jak to sie spisuje?

 

Py2exe tak na prawdę pakuje prekompilowany program wraz z zależnościami razem z maszyną pythona i dokłada do tego exe do wygodnego uruchamiania. Jak pisał Zahariash to jest bardzo wygodne do dystrybucji programu, ale z punktu widzenia wydajności nie wiele wnosi, bo dalej masz ten sam rodzaj prekompilacji i ten sam interpreter co w klasycznym Pythonie. Dodatkowo jak ostatnio sprawdzałem py2exe zatrzymał się na pythonie 2.x, bardziej aktualizowany jest cx_freeze.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...