Zaloguj się, aby obserwować  
Bartuc

Język C / C++ / C# / Java - pytania, problemy...

1979 postów w tym temacie

Czy polecilibyście mi książkę "C++ Builder Borland Developer Studio 2006" ,bo nie wiem czy jest dobra ?.Na razie jestem początkujący i uczę się z "Symfonii C++" (to taki bardzo prosty podręcznik,tyle że dostałem go w wersji zeskanowanej).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 15.04.2008 o 18:19, Logan10 napisał:

Czy polecilibyście mi książkę "C++ Builder Borland Developer Studio 2006" ,bo nie wiem
czy jest dobra ?.Na razie jestem początkujący i uczę się z "Symfonii C++" (to taki bardzo
prosty podręcznik,tyle że dostałem go w wersji zeskanowanej).

Moim zdaniem do nauki podstaw czyli C nie ma nic lepszego od oryginalnej książki "Język C" Briana W. Kernighana i Dennisa M. Ritchiego (dzisiaj ostatnie wydania opisują wydanie ANSI C). Do tego "Język C++" Bjarne Stroustrupa oraz "C++ Algorytmy i Struktury Danych" Adama Drozdka (ta ostatnia to bardziej dla studentów bo jest w niej trochę matematyki). Przydatna może też być "Jak NIE programować w C++" Steve''a Oualline.
Książki, w których tytule podawana jest jakaś konkretna platforma są zazwyczaj dość kiepskimi podręcznikami do nauki języka, za to są one nastawione na szybkie używanie danego środowiska. Ale szybkie nie znaczy dobre.
Jeżeli nie rozumie się podstaw, a pisze się dość zaawansowane programy okienkowe, to można w sobie wyrobić mnóstwo złych nawyków programowania, które nie leczone bardzo szkodzą przez długi okres. :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam!
Chciałbym nauczyć się programować w C++ i mam kilka pyta związanych z tym tematem:
1. Czy łatwo nauczyć się tego języka?
2. Czy watro się uczyć tego języka czy najpierw jakiegoś innego?
3. Jaką książkę polecacie dla kompletnego laika w tym temacie?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 24.04.2008 o 15:54, Tomaszek92 napisał:

1. Czy łatwo nauczyć się tego języka?

To zależy od Twojej wytrwałości w nauce - podstawą jest silna motywacja.

Dnia 24.04.2008 o 15:54, Tomaszek92 napisał:

2. Czy watro się uczyć tego języka czy najpierw jakiegoś innego?

Możesz zacząć od C++. Dzięki temu już na starcie ustawisz sobie poprzeczkę nieco wyżej, a to powinno zaprocentować w przyszłości.

Dnia 24.04.2008 o 15:54, Tomaszek92 napisał:

3. Jaką książkę polecacie dla kompletnego laika w tym temacie?

"Symfonia C++" Jerzego Grębosza.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 24.04.2008 o 23:09, Treant napisał:

> 1. Czy łatwo nauczyć się tego języka?
To zależy od Twojej wytrwałości w nauce - podstawą jest silna motywacja.
> 2. Czy watro się uczyć tego języka czy najpierw jakiegoś innego?
Możesz zacząć od C++. Dzięki temu już na starcie ustawisz sobie poprzeczkę nieco wyżej,
a to powinno zaprocentować w przyszłości.
> 3. Jaką książkę polecacie dla kompletnego laika w tym temacie?
"Symfonia C++" Jerzego Grębosza.


A czyli ty jednak polecasz "Symfonie C++" ,pytałem wcześniej czy ja mi polecaja ale Olmagato nie polecał jej.Ucze sie z niej i nie jest taka zła.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

> A czyli ty jednak polecasz "Symfonie C++" ,pytałem wcześniej czy ja mi polecaja ale Olmagato
> nie polecał jej.Ucze sie z niej i nie jest taka zła.
Olamagato jako zawodowy programista ma na pewno inne spojrzenie na książki do nauki C++ od osób początkujących w tej dziedzinie. Ponadto wyrobił sobie własny styl kodowania, odmienny od stylu autora tego podręcznika i trudno oczekiwać, że będzie go promować (zwłaszcza, gdy przyjdzie mu poprawiać/rozwijać kod napisany przez inną osobę).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 25.04.2008 o 08:43, Logan10 napisał:

A czyli ty jednak polecasz "Symfonie C++" ,pytałem wcześniej czy ja mi polecaja ale Olamagato nie polecał jej.

To nie tak. Książek do nauki C czy C++ jest cała masa (ostatnio tylko polskich wydań naliczyłem niemal 50). Gdybym Chciał Ci polecić wszystkie dobre książki, to musiałbym samych podręczników wypisać conajmniej 15 jak nie więcej. Napisałem tylko, żeby uważać na książki, które są jawnie związane z jakimś środowiskiem programowania bo zwykle są to nieco przepisane instrukcje obsługi danego środowiska, a *porządna* nauka programowania jest w nich traktowana raczej butem (często nawet jej nie ma).

