אפשר הסבר על קבצי LIB?

DecayCell

New member
פשוט מאוד

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

DadleFish

New member
כן ולא.

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

OriIdan

New member
מעולם לא אמרתי שחייבים את קוד המקור

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

DecayCell

New member
מובן שקוד פתוח הוא טוב

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

OriIdan

New member
אז אנחנו מסכימים

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

DadleFish

New member
נמשיך.

אני שמח שהסכמנו על כך שכיף הוא דבר סובייקטיבי. כנראה שאתה לא מכיר טוב את סביבת WINDOWS, כי לכל מטרה שתביא אני יכול למצוא לפחות שתי תוכנות איכותיות. יוצא דופן אולי יחיד הוא עולם פיתוח התוכנה, שבו חוץ מ-VS+VA אין שום כלי נורמלי ל-++C, חוץ מאולי ה-builder. "לכל כלי היתרונות שלו". מצטער, אבל אני לא רוצה להכיר 50 כלים כדי לעשות פרויקט אחד. אני מעדיף להכיר כלי אחד, אינטגרטיבי, שבו כל הפעולות מסתנכרנות בצורה מושלמת אחת עם השניה, מאשר לשבור את הראש איך לחבר בין כלי אחד לכלי אחר וככה שרשרת שלמה כדי להחזיק פרויקט. שוב - תוכנות המערכת הן דוגמאות, אבל לא בהכרח דוגמאות טובות. זה לא ספר שמלמד אותך לתכנת - לטוב ולרע. אף אחד לא מתחייב לך שהפרדיגמות שבעזרתן כתבו את ls הן פרדיגמות טובות. אתה עלול ללמוד שיטות שליליות. קוד הקרנל מפוצץ ב-goto, ואין סיבה אחת טובה לכך. "קוד פתוח הוא בהחלט דבר שכדאי ללמוד ממנו, הרי אדם שפותח את הקוד לא יעשה זאת עם תכנה שכתובה גרוע" - לא נכון משתי סיבות. ראשית, יש תוכניתנים גרועים שלא מודעים לכך; ושנית, יכול להיות גם תוכניתן טוב שרצה להוציא משהו החוצה מהר וכתב בצורה שהיא לחלוטין לא אידיאלית. "לגבי תכניתנים ללינוקס מצאתי בעולם הרבה יותר תכניתנים ללינוקס שעזרו לי מאשר אי פעם בחלונות וכן פיתחתי די הרבה שנים בחלונות" - אני לא אחראי על יכולות החיפוש שלך. הן כנראה לא מדהימות. " נכון, הזכרת את מולי כן הוא אחד הטובים בארץ בתכנות לקרנל אבל הוא לא היחיד שיודע לתכנת ללינוקס בארץ יש עוד רבים כמוהו." - מתחת לאיזו אבן הם מתחבאים בדיוק?
לא הבנתי את הטענה שלך לגבי גורואים ב-WINDOWS. יש לך מטרה מסוימת שאליה אתה רוצה להגיע ב-WINDOWS? אני יכול להעמיד לך ברגע זה ממש 3 אנשים שיענו לך על כל שאלה. אם זה אפשרי - תקבל תשובה. הקוד סגור, נכון, אבל התיעוד - מושלם. אין בו רבב. וזה אומר לך מישהו ששונא את $M ומעדיף את לינוקס - ותוסיף לזה גם את דעתי האישית לפיה לינוקס תשתלט תוך 5 שנים על ה-DESKTOP-ים. אני רק משתדל לשמור על אובייקטיביות. לינוקס לחלוטין אינה בשלה לפיתוח אינטנסיבי. צא ולמד שחברות שמפתחות ברצינות ללינוקס עובדות בדרך כלל על WINDOWS בעזרת ספריות פורטביליות, ורק בקצה הדרך עוברות ללינוקס. למה? כי פשוט יותר נוח לפתח ב-WINDOWS. זה מה יש.
 

OriIdan

New member
נמשיך...

