Czy C++ ma jakąś przyszłość?

0

Jak widzę coraz mniej ofert pracy dla programistów C++,podoba mi się ten język i chciałbym w nim pisać...ale wizja braku pracy nie jest motywująca :/

co o tym sądzicie,tylko szczerze?

2

Język nie żona, nie musisz się wiązać tylko z jedną na raz.

A nie tak dawno widziałem na 4p nawet oferty w COBOL-u.

0

@twonek To jaki język teraz polecasz? mam 17lat ogarnięta struktura i obiektowe + trochę liznąłem SDLa :P trochę szkoda mi pracy włożonej w naukę C++ ale trzeba się rozwijać,i mam nadzieje że gładko mi pójdzie nauka w innym języku do tego samego poziomu wiedzy co obecnie posiadam w C++.

6

Nie zrozumiałeś mnie. Jak Ci się podoba C++ to się go ucz. Praca zawsze będzie (przykład COBOL-a), a jak będzie mało i ciężko to można dodatkowo uczyć się czegoś innego. Wysiłek włożony w naukę C++ nigdzie się nie zmarnuje, bo pomoże przy nauce innych.

0

Tak na podstawie Google Trends, badanie od 2004 r do dzisiaj, wyniki z całego świata, filtr: praca i edukacja widzę że zainteresowanie C++ maleje, podobnie sprawa ma się również z DELPHI więc C++ ma chyba swoje świetlane czasy już dawno za sobą. Co innego w przypadku rubiego czy pythona, tu widzę że trendy wcale nie są malejące a wręcz na wzroście :-) Co do C#, też jest widzę w trendzie spadkowym java jakoś nie (na stałym poziomie).

Tak rozumując logicznie, jaki jest sens wchodzenia w coś co jest coraz mniej popularne i liczba ofert pracy mniejsza, biorąc pod uwagę że nauka tego zajmuje nie dni, nie miesiące ale długie lata? W C++ można było wchodzić może z 10 - 15 lat temu ale żeby dzisiaj? Jedyny plus: powinna być mała konkurencja w tym obszarze bo z tego co widzę, to wszystko obraca się wokół webu i oczywiście javy :-)

5

Zawsze mnie takie tematy śmieszą. Chyba nie tylko mnie.

0

@drorat1 już pisałem - jak zaczynałem studia tez wieszczono upadek Pascala i ze szkoda czasu na naukę, po studiach - pierwsza praca i zonk - musiałem szybko sobie przypomnieć pascala, bo akurat w okolicy szukano tylko programistów Pascala. Powiem tylko, że pierwsza prace podjąłem w 99 roku, więc trochę wody upłynęło od tego czasu, a dalej poszukuja programistów do delphi/pascala.. Jest tego mniej - ale straszyć? P-stwo że nikt nie będzie zatrudniał za 5 lat w C++ jest mniejsze, niz takie, że za 5 lat nikt nie będzie zatrudniał programistów Pythona, a chyba nie przewidujesz, że nie będą zatrudniać programistów Pythona za 5 lat?

0

Czesc rzeczy bedzie pisana w jezykach gdzie to wygodniej zrobic i ktore sie do tego bardziej nadaja. Z kolei tam gdzie np. zalezy na wydajnosci i pamieci, w gamedevie, przy tworzeniu OS, elektronice etc. C/C++ maja sie dobrze. U kolegi w jednym z krakowskich corpo, przepisuja np. teraz spora czesc systemu z Javy na C++.

0

Żaden język nigdy nie wyjdzie z użycia całkowicie (nie popadając w skrajności), a przynajmniej nie za żywota większości tutaj obecnych
C++ nie miał szans z językami jeszcze wyższego poziomu bo za dużo czasu zajmowało pisanie bezbłędnego kodu
Ma szansę na odbicie się w najnowszych wersjach, przy czym trzeba by było zmienić nauczanie tego języka, wybić z głowy ręczne zarządzanie pamięcią, zwykłe wskaźniki i ogólnie traktować jako odrębny język