->Treant
Z odmiennym stylem zapisu programu nie ma większego problemu ponieważ można sobie użyć gotowych programów formatujących, albo wręcz można sobie taki samemu w ramach ćwiczenia napisać. Co do stylu - mój wywodzi się z bardzo zwartego zapisu C z jak najmniejszą ilością powtarzalnych elementów, co akurat nie jest dziwne skoro zaczynałem od Basica, Assemblera i C.
Różnice zapisu zasadniczo sprowadzają się do umieszczania otwierającego nawiasu klamrowego i do częstości używania kopiuj, wklej.
Pisząc bardzo zwarcie muszę bardzo wyraźnie oznaczać bloki bo wtedy nie tracę czasu na szukanie wzrokiem gdzie się blok zaczyna, a gdzie kończy.
Poza tym wychowałem się na założeniu, że jeżeli ktoś musi użyć kopiowania kodu, to znaczy że nieefektywnie programuje - bo każdy powtarzalny kod powinien być zapisany w jednym miejscu, ale za to wielokrotnie używany. Bezmyślne kopiowanie kodu doprowadziło już do wielu katastrof - nawet takie jak utrata premierowej rakiety Arianne 5 wraz ze wszystkimi trzema satelitami na pokładzie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak czytałem o Symfonii C++ to jest napisane, że "Napisał książkę, która może być czytana zarówno przez [..] programistę-amatora znającego tylko język BASIC. " i ja nie znam tego języka to zrozumiem co jest tam napisane?

@Olamagato
A ty jaką polecasz książkę do nauki C++?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

> znającego tylko język BASIC. " i ja nie znam tego języka to zrozumiem co jest tam napisane?
Raczej tak. Basic, to bardzo prosty język, jednak jego znajomość wyucza pewne złe nawyki. Tak więc to nawet lepiej, że go nie znasz.

> A ty jaką polecasz książkę do nauki C++?
Zanim zaczniesz C++ radzę wziąć jakąkolwiek książkę do czystego C. Ja się uczyłem z "Język C" Kernighana i Ritchiego, ale dzisiaj jest ona już trudno dostępna.
C++ w części obiektowej jest bardzo zaawansowanym językiem, więc jest sens się uczyć obiektówki dopiero jak się zna i potrafi używać podstawową składnię języka C.

Ucząc się C załatwiasz od razu znajomość składni nieobiektowej takich języków jak Java, C#, C++ oraz języków skryptowych takich jak PHP, Javascript i mnóstwa bardziej okrojonych skryptów do silników gier. Oprócz tego znajomość C oznacza, że po pewnym czasie zaczniesz rozumieć jak działają programy pisane bezpośrednio w assemblerze.
Kiedy już będziesz w stanie napisać dobrze działające programy w C mające ok. 300-600 wierszy, to proponowałbym wziąć dobrą książkę do nauki programowania ściśle obiektowego. Ponieważ najbardziej rozwinięte są obecnie języki Java i C# proponowałbym wziąć do nauki jeden z nich zamiast C++. Zresztą są one składniowo i semantycznie bardzo podobne. C++ ma tę dzisiaj wadę, że nie wspiera, ani programowania zdarzeniowego (systemy okienkowe), ani programowania współbieżnego (duża wada w erze procesorów wielordzeniowych), ani nie jest odporny na głupie błędy. Jednak znając Javę można w C++ dobrze zasymulować bibliotekami programów (i swoimi pomysłami) brakujące temu językowi funkcjonalności.

Jest taka od dawna znana zasada, że znając nowocześniejszy język programowania, nauczenie się się języka starszego lub prymitywniejszego jest banalne. I to się doskonale sprawdza w przypadku dobrej znajomości C i uczenia się języków strukturalnych takich jak Pascal, Algol, Fortran, Basic itp., a także jeżeli zna się dobrze Javę lub C#, to banalna staje się nauka C++, Smalltalka czy np. PHP5.

Krótko mówiąc - język C, żeby zacząć programować małe rzeczy i otrzaskać się z tematem, a potem od razu na skróty Java lub C#.

Na koniec wracając do książek - wybór jest ogromny, a w prawie każdej można znaleźć coś, czego nie było w innych. Najlepiej więc czytać wszystkie jakie wpadną w ręce. A ponieważ jest to kosztowne, to radziłbym najpierw zacząć od najbliższej biblioteki. Może się okazać, że są tam pozycje, które są świetne i nie do dostania w księgarniach.
Podobnie jest z językami programowania, im więcej się ich poznaje tym łatwiej i tym lepiej się rozumie całą tę zabawę z programowaniem. Najtrudniej jest tylko z tym pierwszym i drugim, więc warto sobie je wybrać najlepsze jakie istnieją (dlatego C i Java - moim zdaniem).
Miernikiem tego jak dobry język jest to co można w nim łatwo zrobić. W Javie można na przykład napisać kompletny kompilator języka C, albo edytor porównywalny z Wordem 95 w ciągu kilku godzin. I robią to niektóre co zdolniejsze dzieciaki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 25.04.2008 o 23:18, Olamagato napisał:

