ערכתי לאחרונה בתאריך 31.10.08 בשעה 02:08 בברכה, Phinox
בס"דתחילה, אני אציין שלדעתי, רצוי ללמוד שפת C לפני כל שפה -- אבל זו רק דעתי ויהיו אחרים שיחלקו עלי...
אני ממליץ על C Primer Plus, מאת Stephen Prata (מהדורה חמישית)... אלף עמ' בערך שמלמדים אותך את השפה מבפנים החוצה, מלמעלה למטה, ממזרח למערב -- לא משאירים שום פינה לא מכוסה..!
בנוסף, בסוף כל פרק, יש תרגילים טובים לתרגול, שזה נורא חשוב כשלעצמו -- ידע תאורתי בלי ליישם אותו, זה כמו לשים ביצה במחבת בלי להדליק ת'אש מתחת -- לא יוצא מזה כלום בסופו של דבר! 
אני למדתי מהספר הזה, בכל אופן, וגם מספרים אחרים -- אולם אותו הכי אהבתי... אחריו יש לך את הספרים של יוצר השפה, שהם חובה אם אתה באמת רוצה להבין איך דברים נעשים ולמה, ואחרי זה, זה עניין של תרגול -- המון תרגול -- ובעיקר למידה של הסביבת פיתוח שבה אתה משתמש -- איך שאתה מגדיר אותה ישפיע לך בצורה קיצונית על הקובץ ריצה שיווצר לך מהקוד בסופו של דבר (על גודל הקובץ, בעיקר)! 
בנוסף, אם אתה באמת פריק של העניין ורוצה להיות הכי מעודכן, הייתי ממליץ לך (ממש אחרי שעשית את כל הנאמר לעיל), לקנות את התקן של השפה (C99), ללמוד אותו ולעבוד במקביל אליו -- אבל שוב פעם, אך ורק אחרי שלמדת ויש לך כבר את הבסיס! התקן של השפה הוא לא ספר לימוד, אלא רפרנס נורא רחב, הוא נורא טכני בצורת כתיבה שלו -- ממש לא מתאים ללמידה כמקור ראשון!
(אני ממליץ אך ורק על מה שאני עשיתי בעצמי -- אני נורא מרוצה מהידע שצברתי עד כה, לכן אני ממליץ לך גם כן על אותה הדרך...
)
בנוגע ל-Java, אין לי כ"כ מושג בשפה הזו, לכן אני נמנע מלחוות דיעה בנושא... למרות שבאופן כללי -- לך אך ורק על ספרות טכנית באנגלית... לא מתוך חוסר כבוד לשפה שלנו, אבל לא סתם נאמר ש-"עברית טובה לדרשה בבר-מצווה, לא כדי ללמוד מחשבים..." -- ספרות טכנית במחשבים בשפה שלנו זה לא דבר שיש לסמוך עליו, לדאבוני (לרוב לא עדכני\מלא\מדוייק -- מילים שיש נורא להזהר מהן בתחום הזה)... אם אתה באמת מעוניין ללמוד מחשבים (לאו דווקא תכנות, אולם בפרט את הנושא הזה), הייתי ממליץ לך לשבת עם מילון אוקספורד, לקנות ספר טוב באנגלית -- ואם נתייחס לבקשה שלך, אפשר לאמר שאתה תלמד שתי שפות במקביל, גם אנגלית, וגם C\Java... חח ;)
מקווה שעזרתי! 
בברכת כל טוב והצלחה רבה (!) בכל,
אריה.
