Przyszłościowy język programowania?

Witam!

 

Możecie wyrazić swoją opinie, który język programowania jest przyszłościowy ?

Java

Może jakiś argument ? 

No nie wiem czy można zgadywać jaki język programowania będzie przyszłościowy.

Zależy do czego, co będzie się sprzedawać za te n lat.

Do backendu stron WWW?

Kiedyś uważano, że Ruby i Python wytną PHP momentalnie - oba są na tym rynku od kilku lat, a PHP z ASP.NET-em dalej trzymają większość rynku.

Ostatnio trochę nodejs coś próbuje, ale zapewne skończy się jak z Ruby i Pythonem.

Oprogramowanie desktopowe?

C# miał przejechać po Javie, C++, Objective-C, itp. Cóż dalej nie ma większości rynku, a programiści Javy zarabiają najlepiej.

Frontend WWW?

HTML, CSS, JS - na razie nic się nie zmieni - dochodzą nowe warstwy abstrakcji, ale nadal ten sam soft na dole.

Pytasz w kontekscie osoby która chcę zacząć uczyć się programowania?

To zależy, jaki obszar rynku cię interesuje. Wbrew pozorom do pewnych rzeczy trzeba mieć predyspozycje, a inne trzeba lubić, żeby przy nich nie zwariować. Podejście “Pójdę tam wyłącznie dlatego, że najwięcej płacą” prawie nigdy nie wychodzi na dobre.

 

Jedno, co jest pewne - angielski.

 

Od dłuzszego czasu nie byłem na forum, ucze się programować od roku Python/C++(Qt5 obecnie) i tak mnie zaciekawił ten temat może bym się czegoś nauczył mam ochote na HTML5 + CSS…

Chdz nie wiem czy HTML to jezyk programowania - dla mnie powinien być chodz tak nie jest… 

Java ma więcej rynku web niż ASP.NET.

 

W Javie właściwie nie pisze się oprogramowania desktopowego, więcej jest go w C# czy Delphi. C# miał wyprzeć Objective-C? Pierwsze słyszę, w tym piszą tylko w rezerwacie, co ma C# do tego?

 

A jak to obliczyłeś?

Dwa nurty dominują, pierwszy szybkich do pisania języków interpretowanych jak PHP, Python do małych projektów. Drugi do dużych, poważniejszych aplikacji gdzie progi wejścia przedsiębiorstw są duże, dla wielu nie do osiągnięcia (kwestia czysto finansowa). O korzyściach można dyskutować. Jedni migrują PHP na Javę inni odwrotnie, według mnie w Polsce te dwa języki dominują rynek na chwilę obecną.

 

Ciekawe czy kiedyś programiści C, Asemblera i innych niskopoziomowych języków w których pisane są sterowniki i systemy operacyjne wyginą. Te archeologiczne języki będą pożądaną umiejętnością, bo przecież ktoś będzie musiał przejąć te zadania.

 

Przed nami PHP nowej generacji, które ma być znacznie szybsze. Jak dla mnie aplikacje webowe w Javie są toporne w porównaniu z PHP. Z drugiej strony PHP jest ograniczone do web.

“PHP zna każdy” taki języczek w którym byle kto może napisać cokolwiek i prawdopodobnie jakoś to zadziała.

Raczej nigdy nie wyginą, ponieważ systemy będa pisane w C, tak jak i różne kompilatory w tym języku. Może kiedyś D się wybije, ponieważ jest kompilowanym językiem w stylu C/C++, Pascal. Jave może zastąpić Scala, Ceylon, PHP natomiast Ruby lub Python. Nawet Microsoft nadal pisze swój system w C, w C++ tylko niektóre składniki według osób które ponoć zaglądały do kodów źródłowych. Chyba tylko Haiku jest w całości napisany  w C++. Jest jeszcze Vala ale uważam że C# i Objective-C nie przebiją się poza Apple i Microsoft(Windowsy, iOS). No chyba że Microsoft zmieni polityke względem C#.  Według PyPl i Tiobe, Java pomalutku spada w dół, a rośnie na wykresie w szybkim tempie python, ruby i troszkę Objective-C, dzięki aplikacjom ipodo-iphone.

Co do Pythona to świetny język  :stuck_out_tongue:  ma bardzo duże możliwości … Ale już dawno miał wygryźć Jave … 

Ciekawe co będzie dalej .

Nie ma czegoś takiego jak najbardziej przyszłosciowy język. Każdy język i technologia jest potrzebna, bo działa na innym poziomie abstrakcji. I wybór czego się uczyć zależy tylko i wyłącznie od predyspozycji:

Przykłady:

 