Mi osobiście się ten język nie podoba, przez wsteczną kompatybilność kod wygląda dość brzydko; łatwo znaleźć stare artykuły i książki uczące przestarzałych praktyk, próg wejścia na rynek komercyjny jest wysoki, a pracy coraz mniej

0

Język najlepiej dobierać sobie do tego co będziesz chciał robić. Wbudowane - np.C/C++, Web backend -java/clojure/ruby itp. a i tak wg mnie najlepsza praca to taka gdzie będziesz mógł poklepać niskopoziomowo w C, żeby chwile później poklepać coś wysoko np w JS. W związku z tym zalecałbym poznanie paru języków :)

1

Nie myśl o kasie, przynajmniej dopóki jesteś w szkole średniej. Jeśli to będzie Twoja motywacja przez 3 lata to na pewno się wykruszysz, bo nie będziesz osiągał żadnych przejawów czynnika motywującego. Po prostu to psychologicznie nie wyjdzie: bardzo ciężko jest zmuszać się do jedzenia codziennie jeśli przestaniesz być głodny dopiero za rok.

Już lepiej być programistą, bo jest to sexy :D

5

ze nikt tego nie wkleil...

Cześć!
Dowiedziałem się, że na jeżdżeniu samochodem można zarobić dobre hajsy. Możecie polecić jakiś samochód na początek? Zależy mi, żebym mógł w ciągu roku nauczyć się jeździć tyle, żeby ktoś mnie chciał zatrudnić na Junior Drivera. Myślałem o mercedesie albo tirze, tylko słyszałem, że kierowanie tirem jest trudne więc może coś prostszego na początek. Ale z drugiej strony kierowcy tirów sporo zarabiają to może warto się poświęcić. Zastanawiam się jeszcze nad BMW - paru kolegów nimi jeździć i mają sporo pieniędzy.

Możecie też napisać z jakich książek najlepiej nauczyć się kierować samochód? "Symfonia tira" albo "Thinking in Tico" będzie dobre na początek czy może lepiej jakieś kursy internetowe? Nigdy wcześniej nie jeździłem samochodem, ale bardzo mi się to podoba i jestem strasznie ambitny i zmotywowany.

A może jeszcze coś innego. Napiszcie jaki samochód jest najbardziej przyszłościowy?

2
kaczus napisał(a):

P-stwo że nikt nie będzie zatrudniał za 5 lat w C++ jest mniejsze, niz takie, że za 5 lat nikt nie będzie zatrudniał programistów Pythona, a chyba nie przewidujesz, że nie będą zatrudniać programistów Pythona za 5 lat?

Tu nie chodzi o żadne prawdopodobieństwo tylko zapotrzebowanie rynkowe i zmiany rynkowe które to mają wpływ na to ile powinno być tej pracy. I co z tego że ktoś się wyspecjalizuje w działce w której jest małe zapotrzebowanie, ewentualnie nie ma miejsc pracy w pobliżu, bo może byś chciał wiedzieć, że nie każdemu pasuje relokacja nie wiadomo w jak odległe miejsce. To po pierwsze.

Po drugie. Biorąc pod uwagę pythona, rubiego a także ich zastosowanie w javie (Jython, Jruby), jak również pod .NET (IronPython, IronRuby) i to że w językach typowanych dynamicznie jest mniej kodu, mniej pracy to też chyba nie powinno być niczym dziwnym, że aplikacje można by robić taniej, szybciej i łatwiej to wszystko utrzymywać.

