Zmiana języka - luźne rozważania

1

Cześć wszystkim.
Znudzony już trochę tym jak wygląda kod produkcyjny w C++[tona zaszłości, wskaźniki na wskaźniki, wskaźniki na funkcje, new i delety, brak STL'owych struktur danych bo lepiej zrobić alokacje przez new], pomyślałem sobie o zmianie ścieżki kariery. Broń boże nie jest to temat na zasadzie "jest tyle języków, nie wiem co wybrać", ani też nie "który język przyniesie mi największe zarobki". Wybrałem kilka języków, potrzebuję dowiedzieć się o realiach pracy w tych technologiach. C++ bardzo lubię, od 11'stki da się w nim pisać naprawdę super kod, ale mam wątpliwości, że jak będę zmieniał firmę, to w innych projektach jest dużo bardziej "nowoczesny" kod, mniej bałaganu, mniejsza ilość definów i innych dupereli, których w tym języku, od co najmniej 8 lat, nie trzeba kompletnie używać - niemniej, jeżeli się mylę, i ktoś osobiście zna krakowskie firmy, w których standardy kodowania w tym języku są całkiem wysokie, chętnie się o nich dowiem, bo ten język znam zdecydowanie najlepiej ze wszystkich, i sporo czasu na rozwijanie tej wiedzy poświęciłem.

Selekcja dotyczy kilku języków, które mniej lub bardziej znam, a w których bym się widział:

C - Rezygnacja z C++ na rzecz tego języka to pewnie byłby trochę ból, z uwagi na konieczność pożegnania się z STL'em i brakiem alternatywy dla niego, ale z drugiej strony język jest relatywnie prosty, i ta rezygnacja z STL'a ma taką korzyść, że i dziwnych problemów można uniknąć. Mam jednak wątpliwości czy byłaby tu jakaś wielka zmiana względem C++'a pod względem standardów kodzenia, a i najwięcej ofert widzę w embedded, a trochę nie jestem fanatykiem programowania na bare metal i malutkie urządzenia.

**C# **- Super język, naprawdę bardzo lubię pisać w C#, mimo ogólnego nielubienia się z technikami MS. Problem jaki widzę to niestety konieczność pracy na Windowsie - dużo wygodniej pracuje mi się na macOS/Linux. Widziałem kilka ofert, gdzie oferowano możliwość pracy na Linuxie czy Maku, ale generalnie takich ofert było niewiele - może ktoś się spotkał, bo trochę mnie interesuje jak to wygląda.

Scala - Cenię sobie możliwości Scali, ciężko sobie rozpisywać, ale bardzo przyjemnie jest dla mnie pisanie w tym języku. Tutaj jedyne wątpliwości, to w zasadzie fakt, czy dla kogoś bez doświadczenia w Javce, jest w ogóle szansa na wbicie się na rynek Scali.

**Go ** - Patrz avatar. Brak sensownych ofert na ten moment i to jest główny problem.

Chciałbym poznać wasze doświadczenia z tymi językami, w opozycji do tego, co skromnie opisałem na temat moich doświadczeń z C++. Można ten temat potraktować luźno, obecnie nie pali się mi się grunt pod nogami, nie mam potrzeby zmieniania pracy "na już", a i zdaję sobie sprawę, że moja doświadczenie z pracą przy C++, nie jest żadnym wyznacznikiem i rzeczywistość może się okazać zupełnie inna.

1

Super język, naprawdę bardzo lubię pisać w C#, mimo ogólnego nielubienia się z technikami MS. Problem jaki widzę to niestety konieczność pracy na Windowsie - dużo wygodniej pracuje mi się na macOS/Linux. Widziałem kilka ofert, gdzie oferowano możliwość pracy na Linuxie czy Maku, ale generalnie takich ofert było niewiele - może ktoś się spotkał, bo trochę mnie interesuje jak to wygląda.

W każdej pracy w której pracujesz tylko na ASP.NET Core nie ma konieczności pracy na Windows, bo akurat te technologie równie dobrze działają wszędzie indziej. Głównie to będą nowe produkty (bo dość nowa technologia) i jest to back-end webowy zazwyczaj.

1

C# - Super język, naprawdę bardzo lubię pisać w C#, mimo ogólnego nielubienia się z technikami MS. Problem jaki widzę to niestety konieczność pracy na Windowsie - dużo wygodniej pracuje mi się na macOS/Linux. Widziałem kilka ofert, gdzie oferowano możliwość pracy na Linuxie czy Maku, ale generalnie takich ofert było niewiele - może ktoś się spotkał, bo trochę mnie interesuje jak to wygląda.

E tam. Dla chcącego nic trudnego. Problemem nie jest niemożliwość przesiadki na Linux tylko często ograniczenie głów w firmie jak to Linux!?. Szukaj projektów w .NET Core, i problem nie będzie istnieć ;-)

