C i C++ czy Java i ogólnie webdev

C i C++ czy Java i ogólnie webdev
Vaversky
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 2 lata
  • Postów:24
0

Jak w tytule tematu. W co się lepiej kierować w przyszłości?

edytowany 1x, ostatnio: cerrato
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
2

Jakie są Twoje kryteria wyznaczające lepiej?


KA
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:11
1

Co powinienem dzisiaj zjeść na podwieczorek, jabłko i gruszke czy banana i ogólnie ciasto?

edytowany 1x, ostatnio: Katos
lamerski
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 2 lata
5

Dziś aby dostać dobrą robotę w C, trzeba też być dobrym w elektronice. Ogłoszeń z ofertami pracy jest stosunkowo niewiele. Robotę w tej technologii dostaje się zwykle z polecenia. Niełatwo się przebić.
C++ to baaaaaardzo wysoki próg wejścia. Nie przypominam sobie, bym kiedykolwiek widział ofertę pracy dla junior C++ developera. Zapewne jest możliwe złapanie roboty bez komercyjnego doświadczenia, ale z takim repo na GitHubie, że nawet Strostroup musiałby być pod wrażeniem. Poza tym to chyba najtrudniejsza technologia z jaką miałem do czynienia. Niewielu programistów z doświadczeniem ma odwagę powiedzieć, że zna ten język dobrze. Ja raczej nigdy tego o sobie nie powiem. Temu językowi wróżę niezagrożoną przyszłość w kreowaniu wirtualnej rzeczywistości. Potwierdzeniem tego jest jego dominacja w game dev'ie.
Java ma prawdopodobnie największy potencjał rozwojowy. Niższy jest próg wejścia niż w C++, ale wokół działów HR krąży chmara aplikujących, wmawiających sobie, że po kilku miesiącach nauki będą w stanie wnieść wartość dodaną do biznesu potencjalnego pracodawcy.
Trudno cokolwiek doradzić, ale gdybym miał dzisiaj wybrać jedną z tych technologii, mając taką wiedzę, jaką mam, to, pomimo tego, że moje programistyczne dokonania mogę uszeregować, stawiając na pierwszym miejscu C, a na ostatnim Javę, wybrałbym Javę.

Poza tym stawianie w jednym szeregu C i C++ jest - moim skromnym zdaniem - nieporozumieniem. To dwa zupełnie różne języki. Najistotniejszyn kryterium odróżniającym jest to, że zupełnie inaczej się w nich myśli. Przesiadka z C na C++ wymaga więcej zaangażowania, niż kompletne opanowanie C od podstaw, bez wcześniejszego doświadczenia w programowaniu.

Nie słuchaj ludzi, którzy będą Ci mówić, że któraś z tych technologii umiera. To bzdura. Słyszę to od ponad dwudziestu lat. Napisano już tyle kodu w tych trzech językach, że (ze względów finansowych) będziemy ich używać jeszcze przez 20, 30 lub 40 lat, bo nie będzie się opłacało tego wszystkiego przepisywać, popełniając przy tym znów te same kosztowne błędy. Jeśli coś działa, to się tego na siłę nie naprawia, bo na pewno się coś spie...i. Będziemy siedzieć w tych technologiach tak długo, jak długo nie zmieni się i nie upowszechni inna architektura sprzętu, na którym pracujemy. Czyli do momentu, w którym procesory zamienimy na zwoje mózgowe ;-)


Życie jest zbyt krótkie, by marnować czas na spieszenie się.
edytowany 3x, ostatnio: lamerski
Zobacz pozostałe 5 komentarzy
lamerski
A czy Twoje miasto zaczyna się na "W", a kończy na "w" lub "a"? :-)
Tenonymous
no właśnie nie! To nawet nie jest stolica województwa, ani nawet nie jest to drugie co do wielkości miasto w tymże. Nie mamy własnej politechniki, jest raptem PWSZ. :)
lamerski
Firma robi kod typowo w C++ czy używa głównie innych technologii?
Tenonymous
Głównie C++. Do jakichś tam webowych/mobilnych rozwiązań C#, ale to raczej warstwa prezentacji, ale to raczej mniejszość.
lamerski
No to zamiast komentarza, pozostaje mi tylko zrobić :-o A że lubię pozytywne zaskoczenia, dodam jeszcze :-)
NT
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:2
2

Jeśli chcesz mieć pracę w korpo z ciekawszymi projektami to lepiej scale i nie zastanawiaj się nad tym dłużej, bo nie ma sensu konkurować na rynku z osobami, które już mają +10 lat doświadczenia. Scala jest lepszym wyborem niż Java, ponieważ jest mniej oklepana i stosowana w ciekawszych projektach.

Jeśli chcesz pracować w małych firmach albo zdalnie to lepiej celuj w języki dynamicznie, głównie javascript. Co prawda dla ruby/python rynek jest gorszy, ale za to można kodować backend + zwykle można spodziewać się kodu w nieco lepszym stanie.

Vaversky
Czyli uwazasz, ze scala to obecnie taka jakby przyszlosc? Czy jednak jeszcze cos innego? Dodatkowo jakie sa zastosowania Scali?
NT
W Scali masz duuuużo mniej projektów niż w java więc po Twojemu to za bardzo nie jest "przyszłość". Zastosowania to bardziej w kierunku systemów realtime, i bigdata. Ogólnie w takim programowaniu jest więcej fajerwerków, typu programowanie funkcyjne, więcej nacisku na współbieżność. Ja nie przepadam za Scala, ale to jest dobry kompromis między kasa, robieniem ciekawych rzeczy w pracy, i po pracy.
TD
@NawetTaniej Realtime to chyba jednak nie bardzo
somedev
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
0