I weźmy dla przykładu tą samą aplikację desktopową (te same funkcjonalności dajmy na to ERP) w:

  1. C++
  2. DELPHI
  3. .NET (C# vs. IronPython vs. IronRuby)
  4. JAVA SE
  5. python (wxWidgets)

Za laptopa też byś chciał zapłacić > 10K kiedy równie dobrze sobie wybierzesz coś dobrego za 2K? Myślisz że tu jest inaczej? Jaki jest logiczny (biznesowy) sens robienia czegoś w C++, gdzie nie dość że jest dużo klepania, to jeszcze i łatwo o błędy, kiedy to samo dużo prościej możesz mieć w C# albo w javie a klieta to wali bo nie zna się na technologiach (ale to Ty masz mu wybrać właściwą). Podejrzewam że na tym polu coś jest na rzeczy. Ponadto teraz dużo dzieje się w technologiach webowych i to właśnie tam python ma szerokie zastosowanie, dodatkowo jest wspierane przez Google więc dlaczego miałby niby zdechnąć?

1
drorat1 napisał(a):
kaczus napisał(a):

P-stwo że nikt nie będzie zatrudniał za 5 lat w C++ jest mniejsze, niz takie, że za 5 lat nikt nie będzie zatrudniał programistów Pythona, a chyba nie przewidujesz, że nie będą zatrudniać programistów Pythona za 5 lat?

Tu nie chodzi o żadne prawdopodobieństwo tylko zapotrzebowanie rynkowe i zmiany rynkowe które to mają wpływ na to ile powinno być tej pracy. I co z tego że ktoś się wyspecjalizuje w działce w której jest małe zapotrzebowanie, ewentualnie nie ma miejsc pracy w pobliżu, bo może byś chciał wiedzieć, że nie każdemu pasuje relokacja nie wiadomo w jak odległe miejsce. To po pierwsze.

Tyle,ze tego nie przewidzisz w perspektywie 5 lat - cóż - dałem przykład - na pierwszym roku studiów mówiono, ze pascal to już przeżytek i szkoda czasu, po studiach okazało się, ze mimo, iż wtedy górował C i C++, to akurat nie w regionie, w regionie szukano przede wszystkim programistów w Pascalu (kilka różnych firm). Więc chcesz przewidzieć cos co sam zauważyłeś jest nie do przewidzenia, szczególnie, jeśli jeszcze zawęzisz do danego obszaru.

Po drugie. Biorąc pod uwagę pythona, rubiego a także ich zastosowanie w javie (Jython, Jruby), jak również pod .NET (IronPython, IronRuby) i to że w językach typowanych dynamicznie jest mniej kodu, mniej pracy to też chyba nie powinno być niczym dziwnym, że aplikacje można by robić taniej, szybciej i łatwiej to wszystko utrzymywać.

Dziś tak się może wydawać, a za 5 lat?

I weźmy dla przykładu tą samą aplikację desktopową (te same funkcjonalności dajmy na to ERP) w:

  1. C++
  2. DELPHI
  3. .NET (C# vs. IronPython vs. IronRuby)
  4. JAVA SE
  5. python (wxWidgets)

Za laptopa też byś chciał zapłacić > 10K kiedy równie dobrze sobie wybierzesz coś dobrego za 2K? Myślisz że tu jest inaczej? Jaki jest logiczny (biznesowy) sens robienia czegoś w C++, gdzie nie dość że jest dużo klepania, to jeszcze i łatwo o błędy, kiedy to samo dużo prościej możesz mieć w C# albo w javie a klieta to wali bo nie zna się na technologiach (ale to Ty masz mu wybrać właściwą). Podejrzewam że na tym polu coś jest na rzeczy. Ponadto teraz dużo dzieje się w technologiach webowych i to właśnie tam python ma szerokie zastosowanie, dodatkowo jest wspierane przez Google więc dlaczego miałby niby zdechnąć?

A czy ja napisałem, że ma zdechnąć Python? - określiłem jedynie pewne p-stwa. Czytaj ze zrozumieniem.
Na poziomie na którym jest osoba zaczynająca zabawę w programowanie, powinna nauczyć się przede wszystkim programować, języka nauczy się w zależności od potrzeb i języka w czasie od kilku dni do pół roku. Doradzanie zmiany języka podczas nauki z argumentem, że za 5 lat ten język będzie bardziej atrakcyjny jest bezsensem. Rozumiałbym argument - nie podoba mi sie ten język, mam za mało materiałów, jest projekt w tym języku, do którego chciałbym się przyłączyć, albo cokolwiek innego, ale sensownego - nie ma problemu, przy argumencie - za 5 lat będzie ten język popularny, a drugi nie, każdego takiego uważam za szarlatana wróżącego z fusów. I niestety taki szarlatan często potrafi wyrządzić dużą krzywdę swoimi radami.

0

ma, jednak sa latwiejsze sposoby na zdobycie pracy. niemniej znajomosc c++ nawet na calkiem srednim poziomie zdecydowanie nie zaszkodzi programiscie c#, java a nawet jakiegos cudaka w stylu ruby ;)

0

Lepiej zrobisz jak się na obecnym etapie nauczysz programowania (algorytmy, struktury danych, optymalizacja, bazy danych itd) a nie języka programowania.

Spróbuj kilku różnych języków, rozwiązując przy tym jakieś praktyczne problemy.

Jednakże, jeśli chcesz się szkolić z C++ to w moim profilu masz link do listy tematów.

1

C++ jest dla ludzi lubiących się męczyć, Python jest dla ludzi sukcesu. Średnio rzecz, która zajmuje w C++ kilkanaście albo kilkadziesiąt linijek, w Pythonie da się napisać w kilka. Zarządanie pamięcią jest dzisiaj nikomu niepotrzebne, C++ przydaje się tylko wtedy gdy chcemy napisać jakiegoś mikrokontrolera albo podobne urządzenie, gdzie pamięć jest ważna. Nie wróże C++ przyszłości.

10
X-on napisał(a):

C++ jest dla ludzi lubiących się męczyć

dokladnie, taki byl zamysl tworcow, zmeczyc cale pokolenia programistow, jezyk jest dalej rozwijany po to zeby zachowac te tradycje

X-on napisał(a):

Python jest dla ludzi sukcesu

dokladnie, kazdy projekt i czlowiek nie uzywajacy pythona jest skazany na porazke

X-on napisał(a):

Średnio rzecz, która zajmuje w C++ kilkanaście albo kilkadziesiąt linijek, w Pythonie da się napisać w kilka

a poniewaz jedynie objetosc kodu ma znaczenie, python jest najlepszy

X-on napisał(a):

Zarządanie pamięcią jest dzisiaj nikomu niepotrzebne

bo w branzy pisze sie wylacznie hello worldy i bubble sorty

X-on napisał(a):

C++ przydaje się tylko wtedy gdy chcemy napisać jakiegoś mikrokontrolera albo podobne urządzenie, gdzie pamięć jest ważna.

dokladnie, nie da sie programowac mikrokontrolerow w jezykach innych niz c++. na dodatek tylko w c++ da sie kontrolowac zuzycie pamieci.

X-on napisał(a):

Nie wróże C++ przyszłości.

to akurat jest dobry kierunek, zajmij sie na serio wrozeniem :)

prosze o traktowanie powyzszej wypowiedzi z przymruzeniem oka, dla czytelnosci opuscilam tagi <sarcasm>

1

C++ to pierwszy język umożliwiający programowanie obiektowe, który poznałem. Zdecydowanie warto go znać, chociażby po to, żeby orientować się co to są wskaźniki i referencje, jak zarządza się pamięcią, co to jest stos i sterta itp. Oczywiście można te pojęcia poznać przy nauce zupełnie innego języka programowania z GC, ale przy nauce C++ niejako poznaje się te pojęcia naturalnie.

2

@X-on to zależy co piszesz. Bo są takie zastosowania gdzie nie można sobie pozwolić na 10-20 razy wolniejsze działanie programu (a takie są różnice między pythonem a C/C++). Są też oczywiście takie zastosowania gdzie dużo ważniejsze jest to że kod będzie napisany w tydzień a nie w 2 miesiące. Należy zwyczajnie dobierać narzędzia pod konkretne zastosowanie, a nie mieć klapki na oczach i głosić jedyny prawdziwy język XYZ.

0

Python ma bardzo istotną zaletę w zastosowaniach w aplikacjach webowych. Nie trzeba nic ponownie kompilować, tak jak to ma miejsce w C++ tylko się samo przeładuje po podmianie plików i efekty są niemal natychmiastowo widoczne. Szybkość jest w tym zastosowaniu pewnie sprawą drugorzędną.

Co do C++ i rzekomego braku przyszłości, na podstawie tych trendów Google da się zauważyć jakąś funkcję monotoniczną więc nie wierzę żeby tak nagle stracił na popularności. Jasne, do mikrokontrolerów to nie ma zmiłuj, właściwy język. Tylko tak się zastanawiam czy np. procesory ATmega nie można by czasem też i programować i przy użyciu free pascala???

Oczywiście za pośrednictwem skryptów pythona też bez najmniejszych problemów można sterować mikroprocesorami, tylko że to się będzie opierało po prostu na tym że uP musi być podłączony przez port szeregowy do komputera a na laptopie można uruchamiać odpowiednie skrypty pythona i tu jest dobry przykład:

https://github.com/vascop/Python-Arduino-Proto-API-v2

Więc zastosowanie pythona może być nieco szersze :-)