Scala - Cenię sobie możliwości Scali, ciężko sobie rozpisywać, ale bardzo przyjemnie jest dla mnie pisanie w tym języku. Tutaj jedyne wątpliwości, to w zasadzie fakt, czy dla kogoś bez doświadczenia w Javce, jest w ogóle szansa na wbicie się na rynek Scali.

Yup. Ale musiałbyś najpierw sam into Scala tak żeby już wiedzieć co nieco (im więcej tym lepiej). Widziałem na przestrzeni kilkunastu miesięcy kilka ciekawych ofert żeby w to wejść.

0
Ktos napisał(a):

W każdej pracy w której pracujesz tylko na ASP.NET Core nie ma konieczności pracy na Windows, bo akurat te technologie równie dobrze działają wszędzie indziej. Głównie to będą nowe produkty (bo dość nowa technologia) i jest to back-end webowy zazwyczaj.

Znam oczywiście Cora i wiem co to za sobą niesie. Zastanawiam się bardziej, czy przypadkiem większym problemem nie będzie stack, z którego korzystają firmy[jakieś poczty windowsowskie i inne tego typu rzeczy].

Hispano-Suiza napisał(a):

E tam. Dla chcącego nic trudnego. Problemem nie jest niemożliwość przesiadki na Linux tylko często ograniczenie głów w firmie jak to Linux!?. Szukaj projektów w .NET Core, i problem nie będzie istnieć ;-)

Scala - Cenię sobie możliwości Scali, ciężko sobie rozpisywać, ale bardzo przyjemnie jest dla mnie pisanie w tym języku. Tutaj jedyne wątpliwości, to w zasadzie fakt, czy dla kogoś bez doświadczenia w Javce, jest w ogóle szansa na wbicie się na rynek Scali.

Yup. Ale musiałbyś najpierw sam into Scala tak żeby już wiedzieć co nieco (im więcej tym lepiej). Widziałem na przestrzeni kilkunastu miesięcy kilka ciekawych ofert żeby w to wejść.

Co do C#, to tak jak wyżej. Co do Scali - widziałem właśnie parę interesujących ofert, gdzie generalnie nie wymagali komercyjnego doświadczenia - ciekawe jak to jest później w rzeczywistości. :D

1

.net Core się rozwija więc coraz więcej jest ofert gdzie nie ma przywiązania do Windowsa (aczkolwiek nie rozumiem chęci pracy na Linuxie, a macOS jest zwyczajnie nie wygodny - pracowałem na nim jakiś czas). Co więcej pojawiają się projekty, które NIE są backendem webowym, a są pisane w .net core, sam rozwijam parę takich. Niemniej w C# też możesz napotkać g**no podobne do C++ - jakieś jakieś for i iteracje po listach z usuwaniem elementów i dekrementacją licznika, pełno statycznych klas i pól, singletony, realizowanie komunikacji przez n formatów bo komunikacje między klasami robił programista A, między instancjami po TCP programista B, a po schowku systemowym programista C. Ofc. można tego zapobiec ale zdarza się taki kod. Ja bym rekomendował C#, bo C to głównie systemy osadzone, coś w okół linuxa i generalnie mam wrażenie, że mało sensownych ofert. Co do Scali i Go się nie wypowiem, bo linijki kodu w tym nie napisałem.

1
somedev napisał(a):

.net Core się rozwija więc coraz więcej jest ofert gdzie nie ma przywiązania do Windowsa (aczkolwiek nie rozumiem chęci pracy na Linuxie, a macOS jest zwyczajnie nie wygodny - pracowałem na nim jakiś czas). Co więcej pojawiają się projekty, które NIE są backendem webowym, a są pisane w .net core, sam rozwijam parę takich. Niemniej w C# też możesz napotkać g**no podobne do C++ - jakieś jakieś for i iteracje po listach z usuwaniem elementów i dekrementacją licznika, pełno statycznych klas i pól, singletony, realizowanie komunikacji przez n formatów bo komunikacje między klasami robił programista A, między instancjami po TCP programista B, a po schowku systemowym programista C. Ofc. można tego zapobiec ale zdarza się taki kod. Ja bym rekomendował C#, bo C to głównie systemy osadzone, coś w okół linuxa i generalnie mam wrażenie, że mało sensownych ofert. Co do Scali i Go się nie wypowiem, bo linijki kodu w tym nie napisałem.

