Jaki język programowanie wybrać na początek?

0

Witam,

Zaczynam swą przygodę z programowaniem, wybrałem na początek Javę jestem na poziomie troszke wyższym niż Hello Word.
Moje pytanie brzmi czy dobrze wybrałem? jeżeli nie jakiego języka się najlepiej uczyć?
Proszę uzasadnić swoją opinie.
ps. Podajcie może jakieś książki które mógłbym kupić aby to jak najlepiej ogarnąć.

1

Osobiście uczyłem się programowania w C++, Pythonie, Pascalu, Javie, a nawet Assemblerze. Assembler od samego początku nie, Pascal jest stary, Python nie jest zbyt popularny. Zostaje Java i C++. Zdanie jest po części podzielone, ale po pierwsze: http://pl.wikipedia.org/wiki/J%C4%99zyk_programowania#Najpopularniejsze_j.C4.99zyki_programowania
Java przebija C++ w popularności. Po drugie, jest o wiele łatwiejsza i wygodniejsza. Po trzecie, możesz programować grafikę nie tylko aplikacji okienkowych, ale też gier 2D, bez użycia dodatkowych bibliotek, podczas gdy w C++ pojawiały się takie "hity", jak trudny do rozgarnięcia WinAPI. Ja korzystam z Javy, mimo że zacząłem się jej uczyć jako ostatniej z powyższych, i jestem ze swojego wyboru bardzo zadowolony.

Jeśli chodzi o książki, to polecam dwie: "core Java Podstawy" C. Horstmanna i G. Cornella (troszkę przestarzała, ale wszystko, co tam jest podane, działa do tej pory), i nawet jeżeli nie interesuje cię programowanie gier, zajrzyj do "Java. Tworzenie gier" D. Brackeena, która podaje mnóstwo różnych ciekawych rzeczy, ale wymaga podstawowej wiedzy o Javie (np. z "core Java Podstawy").

Jeżeli wolisz zająć się tematyką gier, to jak najbardziej polecam ci te same książki. "Java. Tworzenie gier" pokazuje także, jak zrobić kod uniwersalny, działający poprawnie bez względu na to, jak chcesz zaplanować grę. Oprócz tego, książka ta uczy tworzenia gier 2d, 3d, sztucznej inteligencji, gry sieciowych i wielu, wielu innych, bez korzystania z dodatkowych bibliotek - tylko to, co udostępnia czysta Java.

0

Dzięki w takim razie zostaje przy Javie łatwiejsza na początek i jak popatrzyłem na przykładowe kody w C++ to są podobne do Javy
co do książki może jeszcze podacie linki i chyba raczej wydania opisujące Javę 7 bo w takowej jak na razie coś tam próbuje kodzić :)

0

Java jest kompatybilna wstecz, więc spokojnie możesz używać starych książek i programy ci pójdą na nowszej Javie (przynajmniej o ile nie robisz trików z parsowaniem bajtkodu czy innymi rzeczami, które i tak mało kto robi).

Sprawdź tematy przyklejone na: Java

0

Kursy internetowe to czyste ZUO, ja nie mogłem załapać Javy dopóki nie otworzyłem książki. Kilka linków jest jednak przydatnych, np. http://docs.oracle.com/javase/7/docs/

0

czemu zło? są dobre na początek i są przydatne
ja jak na razie jechałem z stronki javastart.pl
i powiem ci że lepszego nic w polskim języku nie znalazłem 4free
co do linku na razie mi dużo nie mówi :)

0

Jak lubisz tutoriale z sieci to jest oficjalny "The JavaTM Tutorials": http://docs.oracle.com/javase/tutorial/
Do przerobienia przede wszystkim "Trails Covering the Basics", reszta opcjonalnie, jeśli będzie ci potrzebna.

0

z angielskim na taki poziomie bd dla mnie zbyt trudno wole w języku ojczystym :)
szczególnie na początek

0

Ja ogólnie polecił bym ci zaczęcie od nauki C (nie C++), gdyż wtedy łatwiej będzie Ci się przesiąść na Javę niż zrobić to w 2 stronę. Dodatkowo łatwiej będzie Ci zrozumieć naturę typów referencyjnych.

0

jakoś ciągnie mnie do taj Javy i raczej w niej pozostanę :)
ale co do twojego posta czyli z Javy db mi się trudno przerzucić na C czy C++?

0

@winerfresh próbuje cię jeszcze odciągnąć od Javy i zaprzęgnąć do C/C++, żebyś harował dla niego dzień i noc całą :)

5

Jak by miał dla mnie pracować to bym go kusił do Rubiego, a nie do C. Po prostu uważam, że C, mimo iż jest trudniejsze, jest lepsze na początek, gdyż pozwala zrozumieć niektóre mechanizmy języków wyższego poziomu. Natomiast nie polecam C++ bo tam jest naprawdę dużo zawiłości, dziwności, niedomówień i innych pierdół, które robią początkującemu wodę z mózgu.

0

