Skocz do zawartości
rxvt

Prosty język programowania

Rekomendowane odpowiedzi

Prosty i przyszłościowy, to Python. Jest jeszcze C#, który imo jest bardziej "przyszłościowy" od Javy. Zainteresuj się też Scalą - zasadniczo język funkcyjny, ale obiektowo też możesz programować. Scala dla odmiany będzie alternatywą dla Javy w przypadku Big Data, a cała ta dziedzina jest "przyszłościowa".

  • Upvote 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Prosty i przyszłościowy, to Python. Jest jeszcze C#, który imo jest bardziej "przyszłościowy" od Javy. Zainteresuj się też Scalą - zasadniczo język funkcyjny, ale obiektowo też możesz programować. Scala dla odmiany będzie alternatywą dla Javy w przypadku Big Data, a cała ta dziedzina jest "przyszłościowa".

Wybrałem Python, ponoć jest najłatwiejszy na start do tego mam system Linux. Co do Scala to podobno jest ona trudniejsza od Javy, przez to programowanie funkcyjne. Brałem też pod uwagę Swift, Kotlin, Go, Elixir i Rust są dość nowe i sporo prostsze od C/C++. Poza Pythonem to pisali mi, że Ruby, PHP i ES6 jeszcze łatwe. Ale wybór padł na Python w wersji 3.6.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na przykład wskaźniki, brak odśmiecania pamięci, przestarzała składnia, na siłę wprowadzona nieumiejętnie obiektowość do C. Dużo inny zagadnień które w innych językach programowania zostały zautomatyzowane.

Lol... Wskaźniki to relikt przeszłości (za wyjątkiem niskopoziomowych sterowników czy jądra systemu). Teraz zazwyczaj stosuje się wzorzec RAII - najpopularniejszy przykład to smart pointery - obiekty przechowują w sobie wskaźniki na zaalokowany blok pamięci i zwalniają go automatycznie jak już nie ma odwołań do niego. Rozwiązanie znacznie lepsze od garbage collectora (GC) - w javie to już w ogóle z nim jest porażka, bo funkcja, która powinna zwolnić nieużywaną pamięć tylko informuję GC, że powinien to zrobić ale wcale nie musi tego robić - niedeterministyczne zachowanie :/ Do tego nigdy nie wiesz kiedy taki GC postanowi się załączyć - najgorsze jak zrobi to podczas wymagających obliczeń... C# wydaje się lepszy od javy tyle, że wciąż są jakieś 'ale'. Po pierwsze Microsoft dopiero teraz doszedł do wniosku, że łaskawie udostępni środowisko C# na inne platformy - nazwali to Core i jak narazie jest to okrojona mocno wersja .NET. Nadal to język zarządzany :P

 

Javascript (JS) jest znowu najmniej wydajny i w sumie najmniej intuicyjny - np. jazdy w this. Po za tym lepiej już uczyć się Typescripta - rozszeżenie JS od M$.

 

Wracając do C++ jest to idealny język do uczenia się. Czemu? Bo pozwala w płynny sposób przejście pomiędzy metodykami programowania. Proceduralne -> obiektowe -> generyczne.

  • Upvote 2

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Może i masz rację, niektórzy programiści wychwalają tak te Jave, która nigdy mi nie pasowała. Krytykują nowy standard języka C++17, że jest nieczytelny i bardziej zagmatwany. Podoba mi się Kotlin i Swift, ale pod Linux to Swift odpada, do Kotlina jeszcze mało materiałów. Python jednak mi nie przypadł do gustu, jest mało bezpieczny, taki większy bash i mało w tym pracy. Jednak PHP 7 tak szybko nie wygryzie. Zastanowię się jeszcze nad C++11 mam kilka książek do niego. 

https://www.wykop.pl/link/3923997/zlosliwe-moduly-w-oficjalnym-repozytorium-pythona/

 

https://przemelek.blogspot.com/2017/03/java-javascript-python-c-c-co-ma.html

https://przemelek.blogspot.com/2010/01/java-javascript-python-c-c-co-ma.html

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

PHP jest popularny bo... byl pierwszy. Teraz jest popyt na phpowcow, bo duzo softu na tym siedzi, jednak przyszlosc to javascript (albo typescript, ktory polecam) i apki internetowe (angular). Na backendzie mozesz tez w js pisac (node.js) albo znacznie wydajniej w samym c++ - u mnie w robocie juz kilka takich projektow robilismy ;) Java... jeju jak mnei smiesza jej zwolennicy ;) Ok, przecietniak napisze w niej lepszy kod nic w c++, jednak c++ pozwala samemu zoptymalizowac kod pod dana architekture. Samemu decydowac co i kiedy ma sie zdarzyc. Ok, czasami jest to trudne do ogarniecia, ale wyniki mowia same za siebie. A java to taki potworek w funkcjami (jak n. wymuszacz do czyszczenia GC), ktore wg. dokumentacji "moga zadzialac albo i nie". Python jest spoko do pisania jakis pomocniczych skryptow, choiaz najwieksza jego wada sa wciecia jako wyznacznik bloku o,O Chory pomysl. Ogolnie na andku java z czasem zostanie wyparta przez kotlina - google zaczyna to promowac coraz bardziej, takze java ostanie sie tylko w jakis korpo, ale i tam pewnie powoli beda ja ubijac tym bardziej ze coraz bardziej popularne sa chmury a tutaj... java muli i zzera znacznie wiecej zasobow niz c/c++.

 

Co do c++17 czy mniej czytelny? zamiast pisac:

 

namespace A

{

namespace B

{ ... }

}

 

mozna po prostu zrobic:

 

namespace A::B {...} 

 

Co wg. mnie jest znacznei czytelniejsze. Albo zamiast:

 

{ // chcemy aby obiekt tylko cos zrobil i jak najszybciej zwolnil pamiec

ObiektX x = getObjX();

if(x != nullptr) x.doSomething();

}

 

robimy tak:

if(Obiekt x = getObjX(); x!= nullptr) x.doSomething();

 

Krocej. Moze odrobine mniej czytelnie, ale za to ogarniamy wieksza ilosc kodu naraz. Po przyzwyczajeniu sie do skladni raczej nie bedzie to juz takie upierdliwe. A Ci co narzekaja to pewnie na auto tez narzekaja... ale kto normalny programuje w notatniku? Ide podpowiadaja co jest zwracane a:

 

auto t = map.insert({key, value});

lepiej wyglada niz:

 

std::map<std::string, std::shared_ptr<Network::Session>> it = _users.insert(std::map<std::string, Network::Session>::value("nick", make_shared<Network::Session>("nick", _socket, _ip, _data, (...)))

  • Upvote 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...