Dziwna uwaga z tym systemem. :P Mi jest natomiast wygodniej pracować, i na macOSie i na Linuxie.

Tak generalnie, to nie spodziewam się drastycznych różnic między tym co mam w C++, a tym co będzie w innych językach - po prostu zapewne wybór projektów, w takim C#, będzie znacznie większy, to i łatwiej o coś mniej dziadowskiego.

Co do C - mnie akurat praca w okół Linuxa by mocno odpowiadała.

0

No jeśli miał bym pisać przy samym linuksie jako jądrze to mi tez, bo lubię niskopoziomowe zagadnienia (aczkolwiek pewnie bym postawił to na VM na W10 ;) ), natomiast w Polsce baaaardzo mało ofert tego typu, a jak juz to jakies doraźne skompilowanie jądra po jakieś zastosowanie czy lekkie modyfikacje. Tutaj o wiele ciężej o pracę dobrą niż w C#. Najłatwiej to poprzez dostanie się do firm, które sponsorują rozwój linuxa - Novel, RedHat, Intel, Microsoft etc. . Ale to też kwestia czy lubi się takie firmy i czy są osiągalne.

2

Znowu argument o wskaźnikach w C++ :D . Miałem okazję pracować z C i C++. W obu językach da się zrobić ładny i brzydki kod. Wujek Martin w książce "Czysta Architektura" podał ładny przykład na to, że w C też można całkiem nieźle kodzić obiektowo i zrobić coś, czego klasy w C++ nie umieją. Ja bym na samej rozmowie spytał jak wygląda sprawa ze stylem kodowania, czasem można otrzymać satysfakcjonującą odpowiedź.

0

Co zrobisz w C a nie w C++? Przecież istnieje dość duża kompatybilność tych języków? Co do wskaźników - nie poradzisz nic jak musisz utrzymywać 20 letni kod z kilka kk LOC.

1

Najbezpieczniej byloby wejsc w Scala. Masz wtedy cale JVM do dyspozycji, i na dobra sprawe inne jezyki oraz wynalazki + gigantyczne zaplecze narzedziowe + mozesz siedziec na Linux.

MS zejdzie jeszcze z dekade zanim przeniesie wszystkie swoje narzedzia do wersji Core (w satysfakcjonujacej jakosci).

Moze niech @Wibowit Ci poopowiada. Albo @jarekr000000 o ile nie zacznie kolejnego wykladu na temat Springa, i JEE oraz @Trollsactional :P

2

@somedev: Napisałem, że w C można coś czego nie umieją klasy. W samym C++ też można to zrobić. Chodzi o hermetyzację. Robisz np. nagłówek

struct Point;
struct Point* makePoint(double x, double y);
double distance (struct Point *p1, struct Point *p2);

i implementację

#include "point.h"
#include <stdlib.h>
#include <math.h>
struct Point {
double x,y;
};
struct Point* makepoint(double x, double y) {
struct Point* p = malloc(sizeof(struct Point));
p->x = x;
p->y = y;
return p;
}
double distance(struct Point* p1, struct Point* p2) {
double dx = p1->x - p2->x;
double dy = p1->y - p2->y;
return sqrt(dx*dx+dy*dy);
}

Klasy C++ nie umieją mechanizmu tego typu. Czy to źle to inna sprawa. W każdym razie da się tu i tu robić fajne rzeczy.

0

Wydaje mi się, że powinieneś pomyśleć bardziej nad branżą, ponieważ każda technologia ma swoją niszę. Język C będzie wykorzystywany tam gdzie liczy się szybkość czyli głównie przy sterownikach. Język C++ pozwala tworzyć skomplikowane projekty jednocześnie korzystające z szybkości bibliotek napisanych w C, także większość gamedevu siedzi w C++ i raczej prędko z niego nie zniknie. Tak samo każde oprogramowanie wymagające odpowiedniej mocy przeliczeniowej -> Autocad, Maja, 3DMax, Photoshop etc. Java/Kotlin i C# stawiają na backend webowy, aczkolwiek można też robić w nich praktycznie wszystko. Frontend webowy to Javascripty i typescripty. No i oczywiście są jeszcze bazy danych, wtedy SQLe. Także ja bym myślał bardziej pod kątem takim, w jakiej branży będą mnie interesowały projekty przy wyborze języka. Btw, napisałeś tego posta trochę z autoodpowiedzią -> C#

