Programowanie początkującego - jaki język wybrać?


(fejku) #1

Witam, zacząłem w tym roku liceum - profil mat-fiz, więc chcę też zacząć powoli programować (mój cel to polibuda o profilu inf.).. Tak więc od jakiego języka zacząć, żeby potem było łatwiej z pojmowaniem nowych języków?

Dzięki z góry.


(rgabrysiak) #2

jaki-wybrac-jezyk-programowania-t545482.html

czego-sie-uczyc-czy-java-t539705.html

jakiego-jezyka-mam-sie-zaczac-uczyc-t545543.html


(kostek135) #3

Jeśli politechnika to prawdopodobnie C (przynajmniej Warszawa). Będziesz miał łatwiejszy pierwszy semestr i będziesz się mógł skupić na tamtejszych killerach: algebra/analiza. Na innych warto się samemu zainteresować, dowiedzieć i poznawać język, który będzie tam na początku. Zawsze ułatwi to start.


(etam) #4

+1

Na informatyce na EiTI miałem najpierw C, potem C++, potem Java. Wykłady były prowadzone “od zera”, jednak moim zdaniem wykłady z programowania w C były prowadzone tak tragicznie, że lepiej było się samemu nauczyć.


(invader92) #5

U mnie na WFiIS AGH bardzo podobnie, najpierw C, następnie kolejno C++ i Java, ale tak na prawdę, to warto wziąć pod uwagę to, co pisze kostek135. Na wstępie warto się zatroszczyć o te “killer” przedmioty, bo można sobie nimi (a właściwie ich zignorowaniem) bardzo utrudnić. Dla przykładu, u mnie niezdanie matematyki (głównie analiza) na pierwszym semestrze oznaczało konieczność ponownej rekrutacji.

