Whatsup - לינוקס, תוכנה חופשית וקוד פתוח בעברית

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

Anonymous - 13/03/2018 - 03:06
נושא ההודעה: כן, גם אני רוצה ללמוד תכנות ולא יודע עם איזו שפה להתחיל.
אני מנסה להיכנס לעולם של התכנות. עשיתי מחקר מקיף על איזה שפה הכי כדאית לי. אני ארגיש אידיוט ללמוד שפה ישנה ומסורבלת כשיש שפות מתקדמות הרבה יותר בשוק. אין לי עניין לעשות לעצמי כניסה קשה לתחום.
ירדתי מc# בגלל שהיא לא חוצת פלטפורמות.
ירדתי מjava גם בגלל שגרסא 9 לא תואמת לאחור, מה שיביא לדעיכה כלשהי, וגם בגלל שכל הזמן נוצרות שפות חדשות שמנסות להציג גרסה יותר ידידותית של ג'אווה. ולמה לי ללמוד משהו שכולם מנסים להחליף.
כל השפות החדשות והמגניבות (kotlin, go) נשמעות אחלה אבל אין מדריך למתחילים בעברית, ולמרות שהאנגלית שלי יחסית בסדר (לא וואו), ללמוד עולם שלם של מושגים חדשים תוך כדי המאמץ להבין את האנגלית נשמע לי יותר מדי.
כמעט הייתי סגור על פייתון שנשמעת ממש ממש אחלה, אבל לפייתון 3 אין מדריכים טובים בעברית (יש איזה ספר בויקיספר, מאוד מבולגן וקשה להבנה). והבנתי שלפייתון 2 נגמר התמיכה ב2020.
אני שוקל את javascript אבל זה נשמע מצומצם בעיקר לפיתוח לאינטרנט (הבנתי שיש גם איזו אפשרות של פיתוח javascript לאנדרואיד, אבל אני לא יודע כמה רחוק זה יכול ללכת, ואם אפשר לעשות עם זה דברים באמת יצירתיים שלוקחים את החומרה של הפלאפון למקומות חדשים (דוגמה לדבר שכבר קיים, רק לשם ההמחשה: אפליקציה שמנטרת את השינה. כשגיליתי שיש דבר כזה נדלקתי בטירוף). אני יודע שזה רחוק ממתכנת מתחיל, ואני סקרן ללמוד גם דברים אחרים. בסופו של דבר גם האינטרנט מעניין.)

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

יש למישהו עצה?
Anonymous - 13/03/2018 - 07:08
נושא ההודעה:
c++ נשמע כמו הפיסה שחסרה לך.
"מקובל" להתחיל ללמוד מc++ , כאשר בהתחלה לומדים יותר כמו c (בלי מחלקות ובלי c++ מודרני)
אתה לומד לקחת שליטה על הזיכרון של התוכנית בעיקר.
ואחר כך ללמוד OOP וc++ מודרני יותר.
ואז שאר השפות יהיו לך קלות להבנה.
Anonymous - 13/03/2018 - 09:10
נושא ההודעה:
ג'אווה 9 לא זנחה אף תאימות לאחור. הלוואי והיו זונחים קצת תאימות לאחור בכדי לרענן ספריות ישנות ולדלל קוד לא נחוץ, אבל ג'אווה שומרת באדיקות על תאימות מלאה לאחור.
הדבר היחיד שהשתנה בג'אווה 9 מהבחינה הזאת היא מערכת המודולים (אקא "פרוייקט ג'יגסו"), מה שאם כבר יעזור להגביר את האימוץ שלה, כי כבר לא צריך את כל ה-JRE בשביל כל פרוייקטון קטן.

לעניות דעתי - אם אתה רוצה הבנה עמוקה יותר של ניהול זכרון ו-low level - תתחיל מ-C ואז תעבור לג'אווה. אם לא קריטי לך - תתחיל ישר מג'אווה.
לא רואה סיבה טובה להעניש את עצמך עם ניהול זכרון ידני ב-C++ בימינו, אלא אם כן אתה יודע שאתה מחפש עבודה שדורשת C++/רוצה לעבוד על פרויקט קיים שכתוב ב-C++.
Anonymous - 13/03/2018 - 13:17
נושא ההודעה:
קח סטירה קשה לפרצוף ממי שלמד לתכנת בעיקר לבד, ועובד בזה כבר 13 שנה:
כל מה שכתבת זה שטויות במיץ עגבניות!