0
viader napisał(a):

Wydaje mi się, że powinieneś pomyśleć bardziej nad branżą, ponieważ każda technologia ma swoją niszę. Język C będzie wykorzystywany tam gdzie liczy się szybkość czyli głównie przy sterownikach. Język C++ pozwala tworzyć skomplikowane projekty jednocześnie korzystające z szybkości bibliotek napisanych w C, także większość gamedevu siedzi w C++ i raczej prędko z niego nie zniknie. Tak samo każde oprogramowanie wymagające odpowiedniej mocy przeliczeniowej -> Autocad, Maja, 3DMax, Photoshop etc. Java/Kotlin i C# stawiają na backend webowy, aczkolwiek można też robić w nich praktycznie wszystko. Frontend webowy to Javascripty i typescripty. No i oczywiście są jeszcze bazy danych, wtedy SQLe. Także ja bym myślał bardziej pod kątem takim, w jakiej branży będą mnie interesowały projekty przy wyborze języka. Btw, napisałeś tego posta trochę z autoodpowiedzią -> C#

Najbliżej mi pewnie do tych że wydajnych systemów, niemniej osobiście znam jedną firmę, która system, mający sporo danych do przemielenia, piszę w C#, i raczej na brak klientów nie narzekają, także pewnie też się da. Zresztą w dzisiejszych czasach, przy cenie za sprzęt, można trochę odpuścić sobie mikro-optymalizacje. Co do Gamedevu - jak o tym czytałem, to zawsze wydawało mi się niezwykle ciekawe, a jak zaczynałem się tym bawić to szybko mnie nudziło.
Dlaczego z autoodpowiedzią? ;>

0

@Tenonymous: w jakim mieście aktualnie pracujesz ? Bo z tego co pamiętam mówiłeś coś i Aeolusie albo Thuamateca ? Tam też źle ?

3

Scala - Cenię sobie możliwości Scali, ciężko sobie rozpisywać, ale bardzo przyjemnie jest dla mnie pisanie w tym języku. Tutaj jedyne wątpliwości, to w zasadzie fakt, czy dla kogoś bez doświadczenia w Javce, jest w ogóle szansa na wbicie się na rynek Scali.

Zależy czy jest projekt Java/ Scala czy sama Scala. W moim projekcie jest sama Scala i dlatego na rozmowach rekrutacyjnych nie pytamy o umiejętności z Javy (praktycznie?) w ogóle. Ciśniemy core Scala, programowanie funkcyjne, biblioteki Scalowe, itd

W praktyce jednak prawdopodobnie w każdym projekcie przydaje się chociażby umiejętność skorzystania z bibliotek Javowych z poziomu Scali. Nie zawsze jest porządna i na bieżąco aktualizowana nakładka bądź pełna alternatywa dla bibliotek Javowych i wtedy używamy bibliotek Javowych wprost. Jest to zdecydowanie sensowne rozwiązanie - po co wymyślać koło od nowa w Scali albo polegać na czymś kiepskim tylko dlatego, że ktoś to sobie naklepał kiedyś w Scali? Efekt jest taki, że niewielka część naszego kodu Scalowego to integracja z bibliotekami Javowymi i działa to sobie OK. Podobnie jest pewnie w innych językach, tzn np Kotlinowcy prawdopodobnie korzystają bez problemu z czysto Javowych bibliotek, C++owcy i Rustowcy z czysto C-owych, TypeScriptowcy z czysto JavaScriptowych, itd

0

C# i tak jak poprzednicy radzili, szukaj projektów w .core i praca na maku nie będzie przeszkodą, docker i wszystko postawisz.
Scala jest fajna, znajomy szukał pracy mając 3 miesiące doświadczenia w javie i wzieli go jak tylko pokazał że ogarnia podstawy, z tym że w krakowie jest mało firm piszących w scali, a jeszcze mniej z sensownym codebase i spoko projektami :D

1

Jeśli podoba ci się C# i Scala to czemu nie celować w Javę/Kotlina (albo faktycznie w Scale)?

0

w Krakowie znajdziesz firmy, które robią fajne rzeczy w Go (mogę dać kontakt). Co do C#, to pewnie jest dużo lepiej. Odnośnie JVM to pewnie zaraz po PHP jest to najpopularniejszy język w Krk więc problemu nie będzie. Problem jest raczej taki - co wolisz robić? Klepać backend i siedzieć bardzo blisko blachy czy też jara Cię praca na wyższym poziomie z biznesem, czy też może bardziej infrastruktura (AWSy, mikroserwisy, kolejki, transakcje rozproszone itp).

