מעוניין להתחיל ללמוד שפות תכנות - מגיע ללא ידע. - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מעוניין להתחיל ללמוד שפות תכנות - מגיע ללא ידע.


אריק9

Recommended Posts

אהלן אנשים,

לפני זמן קצר נכנסתי לעולם ההייטק מצד התשתית והאינטרנט (לימודי MCITP ) והמטרה שלי היא ללמוד שפות תכנות על מנת להבין ולדעת לבנות

קילוגרים,,טוריאנים וכו'. (אחרי לימודי ה MCITP הכיוון הוא לאבטחת מידע)

לכן אני מאוד אשמח אם תוכלו לכוון אותי איזו שפה להתחיל ללמוד ועל ספרים הטובים ביותר שתוכלו להמליץ.

יש לציין שאין לי ידע כלל.

תודה על העזרה מראש.

קישור לתוכן
שתף באתרים אחרים

אסמבלי זה משפחה של שפות שקרובות יותר לשפת מכונה מאשר לשפת על. על כן היא קשה יותר ללימוד במיוחד לחסרי ניסיון.

מציע לך להתחיל עם JAVA או C++ ולהבין יותר את עקרונות התכנות (מדעי המחשב) מאשר את השפה.

קישור לתוכן
שתף באתרים אחרים

אוקיי,אז אני אתחיל ללמוד C++ וJAVA.

האם קיימים ספרים טובים בעברית שאתה יכול להמליץ עליהם ? אם לא,אז גם אנגלית היא בסדר.

מצאתי מספר ספרים בנושא אבל אני לא יודע מה בידיוק יתאים לי כי אני חושש שהרמה שלהם ליותר מתקדמים.

קישור לתוכן
שתף באתרים אחרים

  • 2 שבועות מאוחר יותר...

דווקא בגלל שאתה רוצה ללכת לכיוון של אבטחת מידע (ידרוש הרבה מאוד השקעה וייקח לך יחסית הרבה זמן להגיע לרמה מספיק טובה כדי להכנס לתחום כי אין לך ידע בסיסי), הייתי ממליץ על C++. לא שום דבר אחר.

אסמבלי יהיה לך קשה על ההתחלה (אם כי תצטרך להגיע לשם במקודם או במאוחר) והתוצאות שרואים הן מינימליות, וזה עלול לגרום לך להתייאש.

JAVA זו שפה נפלאה (אני יותר אוהב C#,שמאוד דומה, אבל יש לה הרבה פיצ'רים שואין לJAVA) אבל מאוד high level. באופן כללי אני מאמין שמתכנת צריך להתחיל מהבסיס, ועל אחת כמה וכמה מישהו שהכיוון שלו זה אבטחת מידע.

בJAVA אמנם תראה דברים זזים על המסך הרבה יותר מהר, ותוכל לבנות אפליקציות יותר בקלות, אבל JAVA ו C# מסתירות ממך הרבה מאוד.

C++ זה איפשהו באמצע. עדיין יש לך שליטה והבנה בדיוק מה קורה מאחורי הקלעים מצד אחד, ואפשר לראות תוצאות בזמן סביר מצד שני.

מעבר לידע בתכנות, כדי להבין באבטחת מידע נדרש הרבה רקע תיאורטי. זה תלוי בתחום שאליו אתה רוצה להכנס, אבל ידע מעמיק בתקשורת זו התחלה טובה. בנוסף, שוב כתלות במטרה הסופית שלך, גם ידע במערכות הפעלה (איך הן עובדות, ניהול זיכרון, גישה לרכיבי חומרה ודרייברים וכו') הוא חשוב מאוד.

כשאני למדתי C++ זה היה ממש ממש מזמן. אני לא ממש בקיא בספרים שקיימים היום בשוק, אבל אני השתמשתי בThinking in C++.

ניתן להורידו בחינם ובאופן חוקי לחלוטין פה. הוא אמנם נחתם ב2003 אבל התקן האחרון של C++ אבל אם אני לא טועה זו היתה השנה שבה עודכן הסטנדרט פעם אחרונה.

אני אוהב את הספר הזה כי הוא מסביר מה זה תכנות מונחה עצמים. הבעיה של המדריכים השונים באינטרנט (שלא נדבר על ספרים בעברית - שלדעתי האישית, צריך להתרחק מהם כמו מאש) שהם לא מלמדים את החומר מהבסיס. בטח ובטח לא שמים שום דגש על תכנות מונחה עצמים ראוי.

אח"כ תלמד היטב STL. אפשר לעשות את זה ממדריכים שונים באינטרנט - מנוע חיפוש הוא חברך.

שווה להשיג את ה"תנ"ך" של Stroustroup. למשל מאמאזון (הוא הוגה השפה).

בנוסף, יש ספרים שונים על Design Patterns - כלי חשוב לכל מתכנת (במקרה הזה אפשר גם להסתפק במקורות באינטרנט).

אם רוצים לרדת יותר לעומק, אני ממליץ על הספר Effective C++ (יש לו גם גירסה נוספת More Effective C++).

ספר טוב על תקשורת הוא Computer Networks.

כשתרגיש שאתה מוכן שווה ללמוד קצת אסמבלי (אין לי הפניות בנושא הזה).

(אגב, אסמבלי זה השם של שפת התכנות, ואסמבלר זו התוכנה שיודעת להפוך שפת אסמבלי לקובץ הרצה - מקביל לקומפיילר במקרה של C++).

בתור סביבת עבודה, אין על ה Visual Studio בעיני. יש גרסאות שונות בתשלום ואולי גם בחינם. ויש גם סביבות אחרות טובות, אבל אני לא ממש מכיר. תרגול טוב יהיה אגב להוריד gcc שהוא חינמי, ולנסות לשחק קצת עם Makefiles. זה יעזור לך להבין נושאים של תלות בין קבצים, header files, object files ועוד. ההפרדה בין pre-processing, compiling, linking וכו.

לגבי העברית כבר ציינתי שלא כדאי ללכת לשם.

אם אתה בעולם ההייטק - אין מה לעשות, הכל באנגלית. אין חומר איכותי בעברית. אולי יש - אבל מצומצם ובטוח קשה למצוא אותו.

תתחיל לתרגל את הקריאה (וגם כתיבה!) שלך באנגלית כמה שיותר מוקדם (גם דיבור כדאי, אבל טיפה פחות חשוב).

בהצלחה!

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...