0

Oczywiście C++ już umarł. Nie znajdziesz już pracy w tym języku. Nie ucz się C++ ; )

0

C++ powoli staje się językiem spoza głównego nurtu, ale który ma swoje nisze w których jest dobry/sprawdzony i będzie w nich trwał przez lata. Coś, jak COBOL i bankowość. Dla C++ takimi obszarami są głównie systemy wbudowane, gry i aplikacje działających po stronie serwera.

1
ly000 napisał(a):

https://www.google.pl/trends/explore#q=java%2C%20c%23%2C%20c%2B%2B%2C%20python%2C%20R&cmpt=q&tz=Etc%2FGMT-2

Wnioski nasuwają się same.

zapytania:

java download | 100
game java | 25
java games | 25
flash | 20
java script | 20

tak, właśnie mi uświadomiłeś że java wcale nie jest tak popularna - po prostu ludzie potrzebują ściągnąć jre żeby coś uruchomić lub szukają gier. Do żadnego innego języka przeciętny user nie musi niczego ściągać
a toys'r'us w polsce też jest w wielu galeriach handlowych

jeśli weźmiemy bardziej zbliżone dane developerom to sytuacja wygląda mniej więcej tak (nie znalazłem nowszego tak przejrzystego wykresu ale patrząc na dane trendy się utrzymują):