Natomiast w odpowiedzi na pytanie napiszę, że z własnego doświadczenia w miarę dobre rozeznanie w C++ bardzo uprościło mi poznawanie kolejnych języków programowania (chociażby podobne składniowo Java i C#). Istotne jest to moim zdaniem, aby mieć dobrą orientację w tym, co dla większości języków jest wspólne, jak na przykład sam model programowania obiektowego.

Z drugiej strony, wiele jeszcze może Ci się zmienić, skoro, jak sam napisałeś, dopiero rozpoczynasz liceum.

W każdym razie, powodzenia.


(somekind) #6

Od angielskiego, trzeba co najmniej umieć nieźle czytać.

A jeśli chodzi o jakiekolwiek studia informatyczne, to z języków najbardziej przyda Ci się znajomość języka matematyki.

C# był podobny składniowo do C++ i Javy ostatnio jakieś 5 lat temu.


(fejku) #7

Wiem, że matematyka, ang. i fizyka są bardzo potrzebne przy informatyce, dlatego kładę na te przedmioty duży nacisk, ale chcę też liznąć coś informatyki by mieć łatwiej na studiach. Z tego co wiem programowanie to algorytmy matematyczne, tak?


(Razi) #8

Jak znajomość wzorów na termodynamikę pomogą ci programować? Wykute na pamięć tablice całek też na niewiele się zdadzą.

Programowanie to nie tylko „algorytmy matematyczne”, czyli regułki jak rozwiązywać zadania, to „trochę” bardziej skomplikowane.

Raczej tu chodzi o umiejętność logicznego i analitycznego myślenia, przykładowo przekształcając wzór nie możesz niczego wziąć „z niczego” powodując sprzeczności.


(fejku) #9

Nie chodziło mi o dosłowne tego słowa znaczenie, ale o to, że programowanie ma coś z algorytmów.


(kostek135) #10

@fejku

ma, jeśli chcesz się specjalizować np. w dowodzeniu twierdzeń, wymyślaniu algorytmów. Istnieje też coś takiego jak programowanie biznesowe albo mobilne, gdzie matematyka np. ma marginalne znaczenie. Może zajmiesz się AI wtedy matematyka rozmyta musi być w małym palcu, to naprawdę zależy od tego co chcesz robić. Oczywiście wszystkiego na studiach liźnie się po trochu, do czasu wybrania specjalizacji. Powiedz nam czym konkretnie chciałbyś się zająć (informatyka to szerokie pojęcie), to ktoś na pewno już to robi, będzie mógł udzielić ci rady.


(fejku) #11

Hmm… Na pewno kręci mnie programowanie, te wszystkie funkcje itp., gorzej jest z wybraniem kierunku w którym chcę programować. Choć myślałem nad zaczęciem zabawy w C. To dobry wybór dla początkującego? Jeśli tak to na jakich kursach zacząć naukę?


(Rolek0) #12

C może nie jest najlepszym z możliwych wyborów na początek, ale jeśli naprawdę Cię to interesuje i masz chęci do nauki to nie powinieneś mieć problemów. Język to tylko narzędzie, najważniejszy jest odpowiedni sposób myślenia i umiejętność rozwiązywania problemów.

Zdaje się, na wikibooks jest niezły tutorial C: http://pl.wikibooks.org/wiki/C

Do tego możesz poczytać na tematy ogólno-programistyczne m.in. http://gynvael.coldwind.pl/?id=238 i http://gynvael.coldwind.pl/?id=374, polecam też pooglądać o wskaźnikach: http://www.youtube.com/watch?v=bewTJaboGIw, http://www.youtube.com/watch?v=1I0ObS-RQvQ, http://www.youtube.com/watch?v=ICrBkVxkdVI, http://www.youtube.com/watch?v=mqCULVvaS1c, http://www.youtube.com/watch?v=YvA8tNm0FbA, http://www.youtube.com/watch?v=B7x-RWNGhgc, http://www.youtube.com/watch?v=_5pfrvlY_cA, http://www.youtube.com/watch?v=OuJMvfwblb0,

(bardzo wielu ma problemy z ich zrozumieniem).

(fejku) #13

Zauważyłem, że to mnie naprawdę pochłania i interesuję, zacząłem podstawy C, a nagle zleciały mi 2 godziny, nawet nie wiedziałem kiedy.

Ten tutorial z wikibooks jest bardzo dobry pod względem teorii natomiast prawie w ogóle nie ma tam praktyki (chodzi mi o to, żeby po każdym wyjaśnieniu było to przynajmniej zapisane w pełni), jestem przy staticu, ale tak naprawdę wiedzę mam tylko teoretyczną, gorzej z zastosowaniem tego wszystkiego. Choć np.:

void dodaj(int liczba)

{

 int zmienna = 0; // bez static

 zmienna = zmienna + liczba;

 printf ("Wartosc zmiennej %d\n", zmienna);

}

Nie jest to zapisane poprawnie, prawda? Ponieważ wywala mi error’y, podobnie przy dodaniu #include … Co mam zrobić, by ten kod zatrybił?


(kostek135) #14

Podaj pełny kod i komunikat błędu, bo u mnie to działa.


(fejku) #15

Trudno mi podać pełny kod ponieważ wziąłem to stąd: http://pl.wikibooks.org/wiki/C/Zmienne#static. Jak ma wyglądać pełny kod z tego linku? Błąd przy:

#include 

void dodaj(int liczba);

{

 int zmienna = 0; // bez static

 zmienna = zmienna + liczba;

 printf ("Wartosc zmiennej %d\n", zmienna);

}

to:

expected identifier or '(' before '{' token

natomiast przy:

void dodaj(int liczba)

{

 int zmienna = 0; // bez static

 zmienna = zmienna + liczba;

 printf ("Wartosc zmiennej %d\n", zmienna);

}

to:

undefined reference to 'WinMain@16'

(kostek135) #16

Dodałeś średnik, którego tam nie ma. Poza tym brakuje ci funkcji main (każdy program w C musi ją mieć - pogooglaj), w której nastąpi wywołanie, funkcji dodaj.


(mktos) #17

Masz średnik po void dodaj(int liczba), a przed {. Usuń go.


(fejku) #18

Chwilka… Czyli #include ma zostać, tak? + mam dodać main, który ma zawierać te dodaj, tak?


(kostek135) #19
  1. Tak.

  2. Nie. Ma wywoływać funkcję. Poczytaj o wywoływaniu funkcji w języku C.


(Rolek0) #20

stdio.h zawiera deklarecję funkcji printf, której używasz, więc dobrze żeby było :wink:

Masz projekt okienkowy Windows, zmień na konsolowy i dopisz funkcję main.