עבור לתוכן

מה שפת התיכנות הכי נחשבת וכדאית כיום?

Featured Replies

פורסם

אי אפשר בכלל להשוות בין PHP ל-C מלבד התחביר, בדיוק כמו שאי אפשר להשוות בין C ל-C++ ל-C#, מלבד בשם כמובן, וקצת בתחביר.

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

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

C# (או כל שפת דוט-נט אחחרת - C# היא שפת דוט נט) היא שפה שונה לחלוטין שעובדת על עקרונות שונים (כלומר, אותו עקרון בסיסי אבל המימוש שלו שונה לגמרי), ומלבד השם אין שום קשה בינה לבין C/C++. אם כבר אפשר להשוות אותה לג'אווה, שגם מלבד התחביר לא דומה לC או C++. אם תתעמק קצת ביכולות הדוטנט ותבין איך זה עובד (מה שלא תצליח לעשות אם לא יהיה לך בסיס חזק), תגלה שבתיאוריה אפשר לכתוב בכל שפה בפלטפורמת הדוטנט (וחלקן גם מומשו - J# שזה למעשה ג'אווה, VB.NET, C++/CLR, וכו', כאשר ASP.NET זה איזשהו ישום של כל שפת דוטנט נתונה בפלטפורמת אינטרנט, כלומר, מלבד השם אין לה שום קשר לASP הקלאסית).

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

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

  • תגובות 35
  • צפיות 6.7k
  • נוצר
  • תגובה אחרונה
פורסם

אתה מבין לאיזה עולם אתה נכנס?? :)

כל החברים אמרו דברים יפים אבל אתה צריך לשאול את עצמך מה אתה רוצה לעשות עם הידע? ז"א

לכתוב אפליקציות להתקנה במחשב

או אפליקציות "אינטרנטיות" שלפה הכל זורם היום.

לדעתי קנה לך ספר ב PHP5 תרגל משם את הדברים.

הייתי אומר שתעיף מבט על C# אבל הספרים שאני נתקלתי בהם לא כתובים בצורה ברורה כמו הספרים של PHP

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

פורסם

המלצתי האישיתי, LOLCODEיש גם ב .NET

פורסם
  • מחבר

אז אתם ממליצים לי להתחיל בPHP , לקנות איזה ספר ולהתחיל לתרגל ממנו?

אם אני אתחיל ללמוד PHP אני אוכל לעבור בקלות לשפות כמו C++ וC#?

אגב, איזה שימושים יש לשפה C#?

יש לה ביקוש בתעשיה?

ויש ספרים או אתרים טובים ללימוד C#?

פורסם

:kopfpatsch:

קראת בכלל את הדיון?

אמרו לך פה שהקשר בין C לPHP זה התחביר וזהו.

אם אתה רוצה ללמוד תכנות תכנות אז תתחיל מC\C++

וגם .NET חביב

אם אתה רוצה לכתוב סקריפטים לסביבת WEB אז זה PHP

פורסם

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

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

פורסם

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

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

אבל לא זה הדיון

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

אחי, יש תכנות, ויש שפות תכנות

תכנות = חשיבה, איזה שהיא יכולת

שפות תוכנות = כלי

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

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

השפה הכי מומלצת לדעתי כיום, היא c++

א. כיה היא מאוד מובנת(ברובה)

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

ג. היא חדישה יותר מ c

ד. היא הרבה יותר גמישה משאר ה .net

ה. ללמוד תכנות קשה מאוד תחת אחת משפות ה .net

לא הייתי מציע php כי שם אתה לא תלמד תכנות

השאלה היא האם c או c++

במקרה שלך לדעתי c++ על מנת לא לבזבז זמן של ללמוד אחרי זה עוד שפה כשאפשר להשקיע את כל כולך בשפה אחת מלכתכילה

בסופו של עניין c++ היא שפה מעולה, עוד מעט שיכנס התקן החדש במלואו c++0x אז בכלל

פורסם

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

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

פורסם

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

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

השפות הבאות שנלמד יהיו C# JAVA שהן נעסוק בהמשך הלימוד.

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

פורסם

פסקל ו c הם שפות פרוצדורליות

c++, c# and java שפות מונחות עצמים אבל יש הבדל בן c# and java ל c++ בכך שc++ היא שפה מונחת עצמים אבל לא טהורה(אלו שהגיבו למעלה כבר הזכירו למה) .

לגבי בחירת שפה זה תלוי בעיקר באיזה אפליקציה אתה רוצה לפתח למרות שיש אפליקציות שזה לא משנה.למה אני מתכוון? אם אתה רוצה לפתח אפליקציה ב realtime אז הייתי ממליץ לך לפתח אותה ב c++ כי יש חסרונות ל c# and java או שאם אתה רוצה לפתח אפליקצית database אני ממש לא הייתי ממליץ לפתח אותה ב בc++ אלה ב visual basic . לדעת שפה זה לא מספיק כלל החלק היותר חשוב זה לדעת בניית אלגוריתם נכון ויעיל כמה שניתן

פורסם

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

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

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

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

אפשר לכתוב כמובן C++ שיהיה דומה ל-C, אבל אפשר גם לכתוב C++ שתכנת C בכלל לא יזהה.

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

פורסם

אתה צריך להגדיר לעצמך מה המטרה הסופית שלך.

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

לגבי בחירת שפה - שפה זה תחביר. מה שאתה צריך ללמוד זה איך לתכנת.

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

הייתי מחלק את הלימוד ל3 שלבים:

1. עקרונות תכנות בסיסים. (C או C++)

2. תכנות מונחה עצמים (Java או C#)

3. טכנולוגיות - פה בעצם מתחילה ההתמחות האמיתית.

C# היא רק שפה אבל היא חלק מטכנולוגיית .NET של מיקרוסופט ולטכנולוגיה הזאת יש הרבה תחומים.

Java -כנ"ל. הרבה תחומים. למשל mobile או J2EE.

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

לדוגמא אם אתה רוצה לכתוב תוכנת חלונות פשוטה - תצטרך ללמוד UI toolkit (כלים לתיבת ממשק משתמש)

אם את רוצה לכתוב משחק 3D אז תצטרך ללמוד DIRECTX או OPENGL (ערכות תלת מימד)

תתחיל מהבסיס עם 1 ו 2 ואח"כ תחליט.

המלצה אישית שלי - תכנות מונחה עצמים לעשות בJAVA.

דרך אגב- אני עובד בתחום בתור ר"צ והתחלתי כמפתח. 5 שנים בJAVA\J2EE ושנתיים C# .NET + J2EE

פורסם

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

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

ואם תרצה תוכל להמשיך הלאה למונחה עצמים שזה חשיבה לגמרי שונה מתכנות פונקציונלי, שוב השפות שרצות חזק כמו שנאמר בעיקר JAVA

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

בהצלחה

פורסם

אף אחד לא מציע functional programming...?

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

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

פורסם

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

אם תרצה לבנות תוכנית עם GUI מורכב לוינדוס,C# תהיה בחירה מצוינת. כתיבת תוכנות לפלאפונים למינהם-JAVA תהיה אחלה,וכו'

מה שחשוב זה ללמוד תכנות - שפה תבחר בהתאם לדרישות

ארכיון

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

דיונים חדשים