CodeGym /בלוג Java /Random-HE /האם הקידוד היום קל יותר ממה שהיה לפני 10-15 שנים? כלים וט...
John Squirrels
רָמָה
San Francisco

האם הקידוד היום קל יותר ממה שהיה לפני 10-15 שנים? כלים וטכניקות שגרמו לזה לקרות

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

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

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

1. Git ו-GitHub.

Git היא מערכת בקרת גרסאות מבוזרת חינמית ופתוח שנועדה לטפל בכל דבר, החל מפרויקטים קטנים ועד גדולים מאוד במהירות וביעילות. Git, ששוחרר בתחילה בשנת 2005, הפך במהירות לסטנדרט בתעשייה, מה שמאפשר למפתחים לקבל שליטה טובה בהרבה על שינויים בקוד ובגרסאות של פרויקטי תוכנה, כמו גם להפוך את שיתוף הפעולה של מספר קודנים להרבה הרבה יותר יעיל ומאורגן. GitHub היא פלטפורמת אירוח של מאגר קודים של Git עבור בקרת גרסאות ושיתוף פעולה. GitHub, שהושק לראשונה בשנת 2008, הפך זמן קצר לאחר מכן לפלטפורמת פיתוח התוכנה המובילה בעולם. GitHub מקל בהרבה על מפתחים לשתף פעולה ולתרום לפרויקטים של קוד פתוח, ליצור תיעוד מתאים לקוד, להציג את עבודתם לאחרים, וכן הלאה. "השתמשתי בעבר ב- Apache Subversion (SVN), שהיא מרוכזת כלומר כל השינויים מאוחסנים בשרת אחד. זה אומר שכאשר אתה מתחייב, השינויים שלך מועלים ישירות. אני זוכר שזה די מלחיץ לפעמים, והרגעים של "אני לא בטוח אם זה עובד אבל כדאי שאשמור את הקוד הזה" היה ממש קשה להתמודד איתם. בעוד עם Git אתה יכול פשוט להתחייב ולדאוג לדחוף מאוחר יותר (ואם יש ספק, אתה תמיד יכול להסניף)", נזכר גיום אליאס, מפתח מנוסה ב-C++ .

2. IntelliJ IDEA ו-IDEs אחרים.

IntelliJ IDEA היא סביבת פיתוח משולבת הכתובה ב-Java ומסוגלת להבין ולספק סיוע קידוד חכם עבור מגוון גדול של שפות אחרות כגון SQL, JPQL, PQL, HTML, JavaScript, Kotlin וכו'. היא תומכת גם במספר שפות אחרות, כולל Scala, Rust, PHP, Ruby ואחרים, באמצעות תוסף. למרות שה-IDE הראשון - Visual Basic (VB) של מיקרוסופט - הושק כבר ב-1991, IDEs המקוריים לא התקבלו היטב על ידי מפתחים. זה השתנה בשנות ה-2000 לאחר שחרורו של IntelliJ IDEA ב-2001, כאשר הוא החל לקבל אימוץ בתחילת שנות ה-2000 יחד עם הוספת תכונות ואינטגרציות עוצמתיות. כתוצאה מכך, בשנות ה-2010 ה-IDEs, ו-IntelliJ IDEA בפרט, הפכו לסטנדרט דה-פקטו עבור רוב מפתחי התוכנה. "התחלתי בשנות ה-80, כששורות פקודה וקבצי make היו הסטנדרט. IDE עם איתור באגים משולב ברמת מקור (הראשון שלי היה Lightspeed C) היה שיפור עצום. כל שיפור מאז היה מצטבר. IDE טובים יותר עם פונקציות משולבות יותר שיפרו את תהליך הפיתוח אבל זה רק אינקרמנטליזם. ה-IDE עם איתור באגים במקור היה קפיצה קוונטית קדימה, דומה לפיתוח שפות תכנות מעבר ל-assembler", אמר ויליאם המברי, מפתח תוכנה ומחנך למדעי המחשב בדימוס .

3. Stack Overflow.

כשמדובר בקבלת מידע הקשור לקידוד, הרבה השתנה בסוף שנות ה-2000-תחילת שנות ה-2010 עם מספר הולך וגדל של לוחות הודעות חדשים ופלטפורמות קהילתיות למפתחים. Stack Overflow היא הקהילה המקוונת הפופולרית ביותר עבור מפתחים, אליה מבקרים יותר מ-50 מיליון קודנים מדי חודש. Stack Overflow, שהושק ב-2008, הקל על מתכנתים להחליף ידע ולתקשר זה עם זה, ופשט את תהליכי הלמידה לקידוד למתחילים. "הדבר הראשון שעולה לי בראש הוא Stack Overflow. עכשיו, אתה תגיד, זה לא כלי, אבל זה כן. זהו מקור מידע רב ערך שלא היה לאנשים לפני 2008. היו לנו מדריכים, ספרים ומנטורים (מפתחים בכירים), וזה פחות או יותר איך אנשים למדו ושיתפו דברים לפני SO", מציין אנטוניו נסיק, מהנדס תוכנה בכיר מקרואטיה .

4. שירותי ענן מנוהלים.