ברור שכיף הוא סוביקטיבי מעולם לא טענתי אחרת. ועכשיו תגיד: כמה תוכנות אופיס יש לחלונות? (למעט אופן אופיס שהיא במקור ללינוקס) כמה דפדפנים יש לחלונות (שוב למעט אלו שנכתבו במקור ללינוקס) עוד דוגמאות? יש הרבה... אני מעדיף לכל פרויקט להשתמש בכלי המתאים לו ולא לנסות בכח לאנוס כלי אחד למשימות שלי. אלא אם כל הפרויקטים שלך הם אותו דבר... שלי בכל אופן לא כי הם נעים מתכנות למערכות ללא מערכת הפעלה בכלל ועד תכנות עם מערכת הפעלה ו GUI. קוד פתוח הוא טוב יותר מאחר ותוכנות גרועות מן הסתם יזנחו או יכתבו מחדש. כמובן שכשלומדים הולכים ללמוד מהתוכנות הרציניות כמו הקרנל של לינוקס או GNOME או APACHE וכד'. לא מסתם תוכנה שאף אחד לא מכיר. אתה אומר שהתיעוד בחלונות מושלם? אולי אבל מה לגבי מה שלא מתועד? בכל אופן לי היה קשה מאד להבין את התיעוד ללא דוגמאות. איפה מסתתרים תכנתים טובים ללינוקס? בהרבה מקומות בארץ עובדה שיש לא מעט תוכנות קוד פתוח עם תורמים ישראלים הרבה יותר ממה שחשבתי. הידעת שהתמיכה העברית במוזילה נכתבה על ידי ישראלי? הידעת שכל אלגוריתם ה BIDI בלינוקס פותח על ידי ישראלי? הידעת ש PHP בגרסאות 2 ומעלה פותח על ישראלים? שאמשיך? לגבי windows לא אין לי שום מטרה, אני מאושר עם לינוקס וכך גם הלקוחות שלי. למה אתה אומר שלינוקס לא בשלה לפיתוח אינטנסיבי? היא כבר היום מפותחת באופן אינטנסיבי וכך גם התוכנות ללינוקס אז מה בדיוק לא בשל?
 

DadleFish

New member
ממשיכים ../images/Emo13.gif

לגבי ריבוי תוכנות - למה אתה פוסל את OpenOffice? אז מה אם היא נכתבה ל-Linux במקור? לגבי דפדפנים, אופרה לא נכתבה במקור ללינוקס. בקיצור, חבל על הויכוח. יש אלטרנטיבות גם ב-WINDOWS, וכמו בכל דבר אחר מישהו מנצח בתחרות. אמנם לא תמיד זו התוכנה הכי טובה - לפעמים תוכנה גרועה (EXPLORER למשל) זוכה עקב שיקולים אחרים שאינם רלוונטיים. אם זה חיובי? לא, זה שלילי. ועדיין, זה העולם שבו אנו חיים - תחרותי. גם פרויקט פתוח בלינוקס שלא יהיו לו "קונים" לא יימשך זמן רב מדי. שוב, אתה מדבר לא לעניין. פרויקט תוכנה להגדרתי הוא פרויקט שמתחיל בכתיבת קוד (תיאורטית מתחיל עוד קודם אבל אני לא מכיר IDE שהוא גם כלי CASE), ממשיך בקומפילציה ולינקוג' (חוזרים ונשנים), דרך DEBUGGING, ועד לסוף הפרויקט. אני עקרונית לא צריך לצאת מ-VS בכלל בשום שלב כזה. הוא נותן לי הכל. שום כלי בלינוקס, בין אם זה VI ובין אם זה KDEVELOP, לא נותן לך את העוצמה של VS+VA, מבחינת מהירות פיתוח. טחנתי את הנושא הזה מספיק בפורום הזה ובפורום לינוקס ולכן אני אפסיק אותו כאן, אם אתה מעוניין אתה יכול לחפש הודעות בעניין. קוד פתוח הוא תיאורטית קוד יותר טוב מקוד סגור. אני מסכים עם הגישה הזו. הבעיה היא שהגישה הזו היא גישה מכלילה. ניתוחים שקראתי על הקוד של WINDOWS מראים שהקוד הוא איכותי ברובו, גם אם זה לא נעים לשמוע את זה. לעומת זאת יש תוכנות בלינוקס שאלוהים ירחם על מי שצריך לתחזק אותן. מה ב-WINDOWS לא מתועד ואתה צריך? תן דוגמה. לא הטלתי ספק בקיומם של תוכניתני לינוקס בישראל - אל דאגה. אני פשוט לא מבין איפה הם מתחבאים. אני מבין שאתה מצוי בקשר קבוע וישיר עם מפתחי PHP, ה-BIDI והתמיכה העברית במוזילה, אז אני מוריד את הכובע. אני קצת פחות מקושר
למה אני אומר שאין כלים מתאימים לפיתוח אינטנסיבי בלינוקס? תבדוק אם את KDE מפתחים ב-KDEVELOP (רמז: התשובה היא לא). מה שלא בשל, והאמת שכבר מתחיל להימאס לי לחזור על עצמי 10 פעם - זה שאין אף כלי איכותי בלינוקס לפיתוח תוכנה.
 

