Skocz do zawartości

Programowanie, jaki język na sam początek?


Rekomendowane odpowiedzi

Cześć Bracia. Za ponad 2 tygodnie ruszam ze studiami informatycznymi. Moim celem jest nauka języków programowania. Nie chcąc się zniechęcić tylko cały czas małymi krokami iść do przodu chciałbym zacząć naukę od jakiegoś (teoretycznie) prostszego języka. Co proponowali byście na początek? Z programowaniem nie miałem styczności, jednak wiem, że prędzej czy później muszę się do tego zabrać. W sumie to żaden mus, jednak ciężko się wyrwać z okresu wakacyjnego. :) Będę wdzięczny za wszelkie porady, wskazówki :)

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

 

1 godzinę temu, bartosz.podkocki napisał:

Z programowaniem nie miałem styczności,

Z programowaniem jak z abecadłem. Zaczynamy od litery ,,A", czyli np. prostych rzeczy w C++. Polecam kanał YT Pasja Informatyki.

PHP, Python, Java - na początek, to jakby zacząć biegać, nie umiejąc nawet wstać na nogi.

Odnośnik do komentarza
Udostępnij na innych stronach

1 hour ago, bartosz.podkocki said:

Moim celem jest nauka języków programowania.

Nauka dla samej nauki to średni cel.

 

Co chcesz osiągnąć?

Jak chcesz tej wiedzy użyć? 

 

Wolisz robić aplikacje dla Windowsa czy Linuxa, czy może urządzenia mobilne - a jeśli tak to Android czy bardziej iOS?

A może coś w kierunku IoT?

A może po prostu web? 

 

Jeśli chodzi tylko o studia to dowiedz się jaki jest program i ucz się pod program ale robiąc tylko to programistą raczej nie zostaniesz.


Na studiach liźniesz na pewno assemblera bo to podstawa by zrozumieć jak działa komputer ;) 

Potem algorytmy i dopiero wtedy programowanie i języki wysokiego poziomu.

 

Tiobe od lat prowadzi index popularności/udziału w rynku https://www.tiobe.com/tiobe-index/

Wynika z niego, że jak chcesz później zarabiać kasę to skupiaj się na pierwszej 10tce.

 

Zdecydowanie najlepsza kasa jest w Java, .NET, C# i Pythonie.

 

Jeśli technologie webowe to
- JavaScript: Node.js, angular, react, vue  (jest na to w tej chwili ssanie)
- PHP: Symfony, Zend, Laravel (najprostszy)

- Python: Django, Flask, Tornado

 

Jeśli absolutny beginner to Pascal, C. 

 

Większość języków na poziomie proceduralnym jest bardzo podobna do siebie. Schody zaczynają się dopiero od programowania zorientowanego obiektowo bo dochodzą wszystkie design patterns itp itd ;) 

Ogólnie masa wiedzy do przyswojenia i niepoliczalna ilość godzin ślęczenia przed kompem przed Tobą jeśli nie tylko chcesz się nauczyć programować ale również robić to dobrze. 

 

PS.

Jeśli chcesz to później w życiu robić zawodowo, to zostało Ci bardzo mało czasu na przyswojenie sporej ilości wiedzy ;) 

  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

29 minut temu, adrian86 napisał:

Zaczynamy od litery ,,A", czyli np. prostych rzeczy w C++.

Chyba żartujesz? C++ dla osoby początkującej nie znającej się w ogóle na programowaniu?

 

Na początek to pseudo kod i zrozumienie algorytmów, a później można sobie język wybierać. Sam stawiałem pierwsze kroki w C i myślę, że warto zacząć od tego zacząć. Wiele języków czerpie sporo od C i łatwo będzie się później na nie przesiąść.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

A ja naukę rozpocząłbym od nauki C++ - generalnie podstaw. Następnie zastanowiłby mi się, w jakim kierunku zamierzam dalej się rozwijać - game dev, bazy danych (np. apki biznesowe, bankowość), bardziej elektronika i w zależności od tego wybrałbym kierunek rozwoju: 

 

gamedev - tutaj raczej bez C# nie ruszysz, a przynajmniej będzie ciężko.

 

Bazy danych - przynajmniej C#/Java + SQL + frameworki (nie tylko te wspomagające pracę z bazami)

 