0

Jeszcze takie pytanie - jak na kompletną zmianę języka patrzą pracodawcy? Załóżmy, że chcę iść z Embedded C/C++, do Scali. Jestem traktowany jak gość bez doświadczenia i muszę się liczyć z obniżeniem zarobków do rangi absolutnie początkującego?

1

Ja z deva C++ zmieniając firmę przeszedłem na C# nie znając go za dobrze. Jak pisałeś x lat w czymś to masz doświadczenie a język to tylko narzędzie.

0

Pamiętaj, że język to tylko narzędzie i w każdym możesz trafić do totalnego gównostacku. Ja np. w Go (który jest chyba młodym językiem), trafiłem do 2 zupełnie nowych projektów, które z teamem bootstrapowaliśmy. Po tygodniu już była sieka technologiczna i dług na miesiąc, i to w Go. Nie chcę mówić, co było po miesiącu. Pozdro korpoarchitekci od Javy z tego miejsca. W ogóle, z odpowiednim korpoarchitektem znienawidzisz każdy język, tylko daj mu szansę.

Więc nie przywiązuj się do języka, bo trafisz z jeszcze większego deszczu pod rynnę niż w antycznym C++ (bo w antycznym wiesz, że będzie antyk, a jak jest "cool" język i nowy to oczekuje się "cudów"). Jak chcesz robić coś "cool", to rób swój projekt po godzinach, pracując w jakimś ciepłym ***, gdzie jest miło i kasa spływa za samo tylko oddychanie. A jak chcesz więcej zarabiać, to język programowania nie ma żadnego znaczenia, tylko dochodzą inne skille i umiejętności.

0
Tenonymous napisał(a):