דבר ראשון שאתה צריך להבין הוא:
שפה היא רק כלי! אם תלמד שפת תכנות, לא תהפוך למתכנת.

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

זו יכולה להיות התחלה, אבל רק התחלה!

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

Java תישאר חזקה מאוד בעתיד הנראה לעין בגלל Android ושרתים, שם קיים בסיס קוד ענק.
זה ש-Google יצרה עכשיו את Kotlin לא אומר כלום.
לוקח זמן עד שמפתחים מאמצים שפה חדשה, אם בכלל, וגם אז זה לא אומר שזונחים את השפה הישנה.

עד היום אפשר למצוא עבודה ב-COBOL...

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

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

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

אתה הולך לבנות "בית"?

כדי לעזור לך להחליט מה ללמוד, צריך שתכתוב 2 דברים:
1. מה מטרת הלימוד?
תחביב, הכנה לקריירה, משהו אחר.

2. האם יש לך רקע רלוונטי כלשהו?

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

https://rebooks.org.il/book.php?id=21145

ואזהרה: אל תנסה ללמוד 2 שפות במקביל! זה רק יבלבל אותך.

בהצלחה!
--לב
Anonymous - 13/03/2018 - 13:46
נושא ההודעה:
גוגל לא יצרה את kotlin, אלא מתכנתים מ-jetbrains שהיא חברה פרטית (לפחות על פי ויקיפדיה).
מה שכן גוגל קיבלה את קוטלין כשפה רשמית לאנדרואיד.
מויקי של קוטלין:
ציטוט:
As of Android Studio 3.0 (October 2017) Kotlin is a fully supported programming language by Google on the Android Operating System[3], and is directly included in the Android Studio 3.0 IDE package as an alternative to Oracle's Java compiler (not included by default)

Yotamb - 13/03/2018 - 16:12
נושא ההודעה:
קודם כל בהצלחה! ללמוד לתכנת זה קשה, אבל (לדעתי) מספק מאד. אל תתיאש, יש רגעים קשים ותזכור שזה בסדר לקחת הפסקה של שבוע-שבועיים (או חודש-חודשיים). תמשיך להתקדם ולאט לאט תתחיל להרגיש יותר בנוח.