Ja zaczynałem od stanowiska programisty C++. Język fajny ale cześć jego implementacji jest słaba i dużo kodu dziedziczonego. Jak nie lubisz grzebać w kodzie dziedziczonym to zmień robotę. To co teraz naskrobiesz Ws cali będzie za 10 lat legacy i szambo bo przez 10 lat na tyle się zmienia założenia j wymagania ze z pięknego kodu zrobi się pokraczna chimera i tak zostanie. Do tej pory jest kupa kodu w cobolu, fortranie, c, c++, Javie czy c# z .net 2.0. Greenfield to początkowa faza legacy i lepiej uczyć się pracy w legacy niż szukać mitycznych ciekawych projektów w js czy scali.

Zobacz pozostałe 5 komentarzy
NT
Twój wybór skoro wolisz przewalać łajno z jednej strony na drugą. Dobry programista unika miejść w których będzie się kisił. Wg mnie najlepsze osoby jakie spotkałem w firmach zwykle albo zmieniały firmę, który ich wpływ na pracę się zmniejszył (np. na skutek zmiany zarządu) albo zakładały własne firmy.
somedev
Żyjesz w świecie iluzji. Jeśli jakiś super programista, który nie chce pisać w kodzie legacy dorabiając ficzery tylko chciałby to przepisać założy swoją firmę, to prędzej czy później kod w tej nowej firmie też będzie legacy. Raz, że technologię się starzeją - np, kiedyś nie było linq i powstało masę kodu - to co przepisywać to? Po co? Po drugie, jak on zacznie płacić za kod to jego stosunek do haków na 100% się zmieni. No i po 5-10 latach jak będzie maił legacy code base to co zrobi? Założy drugą firmę, by pisać kod od 0, zdobyć nowych klientów, markę, stracić n kasy? ....
NT
Wychodzi na to, że najlepiej jest mieć wyrąbane, gratuluje podeścia.
somedev
A kto mówi o "wyrąbaniu"? Właśnie należy starannie poruszać się w legacy, żeby starać się nie robic większego syfu, zarazem dostarczając wartość. Widziałem w życiu więcej uwalonych projektów własnie przez huraoptymistyczne przepisywanie systemów niż przez rozwijanie starego kodu. Niestety teraz nie uczy się nikogo, że lepsze są ewolucję niż rewolucje. Rewolucje ponosi koszt swoich ofiar i może się skończyć nieodwracalną klapą. Pod względem zarządzania ryzykiem, przepisywanie jest najgorszą opcją.
somedev
Zresztą podejście "wyrąbania" jest wtedy, jak ktoś się obraża na kod/zarząd i ucieka do innej firmy.
AreQrm
  • Rejestracja:prawie 11 lat
  • Ostatnio:26 dni
  • Lokalizacja:Londyn
  • Postów:873
1

Odpuściłbym C i C++ a poszedł w innym kierunku. Może być Java, Scala, C# i .net Core... coś bardziej mainstreamowego na początek. Może być front i React czy tam Vue... Webowo ale... Na pewno nie PHP


LI
A dlaczego nie PHP? Pisanie w PHP 7.4 to po prostu bajka, dużo lepszy język skryptowy niż JavaScript, nie posiada takich trywialnych błędów. https://mansfeld.pl/programowanie/php-czy-warto/
AreQrm
I do tego posaida kiepską opinie, dużo JanuszSoftów, mało poważnych projektów (są, ale mało) i co za tym idzie ciężko o dobre zarobki. Tak średnio, owszem da się, ale po co?
KE
Stawiam że faktycznie, to najnowsze PHP może być bardzo fajne (tak słyszałem), przy jakimś nowym projekcie na przykład. Ale fakt, ryzyko wdepnięcia w januszsoft klepiący wordpressa za wordpressem jest całkiem spore, niestety.
hit02
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 4 lata
  • Lokalizacja:Kernel
  • Postów:90
1

A co cię bardziej interesuje?


loop:
push 0FFFFFFFFh
call Sleep
jmp loop
Zobacz pozostałe 9 komentarzy
somedev
Jakby amazon zarabiał mniej niż it co jego robi to by nie istniał
Miang
każdej firmie jest potrzebny ktoś kto wie GDZIE walnąć młotkiem i to powszechne nigdy nie będzie
somedev
Nie przeczę. Niemniej takie osoby nie zarabiają najwiecej z firmy a dwa - nie jest ich zbyt wiele jak zauważyłeś i 90% reszty kadry jest id nich gorsza i mniej zarabia.
Miang
najlepiej jak dyrekcja tak naprawdę nie ma pojęcia kto jest taką osobą w firmie
somedev
Tak tak. Źli dyrektorzy co nie dostrzegają mesjasza który nie potrafi zostać odkrytym. Nieznajomy którego wypraszamy z domu w oczekiwaniu na wizytę Jezusa a to był on sam :)
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około godziny
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
3

Człowieku... tylko Idris. Ewentualnie Agda(ale to już nisza nisz). Reszta to nuuuudy.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
nie100sowny
  • Rejestracja:prawie 9 lat
  • Ostatnio:dzień
  • Lokalizacja:Kraków
  • Postów:402
0

Ja bym się kierował w logiczne myślenie, algorytmy, podstawy działania komputerów i systemów operacyjnych w C / C++.
Szczególnie gdy studiujesz, a kasa nie musi być na jutro. W przeciwnym wypadku możesz zakopać się w enterprise bullshit po pachy i popaść w depresję.


"Gdy się nie wie, co się robi, to się dzieją takie rzeczy, że się nie wie, co się dzieje"
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)