OriIdan

New member
אז תפסיק לחזור על עצמך

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

DadleFish

New member
הלוגיקה שלך לא נכונה.

ראשית, את KDE לא מפתחים ב-KDEVELOP - מספיק לראות את ה-SOURCE-ים של KDE ולראות שאין בהם קבצי פרוייקטים של KDEVELOP. שנית: "ואם לא אז זה אומר שיש כלים יותר טובים, כי אחרי הכל KDE בעיקר בגרסה האחרונה זו מערכת ראויה לשבח לדעתי. " קודם כל, אני מסכים - KDE נפלאה, אהבתי אותה תמיד ובמיוחד בגרסה האחרונה. אבל מעבר לכך - המסקנה שלך שגויה. אם הם מפתחים ב-VI וקורעים את התחת בשביל זה, זה לא עושה את VI לכלי יותר טוב מ-KDEVELOP. אם בגלל צורת הפיתוח של KDE יש בה יותר באגים, או שצריך יותר אנשים שיעבדו עליה, זה לא מוסיף כבוד לכלי הפיתוח. ולגבי הרגל - תראה, קשה מאוד להתווכח על הרגלים. אני משוכנע שיש אנשים שמתכנתים ב-VI יותר מהר ממה שאני מתכנת ב-VS. אין לי ספק. השאלה היא, כמובן, לגבי כלל העולם. אם תיקח תוכניתן ממוצע שמכיר לינוקס ו-WIN באותה רמה פחות או יותר, תושיב אותו על VI ועל VS ותראה מה יהיה לו יותר פשוט ואיפה הוא יהיה יותר אפקטיבי, אין לי ספק בכלל איזה כלי ינצח - וזה נכון לגבי כל כלי הפיתוח שנתקלתי בהם בלינוקס. זה לא עניין של דעה משוחדת. אני אחד האנשים האחרונים בעולם שאפשר להאשים אותם באהבה ל-$M. ובכל זאת, כשמגיע קרדיט - מגיע קרדיט. לא טוב לי עם זה ש-VS היא הכלי הכי מוצלח כיום. הייתי מאוד שמח אם היה בלינוקס כלי יותר טוב, ואם הוא היה פורטבילי ל-WIN גם הייתי משתמש בו, תאמין לי. אבל אין כזה. זו פשוט עובדה. כשהכרתי את Visual Assist לראשונה ממש לא התחברתי אליו. הוא האט לי קצת את VS, ולא הבנתי למה זה טוב. אח"כ, באיזשהו שלב התקנתי אותו שוב, עבדתי איתו כמה ימים, ואני חייב להודות שאני מכור. אם אני מגיע ל-VS שאין בו VA אני אבוד לגמרי. אתה יודע כמה זמן מתבזבז לי כשאין לי כפתור GO שמקפיץ אותי מכל מקום למקום המתאים לפי הקונטקסט שעליו אני עובד? זה לא ייאמן. אגב, VS+VA הוא לא סביבת הפיתוח הטובה ביותר שאני מכיר - הוא הסביבה הטובה ביותר ל-++C. אם אתה עובד על JAVA ויצא לך לעבוד עם IntelliJ, הרי לך סביבת פיתוח ששמה את VS+VA בכיס הקטן. הבעיה היא שאין כזה כלי ל-++C, ועל אחת כמה וכמה ללינוקס. מצד שני, אני מכיר בכוחו האדיר של הקוד הפתוח, ואין לי שום ספק ש-KDEVELOP (או ANJUTA או ECLIPSE או אחרות) יעברו בהרבה את VS+VA בתוך שנה שנתיים, כי ל-VS+VA יש הרבה פאקים, ואפשר להתעלות מעליו בקלילות. זה רק עניין של זמן. כרגע אין תחרות.
 

OriIdan

New member
שוב, הרגלים...