Elektronika - C/C++

 

Moim zdaniem, jak wspomniałem na początku - warto rozpocząć od nauki C++ - uczy podstaw, które do pewnego stopnia są wspólnym mianownikiem wszystkich języków, uczy ręcznego zarządzania pamięcią, wprowadza w obiektowość. Do tego do nauki istnieje fajna książka - mimo, iż obecnie może być ciut nieaktualna, to kosztuje grosze, a wyjaśnia wiele, w prostych słowach - Symfonia C++. Plus dochodzi fakt, że chyba na większości uczelni przez pierwszy rok/dwa uczy się tylko C/C++, więc zajdzie pewna, hmm, synergia w nauce. Następnie właśnie warto zdecydować, co dalej. 

 

A dalej to już wchodzą podręczniki specjalistyczne, wchodzą kursy (np. internetowe - polecam te z platformy Udemy - niedrogie a konkretne i nie jest to zazwyczaj przysłowiowy Kot w worku - kursy są oceniane, znana jest ocena + ilość ocen, kursy zarówno dla początkujących jak i zaawansowanych, sam korzystam, kilku moich znajomych również).

 

Polecam również od początku starać się pracować z narzędziami kontroli wersji (serwer GitHub, GitLab, do tego narzędzie graficzne np. Sourcetree lub wtyczka do IDE). Wspominam o tym dlatego, że czasem prowadzący na studiach traktują to jakby nie istniało, nie wymagają pracy z tym, a idąc do pracy jako programista, niezależnie w którym obszarze, zawsze wymaga się znajomości tego i lepiej umieć to od razu, niż tracić czas na naukę w pracy, nie jest to też nic trudnego.

Edytowane przez TenTyp
Niedopowiedzenie
  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

Zgadzam się z C na początek, większość najważniejszych języków się od niego wywodzi.

Potem szybki przeskok na C++, który jest kompatybilnie wsteczny z C.

 

Przede wszystkim C  jest podstawą w nauce algorytmów i struktur danych - ponieważ nie jesteś w stanie "oszukiwać", programując w bardziej zaawansowanym języku wykorzystuje się gotowe biblioteki.

 

@Doggie

No i co mu przyjdzie z programowania na kartce? Niech się uczy praktyki, bez testów dalej nic nie będzie wiedział.

 

@bartosz.podkocki

Na początek możesz nawet skorzystać z internetowego IDE jak https://ideone.com/ - znajdujesz tutorial do danego języka, wpisujesz kod i uruchamiasz :)

Edytowane przez Ancalagon
  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Wiele ciekawych informacji :) Przyjrzę się każdemu z języków i podejmę decyzję. Najważniejsze, że jest w czym wybierać. Dzięki Bracia!

@nieidealny świat Dlaczego mało czasu? Ukończyłem matmę (I stopień), teraz idę na infę. Na naukę nigdy nie jest za późno. Tak wiem, przede mną bardzo długa droga i nikt mi nie zagwarantuję, że nie wymięknę i to wszystko ogarnę. Jednak cały czas stawiam sobie celę i nie mam zamiaru wymiękać. Od wielu lat pracowałem na budowach, przede wszystkim wykończeniówka. Nie boję się wyzwań, jeżeli nie pójdzie mi w nauce zawsze mogę wrócić do szpachlowania ścian za 4-5k zł na miesiąc. Do odważnych świat należy. Pytanie tylko czy robisz to hobbistycznie czy dla pieniędzy. Gdybym miał 45 lat i chciałbym zacząć w tym pracować to rzeczywiście nieciekawa sprawa. Nie mniej jednak bardzo Ci dziękuję za wyczerpującą odpowiedź, na pewno wykorzystam informacje w niej zawarte. :) No i ten ranking- kozak! Bardzo przydatny.

Odnośnik do komentarza
Udostępnij na innych stronach

Zacznij od tego czego akurat uczą w tej szkole do której poszedłeś. Prawdopodobnie będzie to C - ma to moim zdaniem sens bo jest to język niskiego poziomu i pozwoli ci nie tylko nauczyć się programować, ale lepiej rozumieć jak działa komputer, alokacja pamięci itp. Później będziesz miał czas na zmianę na coś innego jeśli będziesz miał taką potrzebę. Wybór języka zależy od tego co chcesz pisać - inny język będzie do gier na IOS a inny do web aplikacji - z czasem będziesz wiedział co ci się podoba i coś wybierzesz.

