Wybór języka programowania

Witam.

Mam zamiar uczyć się języka programowania. Waham się pomiędzy C++ a Java, ewentualnie jakieś odmiany tegoż C++, lub (bardzo ewentualnie) JavaScript. Rozpocząłem studia inf ale nie sądzę żebym się dużo z nich nauczył. Ogólny cel jest taki abym mógł to wykorzystać jako przyszłe źródło zarobku :slight_smile:

W C++ tworzyłem początkujące programy (skończyło się na funkcjach w technikum), teraz nadal uczą tego języka na studiach. Na tym etapie raczej nie będę miał większych problemów żeby się przerzucić. 

Chodzi mi głównie o to, aby było w miarę łatwo o pracę. Zapewne ciężko będzie udzielić Wam jednoznacznej odpowiedzi ale może ktoś się orientuje w obecnej sytuacji. Możeciec też opisać wady i zalety Javy i C++, bo w necie różne rzeczy widziałem. 

Jeśli ktoś zna oba języki to niech mi opisze “charakter” pisania programów tzn. gdzie jest wygodniej (podobno w Javie) itp.

Jeślis potrzebujecie wiedzieć coś więcej to pytajcie. 

Odpuściłbym sobie oba.

Web jest przyszłością. Data Science jest przyszłością. Zainteresuj się czymś takim, jak właśnie JavaScript, włącznie z NodeJS (web), albo Pythonem (Data Science).

 

Aha. Czym dalej idziesz w programowanie, tym łatwiej jest “się przerzucić”.

Poleciłbym Javę + JavaScript, ale nie jestem obiektywny, bo to moje główne źródło zarobku (na liczbę ofert pracy w zawodzie nie narzekam). C++ zawsze nudził mnie swoją niskopoziomowością ograniczającą go do jedynie pewnej puli zastosowań.

Na Node.js bym uważał (znaczy się, warto poznać, nie warto się specjalizować). Generalnie wszędzie się o nim czyta, ale produkcyjnie prawie się go nie używa. Zazwyczaj leży sobie głęboko pod maską środowiska developerskiego (Grunt, Gulp), a gotowy projekt deployuje się na prawdziwym serwerze aplikacji.

[edit]

Ciekawa dyskusja

Do nauki języka na poczatek polecam Jave SDK (Oracle) a co do IDE to Netbeans oraz Eclipse (obie wersje do Javy SDK). Te 3 komponenty dadzą ci pełne środowisko desktopowe do nauki języka łącznie z możliwoscią pisania też pod Androida.

Co do C++ to naucz sie w zakresie twoich studiow a dobre IDE do tego to Microsoft Visual Studio Express (darmowa wersja).

To da ci dobre podstawy na początek. A pozniej jak bedziesz gdzieś już pracował jako programista to wtedy bedziesz się uczył tego co już ci konkretnie potrzeba do pracy.

Polecam Jave bo sam też miałem na studiach C++ a Javy uczyłem się sam (a wtedy jak zaczynałem to mało kto słyszał o Javie). Ponadto Java może być łatwiejsza na początek ponadto dostępność dobrych IDE też jest bardzo istotne bo nauka programowania to nie sam jezyk.