קודם כל אני לא יודע האם את KDE מפתחים עם VI ומי שרגיל ל VI ממש לא יחליף אותו בשום דבר אחר. הנקודה היא האם להשתמש ב IDE או לא. כמו שאמרתי קודם, אני מאד אוהב שמחבקים אותי במיטה וגם זה תלוי מי מחבקת אותי. אבל וזה אבל גדול, מאד לא אוהב שמחבקים אותי כשאני מתכנת, לכן אני עובד עם כמה חלונות טרמינל פתוחים עם איזה עורך טקסט שאני רוצה שאגב גם אותו אני מחליף מדי כמה זמן סתם בשביל הכף. כך אני מרגיש חופשי יותר. כמובן שהקומפילר שלי הוא GCC בשורת הפקודה (עם כמה סקריפטים שאני מכין או שמתשמש ב automake). כך אני מרגיש בנוח ובכלל לא מרגיש שקורע את התחת. תכנתתי בעבר ב Borland C++ builder והאמת די סבלתי, גם שם עברתי לעורך טקסט פשוט (שכתבתי לבד בעבר) והשתמשתי ב BCC בשורת הפקודה עם סקריפטים שכתבתי. בחלונות לא היה לי automake אם כי שמעתי שיש כלי כזה גם לחלונות.
 

DadleFish

New member
בוא נראה...

שתי שאלות. 1 - יש לך פרוייקט עם 500 class-ים על כמה מאות קבצים שמפוזרים בעץ ספריות ענף ומורכב. אתה עובד עם איזשהו עורך, האהוב עליך, זה שהתקנת לפני יומיים, לא משנה. יש לך באג. אתה מוצא את האזור של הבאג ואתה בתוך פונקציה שיש בה אתחול של איזשהו Instance של איזה class מסוים וכמה קריאות לפונקציות שאתה לא מכיר במודולים שונים. אני, ב-VS+VA, יכול לעמוד על פונקציה כזו, להקליק פעם אחת על GO ולהגיע למקום שבו הפונקציה מוגדרת או ממומשת. איך אתה מוצא את הפונקציה הנ"ל? 2 - אני כותב קוד חדש איפשהו בפרוייקט, ואני משתמש באיזשהו class. אני רוצה איזושהי פונקציה מתוך ה-class אבל אני זוכר את השם שלה רק בערך. אני מקליד את שם ה-instance, לוחץ ".", ומייד נפתחת לי רשימה של פונקציות שיש ב-class. בנוסף, כשאני מדפדף בפונקציות, אני מקבל מימין את תיאור הפונקציה. אני בוחר את הפונקציה שרציתי, מופיעים לי גם הסוגריים קומפלט ואני בתוכם. אני לוחץ CTRL+SPACE ומקבל כמה אופציות לפרמטרים. אני מכניס את הפרמטרים אחד אחד. אחד הפרמטרים הוא enum, ואני לא זוכר את הערכים שלו בדיוק. אני מקליד את שמו ולוחץ על ה-GO שוב - מייד אני מגיע למקום בו הוא מגדיר. COPY PASTE קצר והערך שלו נמצא במקום המתאים כפרמטר בפונקציה. איך אתה עושה את כל הדברים האלו? בלי להיכנס לחיבוקים שאתה מקבל במיטה, וממי (מאחל לך הרבה כאלו), אני מתכנת לפחות 10 שעות ביום כבר שנים ארוכות. אין לי כח ל"אתגר" שבחיפוש המייאש אחרי כל דבר כזה. אם הפעולות שציינתי היו לוקחות 5 דקות כל אחת, הפרודוקטיביות שלי הייתה נמוכה יותר מים המלח. זה כבר לא עניין של הרגל. זה כמו לשאול "למה תכנות ב-JAVA יותר מהיר מתכנות ב-++C?". זה ברור שהוא יותר מהיר. כשהשפה היא כל כך הרבה יותר אינטואיטיבית ומגישה לך הכל על מגש של כסף, ברור שהפרודוקטיביות תעלה. המקסימום שאפשר לעשות הוא להתווכח האם יש או אין כלים כאלו בלינוקס. התשובה היא שאין. יש כלים שמנסים - אבל לא ממש בהצלחה.
 

OriIdan

New member
נראה...

