לבחור שפת תכנות

gtbk82

New member
לבחור שפת תכנות

שלום לכולם,

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

תודה רבה למסייעים !
 

vinney

Well-known member
יש לך כמה דרישות סוטרות

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

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

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

vinney

Well-known member
כי אתה רוצה הכל

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

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

gtbk82

New member
תודה על ההערה הלא רלוונטית

אם כבר השקעת בלכתוב תגובה, לא עדיף שתענה לשאלה שנשאלה ?
 

nocgod

New member
הבעיה שלך היא לא הדרישות...

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

השוק היום מאוד דינאמי אבל אם היית מחפש קצת באתרי עבודות היית רואה שהרוב רוצים חבר'ה שיודעים בין היתר C# או JAVA.

אבל כדי לכתוב תוכנה (אפליקציה זה תוכנה, אז מה שהיא רצה על טלפון?) צריך הבנה של הרבה דברים מעבר, לצורך העניין שפה יכולה ללמד אותך תחביר של איך להשתמש בthreads
אבל שפה לא יכולה ללמד אותך איך להמנע מrace conditions או מ deadlocks, את זה מלמדים אותך אותך מדעי המחשב (לדוגמא אני למדתי scheduling בקורס מערכות הפעלה, תזמון threads בסיסי למדתי בקורס Java מתקדם
ואת מה שאני יודע היום למדתי מספרות ב #C או ב JAVA שעסקה בנושאים מעבר לשפה)
וזו רק דוגמא אחת (אגב מאוד חשובה ועקרונית)

אם יש לך בסיס אז אני ממליץ על הספרים הבאים, כמובן תלווה את זה בתרגילים (הייתי ממליץ על פיתרון התרגילים של projecteuler):
The C Programming language יתן לך הבנה ותרגולת בתכנות פונקציונלי לא מונחה עצמים, בעצם מהווה בסיס חזק מאוד לתכנות
Dietel and Dietel C++ או אם אתה קצת יותר אמיץ אז The C++ Programming language תלמד עקרונות תכנות מונחה עצמים ושפה מאוד חזקה לתכנות מונחה עצמים
Dietel and Dietel Java how to program או ספר טוב שילמד אותך #C.
אם אתה לא לומד באקדמיה אז כדאי מאוד ללמוד דברים כמו מבני נתונים, אלגוריתמים (חיפוש, מיון). ובעיות כמו producer consumer (זה הכי בסיסי) כדי ללמוד תזמון threads כדי לשפשף את המוח שלך טיפה בפיתרון בעיות אבסטרקטי.
אם תדע פתרון לבעיות בצורה אבסטרקטית זה מאוד עוזר כדי לפתור בעיות גדולות בעולם האמיתי....
 
למעלה