Cześć wszystkim.
Znudzony już trochę tym jak wygląda kod produkcyjny w C++[tona zaszłości, wskaźniki na wskaźniki, wskaźniki na funkcje, new i delety, brak STL'owych struktur danych bo lepiej zrobić alokacje przez new], pomyślałem sobie o zmianie ścieżki kariery. Broń boże nie jest to temat na zasadzie "jest tyle języków, nie wiem co wybrać", ani też nie "który język przyniesie mi największe zarobki". Wybrałem kilka języków, potrzebuję dowiedzieć się o realiach pracy w tych technologiach. C++ bardzo lubię, od 11'stki da się w nim pisać naprawdę super kod, ale mam wątpliwości, że jak będę zmieniał firmę, to w innych projektach jest dużo bardziej "nowoczesny" kod, mniej bałaganu, mniejsza ilość definów i innych dupereli, których w tym języku, od co najmniej 8 lat, nie trzeba kompletnie używać - niemniej, jeżeli się mylę, i ktoś osobiście zna krakowskie firmy, w których standardy kodowania w tym języku są całkiem wysokie, chętnie się o nich dowiem, bo ten język znam zdecydowanie najlepiej ze wszystkich, i sporo czasu na rozwijanie tej wiedzy poświęciłem.

c++ (specjalnie z małej) to zawsze był najbardziej poryty kod, zwłaszcza w projektach komercyjnych. Od tego nie ma ucieczki.

Selekcja dotyczy kilku języków, które mniej lub bardziej znam, a w których bym się widział:

C - Rezygnacja z C++ na rzecz tego języka to pewnie byłby trochę ból, z uwagi na konieczność pożegnania się z STL'em i brakiem alternatywy dla niego, ale z drugiej strony język jest relatywnie prosty, i ta rezygnacja z STL'a ma taką korzyść, że i dziwnych problemów można uniknąć. Mam jednak wątpliwości czy byłaby tu jakaś wielka zmiana względem C++'a pod względem standardów kodzenia, a i najwięcej ofert widzę w embedded, a trochę nie jestem fanatykiem programowania na bare metal i malutkie urządzenia.

Embedded to nie tylko bare metal i nie tylko malutkie urządzenia. To też całkiem pokaźne routery, switche, smartfony etc. wszystko działające pod kontrolą całkiem sporych OSów.

**Go ** - Patrz avatar. Brak sensownych ofert na ten moment i to jest główny problem.

To szukaj zdalnych opcji dla zagramanicy.

Chciałbym poznać wasze doświadczenia z tymi językami, w opozycji do tego, co skromnie opisałem na temat moich doświadczeń z C++. Można ten temat potraktować luźno, obecnie nie pali się mi się grunt pod nogami, nie mam potrzeby zmieniania pracy "na już", a i zdaję sobie sprawę, że moja doświadczenie z pracą przy C++, nie jest żadnym wyznacznikiem i rzeczywistość może się okazać zupełnie inna.

Twoja praca z C++ jak najbardziej jest wyznacznikiem rzeczywistości - realia większości projektów komercyjnych to byle szybciej byle działało - w połączeniu z C++ to mokry sen naćpanego Duńczyka, który nie wychodzi z piwnicy przez większość życia, bo kocha debugować błędy generujące 10 stronicowy output i zgadywać jakie nieobsłużone przypadki brzegowe generuje 10 warstw kodu każdy pisany korzystając z innego subsetu C++. Plus jest taki, że jak umiesz to robić, to mało co cię w życiu jako programista zagnie.

0
Tenonymous napisał(a):

Jeszcze takie pytanie - jak na kompletną zmianę języka patrzą pracodawcy?

Zdefiniuj "kompletną zmianę" :P

  • czy zmiana w obrębie tego samego języka, tylko na mocno różniącą się wersję jest kompletna?
  • czy zmiana na język wywodzący się z dotychczasowego (lub odwrotnie) jest kompletna?
  • czy zmiana na język np. w obrębie tego samego ekosystemu np. Java <-> Kotlin <-> Scala <-> Groovy jest kompletna?
  • czy zmiana na język różniący się mocno składnią ale w obrębie zbliżonych zastosowań i paradygmatu jest kompletna?

Załóżmy, że chcę iść z Embedded C/C++, do Scali. Jestem traktowany jak gość bez doświadczenia i muszę się liczyć z obniżeniem zarobków do rangi absolutnie początkującego?

To jest jedna, wielka, cholerna ruletka jak patrzą.

  • dla części odpadasz całkowicie, bo ale pan nie masz doświadczenia w X tylko w Y
  • część przymknie trochę oko i przyjmie ale "zdegraduje" czy coś
  • część przymknie bardzo oko tzn. słyszałem o przypadkach gdy np. gość bez doświadczenia w C++ i embedded zostawał seniorem C++ w embedded
  • część ma coś w rodzaju zaburzenia dwubiegunowego i np. najpierw przeciągnie Cię pomyślnie przez rekrutację, a potem zajrzy do CV i Cię odrzuci przez brak doświadczenia
0
TurkucPodjadek napisał(a):

Pamiętaj, że język to tylko narzędzie i w każdym możesz trafić do totalnego gównostacku. Ja np. w Go (który jest chyba młodym językiem), trafiłem do 2 zupełnie nowych projektów, które z teamem bootstrapowaliśmy. Po tygodniu już była sieka technologiczna i dług na miesiąc, i to w Go. Nie chcę mówić, co było po miesiącu. Pozdro korpoarchitekci od Javy z tego miejsca. W ogóle, z odpowiednim korpoarchitektem znienawidzisz każdy język, tylko daj mu szansę.

Więc nie przywiązuj się do języka, bo trafisz z jeszcze większego deszczu pod rynnę niż w antycznym C++ (bo w antycznym wiesz, że będzie antyk, a jak jest "cool" język i nowy to oczekuje się "cudów"). Jak chcesz robić coś "cool", to rób swój projekt po godzinach, pracując w jakimś ciepłym ***, gdzie jest miło i kasa spływa za samo tylko oddychanie. A jak chcesz więcej zarabiać, to język programowania nie ma żadnego znaczenia, tylko dochodzą inne skille i umiejętności.

Tylko to niekoniecznie chodzi o architekturę, a bardziej o zróżnicowanie C++ na poszczególnych standardach. Jak w kodzie spotykasz tonę dziwnych makr, bo ktoś tam kiedyś przeczytał, że to super hiper uber mega szybkie rozwiązanie, a już na pewno milion razy wydajniejsze niż lambda, czy funktor, to trochę się jednak odechciewa na to patrzeć. A jak jeszcze w miejscu, w którym tego "cudownego" makra użyto, pojawia się błąd to krzyż na drogę.
Mnie generalnie wcale nie chodzi o to, żebym miał super nowoczesny projekt, z samymi wysokimi standardami. Po prostu wiem, że w innych językach, z uwagi na brak takich dziwacznych możliwości, jest szansa uniknąć takiego burdelu.

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