טוב אז קודם כל, אולי הכל זה בגלל הרגלים כמו שאמרתי בעבר. אני מתכנת כבר 20 שנה, כשהתחלתי לתכנת עורך טקסט היה יכול לערוך רק קובץ אחד ברגע נתון. התרגלתי לעבוד ככה. אחר כך היה לי עורך טקסט שיודע לערוך שני קבצים ולהציג אותם בחלונות שמע זו הייתה התקדמות, הייתי ממש בהלם. אני רגיל לפתוח כמה טרמינלים, באחד יש רק שורת פקודה בה אני מריץ grep, find, strings, tail, head, cat או מסתכל על קבצים אחרים ממקומות אחרים. אני רוצה לראות משהו בקובץ אחר? מחפש עם grep או ctags מוצא מיד את מה שאני צריך, תופס את הטקסט, עובר לעורך, לוחץ כפתור אמצאי והינה הטקסט אצלי. אז אולי זה קצת ארוך בשבילך, לי זה נוח. לי מאד לא נוח שיש סביבת עבודה שעושה לי הכל, אני רוצה לדעת מה מבנה הספריות, כל קובץ מתי נוצר ולמה, מה מכיל כל קובץ. נכון שאפשר את כל זה ללמוד כשמכירים את הסביבה אבל כאחד שמתכנת לשלוש מערכות הפעלה שונות ולפעמים ללא מערכות הפעלה בכלל ובשלוש או ארבע שפות, מאד לא נוח לי לעבוד עם IDE שמתאים בעיקר לשפה אחת. נוח לך לעבוד עם IDE, תמשיך לעבוד איתה, אני אמשיך לעבוד בדרך שאולי נראית פרימיטיבית אבל היא גמישה וחזקה לדעתי הרבה יותר. למה השוותי IDE לחיבוק? (יסלחו לי הנשים כי אין מה להשוות בין אישה ל IDE) מאחר ו IDE מכריח אותי לעבוד במבנה ספריות מסויים ובמבנה קבצים מסויים, כותב לי חלק מהקבצים משנה לי אותם וכד'. קצת שינוי והוא מתבלבל. האם עבדתי עם IDE, כן, עבדתי עם Borland C++ builder ניסיתי קצת את VC וסבלתי ממנו, ניסיתי קצת את Kdevelop ולא אהבתי, ניסית קצת את Anjuta ודי אהבתי יחסית. האם יש עוד IDE שאני צריך לנסות כדי לגלות מה זה ה IDE האמיתי?
 

scalla

New member
זה שטויות מה שאתה אומר על ריבוי של

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

DadleFish

New member
מה שנכון נכון,

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

scalla

New member
ולאיזה צורך???

ריבוי שפות תכנות זה לא רע ואם כן למה בידיוק אתה ממליץ שנעבור??? ואני רוצה לראות אותך עושה תוכנות לניהול חשבונות בבנקים ב ++C. אני מאוד אוהב את KDEVELOP 3 בכל אופן.
 

scalla

New member
עוד דבר אין לי ניסיון עם NET. אז זה

בעייתי בשבילי לשפוט.
 

DadleFish

New member
יש מספר מאוד מצומצם של שפות

שצריך באמת. לטעמי העולם מתחלק לשלושה חלקים בגדול. החלק הראשון הוא תוכנות רציניות שצריכות להגיב למשתמש תוך זמן סביר ולבצע את העבודה שלהן בצורה טובה. את אלו צריך לכתוב ב-++C. החלק השני הוא תוכנות שלא דורשות ביצועים טובים, אבל עדיף שייכתבו בתוך זמן קצר ככל האפשר. לאלו צריך להשתמש ב-JAVA. החלק השלישי הוא תוכנות קטנות ופשוטות שדורשות מינימום השקעה, והן לא פרוייקטים רציניים ומורכבים. לתוכנות כאלו יש את כל עולם השפות החלשות, כמו PERL, TCL/TK ודומותיהן. התוכנות הללו אינן מאפשרות פרויקטים גדולים (של מיליוני שורות קוד), אבל הן מהירות לתכנות ונוחות מאוד למטרות האלו. כל שאר השפות מיותרות לחלוטין. שפות כמו #C למשל אינן מחדשות דבר ומן הראוי לזנוח אותן עוד בטרם צמחו והשתלטו על חלקות טובות. בכל מקרה תוך מספר שנים $M תהיה עסוקה מדי במלחמות בלינוקס ותוותר על המשך הפיתוח של #C (בדיוק כמו שקרה לכל "טכנולוגיה חדשה" שהמציאו ברדמונד).
 
למעלה