לגבי איזו שפה ללמוד, יש לי שתי עצות:
1. אם אתה הולך לעשות את זה כקריירה, יכול להיות שתלמד 10+ שפות בסופו של דבר, אז אל תלחץ יותר מדי בנוגע לשפה הראשונה.
2. פייתון Very Happy שפה מאד פשוטה מבחינת התחביר שלה, שמאפשרת להגיע מהר לחלקים המעניינים (מבני נתונים, לולאות, תנאים בוליאניים, וכו').
Anonymous - 13/03/2018 - 16:43
נושא ההודעה:
קורס וידאו קצר שלי בחינם ובעברית על פייתון3 למתחילים:
https://pythoncourse.co.il

בהצלחה

(וכמו שאמרו זה באמת לא משנה עם איזה שפה להתחיל, יותר חשוב להתחיל)
mksoft - 13/03/2018 - 20:00
נושא ההודעה:
גם זו התחלה:
How to Think Like a Computer Scientist: Learning with Python 3
yehudaa - 13/03/2018 - 20:38
נושא ההודעה:
JAVA ו C# הם לא שפות מיותרות או שהולכות להיעלם , למעשה הם מהפופולריות ביותר .
אתה יכול להרשות לעצמך ללמוד אותם לא תיהיה מופסד .
אבל אם יש לך עינין בדברים אחרים כרגע זה בסדר , תלמד משהו אחר .
הציעו פייתון ו C\C++ ,
עוד כיוון יכול להיות HTML\CSS+JS אם עיצוב אתרים יכול לעניין אותך
ג'אווה סקריפט נכון להיות חזקה בשוק בפרט עם כל הפריימוורק שיש לה
ונראה שזה לא הולך להשתנות אולי אפילו יהיה עוד יותר חזק מהיום .

אבל תדאג לשפר את האנגלית , אין לך ברירה , ללמוד רק ממקורות עבריים זה די בעייתי .
Anonymous - 14/03/2018 - 00:07
נושא ההודעה:
כמו שהרבה אמרו פה זה לא משנה השפה.
ולכן תלך על שפה שאתה הכי מתחבר אליה מבחינה ריגשית.
אפילו אם בא לך למשל GO כי זה חברת גוגל ואתה אוהב את חברת גוגל.
פשוט האהבה הזאת תתן לך כח ללמוד את השפה. וזה חשוב.
Anonymous - 14/03/2018 - 01:49
נושא ההודעה: תודה
תודה לכל מי שהגיב. אתם ממש פותחים לי את העיניים.
הקורס וידאו בפייתון נראה מגניב לאללה!
אני מתעניין בזה בתור תחביב (לא מתחייב שזה לא יהפוך למקצוע), לכן אני מחפש כניסה קלה וכיפית, כמו שרבים כאן אמרו ובצדק. c/c++ קצת מרתיעות אותי בעניין הזה. הם נשמעות קשות משמעותית.
מסכים לחלוטין בעניין האנגלית. אני כל הזמן מנסה לשפר אותה. אני חושב שכשאשחה במושגים של התכנות יהיה לי יותר קל להבין גם מאמרים באנגלית.

נראה לי מה שנשאר לי זה לבחור בין:
java (כי אנדרואיד זה מגניב)
3 python (כי זה נשמע הכי קל וכיפי)
javascript (כי בסופו של דבר אני בא מהעולם של העיצוב הגרפי)

תודה לב על התשובה הארוכה והמפורטת.
תודה yotamb.
Anonymous - 14/03/2018 - 17:31
נושא ההודעה:
ואם בא לך אתגר (כי עבודה לא ניראה לי שתצליח למצוא בה) אני ממליץ לך על haskell.
זו שפה עם קסם אבל קשה מאוד (לי לפחות) להבנה.
יש שם רמת הפשטה גבוהה מאוד ואולי בגלל זה היא מסובכת (שוב, לפחות לי).
אבל הרקורסיה הו הרקורסיה.
זה דבר כל כך מרטיט שקשה לי לעזוב למרות התסכול הרב Very Happy.
לא חושב שיש חומר בעברית (באנגלית כבר יש קצת. ראיתי שדי גומרים את ההלל על הספר החדש (יחסית) הזה: http://haskellbook.com/).
Anonymous - 14/03/2018 - 21:13
נושא ההודעה:
(אני מהתגובה הקודמת)
סתם לצורך הדוגמא ישבתי על תרגיל (ממש קטנטוש באמת, קוד קצר לגמרי) כמה שעות במצטבר (לא ברצף אלא בסה"כ) ותסכוליי עלו השמיימה.
פשוט לא הצלחתי לכתוב את הקוד.
כל הניסיונות עלו בתוהו.
לפתע הצלחתי איכשהו לייצר קוד שלא יאמן אבל עובד היטב.
אתה מבין? לפעמים זו תחושה כזו שאולי הקוד אמור להיות כך וכך אבל אתה לא מבין את זה עד הסוף ולפתע זה פשוט עובד (וכמובן שאחרי שפתרתי, ישבתי על הקוד עוד קצת זמן להסביר לעצמי מה עשיתי שם).
וזו לא פעם ראשונה שהתופעה הזו מתרחשת כשאני מנסה לפתור תרגילים ב- haskell.
Anonymous - 16/03/2018 - 11:48
נושא ההודעה:
אם אתה רוצה אתגר ASSEMBLER
Anonymous - 16/03/2018 - 11:49
נושא ההודעה:
אתגר הנאה וכיף גדול assembler
mksoft - 16/03/2018 - 13:32
נושא ההודעה:
אם כבר, אומרים Assembly.
כל הזמנים הם GMT + 2 שעות