Odnośnik do komentarza
Udostępnij na innych stronach

@Doggie

Mimo, iż to nie jest skierowane do mnie, to tak niegrzecznie pozwolę sobie się wtrącić ?

Również, jak kolega @Ancalagon uważam, iż rozpisywanie na kartce nie ma większego sensu (tzn. ma - np. prezentacja algorytmu np. sortowania w postaci blokowej bądź pseudokodu, ale są to specyficzne, często powtarzane zagadnienia). Nigdy natomiast nie nauczysz się zasad programowania w danym języku pisząc kod na papierze, nawet na początku, ja np. jestem zwolennikiem pomijania tego etapu i przejścia od razu do praktyki. A to dlatego, że popełniając błędy kompilator od razu Ci je zgłosi i relatywnie szybko nauczysz się je rozwiązywać, a przede wszystkim ich nie popełniać. Ja np. na pierwszym roku studiów miałem egzamin z programowania w C++ na papierze, gdzie cały semestr kodziliśmy na komputerach - takie podejście na przykład to kompletna porażka, bo to wymaga uczenia się na pamięć składni, co jest nonsensem, skoro zawsze, w razie czego, masz do dyspozycji dokumentację. Poza tym - o ile znasz j. angielski oraz jesteś w miarę inteligentny - jesteś w stanie bez problemu zorientować się, jak działa dana konstrukcja, przynajmniej tak uważam.

Odnośnik do komentarza
Udostępnij na innych stronach

Podłączę się do tematu.

Też od tego roku zaczynam studia informatyczne, jednak mam zamiar wybrać specjalizację, która nazywa się "Multimedia i technologie internetowe". Ogólnie bardziej w stronę grafiki i stron www mam zamiar iść, niż typowego programowania. Co polecacie na początek, też zacząć od C? 

Odnośnik do komentarza
Udostępnij na innych stronach

@laurissarius

Generalnie tak, przypuszczam, że tak czy inaczej - etap C/C++ Ciebie nie ominie jeżeli myślisz o informatyce.

 

Na grafice się nie znam, więc wypowiadał się nie będę. Natomiast jeżeli chodzi o strony www - dziś nie ma w zasadzie możliwości tworzenia stron www nie będąc programistą, a to dlatego, że dziś większość stron działa jako aplikacje webowe, tworzone głównie w oparciu o Javę bądź ASP.NET. Przypuszczam, że będziesz szedł w kierunku front-end, a więc pewnie będziesz musiał poznać język HTML, CSS (style), JavaScript oraz PHP zapewne też. Sporo tego jest, a do tego dochodzą zaawansowane frameworki front-endowe. Chociaż i tak na Twoim miejscu uczyłbym się zarówno front-endu jaki i back-endu, gdyż dziś najbardziej poszukiwani programiści to tzw. full-stack czyli gość, który zarówno będzie bawił się np. w wyciąganie danych z bazy, w optymalizację kodu ale też i w wygląd aplikacji ?

Odnośnik do komentarza
Udostępnij na innych stronach

7 minutes ago, laurissarius said:

Podłączę się do tematu.

Też od tego roku zaczynam studia informatyczne, jednak mam zamiar wybrać specjalizację, która nazywa się "Multimedia i technologie internetowe". Ogólnie bardziej w stronę grafiki i stron www mam zamiar iść, niż typowego programowania. Co polecacie na początek, też zacząć od C? 

Jeżeli zaczynasz studia informatyczne to możesz nie mieć większego wyboru - będziesz miał zajęcia z takim językiem jaki jest prowadzony. Prawdopodobnie C lub JAVA - zależy od uczelni. Oba są dobrą podstawą do technologii webowych. Zaryzykowałbym stwierdzenie, że na pierwszym roku to jaki będzie to język nie ma aż tak dużego znaczenia - później pisząc typowo pod weba i tak skończysz w jakimś 'webowym' języku - PHP, C#, JAVA czy cos tam jeszcze się nada.

Odnośnik do komentarza
Udostępnij na innych stronach

