• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[artykuł/poradnik] Ścieżka zawodowa / dzisiejsze trendy / języki programowania - część 3/3

Object Storage Arubacloud
+10 głosów
3,909 wizyt
pytanie zadane 30 czerwca 2015 w Rozwój zawodowy, nauka, praca przez Mrozo Obywatel (1,260 p.)
zmienione kategorie 30 czerwca 2015 przez Mrozo

Python - naprawdę warto nauczyć się tego języka. Nie chcę wchodzić w szegóły, po prostu jest świetnym językiem skryptowym o potężnych możliwościach. Od skryptowania naszych programów przez hackowanie, pisanie sztucznej inteligencji aż po dane, dane i jeszcze więcej danych. Polecam, python jak na razie nigdzie nie odpełza. I nie ma zamiaru.

Języki funkcyjne - kompletnie inne podejście do programowania. Inny sposób myślenia, rozwiązywania problemów. Waro nauczyć się choć jednego chociaż dla innej perspektywy - dzieki temu polepszymy umiejętności pisania dobrego kodu również w obiektowych językach. A to nie jedyna zaleta. Języki funkcyjne są szybkie. W chwili obecnej wiele języków czysto obiektowych miesza się z funkcyjnością - wyrażenia lambda, clojures od Javy 8, które są już w C#.

Scala - cały nowy język powstały na bazie Javy. Stara łączyć się obiektowość z funkcyjnością. ( Java coraz bardziej upodabnia się do Scali ), następca Javy w wielu przypadkach.

F# - coś jak Scala od małego miękkiego.

Clojure - 2007r. Powstał na języku Lisp. Po prostu niesamowity. Must have do mojego arsenału. Jeśli byłeś pod wrażeniem czytając o Pythonie, a, nie będę zdradzał wam wszystkiego.

Go - 2009r. Podobny do C, bardzo dobry do wszystkiego związanego z chmurami obliczeniowymi.

Rust - 2010r. Jeżeli potrzebujecie niższego poziomu abstrakcji od Go, jednak wciąż dość wysokiego. W wielu sytuacjach może zastąpić C / C++ - do pisania kernelów, przeglądarek, systemów operacyjnych i wielu innych.

Elixir - 2012r. Stworzony na bazie Erlanga. Świetny do systemów czasu rzczywistego. (przyznaj, że brzmi co najmniej fajnie)

Julia - 2012r. Stworzona na bazie C. Jej celem jest przynieść prędkość światła w miejsce gdzie zawsze jej brakowało - computational science. Na razie rządzi tam Python, który nie jest demonem szybkości.

Racket - Stary ale jary. Również powstał na języku Lisp. Jeśli zechciałbyś pobawić się kiedyś w tworzenie własnego interpretera ( tworzysz swój własny język! ).

Na koniec przedstawię moją skromną listę języków, w których mam zamiał wbić level master:

  • C# - wspaniały język OO ( Object Oriented )
  • JS - lekkość, popularność
  • Python - już mówiłem
  • Clojure - Środowisko JVM, makra - kod sam w sobie jest daną ( metaprogramowanie - obczajcie termin ), świetny do dużych danych, wiele więcej pozytywów.

Oczywiście mam zamiar zabrać się za inne jednak to są moje priorytety.

Ciekawe terminy do sprawdzenia: computing cloud, computing grid, computing cluster, TDD, programowanie asynchroniczne, równoległe, rozproszone, współbieżne, systemy czasu rzeczywistego, model MVC, model MVVM

Jakia jest Twoja lista języków? Znasz jakieś wspaniałe przyszłościowe freamworki, biblioteki, technologie, języki, trendy? Podziel się z nimi w komentarzach. Jeżeli coś przeoczyłem, napisałem niejasno, popełniłem błąd - jestem otwarty na krytykę i dyskusję.

4 odpowiedzi

+3 głosów
odpowiedź 30 czerwca 2015 przez Bantu Nałogowiec (34,170 p.)
edycja 1 lipca 2015 przez Bantu
Jednak jesteś faboy'em JavaScript ale mi to nie przeszkadza.

Może napiszę tutaj słów kilka o Pythonie, bo o innych z wymienionych języków wiem tyle, że istnieją.
Python to chyba najbardziej uniwersalny język z wszystkich, które wymieniłeś, no może oprócz Javy, ale głównym problemem Javy jest jej wydajność. W przypadku Pythona zawsze można użyć PyPy, który dostarczy nam brakującej wydajności, więc kod nie jest dużo wolniejszy od tego napisanego w C czy C++.
Ten język możemy wykorzystać praktycznie wszędzie. Od obliczeń matematycznych, po pisanie programów desktopowych, po aplikacje mobilne i strony internetowe, można w nim programować mikrokontrolery, można w nim pisać gry, można praktycznie wszystko, a przy tym język jest bardzo prosty do nauczenia się, a przynajmniej do nauczenia podstaw, bo wymasterowanie wymaga długich lat tak samo jak w przypadku innych języków.
Po za tym mimo, że jest to język totalnie obiektowy, w którym wszystko jest obiektem i wszystko może po sobie dziedziczyć, to Python może posłużyć jako język totalnie funkcyjny i wcale nie musimy zwracać uwagi na tą całą obiektowść co jest czasami dość fajne i przydatne.

Jeszcze warto zainteresować się językiem Ruby, może nie jest on bardzo u nas popularny, ale dzięki frameworkowi Ruby on Rails, można bardzo szybko tworzyć wysokiej jakości strony internetowe, albo całe systemy, które działają gdzieś tam w sieci. Jest on tak samo jak Python totalnie obiektowy, co prawda nie jest tak uniwersalny, ale da się go lubić, a nawet pokochać, właśnie za elstyczność i głównie prostotę.