האימוץ הגובר של שירותי ענן מנוהלים מילא גם תפקיד מרכזי בהפיכת העבודה של מתכנתים מודרניים לקלה יותר. לאחר ששירותי ענן כמו Amazon Web Services ו-Microsoft Azure, שהושקו ב-2006 ו-2008 בהתאמה, הפכו לזמינים וזכו לאימוץ המוני, מתכנתים כבר לא צריכים כל כך הרבה אנשים כדי להקים ולתחזק שרתים ורשתות כדי שהמערכת תעבוד. שירותי ענן גם הפכו את פיתוח התוכנה להרבה יותר יעיל שכן כיום צוותי פיתוח יכולים להיות קטנים יותר ופרודוקטיביים יותר ברמה האישית. "כשהתחלתי לתכנת אתרים דינמיים, היה ASP, ואני לא מדבר על ASP.NET, מסגרת אינטרנט בקוד פתוח עבור .NET, אלא ASP קלאסי ישן וטוב שהשתמש במסד נתונים של MS Access. כן, שמעת אותי טוב. זה לא השתמש ב-MySQL, או MSSQL או משהו דומה. תצרף אליו מסד נתונים של MS Access. ואז יהיה לך שרת, והלקוח. וזה היה זה. פשוטו כמשמעו. בימינו יש לך DigitalOcean, Linode, Google Cloud, AWS, Azure וכו'. ולכל אלה יש המון דברים בארסנל שלהם כדי לעזור לתוכנה שלך להתרחב ולעבוד עם מינימום זמן השבתה" מוסיף אנטוניו Nesic.

5. כלי ניהול פרויקטים ותקשורת: Jira ו-Slack.

לבסוף, אנחנו בהחלט צריכים להזכיר את Jira ו-Slack, כמו גם כלים דומים אחרים שהופכים את ניהול הפרויקטים והתקשורת בין מפתחים ומומחים אחרים להרבה יותר מאורגנים ומתוכננים. Jira הוא פתרון קנייני למעקב אחר בעיות, שיצא לראשונה בשנת 2002, המאפשר למשתמשים לתכנן, לעקוב ולנהל פרויקטים של פיתוח זריז ותוכנה. יש לו גם מספר פונקציות אחרות, המאפשרות למתכנתים לשתף פעולה בצורה יעילה יותר, להתאים אישית את זרימת העבודה, לעקוב אחר באגים ולנהל את צבר ההזמנות. Slack היא פלטפורמת תקשורת עסקית שיש לה מספר תכונות העברת הודעות ושיתוף פעולה כגון חדרי צ'אט המאורגנים לפי נושאים, קבוצות פרטיות לשיחות עם מספר אנשים, שיחות וידאו וכן הלאה. פורסם לראשונה בשנת 2009, הוא הפך במהירות לכלי התקשורת הפופולרי ביותר עבור צוותי פיתוח תוכנה. ברט ווטרס, עוד מתכנת מנוסה, נזכר בכלים נוספים שכדאי להזכיר. "סקייפ, Teams, IM, SharePoint וכלים דומים אחרים מאפשרים כעת שיתוף מהיר של מידע, שיתוף פעולה וכו' ללא פגישות פיזיות, דיונים, חילופי דוא"ל ממושכים וכו'", אמר .

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

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

  • מדריכי תכנות בחינם.

חלקית הודות לזמינותם של כלי שיתוף פעולה ופלטפורמות מעולות וכתוצאה מקהילות מפתחים צומחות במהירות, הן מקוונות והן לא מקוונות, כיום מתחילים שרוצים ללמוד שפת תכנות יכולים למצוא מספר הדרכות חינמיות שאפשר ללמוד מהן באינטרנט. זה נכון במיוחד כשמדובר בשפות תכנות פופולריות מאוד כמו Java. יש המון מדריכי Java בחינם זמינים באינטרנט. מדריכי ג'אווה רשמיים מ-Oracle בהחלט שווים המלצה. כמה מדריכי ג'אווה אינטראקטיביים מקוונים די מעולים יהיו LearnJavaOnline.org , JavaBeginnersTutorial.com , וזה שתוכל למצוא ב- Tutorials Point .

  • קורסי למידה מקוונים מתקדמים.

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

  • תכנות פלטפורמות הכנה.

פלטפורמות הכנה מקוונות שבהן קידוד מתחילים יכולים להתאמן ולהתכונן לראיונות עבודה היא עוד חידוש לא מבוטל שפשוט לא היה שם עד שנות ה-2000-10. כמה מפלטפורמות ההכנה הפופולריות ביותר הן LeetCode , Interview Cake ו- HackerEarth . את CodeGym, עם יותר מ-1200 המשימות שלה, ניתן לסווג גם כפלטפורמת הכנה, אגב. אפשר להוסיף פלטפורמה משחקית ומהנה לשימוש.

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

מדיה חדשה עם הרבה תוכן שנוצר על ידי משתמשים יכולה להיות מקור מצוין להגדלת למידה, לעזור למתחילים לקבל מידע ישירות ממומחים בתחומם דרך ערוצי יוטיוב , בלוגים ופודקאסטים. כדוגמה, היום אפשר למצוא ערוצי יוטיוב מעולים למתחילים ב-Java , כמו Derek Banas , Programming with Mosh , ערוץ Java של Oracle , Adam Bien ו- vJUG .

  • משחקי קידוד.

לבסוף, שוחררו כמה משחקי קידוד מעולים באמת . כפי שאנו יודעים, ו-CodGym היא הוכחה חיה , gamification יכולה להיות דרך די נהדרת להעצים את הלמידה שלך ולהשיג התקדמות טובה יותר תוך כדי הנאה בתהליך. כשמיושם על לימוד קוד, זה עוזר למתחילים להבין את המהות של מושגים וטכניקות תכנות קשות מהר יותר ובפחות מאמץ. האם אתה מסכים שלימוד תכנות ועבודה כמפתח תוכנה היום קל יותר מאי פעם, או שפספסנו משהו שמוכיח את נקודת המבט ההפוכה? ספר לנו בקטע ההערות למטה.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION