כך תבחר את שפת התכנות הראשונה שלך !

[9 במאי 2008] [54 תגובות]

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

שאלה שנשאלת פעמים רבות היא:

באיזה שפה כדאי להתחיל לתכנת ?

אם תשאלו את השאלה ברחבי האינטרנט, בוודאי תקבלו הרבה תשובות סותרות:

  • "ASM הטובה ביותר להבנה אמיתית של המחשב"
  • "חייבים לדעת C בשביל בסיס חזק"
  • "#C היא השפה הטובה ביותר למתחילים"
  • וכדומה...

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

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

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

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

קוד לדוגמה ב-Assembly:

mov ax, 100
add ax, [EAX]
mov A, ax

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

כך נראה קוד ב-C:

int x;
x = 5;
printf("Hello %i",x);

שפת סי פלוס פלוס (++C). זוהי שפה המרחיבה את C ומעניקה לה תכונות ויכולות חדשות. היכולת המשמעותית ביותר היא תיכנות מונחה עצמים (OOP = Object Oriented Programming), המאפשרת לכתוב תוכניות גדולות ומורכבות. שפה מצויינת , הרבה תוכנות ומשחקים נכתבו בעזרתה.

קוד C++ לדוגמה:

#include 
#include  
using namespace std;
int main() {
 int result;
 result = abs(-10);
 cout << result;
 return 0;
}

שפת Java. שפת תיכנות קלה ופשוטה בעלת יכולות מתקדמות. היא מאפשרת כתיבת תוכנות מסובכות בזמן קצר יחסית ובעזרת מספר מועט של פקודות ניתן לבצע פעולות מסובכות(כמו שליחת מידע לאינטרנט). Java היא שפה מונחת עצמים כמו ++C, שיודעת לנהל את הזיכרון בעצמה וחוסכת את המשימה מהמתכנת. תוכניות הנכתבות ב-Java יכולות לרוץ על כל מערכת הפעלה: Windows, Linux, Mac, Unix ועוד, ולכן מהווה יתרון לעומת שפות כמו C ו-++C.

קוד ב-Java נראה כך:

public class ConvertDoubleToString {
 public static void main(String[] args) {
  double aDouble = 0.11;
  String aString = Double.toString(aDouble);
 }
}

שפת סי שארפ (#C). דומה מאוד ל-Java, מונחת עצמים, מנהלת את הזיכרון בעצמה ומאפשרת לפתח תוכניות מורכבות בזמן קצר. מאפשרת תיכנות תוכניות רגילות(Windows Applications) ותוכנות לרשת האינטרנט(Web Applications).

קוד לדוגמה:

using System;
public class FindRadius {
 public static void Main() {
  Double r;
  Double area;
  area = 10.0;
  r = Math.Sqrt(area / 3.1416);
  Console.WriteLine("Radius is " + r);
 }
}

ההמלצה שלי

אני יוצא מנקודת הנחה שבסופו של דבר מתכנתים יודעים לתכנת במספר שפות תכנות. לכן חשוב לבחור את הסדר בו לומדים אותן. אם ברצונכם ללמוד את עקרונות התיכנות בצורה ברורה, פשוטה ויסודית, ולאחר מכן להיות מסוגלים לכתוב תוכניות מורכבות שעובדות, ההמלצה שלי היא ללמוד Java או #C.

הדמיון בין שתי השפות גדול ולכן ההיתרונות שהן מציעות למתחילים יכולים להסתכם בכך:

  1. שפות מונחות עצמים
  2. לא נדרש מהמתכנת לנהל את הזיכרון והן לא משתמשות במצביעים (Pointers)
  3. מהדר(Compiler) נוח וברור

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

אני אשמח לשמוע (בתגובות) באיזה שפת תכנות בחרתם בסוף. בהצלחה !

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

54 תגובות

  1. lalaal | 6/21/2008 7:21:39 AM

    תודה רבה 

    על המדריך 

  2. אבי | 6/21/2008 11:58:45 AM
    אני התחלתי עם VB6.... זה גם שפת תיכנות סבבה
  3. טל | 6/22/2008 9:48:14 AM

    גם אני התחלתי עם בייסיק בהתחלה(GWBasic ו-Basic) ואח"כ עברתי ל-VB6, אבל זה היה אז... עכשיו אני ממליץ להתחיל ב-Java או ב-C#.

    ותודה על התגובה :)

  4. רותם אבו | 9/25/2008 7:56:45 AM

    אחלה מדריך אני לומדת בכיתה ט' גם את שפת הJAVA

     

    תודה

  5. טל | 9/25/2008 11:59:56 AM

    בבקשה :)

    אני שמח לשמוע שזה עוזר...

  6. דוד | 10/4/2008 11:06:27 AM

     כותב על מנת "להתבכיין" ולקבל דעות.

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

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

    אני לומד כחודש וחצי, שלושה חודשים ראשונים לשפת C .זרקו לי ספר של זיו איילון

    "שפת C אל שיא"משנת 2000, אחרי תלונות לפני 3 ימים הביאו ספר חדש "ללמוד C" של יואב נתיב, מהדורה שלישית. אחרי שגמרתי 9 פרקים (מערכים) .

    פתחתי את הספר החדש חשכו עיני , כמה חורים בידע בסיסי של C יש לי , כרגע ממלא חורים אלו מתוך הספר החדש.

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

    העיקר התחלתי מ C.

     

  7. יובל | 7/27/2009 7:52:22 AM

    תודה רבה בחרתי סופו של דבר ב java היא נראית לי קלילה לפי מה שאתה מסביר ונוחה להתחלה, בנוסף נתת גם מדריך אז למה לא :).

     

  8. יואב | 8/28/2009 9:50:28 AM

    תודה. באמת התלבטתי.

    מה דעתך על ה - #visual c??

    כדאי? קל יותר ? מתפספס משהו?

     

  9. טל | 8/29/2009 5:15:42 AM

    Visual C# זה בעצם C# ולא מתפספס כלום. C# היא למעשה העתק של Java והן שפות תכנות מאוד דומות וקלות ללמידה.

    לדעתי כל אחת מהן (JAVA ו-C#) היא בחירה טובה.

  10. אביב | 12/22/2009 10:56:41 AM

    אני לומד כרגע JAVA מהאתר הזה ונהנה מאוד :-) .

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

  11. טל | 12/22/2009 11:26:43 AM

    אני שמח שאתה נהנה מהאתר :)

    כן, כדי ש-C# ירוץ במחשב צריך רק אתהדוט נט פריימוורק מותקן.

  12. אביב | 12/22/2009 11:43:33 AM
    תודה על התשובה. האם יש דוט נט להרבה מחשבים, ככה שאנשים רבים ינוכלו להריץ את התוכנות שאני אכתוב בסי שארפ? האם זה חינם להוריד דוט נט?
  13. טל | 12/22/2009 12:06:33 PM

    לא הצלחתי למצוא נתונים על אחוז המשתמשים שמותקן להם ה-framework במחשב.

    זה מותקן יחד עם ווינדוס ויסטה ו-ווינדווס 7. רק אנשי ה-XP (הרבים) זקוקים להתקין זאת בנפרד.

    ההורדה זמינה בחינם.

  14. אביב | 12/22/2009 12:16:06 PM

    סבבה, תודה.

    יש לי עוד כמה שאלות אחרונות:

     1-  מהם היתרונות של C# על C++? האם הם משמעותיים?

    2- האם עדיין הרבה אנשים משתמשים בC++, או שהיא נחשבת כבר מיושנת וכולם עוברים לסי שארפ? כלומר, בטח לא כולם, אבל האים פלוס פלוס נחשבת לקצת מיושנת כרגע?

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

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

    5- נגיד שאני נותן למשהו תוכנה שכתבתי בג'אווה (כמובן, יש לו JVM והוא יכול להריץ תוכניות ג'אווה בלי בעיה). הוא לא מבין כלום במחשבים, וכשאני אומר לו להיכנס לחלון דוס, להיכנס לתיקייה של הג'אווה ולכתוב java FileName, הוא לא מבין כלום. איך מריצים תוכנות ג'אווה בלי כל זה?

     תודה רבה על העזרה.

  15. יבגני | 12/23/2009 6:33:21 AM

    1-בוודאי שיש הבדלים משמעותיים

    1)צורת הכתיבה בC# הרבה יותר מובנת מC++

    2)אין צורך במצביעים

    3)אין צורך לשחרר זיכרון, זה מתבצע אוטומטית

    4)יש תמיכה מלאה בעקרונות של תכנות מונחה עצמים

    5)פשלות שהיו בC++ תוקנו ושופרו

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

    7)בC++ אין כלל תמיכה בThreads

     2-את הפופולריות של שפות התיכנות ניתן לראות באתר הזה http://www.tiobe.com/index.php/content/paperinfo/tpci

    3-תלוי. אם אתה מתכנת בC++ בסביבת דוט נט אז כן. אגב, לכל האנשים יש גרסה כלשהי של דוט נט במחשב אחרת הם לא היו יכולים להריץ הרבה תוכנות וישומים.

    4- יש לך עוד הרבה מה ללמוד עד שתגיע לשם ;)

    5-הוא כתב במדריך ליצור קובץ EXE בשפה כלשהי שכל מה שהוא יעשה זה להריץ את הפקודה שתפעיל הקובץ בJAVA

     מקווה שעזרתי

  16. אביב | 12/23/2009 10:16:09 AM

    1-

    1) במה זה מבתבטא? מה הופך את סי סארפ לכל כך יותר מובנת מסי פלוס פלוס?

    2) מה זה מצביעים?

    3) לשחרר זיכרון זאת כזאת טרחה? איך זה נעשה?

    4) גם בסי פלוס פלוס אמור להיות תכנות מונחה עצמים. זה ההבדל העיקרי בינה לבין סי, אני צודק?

    5) יש לך דוגמא לפשלות כאלה?

    6) הקלות הזאת היא משמעותית ביחס לסי פלוס פלוס?

    7) מה זה Threads?

     2- בסדר, אני רואה שם שC++ קצת בירידה. אבל זה לא אומר לי הרבה. משהו יכול להגיד לי אם C++ נחשבת כבר יותר מדי מיושנת?

    3- ואם אני לא מתכנת C++ בסביבת דוט נט? מה אני מפסיד?

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

    5- ואין דרך אחרת? חייבים להיכנס דרך הקומנד ליין?

     

    תודה על העזרה

  17. יבגני | 12/26/2009 1:18:37 PM

    די קשה להסביר את כל הדברים האלה. צריך ללמוד את הכל.

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

    אם בא לך ללמוד C# אני יכול להמליץ לך על הספר "C# כשפת אם" של יצחק גרבר.זה ספר טוב אבל לא ממש פשוט. יש גם עוד ספר על C# של הוצאת "הוד עמי". זה ספרים מקיפים ואפשר למצוא אותם בכל חנות ספרים כמו סטימצקי.

    חוץ מזה יש המון חומר באינטרנט בחינם.

     http://www.corner.co.il/index.htm

     http://www.underwar.co.il/

     

    ב++C למשל יש משתנים גלובאליים למרות שזה נגד הגישה של תכנות מונחה עצמים שאומרת שכל משתנה חייב להיות שייך למחלקה.

    אפשר לקרוא הרבה על ההבדלים בין שפות התיכנות בויקיפדיה.

    ועוד דבר: באתר נענע יש מדור שנקרא "לפרק את הבייט" יש שם המון כתבות מעניינות שקשורות לתכנות.

    מומלץ*

  18. עידו | 2/24/2010 11:39:47 AM

    אני התחלתי מPHP, אחת מהשפות היותר קלות למתחילים.

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

    אמנם גל ל MSDN יש אתר עם פונקציות וכאלה אבל לא כמו php.net ... פשוט בגלל ההסברים שיש שם גם למתחילים :D

    עכשיו עברתי לJAVA במקביל ללמידה של C# בבית ספר (כיתה ט'). 

  19. עידו | 2/24/2010 11:39:50 AM

    אני התחלתי מPHP, אחת מהשפות היותר קלות למתחילים.

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

    אמנם גל ל MSDN יש אתר עם פונקציות וכאלה אבל לא כמו php.net ... פשוט בגלל ההסברים שיש שם גם למתחילים :D

    עכשיו עברתי לJAVA במקביל ללמידה של C# בבית ספר (כיתה ט'). 

  20. שניר א | 3/4/2010 6:47:02 AM
    אביב:
    1) סי שארפ היא שפה שכאשר הכרתי אותה קראתי לה 'שפה לעצלנים'.
    עם זאת C# היא שפה מאוד חזקה ויכולה להיות מאוד מתוחכמת.
    .net framework עצמו כולל הרבה מאוד יכולות בסיסיות כביכול, כך שהדברים רצים הרבה יותר מהר וחלק.
    מעבר לזה, visual studio איתו אני מתכנת הוא מאוד ברור למשתמש. יש הסבר לכל דבר קטן שאתה מבצע.
    קשה לכתוב תוכנית בסיסית שלא רצה, אלא פשוט צריך לשים לב שביצעת הכל נכון.

    2) מצביעים ב-cpp זאת היא דרך גישה אחרת למשתנים. מצביע הוא טיפוס נתונים אשר מכיל כתובת בזיכרון, של משתנה אחר לדוגמא.
    זהו יתרון ופיתרון מאוד נוח לביצוע דברים רבים בתכנות, אך לפעמים גם מסובך וצריך לשים לב לחריגות, ל'איסוף זבל' של מצביעים שהגדרת וכו'.
    ב-C# או JAVA למשל הגבילו את השימוש במצביעים, כך שניתן יהיה להצביע בתור רפרנס , אך לא לשנות מספרית את המצביע.
    איסוף זבל מוסבר בסעיף הבא.

    3) איסוף זבל - שחרור זכרון נעשה בפשטות ע"י delete.
    זאת היא אינה טרחה דווקא,
    אבל חשוב לשים לב לזה אחרת התוכנית עלולה להיתקע, להעמיס על המחשב יותר מדי, או פשוט לא לעבוד.
    יש צורך לבצע ל-delete כאשר מגדירים משתנה או מערך דינמי ע"י new.
    דוגמא (שים לב: int - טיפוס נתונים של מספר שלם):
    int *p_array = new int[5];  -  הגדרנו מערך דינמי (הניתן להגדלה תוך כדי ריצת התוכנית)
    delete[] p_array; - שחררנו זיכרון של המערך הדינמי. מעתה לא ניתן יהיה לגשת לאיברים שהחזיק.

    4) צודק

    5) אני פחות מנוסה לדעת (עדיין beginner) ולא עד כדי כך מתמצא.

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

    7) threads - הכוונה לתכנות מקבילי, שימוש ביכולת של המעבד (כביכול) לבצע שתי פעולות בו זמנית.
    יש הסבר נוח כאן - http://www.youtube.com/watch?v=vyKcE7bB9LU

    8) JAVA עדיין לא למדתי, אולי בקרוב. ברגע שלומדים שפה אחת אז קל יותר לקלוט ולתכנת כמעט בכל שפה אחרת.

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

    טל , לך ודאי יש הרבה מה להוסיף עלי ולתקן במקרה ולא דייקתי...אחלה אתר ד"א, השבוע הכרתי.
  21. טל | 3/4/2010 12:05:45 PM

    @שניר, תשובות טובות!

    יש לי עוד קצת מידע על הקשיים בניהול הזכרון:

    ניהול הזכרון ב C++ יכול להוביל לבעיות שמעבר לחוסר שחרור זכרון (memory leak). בעיות שכיחות הן שחרור כפול של אותו אובייקט (double free) ושחרור זכרון שכלל לא התבצעה הקצאה עבורו.

    בעיות אלו לא תמיד גורמות לתוכנית לקרוש (מלשון crash) ברגע השגיאה, אלא הן משבשות את מרחב הזכרון (heap corruption) והתוכנית יכולה להתנהג באופן לא צפוי וברוב המקרים לקרוש.

  22. חבל | 3/6/2010 5:50:55 PM

    זרקתם את הפסקל לזבל?

     לפעמים כל כך הרבה יותר כיף לתכנת בשפה קשה ותחתית

    מאשר בשפות שהם כמעט אלגוריתם... 

  23. שניר א | 3/7/2010 2:24:36 PM

    למדתי פסקל בימי קדם, בתיכון (עם ציון 92 לי ו-94 שעשיתי לחבר, החלפנו מבחנים) 

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

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

  24. אפרת | 3/28/2010 8:22:27 AM

    כל הכבוד על המדריך.

    אני התחלתי ג'וואה בלימודי באוניברסיטת בן גוריון במסלול מדעי המחשב.

    הבנתי שבמקצועות הנדסה למשל, עדיין מלמדים c.  

  25. אבי | 7/31/2010 1:14:37 PM
    אני מתחיל ללמוד  java
  26. גלי | 9/6/2010 7:58:22 AM
    אני מתחילה ללמוד בבית הספר תכנות.. ואצלנו מלמדים JAVA.. אז נראה איך אני אסתדר D:
  27. דניאל | 9/30/2010 4:05:31 AM

    מאמר חביב, יעזור למעוניינים ללמוד.

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

  28. ארז | 10/14/2010 9:37:58 AM
    תודה רבה עזרתם לי מאוד :)
  29. רם | 11/14/2010 10:12:05 AM

    אני ממליץ על פייתון בתור שפה למתחילים.

    הנה תוכנה שעשיתי כדי ללמד תכנות בפייתון בקלות:

    http://pythonturtle.org

    (כמובן, היא כתובה בפייתון.) 

  30. גלית | 4/12/2011 7:06:57 AM
    אני לא ממש מבינה בזה אבל אני מאוד רוצה לללכת ללמוד את הנושא הזה ולקבל את הכלים שיאפשרו לי אחר כך לבנות אתרים ברמות גבוהות כמו יד 2,וין וין,זאפ וכו'...הייתי מאוד רוצה לדעת האם מכללת ג'ון ברייס היא מקום טוב ללמוד שם הם נותנים לי ללמוד את JAVA  או עדיף ללכת ללמוד במכללת היי טק שם הם נותנים לי ללמוד את מערכת ה PHP  מאיפה אני בכלל אמורה להתחיל כדי להגיע לרמות בנייה של אתרים ומערכות חכמות כאלה ????
  31. שניר א | 4/12/2011 10:43:48 AM

     

    בשביל לכתוב אתרים כאלה את צריכה לדעת HTML+CSS שזה הבסיס, אח"כ קצת javascript  (בזה אפשר להשתמש בהרבה קוד מוכן שאנשים כתבו),
    וכל אלה מעורבים ב-php או asp (שבתוכה יש עוד שפות נוספות).

    אנחנו כותבים היום פרויקט ומשתמשים ב-ASPX.NET, שהיא שפה שמשלבת אתרי אינטרנט דינמיים עם תכנות סי-שארפ או ויזואל-בייסיק וקצת יותר מתקדמת מ-PHP. 

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

     

  32. איליה | 10/17/2011 4:32:54 AM

    אני ממליץ בחום על ספר "C# כשפת אם"

    ספר מצויין שמסביר הכול מההתחלה!

  33. שיאן | 3/15/2012 3:51:10 AM

    לעניות דעתי המסרים בדף זה נוגעים יותר ל"ביזנס" - לא לתיכנות. היינו, איזו שפת תיכנות כדאי כיום ללמוד בכדי להיות ריווחי, ובכדי להיות IN.

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

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

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

    בקיצור, מי שמעוניין באמת להכיר את המחשב, ואוהב תיכנות יותר מאשר משכורת מנופחת, ומשרד עם נורות פלורסנט, כדאי לו/לה שיתרחק משפות כמו C ו-JAVA וילמד שפות כייפיות.

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

    - אם את/ה אוהבים אלגוריתמים וחשיבה יצירתית, בלי להתעסק יותר מדי בניהול זיכרון משעמם, הרי שאפילו QBASIC יותר כייפית מ-C. ויש עוד הרבה שפות כייפיות יותר מ-C.

    - אם את/ה רוצים להיות IN בכל מחיר, להרוויח כסף, ולחזור מהמשרד כדי לקלל את הבוס ולהתלונן על המשכורת ולהרגיש כמו אידיוטים - C ו-JAVA זה הדבר! אחרי הכל, כל מה שתכתבו בשפות האלו, בכל חברה שתעבדו בה, יזרק לפח תוך זמן קצר ויפנה את מקומו ל"דור הבא".

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

     הדברים נאמרים מתוך כבוד ואהבה לאומנות התיכנות, ולא מתוך רצון להתבלט ו"לעשות מעצמי מבין".

    תודה, שיאן.

  34. UNDEAD | 4/7/2012 9:07:29 PM

    אממ...

    אני יש לי התלבטות באיזה שפה תכנות כדי להתחיל...

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

    לא משהוא מסובך אבל בוא נגיד גם לא קל במיוחד...

    נגיד שאני מעוניין להתחיל ללמוד איך לבנות תוכנית כזאת...

    https://rapidshare.com/files/1236490826/Ikariam_Calculator_v_1.0.exe

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

    אממ...

    אין לי ידע כרגע בשום שפה כי עוד לא התחלתי ללמוד שום שפה... 

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

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

    המייל שלי הוא :Underkaen2@gmail.com

    עם אפשר וזה לא מסובך מדריך יהיה מצויין לתרגול...

    השמח לקבל עצות (!)UNDEAD(!) 

     

  35. שיאן | 4/10/2012 3:15:09 AM

    תגובה ל- UNDEAD

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

    תוכל לכתוב עם אופוריה תוכניות למחשב האישי, למספר מערכות הפעלה שונות, ולאינטרנט.

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

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

     ניתן להוריד גירסה 3.1.1 או גירסה 4.0.3 של אופוריה, בחינם, מהאתר:

    http://www.rapideuphoria.com

    גירסה 3 תומכת גם ב-DOS ואילו גירסה 4 איננה תומכת ב-DOS.

    הרבה יותר קל להתחיל ללמוד תיכנות עם גירסה 3. כתבתי עורך מצויין לעבודה עם גירסה 3 וניתן להשתמש בו על מערכת הפעלה חלונות XP ומטה, כולל DOS כמובן. תוכל להוריד את העורך מן הכתובת הבאה: http://qe.site90.com

    אם יש בעיה להכנס לאתר - כנס לאתר דרך שרת PROXY חופשי, לדוגמה:

    http://www.hidemyass.com

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

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

    בהצלחה.

  36. פז | 6/3/2012 10:43:11 AM

    שפת התיכנות הראשונה שלי הייתה PHP, אותה הצלחתי ללמוד פרפקט כי למדתי מדריכי ווידאו..

    ניסיתי ללמוד JAVA אבל פשוט.. נגיד את זה כך-"נרדמתי"(מתוך ביטוי)..

    אם הייתם אומרים אתרים בכללי הייתי אומר:

    HTML למדתי קקצת ככה לאחר מכן למדתי CSS ולאחר מכן PHP ולאחר מכן SQL

    אני ממליץ לכולם לעבור ככה:

    HTML - CSS - PHP - SQL - JAVA - C# - C++

    ביציאת מדריכי ווידאו גם ל-JAVA אשמח ללמוד גם עליה :)

    בהצלחה! 

  37. יוסי | 8/13/2012 11:21:09 AM
    תודה רבה, בחרתי ב - Java
  38. אפי | 9/8/2012 3:56:04 PM

    שכחת את שפת VB.NET.

    אני ממליץ אותה לאנשים שבאו מתחומי ה-VB6 ותכנות של VBA באופיס. ככה שלא יצטרכו לעבור שתי משוכות. גם סביבה חדשה ו-framework חדש, וגם לימוד תחביר שונה.

    בעיקרון ה-VB.NET עושה כמעט כל מה ש-C# עושה (למעט כמה דברים כמו כתיבת קוד C++ unsafe), ובהרבה מקרים הכתיבה בה הינה יותר אינטואיטיבית ונעשית ביתר קלות.

  39. שדגכ | 10/23/2012 4:29:59 AM
    שדכ
  40. קארין | 12/29/2012 5:20:19 AM

    שלום :)

    תודה על העזרה :)

    אניאתחיל ללמוד JAVA.

    תודה רבה לך! =] 

  41. חיליק | 5/22/2013 6:12:41 AM

    בראש וראשונה צריך לזכור מהי המטרה בלימוד התוכנה.

    VB6 הינה שפה מעניינת ומאפשרת באופן מהיר מאוד לממש את הרעיון לכדי מוצר.

    מה שכן השפה התנפחה ויש לה מגוון עצום של אפשרויות מה שהופך אותה אידאלית

    לפיתוח ממשקים אדם/מכונה.

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

    ובצורה אינטואטיבית הרי שיעדיף לממש זאת בשורות קוד מעטות ומהירות ע"פ 

    טורח פרוצדורויאלי של אלף שורות קוד כדי להגיע לאותה תוצאה (ובכלל שקוף למשתמש) 

  42. סברינה ווז | 6/18/2013 4:52:40 AM
    בחרתי פסקל.
  43. איתמר | 7/6/2013 8:43:00 PM
    תודה רבה עזרת לי מאוד...שאלה קטנה מה אני יכול לעשות עם הידע בשפת JAVA כלומר מזה עוזר לי בחיים ואיך אני מפתח את זה הלאה למשהו גדול יותר?
  44. מנחם | 2/26/2014 8:58:39 PM
    תודה על המדריך שעושה סדר בראש
  45. Fxp | 6/7/2014 9:48:33 PM
    זה קשה לתכנת ?
  46. יהב | 6/19/2014 11:45:00 PM
    אני בגיל 13 ואני רוצה ללמוד לתכנת. אני רוצה להגיד לכם תודה על כל התגובות וההמלצות בנושא, תודה רבה טל על המדריך, זה עוזר מאוד למתחיל.
  47. שלום | 7/29/2014 7:55:25 AM

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

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

    למשל אם יש לי בלוג באיזה שהו מקום שלא תומך בזה, אני רוצה ללמוד להיכנס בתוכו ולשפר את היכולת שלו.

    חלומות????

    התחלתי ללמוד לכתוב ב-HTLM לא הבנתי למה זה עוזר זה שפת תוכנה בכלל? זה נראה רק קוד כדי לתאר את הדברים של הטקסט שמופיע בדף אינטרנט.

    אם אלמד ז'בה אדע לעשות מה שאני רוצה?

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

     

  48. אלי | 8/3/2014 10:12:04 AM

    html זה תכנות אתרים (כלומר מוגבל לשימוש בתוך האינטרנט) java וc# יועדות בעיקר לתוכנות מחוץ לאנטרנט (משחקים וכדו') אבל עד כמה שאני יודע אפשר לתכת איתם גם באינטרנט אבל לא ממלץ 

  49. אביב | 8/12/2014 1:36:07 PM
    יש שפות מחשב מתורגמות?
  50. אלוש | 11/30/2014 10:36:27 AM

    אני מחפש דחוף ספר שמלמד סי שארפ אבל למתחילים בלי שום ידע

     

  51. Yael | 12/26/2016 6:49:16 AM
    מנסה ללכת על - JAVA - תאחלו לי בהצלחה,
    כל טיפ עאו עיצה שיוכלו לעזור לי - אשמח לשמוע :)
  52. Diofoffuttero | 1/7/2017 6:30:51 AM
    ׀אחהאול ןמ 50$ ןנמסעמ עאך. ֲ?בונטעו סקוע, טםגוסעטנףיעו ןמכףקוםם?ו 50$ ט םאבכ‏האיעו חא עול, ךאך נאסעףע ףזו גארט הום?דט. ֿמכףקטעו [url=http://rancat.xyz/track/BDP50][b]50 USD חהוס?[/b][/url]
  53. אליהו פלג | 4/12/2017 1:12:07 AM

    לומד כפול:)

    בבית נבפר (כיתה ט') לומד C# ובבית לומד java..

    המון דברים דומים. 

    המדריך די עזר להתחלה- יש אפשרות להרחיב?? 

  54. אליהו פלג | 4/12/2017 1:12:31 AM
    בית הספר*

התגובות נעולות