A co do perfekcji OOP w C# to już kwestia sporna, bo akurat z mojego punktu widzenia to ten "perfekcyjny" OOP w C# jest tak samo "perfekcyjny" jak ten w Javie. Ostatnimi czasy osobiście bardziej przekonwałem się do Javy niż do C#, ale to za sprawą multiplatformowości, ale kto wie, może jak oficjalnie C# i w sumie cały .NET stanie się równie multiplatformowy to znów mi się odmieni. Nie pracuję w żadnych z tych dwóch języków na codzień, tak więc mogę sobie dość często zmieniać zdanie na temat tych dwóch języków i to robię. Ale na prawdę Java nie jest lepsza od .NET, a .NET nie jest lepszy od Javy, bo wszystko ma swoje wady i zalety i nie należy akurat się podniecać tym całym OOP w obu tych językach.
1
komentarz 30 czerwca 2015 przez Comandeer Guru (601,110 p.)
A teraz zamień w swojej wypowiedzi "Python" na "JavaScript" ;) Pasuje w 100%.
komentarz 30 czerwca 2015 przez Bantu Nałogowiec (34,170 p.)
Niby tak, ale obiektowść w JavaScript jest jednak dość spornym tematem. Przynajmniej z mojej perspketywy.
komentarz 30 czerwca 2015 przez Comandeer Guru (601,110 p.)
Jest spornym, bo mało kto ogarnia prototypy. Z tego też powodu w ES6 nałożono na to fajny lukier składniowy, jakim są klasy.
komentarz 30 czerwca 2015 przez Mrozo Obywatel (1,260 p.)
edycja 30 czerwca 2015 przez Mrozo
Od razu fanboy. Nie wiem z czego to wnioskujesz. Nie lubię jak ktoś przyczepia do siebie jeden język i ogłasza się np Programistą C. Język to tylko narzęzie. Za pythona na pewno się zabiorę. Clojure również jest bardzo obiecujący. Kompletnie zgadzam się z twoim postem. Każdy język ma swoje zastosowanie i JVM ani .Net nie są perfekcyjne. Uczę się dopiero rok, nie jestem żadnym profesjonalistą z doświadczeniem więc dzięki, że mnie tak poprawacie.
komentarz 1 lipca 2015 przez Schizohatter Nałogowiec (39,600 p.)
No ja, Ruby jest mniej elastyczny od Pythona? To chyba mamy inne definicje. W ogóle można być bardziej elastycznym niż Ruby? Możesz przedefiniować w nim wszystkie struktury i funkcje; możesz pisać taką składnią, jaka Ci odpowiada (średniki czy "entery"? do/end czy klamerki? nawiasy czy nie? return czy nie return?); bloki (closures); każdą rzecz można zrobić na 20 sposobów; lukier składniowy wylewa się z każdej strony, a Ty sugerujesz, że Python jest bardziej elastyczny?
komentarz 1 lipca 2015 przez Bantu Nałogowiec (34,170 p.)
Miałem na myśli, bardziej uniwersalny, bo jakoś nie zauważyłem, żeby ktoś w Ruby wykonywał chociażby złożone obliczenia matematyczne, czy pisał programy okienkowe.
komentarz 1 lipca 2015 przez Schizohatter Nałogowiec (39,600 p.)
NASA pozdrawia. Być może faktycznie jest bardziej POWSZECHNY. Bo tego słowa Ci pewnie brakowało. A aplikacji okienkowych się nie pisze, bo języki skryptowe słabo się nadają do aplikacji okienkowych, a biblioteki graficzne do Ruby trochę niedomagają.
komentarz 1 lipca 2015 przez Comandeer Guru (601,110 p.)
W NASA to Fortran króluje ;)
0 głosów
odpowiedź 30 czerwca 2015 przez Comandeer Guru (601,110 p.)

W chwili obecnej wiele języków czysto obiektowych miesza się z funkcyjnością - wyrażenia lambda, clojures od Javy 8, które są już w C#.

A JS? Przecież to de facto język funkcyjno-obiektowy.

 Rust - 2010r. Jeżeli potrzebujecie niższego poziomu abstrakcji od Go, jednak wciąż dość wysokiego.

Dość ryzykowne stwierdzenie, gdyż Rust udostępnia klasy, a Go jedynie struktury ;) Rust jest dojrzalszy od Go, dzięki czemu ma wyższy próg wejścia. I właśnie dlatego biorę się za Go. 

komentarz 30 czerwca 2015 przez Mrozo Obywatel (1,260 p.)
edycja 30 czerwca 2015 przez Mrozo

A JS? Przecież to de facto język funkcyjno-obiektowy.

JS też, dawałem tylko przykłady :)

Dość ryzykowne stwierdzenie, gdyż Rust udostępnia klasy, a Go jedynie struktury ;) Rust jest dojrzalszy od Go, dzięki czemu ma wyższy próg wejścia. I właśnie dlatego biorę się za Go. 

Ryzykowne ale prawdziwe :P https://www.reddit.com/r/golang/comments/29ua55/rust_or_go/

https://medium.com/@adamhjk/rust-and-go-e18d511fbd95

0 głosów
odpowiedź 30 czerwca 2015 przez Czort Nałogowiec (32,500 p.)
C# daleko do perfekcji. Sorry ale musiałem to powiedzieć.
komentarz 30 czerwca 2015 przez Mrozo Obywatel (1,260 p.)
haha Javie również
0 głosów
odpowiedź 30 czerwca 2015 przez Tomatosoup Pasjonat (18,530 p.)
Dużo tu piszesz o Javie, jest też Scala, brakuje mi w takim wypadku chociaż wspomnienia o Groovy'm czyli obiektowym języku skryptowym opartym na właśnie Javie.

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...