Warto znać języki klamrowe (Java, C, C++ C# sa to tak zwane “brace languages” bazujace na BCPL oraz B) bo one są w pewnym sensie podstawą dla przyszłego programisty.

Po co ma używać Visual Studio do C++, jeżeli może do tego wykorzystać Eclipse CDT, skoro ma programować też w Javie?

Mowię o najlepszych środowiskach IDE, do danego języka, nazwijmy to referencyjnych.

Netflix, Walmart, BBC, New York Times, Pay Pal, Medium, LinkedIn, Uber, Ebay, Pinterest to nikt? Prawie nikt?

https://github.com/nodejs/node-v0.x-archive/wiki/Projects,-Applications,-and-Companies-Using-Node

Ja używam od niedawna i jestem bardzo zadowolony. Ma swoje mankamenty takie jak kiepsko zorganizowana część ustawień (ustawianie projektu tak, aby można było używać C++11), ale ogólnie jest bardzo dobre. Wbudowane GDB i konsola bardzo dobrze się sprawdzają. Jest do tego bardzo przenośne - jeden folder ze wszystkim, nie trzeba instalować, wystarczy wypakować z archiwum i gotowe do użytku (można jeszcze załadować plik z ustawieniami i wszystko spersonalizowane). U siebie zauważyłem tylko jeden problem - czasem crashuje po zmianach w ustawieniach.

Ile z tych firm masowo zatrudnia w naszym kraju? Poza tym lista nie wyszczególnia charakteru użytkowania Node’a. Ja sam w pracy korzystam z Node’a niemal codziennie - jako niskopoziomowego składnika (ba, podstawy) JS-owego środowiska developerskiego. Czyli nie jako serwera, jak sobie twórcy wymarzyli, ale środowiska uruchomieniowego node’owych pluginów, jak to teraz robi większość świata.

 

W debugowanie zbytnio się jeszcze nie zagłębiałem.

https://www.youtube.com/watch?v=sW18PMBmTp4

Używam Eclipse na Linuksie i mam ustawiony systemowy kompilator (GCC g++ 4.8 albo 4.9). Nie wiem jakie obsługuje, bo właściwie g++ jest dla mnie wystarczające. Z bibliotekami problemów nie ma, dołącza się je łatwo. Zainstalowane w odpowiednich katalogach można od razu dołączać na poziomie kodu.

Nie dawno zmieniałem środowisko i szukałem w internecie, czego używać. Właściwie wszędzie najbardziej polecane było Visual Studio i Eclipse.

Na początek polecam ci Pascala a potem pomyśl C++ :slight_smile:

Dziękuję bardzo wszystkim za odpowiedzi :slight_smile:

Nie rozumiem dlaczego ktoś w tych czasach miałby zaczynać od Pascala. Język ani to dobry do nauki ani to przyszłościowy.

Debugger to podstawowa sprawa w IDE skoro nie zagłębiałeś się w debuggera to nie znasz Eclipse C++.

Ponadto tutaj na wideo jest stara wersja Eclipse do Javy, Eclispe do Javy jest OK, wszystko dziala tak jak należy, przynajmniej w tych nowszych.

 

Radoslaw J , na forum używamy polskich liter diakrytycznych (ą, ć, ę, ń i tak dalej). Proszę - korzystając z przycisku Edytuj (na dole każdego posta po lewej stronie) - wyedytować swoje posty w tym temacie. Zignorowanie tej prośby będzie skutkować przeniesieniem tematu do kosza.

 

Pozdrawiam,

Dimatheus

@Radoslaw J Wybacz, nie ten link, ale w przypadku C++ wygląda to tak samo. Mogło ci nie widzieć bibliotek, jeżeli miałeś coś popaprane w ustawieniach.

KDevelop obsługuje debugowanie w trybie graficznym, podobnie jak wiele innych narzędzi, korzystających z GDB.

Bzdura. Eclipse to jest IDE, to jaki podepniesz kompilator i jaki debugger zależy tylko od ciebie i nie ma nic wspólnego z IDE.

Znaczy tylko tyle, że napisałeś nieprzenośny platformowo kod lub nie umiesz podpiąć zewnętrznych bibliotek pod IDE.

Jeśli podpiąłeś GDB, to jak miało działać no ludzie… poza tym komunikacja z programem od strony GUI, a protokół do komunikacji z command line to dwie różne rzeczy: https://youtu.be/azInZkPP56Q?t=2m43s proszę zaznaczasz normalnie z boku, masz perspektywę do debugowania, podstawowe step-in, step-over nie wiem jak on się różni od jakiegokolwiek debuggera od strony GUI.

Jak chcesz się wiązać z jedynym słusznym systemem, to tak. Niby na obu można pisać aplikacje przenośne, ale jakoś dziwnym trafem, to z “biednego” Windowsa programy nie kompilują się na “szrotowatym” Linuksie. Fe wstrętny Linux. Typowe…

__________________________________________________

Daruj sobie takie teksty. Tymbardziej, że nie możesz mieć 100% pewności, kto polubił dany post.

Miałem standardowe ustawienia i prosty przykład do skompilowania z importem standardowych bibliotek, To co mnie wtedy totalnie zniechęciło to brak dokumentacji do bibliotek standardowych. W Visualu czy Borlandzie zawsze była  pełna dokumentacja.