Pamiętaj, że jest jeszcze C#, który co prawda ciągnie za sobą .NET (only win), ale zawsze można użyć Mono (open-sourcowa implementacja .NET), które ma praktycznie identyczne klasy jak oryginał.

0
Sawy3R11 napisał(a):

jakoś ciągnie mnie do taj Javy i raczej w niej pozostanę :)
ale co do twojego posta czyli z Javy db mi się trudno przerzucić na C czy C++?

Łatwiej ponieważ są to języki z funkcjonalnie mniejszymi możliwościami. Jedyne, czego w Javie nie załapiesz, to arytmetyki wskaźników, które do dzisiaj są kluczem rozumienia działania niemal wszystkich mechanizmów jakie istnieją w komputerze. Dlatego rada z zapoznaniem się z C nie jest wcale głupia. Jeżeli chodzi o składnię nieobiektową, to Java jest niemal dokładnym nadzbiorem C, więc kolejność zapoznawania się nie ma znaczenia.
Z kolei na C++ przez lata narosło kupę śmiecia i elementów, które okazały się projektowymi pomyłkami (np. przypisywanie wartości this), które dzisiaj nie są już w ogóle używane, ale muszą istnieć w języku dla zgodności w dół. Znając Javę szybko się nauczysz bo trzeba będzie ogarnąć tylko ograniczenia i wybryki C++. Kiedyś na tej samej zasadzie znając już C nauczyłem się Pascala w jakieś 2-3 dni.

1

Z kolei na C++ przez lata narosło kupę śmiecia i elementów, które okazały się projektowymi pomyłkami (np. przypisywanie wartości this), które dzisiaj nie są już w ogóle używane, ale muszą istnieć w języku dla zgodności w dół.

Nie wiem od ilu lat nie można modyfikować wartości this. Specyfikacja mówi jasno, że this to r-value.

0

to mi klina zabiliście :D, teraz nie wiem czy kupować książkę do Javy czy C czy C# czy jeszcze C++ :)
na początek dla laika wydaje mi się że java nie byłaby zła bo bd mógłbym sobie napisać coś praktycznego już na początku.

0

Język to nie wybór na cale życie. Weź ten, który CIEBIE interesuje i olej zdanie innych, bo tak daleko nie zajdziesz. Zauważ, że jeśli na początku źle wybierzesz to z czasem zrozumiesz, ze istnieje coś lepszego i docenisz nowe konstrukcje więc czasu i tak nie zmarnujesz. Otwarcie na inne rozwiązania to bardzo pozytywna cecha i rokuje z wiekiem, bo gdy inni będą nadal grzęźli w Java czy C# to ty będziesz operował Pythonem, Erlangiem, Scalą, Haskellem czy innym językiem bardziej dostrojonym pod twoje potrzeby.

Z resztą w samym programowaniu nie narzędzie jest najważniejsze, a wyobraźnia.

0

Zgadzam się z przedmówcą, musisz pobawić się wszystkim i zobaczyć, co ci się bardziej przyda/podoba. Ja powiedziałem, co jest lepsze, ale w MOIM życiu :D

0

Podam na swoim przykładzie. Zacząłem od delphi, następnie c++ , potem bardzo szybko zacząłem zapoznawać się z technologiami które rozszerzają ten język jak c++/cli, qt oraz wxwidget (w tym ostatnim żadnego rozszerzenia składni nie ma, są to tylko biblioteki graficzne). Jeżeli muszę napisać coś na szybko pisze w C# korzystając z bardzo dobrej dokumentacji zawartej na stronie Microsoftu. Na tę chwile porzuciłem delphi i rozwijam cały czas się w c++ w podanych technologiach (chociaż jednak myślę o rezygnacji z cli na rzecz C# gdyż jak widać Microsoft zaczyna porzucać to, nawet winformsów nie ma w vs 2012, jak pisać wiem więc jeżeli kiedyś mi będzie potrzebne to nietrudno będzie mi w to ponownie wejść) Na boku również doskonale się w pisaniu stron www. Sorka, że tak opisałem to, nie mam na celu, żadnego przechwalania się, bo wiem, ile mi jeszcze brak, żeby coś w tym świecie zdziałać. Chciałem ci tylko uzmysłowić, że niezależnie który język wybierzesz i tak będziesz za jakiś czas zaglądał i coś skrobał w innych językach/technologiach gdyż nie da się siedzieć tylko na jednym. Czemu? Nuda, ciekawość, rożne zastosowania technologii do różnych typów projektów.

btw Co do książek mam jedną "Język c++. Szkoła programowania".

0

Dzięki wielkie z wszelkie odpowiedzi ;)
widzę temat się ładnie rozwinął, na razie pozostanę przy Javie, a jak zrozumie coś więcej to bd kombinował w innych językach ;)
Zatem uważam temat za zamknięty.
Pozdrawiam :D

0

Polecamy się na przyszłość, mam nadzieję, że zostaniesz u nas na dłużej :D

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