אח שלי נתן לי הרבה ספרים , איך הם ? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

אח שלי נתן לי הרבה ספרים , איך הם ?


Yehudaa

Recommended Posts

נתחיל מהקל אל הכבד :)

1.הוצאת הוד עמי : "המדריך השלם לשפת C " משה ליכטמן ועמית דש

2.הוצאת הוד עמי : "c++ opp למתכנת המקצועי " שמעון כהן

3. press : " המדריך השלם visual c++"

4.הוצאת הוד עמי : שפת אסמבלי למחשב האישי אלי כהן

5.ספר שנכתב על ידי ממציא שפת c++

"c++ programing language third edition"

6.

scot meyers : effective c++"

7.

: more effective c++

8.

osborne : stl programming herbert schildt

9.

sun microsystems press : graphic java

משהו מכיר איזשהו ספר ? חוות דעת ?

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

מס' 5 "c++ programing language third edition" ספר מצויין ללימוד c++, לדעתי בעיקר בשביל מי שכבר תכנת בעבר.

6 ו-7 שני הספרים של סקוט מאיירס ספרים מעולים למי שכבר למד (לפחות את הבסיס של) c++, מעין "עשה ואל תעשה" מעמיק.

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

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

לגבי הספרים, אני לגמרי מסכים עם k-o-b-y וכל מילה מיותרת.

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

The C Programming Language, Kernigham & Ritchie.

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

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

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

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

לא רציתי לפתוח עוד תראד :

ידוע שהרבה יותר קל לתכנת ב java או c# לעומת c++

וידוע שקוד שיהיה רשום ב c/c++ יהיה מהיר בהרבה מאוד מקוד שרשום c#/java

הבנתי קצת למה זה ככה , השאלה שלי היא , לא יכולה להיות שפה קלה לכתיבה ושתהיה מהירה כמו c++ או לפחות מתקרבת לכך ?

ועוד שאלה : למה קוד ב java או c# מתקמפל בזמן אמת ? לא עדיף לקמפל אותו לצמיתות ?

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

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

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

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

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

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

המסקנה צריכה להיות: תבחר את הכלי (שפת תכנות) בהתאם למשימה. אל תנסה לכתוב ב-JAVA. אל תנסה לכתוב סקריפט ב-C. אל תנסה לכתוב כלי לעיצוב גרפי עם ממשק משתמש מתוחכם ב-C++ (למרות שבין הכלים המפורסמים ביותר לא מעט כן כתובים ב-C++...)

לגבי ספרים: אני מסכים לחלוטין עם כל מה ש-K-O-B-Y אומר. הספרים של Scott Meyers (ספרים 6 ו-7 ברשימה) הם מעולים - ממש חובה לכל מתכנת C++. אבל צריך כבר ידע בסיסי בשפה ושליטה בסיסית בשביל לקרוא אותם.

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

הבעיה היא שיש לך קובץ אבל לא שייכת אותו לפרוייקט.

תפתח פרוייקט חדש מסוג console application. תוסיף את הקובץ C לפרוייקט הזה. ואז תוכל לקמפל.

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

לא יכולה להיות שפה קלה לכתיבה ושתהיה מהירה כמו c++ או לפחות מתקרבת לכך ?

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

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

ועוד שאלה : למה קוד ב java או c# מתקמפל בזמן אמת ? לא עדיף לקמפל אותו לצמיתות ?

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

בנוסף לזה, כאשר אתה מריץ את התוכנה ה VM עושה הרבה טריקים כדי שהביצועים יהיו גבוהיים, שכולל שימוש ברגיסטרים של המעבד במקום במימוש מבוסס מחסנית של שפה כמו Java, הוא משתמש בטכנולוגיה של just in time compilation שזה עושה caching ואופטימזציות על בלוקים של קוד וכו'.

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

הקוד הוא כזה :

 

[left] #include <stdio.h>
void main(void)
{
int a, b, sum;
printf("type no 1 :");
scanf("%d", &a);
printf("type no 2 :");
scanf("%d", &b);

sum = a + b;
printf("the of %d and %d is %d " , sum ,a , b);
} [/left]

השגיאה היא כזאת

1>c:\source1.c(13) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

1>Build log was saved at "file://c:\Documents and Settings\Shula\My Documents\Visual Studio 2005\Projects\test1\test1\Debug\BuildLog.htm"

1>test1 - 1 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

תמונה למטה מה הבעיה ?

[attachment deleted by admin]

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

בחרת בפרויקט לא נכון. תבחור ב console application ואז אחרי זה יהיה לך בצד options, תסמן שם empty project ואז לא תהיה את הבעיה.

או שפשוט תוסיף בראש של הקובץ הזה כמו שהקמופיילר אומר את השורה #include "stdafx.h"

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

ארכיון

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

×
  • צור חדש...