user image

Procentowo jest największy hype na javascript i prawdopodobnie się to utrzyma
Java dotarła do stabilnej poziomej kreski, ale co poszło w górę musi opaść... tak jak ruby, python, perl, czy php

javascript, c#, java, objective c, swift - to języki pnące się aktualnie w górę jeśli chodzi o procentowy udział

za to jeżeli spojrzymy na całkowitą liczbę projektów (prawdopodobnie idące w parze z zapotrzebowaniem na programistów danego języka) http://githut.info/
to okazuje się że WSZYSTKIE języki pną się w górę

można wyciągnąć tylko jeden wniosek - ogólnie programowanie ma przyszłość (a przynajmniej najbliższą)

1

C++ nie wyjdzie z użycia. Poza systemami czasu rzeczywistego, gdzie liczy się wydajność, dostęp do sprzętu jest używany również w aplikacjach biznesowych. Dość znany system tego typu to kombajn finansowy Kondor+ używany przez wiele banków. Miliony linii kodu w C++. Nikt tego nie przepisze, za duże koszty. Nie sądze, aby programiści gier nagle zechcieli się przerzucać na języki zarządzalne. Poza tym C++ wciąż się rozwija.

Inne pytanie czy warto się uczyć C++. Moim zdaniem warto zainwestować czas w języki zarządzalne jak C# i Java: dzięki refleksji powstaje wiele fajnych frameworków umożliwiających np. eleganckie testowanie jednostkowe. C++ zawsze można się douczyć jak będzie trzeba. I tak nie ma osoby, która ogarnia to w 100%: zbyt złożone i skomplikowane. Osobiście kiedyś programowałem trochę w Qt i miło wspominam.