@TenTyp Tylko ja nic nie wspominałem o rozpisywaniu na kartce papieru algorytmów. Też jestem za tym aby jak najszybciej przejść do praktyki, ale wydaję mi się, że jakiś wstęp teoretyczny trzeba mieć, a do tego pseudo kod i diagramy opisujące algorytmy są dobre i jest to łatwo zrozumiałem.

 

@laurissarius Na 99% na pewno możesz mieć na studiach język C/C++ lub języki wywodzące się od niego.

Odnośnik do komentarza
Udostępnij na innych stronach

3 godziny temu, adrian86 napisał:

Z programowaniem jak z abecadłem. Zaczynamy od litery ,,A", czyli np. prostych rzeczy w C++

Moim zdaniem od razu warto iść w konkretny język, ale można obrać tę dłuższą drogę.

 

Co do języka, to jeśli chodzi o stawki to JAVA ma najwyższe ew. jakieś niszowe języki typu SCALA, ale tutaj trzeba się liczyć z relokacją.

Jeśli chodzi o niski próg wejścia w dany język to java script.

 

Godzinę temu, TenTyp napisał:

Generalnie tak, przypuszczam, że tak czy inaczej - etap C/C++ Ciebie nie ominie jeżeli myślisz o informatyce.

Mnie ominął c++, bo poszedłem w inny język, chociaż na studiach miałem z nim kontakt, ale bez niego się obejdzie.

Edytowane przez PewnySiebie
Odnośnik do komentarza
Udostępnij na innych stronach

Ja bym się nie brał za żaden język programowania bez znajomości podstaw informatyki i zasady działania środowiska, pod które się tworzy. 

C++ - uniwersalny, profesjonalny, jednak piekielnie trudny i wymagający dużej odpowiedzialności. Osoby, które mówią, że to prosty język, zapewne go nie znają. 

C# - w pełni obiektowy, wygodny i przyjemny. Głównie do tworzenia rozwiązań pod Windows, chociaż można też pod inne systemy dzięki .NET Core lub pod web dzięki ASP.NET. Dokumentacja MS trochę chaotyczna, ale jest kilka fajnych książek. 

Visual Studio jest mega wygodnym narzędziem, które pomaga w tworzeniu, debugowaniu i refactorowaniu. Może na początku przerażać mnogością opcji i okien, ale szybko można się nauczyć, przyzwyczaić, zacząć korzystać. 

Jeśli chcesz stricte pod web, to koledzy wyżej już wyczerpali temat. 

Nie bierz się tylko za Javę i technologię Silverlight, bo to już umieralnia. Pozdrawiam :)

Edytowane przez Fieras
Odnośnik do komentarza
Udostępnij na innych stronach

13 minut temu, Fieras napisał:

Nie bierz się tylko za Javę i technologię Silverlight, bo to już umieralnia. Pozdrawiam :)

Ta Java to umiera już od jakichś 8 lat...

Ale fakt, faktem liczy się CEL, a nie nauka dla nauki. 

5 lat uczyłem się dla uczenia się i żałuję tych lat.

  • Like 2
Odnośnik do komentarza
Udostępnij na innych stronach

22 godziny temu, nieidealny świat napisał:

 

PS.

Jeśli chcesz to później w życiu robić zawodowo, to zostało Ci bardzo mało czasu na przyswojenie sporej ilości wiedzy ;) 

Idąc tym tokiem rozumowania należy załamać ręce i nic nie robić. Szczególnie, że mówisz do młodego chłopaka, który dopiero rozpoczyna studia. A co ja mam powiedzieć? Mam 30 lat i już zawsze mam wykonywać chu**** pracę za grosze? Nie skorzystam z tego co napisałeś i będę próbował. Nie wiem czy się uda, ale przynajmniej później nie będę sobie pluł w brodę, że tego nie zrobiłem.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Widzę, że istna burza w temacie ?

@t0rek oczywiście że dzieci się tego uczą, bo szybko, łatwo, ładnie i przyjemnie.

Autor nie ma czasu na przyjemności, tylko na konkretne skondensowane podejście do tematu.

 

W dorosłym zarobkowym życiu, wejście bezpośrednio w Pythona, bez jakiejkolwiek wiedzy z zakresu programowania, to jak uczyć się baz danych na Excelu ?

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.