Zanim zaczniesz C++ radzę wziąć jakąkolwiek książkę do czystego C. Ja się uczyłem z "Język
C" Kernighana i Ritchiego, ale dzisiaj jest ona już trudno dostępna.

Jak to "trudno dostępna"? Sam kupowałem ją 1.5 roku temu bez żadnych problemów (była w obu księgarniach do których zajrzałem). Wątpię, że nagle ją usunęli. Chyba, że masz na myśli tę naprawdę starą wersję, ale myślę, że "Język ANSI C" jest i tak raczej lepszą wersją (bo zgodną z nowymi standardami)
Książka ukazała się w cyklu Klasyka Informatyki nakładem Wydawnictw Naukowo-Technicznych.

Sprawdziłem - sklepy internetowe wciąż ją sprzedają.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 26.04.2008 o 01:45, Vel Grozny napisał:

Sprawdziłem - sklepy internetowe wciąż ją sprzedają.

No to świetnie. A co do wydania - oczywiście, że najlepsza wersja, to ANSI C. Podobnie jak książki, które uwzględniają najnowszy standard ANSI C++ 2.0 (albo ISO bo już nie pamiętam, które nowsze)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

#include <stdio.h>
/* wypisz zestawienie tepmeratur Fahrenheita- Celsjusza dla f= 0,20,...,300 */
int main(int argc, char *argv[])
{
int fahr, celsius
int lower, upper, step;

lower = 0 /* dolna granica temperatur */
upper = 300 /* górna granica temperatur */
step = 20 /* rozmiar kroku */

fahr = lower
while (fahr <=upper) {
celsius = 5 * (fahr-32) / 9;
printf("%d\t%d\n", fahr, celsius);
fahr = fahr + step
}

Możemy mi ktoś powiedzieć na czym polega problem w 6 wierszu?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

coś mi się po głowie kołacze że step nie może być nazwą zmiennej (bo nazwa jest zarezerwowana na coś innego), ale dla pewności daj jeszcze komunikat o błędzie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mnie wszystko działa (kompilowałem pod Dev-C++ 4.9.9.2), ale jeśli skopiowałeś kod prosto z edytora, to nic dziwnego, że sypie błędami, skoro zapomniałeś o całej masie średników.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 05.05.2008 o 20:43, Xanax napisał:

Mnie wszystko działa (kompilowałem pod Dev-C++ 4.9.9.2), ale jeśli skopiowałeś kod prosto
z edytora, to nic dziwnego, że sypie błędami, skoro zapomniałeś o całej masie średników.

faktycznie, w 5 go niema więc 6 się sypie (jak mogłem nie pomyśleć o moim standardowym błędzie z lekcji programowania?)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

nie wiedzialem gdzie zamiescic to pytanie,to pytam tutaj

mam savy z NFS Most Wanted i nie dzialają mi.nie wiem,moze zle je wsadzilem.wypakowalem je w moje dokumenty/NFS Most Wanted/<mój profil>/

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 05.05.2008 o 21:59, pjs96 napisał:

nie wiedzialem gdzie zamiescic to pytanie,to pytam tutaj

mam savy z NFS Most Wanted i nie dzialają mi.nie wiem,moze zle je wsadzilem.wypakowalem
je w moje dokumenty/NFS Most Wanted/<mój profil>/


a co to ma wspólnego z programowaniem? lepiej poczytaj regulamin podforum technicznego, i stosując się do przedstawionych tam zasad załóż nowy temat. Ew dopisz się tu http://forum.gram.pl/forum_post.asp?tid=214&u=1430

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 05.05.2008 o 20:43, Xanax napisał:

Mnie wszystko działa (kompilowałem pod Dev-C++ 4.9.9.2), ale jeśli skopiowałeś kod prosto
z edytora, to nic dziwnego, że sypie błędami, skoro zapomniałeś o całej masie średników.

Faktycznie zapomniałem podopisywać średników- dzięki a pomoc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Utwórz konto lub zaloguj się, aby skomentować

Musisz być użytkownikiem, aby dodać komentarz

Utwórz konto

Zarejestruj nowe konto na forum. To jest łatwe!


Zarejestruj nowe konto

Zaloguj się

Masz już konto? Zaloguj się.


Zaloguj się
Zaloguj się, aby obserwować