Assembly - dzisiaj w nim praktycznie nic się nie pisze, ale po pierwsze dokładna jego znajomość podnośi programistę kilka leveli do góry. Bo wiesz jak działa procesor, pamięć i mechanizmy systemu operacyjnego. Znajomość asma przydaje się też w RE (Reverse Enginiering z programu skopilowanego czyli jakby w asmie próbujesz coś się dowiedzieć np. jaki użyto algorytm) - dziedzina cholernie trudna, niskopoziomowa ale pozwala wielkim firmom analizować oprogramowanie konkurencji. Która korpo nie chciała by mieć takich specjalistów.

 

C - Język wykorzystywany do pisania wszystkiego co blisko sprzętu (np. systemów operacyjnych, sterowników). Daje sporą wiedzę na temat działania chociazby pamięci (np. dzięki wskaźnikom). 98% Linuxa napisana jest w C, 80% Windowsa przypuszczam na oko. A powiedz mi kto dzisiaj nie potrzebuje speców od tych systemów? C jest dość prosty ponieważ nie musisz myśleć o jakiś zawiłych abstrakcjach.

 

C++ - Język który łączy zalety C (kompilowanie do kodu maszynowego, wskaźniki) i średnią obiektowość, a c++11 nawet dobrą obiektowość. Programista C++ musi wciąż wiedzieć jak działa pamięć mniej więcej bo musi nią zarządzać

 

Java, C# - Języki w których praktycznie możesz nie mysleć co się dzieje w pamięci bo program działa w maszynach wirtualnych które troszczą się o programistę jak o dziecko (np. wykrywają kiedy zwolnić pamięć) i zawierają cały narzut obiektowość / wzorców projektowych itd.

 

Jeżeli interesuje Cię wiedza jak działa komputer to celuj w dwa pierwsze języki. Jeżeli natomiast Cię to nie interesuje to pisz w Javie w błogim stanie nieświadomości otoczony Garbage Collectorami które będą cię chroniły niczym mamusia :smiley:

 

 

Znaczy się, ludzi, którzy w ramach pracy czytają i modyfikują kod Linuksa i Windowsa? … Nikt poza Microsoftem i kilkoma firmami płacącymi za rozwijanie Linuksa…?

Hmm dawno nie czytałem tyle głupot w jednym poście.

 

Raczej jego ego. To trochę tak jak z vim-em, widać wszystkie “grupy społeczne” muszą mieć hipsterów.

 

Taka, która nie chciała by mieć jednocześnie sprawy o naruszanie 700 patentów, na przykład? Widzisz jedną stronę medalu, ukraść czyjąś implementację, myślisz, że z drugiej strony nie siedzą tacy spece i nie wyszukują śladów na użycie chronionych rozwiązań? http://www.wired.com/2012/05/rockstar/all/

 

Zawiła abstrakcja to oksymoron.

 

Jak kolega kiedyś dotrze w Javie do pisania aplikacji EE, które muszą przeładowywać się bez restartu serwera oraz takich, które wykorzystują specyfikację OSGI, to gwarantuję - więcej czasu spędzisz z narzędziem typu VisualVM analizując wycieki pamięci, niż pisząc kod.

 

No cóż, błędne myślenie. Nawet w tych jeżykach, pomimo obecności garbage collectora, można sobie narobić biedy nie usuwając zainicjowanych zmiennych. Garbage collector nie działa non stop tylko w określonych momentach. Fakt, można wymusić jego działanie (np w C# metodą GC.Collect()), ale w 99% nie daje to zamierzonego rezultatu.

 

Do autora tematu:

Wszystko zależy co chcesz robić.

Jeśli chcesz bawić się w aplikacje webowe: .NET (ASP.NET + WCF), albo java.

Jesli aplikacje desktopowe: C#, C++ z jakimś dobrym frameworkiem do GUI. Javowe też są.

 

Polecam c#, a dlaczego?

  • Jest prosty
  • Darmowe narzędzia
  • Integracja z systemem windows i z większością produktów ms (Office, Sharepoint, Hyper-V, SQL Server)

W kodzie c# użyjesz c++ i api, więc bardziej wyuzdane rzeczy, typu subclassing czy hooking można zrobić.

 

Pozdr

Myślę, że Java, przetrwa długo, ze względu na urządzenia mobilne. Nic nie zapowiada spadku popularności C++, które zresztą jest nadal rozwijane. Możliwe także że wybije się D. Co do netowych, to (X)HTML, CSS, JS, PHP, jeszcze długo zostaną ponieważ są teraz używane praktycznie na wszystkich stronach. Opór stawią także przeglądarki.