Problem z językiem programowania (pomoc w wyborze)


(system) #1

Witam. Zainteresowały mnie aplikacje internetowe jak na przykład popularne komunikatory internetowe typu (Gadu-Gadu, Tlen itp.)

I teraz moje pytanie a mianowicie, jakiego języka musiałbym się nauczyć, aby po skończeniu nauki udało mi się stworzyć kompletny komunikator internetowy działający na zasadzie już istniejących. Z początku myślałem o Ajaxie (javascript, +xml) do którego nauki chciałem skorzystać z następującej książki: http://helion.pl/ksiazki/ajaphp.htm , ale po przeczytaniu różnych for nie jestem już pewien z jakiego języka programowania skorzystać.

Proszę w odpowiedzi zamieścić jaki język programowania w raz z nim na jakiej książce się najlepiej uczyć.

Z góry dziękuję za pomoc i czekam na szybką odpowiedź.

Pozdrawiam


(Blotny) #2

Do Gadu-Gadu, Tlenu, to bardziej coś w stylu Java, C++. Do portali www zacząć dobrze od HTML i CSS.


(system) #3

ehh, komunikator da się napisać w prawie każdym języku programowania (prawie bo są jeszcze Szekspiry i inne egzotyki).

Więc tutaj wybór to twoja decyzja, w czym Ci najwygodniej.


(muchozol) #4

Osobiście mogę ci polecić: C++ (uniwersalny) i C# (teoretycznie uniwersalny, ale praktycznie raczej pod windowsa).


(Ryan) #5

Nikt kto szanuje swój czas nie pisze komunikatora od zera. 3/4 istniejących, tzw. alternatywnych komunikatorów bazuje na istniejących bibliotekach. Jeśli więc interesuje Cię komunikator w oparciu o sieć GG, powinieneś zaznajomić się z libgadu. W praktyce też oznacza to, że pisanie w C wywoła najmniej "tarcia", bo domyślnie API większości bibliotek komunikacyjnych jest właśnie w C. Oczywiście popularniejsze (np. libgadu) będą miały wiązania do innych języków. Najczęściej nie są one jednak utrzymywane przez twórców biblioteki i często będą nieaktualne.

Innymi słowy: najszybciej uzyskasz widoczne wyniki w C. Niektórych brak namacalnego postępu zniechęca (należę do nich) i takiej osobie poleciłbym pisanie w C. Reszta może sobie wybrać język jaki bądź.


(Kstarski) #6

nickqsq , język programowania to tylko narzędzie, nie pomijaj lektury związanej z algorytmiką :slight_smile:


(Ryan) #7

A jak mu treść jakiejkolwiek książki o algorytmach pomoże w napisaniu komunikatora? To nie jest program w którym złożoność obliczeniowa ma większe znaczenie.


([alex]) #8

Kompresja przed wysłaniem obrazku lub dźwięku będzie? Sortowanie listy kontaktów?

To już dwa algorytmy potrzebne, jak jeszcze trochę się zastanowić to jeszcze z dziesięć się znajdzie :smiley:


(Kstarski) #9

hmm, jeśli chce sie nauczyć pisać komunikatory to nie ma sprawy, ale jeśli chce się nauczyć programować to inna sprawa #-o


(Ryan) #10

@alex: jaka kompresja? Komunikatory wysyłają grafikę tak jak każdy inny plik - bajt po bajcie. Sortowanie listy kontaktów to faktycznie poważny problem - przy 100 kontaktach nawet przypadkowy algorytm sortowania napisany bez znajomości gotowych rozwiązań sobie poradzi. A więcej się można nauczyć na własnych błędach niż przepisując kod z książki.

@kstarski: rzecz w tym, że każdy zanim się zacznie zabierać za złożone algorytmy, powinien się nauczyć operować jakimś językiem. Choćby nie wiem jak doskonale rozumieć ideę drzew czerwono-czarnych, nie ma mowy o ich poprawnej implementacji bez intymnej znajomości wskaźników, umiejętności debugowania kodu czy świadomości, że w dzisiejszych czasach większość algorytmów nie cierpi na spadek wydajności w powodu złożoności obliczeniowej, a z uwagi na fragmentację pamięci i sposób działania cache'u.


(Kstarski) #11

jak widać można temat zaatakować z jednej lub drugiej strony, i jak zwykle nie ma tej właściwej bo to zależy od danego pacjenta. :wink:

proponuję znaleść indywidualny "złoty środek" :smiley: