Jaki język programowania na początek?
Witam. Pytanie jak w tytule, jaki język programowania na początek? Słyszałem, że dobrymi opcjami są Java i C++, ale czy jest ktoś kto mógłby wymienić wady i zalety obu języków? Ewentualnie polecić inny?
python obecnie coraz częściej używany w webdevie
C++ jest dobrym wyborem bo bardzo dużo języków takich jak Java czy C# jest w pewnym stopniu opartych na jego składni, ale zdecydowanie trudniejszy do nauki niż python
A czy jakieś języki opierają się w jakimś stopniu na pythonie? Webdevie - to znaczy? Przy tworzeniu stron internetowych?
Ruby (i framework Ruby on Rails) to jeden z bardziej przyszłościowych (a jednoczesnie już w tej chwili silnych) języków uzywanych w webdev - jest bardzo podobne składniowo do pythona. To w zasadzie taka pochodna Pythona, Lispa i Perla.
Wprawdzie postawienie sobie środowiska programistycznego pod to siedząc na windowsie jest trochę problematyczne, ale myślę że warto. Tym bardziej jesli masz dostęp do linuksa / osx.
jedna z glownych zalet pythona to ze jest uzywany dosc szeroko, nie tylko w webdev.
ja przeskoczylem z actionscripta 3.0 (ktory moim zdaniem jest deczko lepszy, niestety w odwrocie)
do pythona bardzo fajny (swiezutki) pyCharm 3.0, a do postawienia serwera pod iis poszukaj czegos co nazywa sie helicon zoo.
Albo zainstaluj sobie unity i pobaw się skryptami - w javie, w c# czy tam ich języku. imo uczenie się bez konkretnego celu nic nie da.
- program napisany w C/C++ wykonuje się szybciej
- w Javie szybciej napiszesz nietrywialną aplikację
- Java potrzebuje specjalnej aplikacji (JRM) do pracy, C/C++ działa na "gołym" procesorze
- Java ma bogaty i zunifikowany zbiór bibliotek, bibliotek do C/C++ jest nawet więcej, ale nie są zestandaryzowane
- są zastosowanie, w których można użyć tylko C/C++ (głównie są to "poważniejsze" sprawy pokroju mikrokontrolerów czy systemów operacyjnych)
- rozpoczęcie nauki od C/C++ wyrabia dobre nawyki i pozwala dobrze zrozumieć proces tworzenia i kompilacji kodu
- dobra znajomość C/C++ pozwala bardzo szybko przyswoić niemal dowolny język programowania, a dobra znajomość Javy nie pozwoli na bezbolesne przeniesienie swojej wiedzy do C/C++
Jeżeli chcesz zająć się na poważnie programowaniem - zacznij od C/C++, jeżeli chcesz napisać kilka programów, by ułatwić sobie codzienne czynności na komputerze - zacznij od Javy lub jednego z wymienionych wcześniej języków.
jeśli chcesz jakieś aplikacje pod windowsa pisać polecam C# z .net - visual studio express i jedziesz :)
"- rozpoczęcie nauki od C/C++ wyrabia dobre nawyki i pozwala dobrze zrozumieć proces tworzenia i kompilacji kodu
- dobra znajomość C/C++ pozwala bardzo szybko przyswoić niemal dowolny język programowania, a dobra znajomość Javy nie pozwoli na bezbolesne przeniesienie swojej wiedzy do C/C++"
Właśnie te dwa punkty sprawiły, że bardziej skłaniam się w stronę C/C++. Mam tylko jedno pytanie. Czym różnią się te języki? Czy lepiej jest zacząć od jednego, a później przejść do drugiego? Czy może nie ma to znaczenia?
C++ powstało jako obiektowe rozszerzenie języka C, posiada wszystkie funkcjonalności poprzednika i w 99% jest z nim wstecznie kompatybilne (tj. poprawny kod w C jest też poprawnym kodem w C++, ale już nie na odwrót). W konsekwencji C jest nieco uboższe i rozpoczęcie od niego jest moim zdaniem bardziej naturalne. Z drugiej strony większość książek i tutoriali do C++ rozpoczyna się od własności zaczerpniętych z C, więc kolejność i tak jest odpowiednia.
- chcesz szybko posiąść praktyczną umiejętność tworzenia czegoś fajnego, przydatnego (ale też oczywiście wartego pieniądze), bez większych ambicji wymiatania kodem i pojmowania tego jak działa komputer ==> C#(bardzo przyjazny i efektywny), Java, języki skryptowe
- chcesz krok po kroku stawać się hardkorowym programistą (od amatora do speca) i niestraszna ci matma, masz ambicje na cracking/hacking, inżynierię wsteczną albo po prostu być specjalistą od tych trudniejszych dziedzin ==> jeśli odrzuci cię C to wystartuj z Pascalem (serio, dobry język akademicki na początek), C++, Assembler (hardkor, ale zrozumiesz działanie komputera), a potem ewentualnie C# i Javę potraktujesz jako łatwe zabawki do szybszego robienia prostych rzeczy i zamiast się ich uczyć po prostu się do nich zaadaptujesz.
Czasy się zmieniły, więc nawet jak chcesz pisać gierki to i tak możesz wybrać C#, bo np. popularne Unity go obsługuje.
C# to bardzo przyjemny i satysfakcjonujący język. Jak się nie chcesz zniechęcić , to go zdecydowanie polecam.
"Prawdziwi" kodziarze idą w C++, ale to wcale nie jest rewelacyjny język, potrafi być trochę męczący, ma wiele fundamentalnych problemów, krytykuje go nawet sam John Carmack. Jego znaczenie co raz bardziej też maleje, ale nadal jest #1 w bardziej zaawansowanych zastosowaniach.
Czasy się zmieniły, więc nawet jak chcesz pisać gierki to i tak możesz wybrać C#, bo np. popularne Unity go obsługuje.
To tylko pół prawdy. Unity to silnik, który został napisany w większości właśnie w C++. Obsługuje skrypty w C# i JavaScripcie, ale wciąż jego główną częścią (i każdej stworzonej w nim gry) pozostanie C++.
A ja zacznę od dupy strony - do wszystkich co polecają Pythona, C++ - obu jakiś czas się uczyłem, ale poległem z prozaicznego powodu.
Jak się tych języków uczyć?
Nie chodzi mi o książki, tutoriale, przykłady a o to co można sensownego sobie samemu napisać w takim np. gołym C++ czy Pythonie? I nie mówię, że w 2 dni, ale np. po miesiącu, dwóch nauki?
JavaScript, PHP, C# to ogień i pierdyliard zastosowań, kiedyś podobnie było z zachwalanym przez Lutza ActionScriptem, a do C++ czy Pythona siadałem i się w najlepszym wypadku kończyło na napisaniu czegoś, co bym zrobił równie dobrze (a nawet lepiej) w Excelu. Od czego Wy zaczynaliście zabawę? Bo fajnie się czyta, że w C++ można napisać własny OS czy przeglądarkę a w Pythonie CMS, ale to poziom, który laika gówno obchodzi, bo takie rzeczy piszą już zawodowi programiści... A jakoś nie porywał mnie wir programowania, jak wszystko co mi wysrywał kompilator to były jakieś znaki w linii komend.
A odpowiadając na pytanie autora - Python, chociaż do tej pory zupełnie nie mam pojęcia jak się takich języków uczyć, Python z tego względu, że przyjemnie się w tym na początku pracuje i bardziej to przypomina sesję na jakimś chacie, niż prawdziwe programowanie (czytaj. DevC++, kompilowanie, czekanie, czekanie, czekanie, bugów szukanie, naprawianie, kompilowanie, czekanie, czekanie, czekanie (...)).
Modern Programing ;)
1 Mam pomysl !
2. Szukam gotowych bibliotek ktore go zrealizuja
3. Skladam klocki
I tak zacznij od C :) pozniej to jeden pies, glowne zalozenia sie nie zmieniaja, co najwyzej skladnia :)
b212 - u mnie zawsze nauka zaczynała się od konkretnego problemu który chciałem rozwiązać. Kiedyś były to czysto akademickie, hobbystyczne sprawy (a to jakiś plugin do BBSu który prowadziłem, czy aplikacja do Kryształów Czasu) a nastęnie zawodowe (i tu zacząłem od aplikacji intranetowych opartych na PHP+sql a teraz robię w C# .net i lada chwila dołożę do tego bazy danych) - to jakiego 'języka' używałem zależało od przystępności. Próbowałem jednego, drugiego, trzeciego, aż w końcu udało mi się zacząć i dobrnąć do końca projektu.