Dobrze bym się zastanowił zanim wybrałbym C++ do nowego projektu. Trzeba mieć jakiś dobry powód. Zwłaszcza, że komputery są coraz szybsze, a maszyny wirtualne coraz lepsze.

Abyt poprawić swój skromny skill w programowaniu mam zamiar poświęcić trochę czasu na programowanie systemowe w czystym C jako oderwanie od Javy i pobawić się np. filtrowaniem pakietów: blisko sprzętu. Z sentymentu do BSD.

2

Hmmm tyle ciekawych statystyk a nie ma Tiobe ? A tutaj C++ na 3 pozycji.

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Programming language C++ is the biggest climber of the first half of 2015. Compared to last year C++ gained more than 3.1%, leaving Java (+2.0%), C# (+1.6%) and Python (+1.6%) behind.

Ale w sumie racja. C++ to martwy język. Dajcie mu spokuj. Mniejsza konkurencja będzie ;).

0

Wydaje mi się, że na ranking TIOBE duży wpływ mają uczniowie i studenci, którzy wyszukują informacje na temat języków, które są wykładane w szkołach i na uniwersytetach.

1

Indeks TIOBE i nagłówek

July Headline: Revival of C++

Jak można mówić że język umiera skoro jest ciągle rozwijany? Fakt że długo nic się nie działo ale teraz mamy już C++14 https://isocpp.org/blog/2014/08/we-have-cpp14, trwają prace nad C++17 - nie, C++ nie jest w odwrocie.

Poza tym pisanie że w Javie czy C# pisze się szybciej łatwiej i przyjemniej to bzdura. Skąd takie doświadczenia? Mówiąc o C# jakby automatycznie mamy na myśli .Net Framework ale jaki problem zainstalować sobie do C++ darmowe do użytku komercyjnego Qt? Pisałeś coś w Qt? Bo ja pisałem i w C# i w C++/Qt i jakoś nie widziałem tej magicznej przewagi w produktywności C# nad C++/Qt. W Javie nie pisałem ale przypuszczam że jest podobnie.

To co niektórzy mówią wynika właśnie z tego że uczą się języka rok i już myslą że go znają i później mówią takie bzdury. Pamiecią ręcznie nie trzeba zarządzac już dawno bo w boost od dawna mamy inteligentne wskaźniki w Qt tak samo, a teraz są już w standardzie.

Sam C++ to nic. Więc nie porównujcie samego C++ do C# czy Javy ale jak już to C# z .Net Framework do C++/Boost/Qt/innych bibliotek.

Warto uczyć się C++. Tylko wchodząc w to na poważnie musisz mieć świadomość że po pierwsze trudniej znaleźć pierwszą pracę ( wyższy próg wejścia niż w innych językach ) a dwa że nie nauczysz się pracy z C++ na przyzwoitym poziomie w rok czy 2 lata. Nie ma szans.

3

pisanie że w Javie czy C# pisze się szybciej łatwiej i przyjemniej to bzdura

Skąd takie doświadczenia?

W Javie nie pisałem ale przypuszczam

Resztę mógłbym skomentować, ale chyba nie ma sensu :)

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