הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
מאמרים בנושא תכנה ומחשבים.
האם C++ היא שפה דלה?
ב־C++ אין הרבה דברים מאוד נפוצים ושימושיים, למשל:
- אין תמיכה ב־threads.
- אין תמיכה בעבודה עם זיכרון משותף.
- אין תמיכה ב־IPC ויצירת תהליכים.
- אין תמיכה ב־base64 ו־md5.
- אין תמיכה מובנית בעבודה עם בסיסי נתונים כמו sqlite3.
- אין תמיכה מובנית בדחיסת gzip.
- אין כלי עבודה מול XML.
אם תסתכלו בשפות כמו Java/C#/PHP/Python/FPC תגלו שלמעשה, כמעט כל הדברים האלה, נתמכים ברמת השפה עצמה (עם שינויים כאלה ואחרים), אבל C++ דורשת ספריות צד ג' כדי לטפל דברים כל־כך בסיסיים.
האם זה אומר שהשפה דלה או האם זה אמור משהו אחר?
המשך...הגיע זמן לחפש הפצה חדשה?
בהמשך לחיזוי של שחרור מאוחר של Lenny באוגוסט 2008, אני מתחיל להגיע למסקנה -- הוא מדויק למידי. הנה גרף הבאגים הקריטיים במצבו של היום:
זה עצוב, אבל זה נכון. אי אפשר לצפות ל־Lenny לפני מאי--יוני, למרות שרוב האנשים ואפילו קפלן חושבים אחרת.
האם הגיע זמן להחליף הפצה? מצד שני כשאני מסתכל, אין הפצה מתאימה בסביבה --- מספיק יציבה, עם שדרוגים פעם בשנה--שנה־וחצי, עם מאגר חבילות רחב ומה שעוד יותר חשוב עם backports מסודרים. כנראה שגם לא תהיה כזו בקרוב, כי רוב המשתמשים עדיין גיקים ורוצים משהו אחר.
מה חסר חי כרגע? gcc-4.3, גרסה אחרונה של firefox ועוד כמה דברים.
(תחילת) מבוא ל־LaTeX בעברית
לפני כחצי־שנה--שנה, התחלתי להכין "מבוא ל־LaTeX בעברית". לצערי, אני לא מוצא זמן להביא את העבודה מצב סביר, שלא לדבר על מצב "מוגמר". מצד שני, כבר הספקתי לכתוב לא מעט מידע מועיל, שלא לדבר על העובדה, שהמדריך עצמו, מהווה דוגמה מצויינת לעבודה עם LaTeX בעברית עבור אלה שכבר מכירים LaTeX רגיל.
כמו כן, שמתי לב להתעוררות בנושא LaTeX ועברית בזמן האחרון; ואיתה הבעיה התמידית --- הערד כל תיעוד סביר.
לכן, החלטתי לשחרר את הטיוטה לקהל רחב. אני לא יודע מתי אני אחזור אליה. ייתכן שהיא תהיה מספיק מועילה לקהל משתמשי LaTeX בעברית ומשתמשי BiDiTeX.
קישורים
אני מקווה שזה יכול להיות מועיל למישהו. אני בטוח שתמצאו כאן חוסרים, ואי־דיוקים, אבל, כרגע אין לי זמן לטפל בזה, לכן, החלטתי שעדיף משהו חצי בשל, מאשר כלום.
עוד כמה מפלאי ה־CMake
תוך כדי בנייה של דוגמאות עבור CppCMS שקלתי להכניס גם קבצי build שונים. חשבתי להשתמש ב:
- Makefile הרגיל, הישן והלא כל־כך טוב.
- תסריטי autotools המוכנים מראש.
- תסריטי CMake.
אחת הנקודות שהייתי צריך לבדוק אותה, זאת תמיכה ב־gettext, שזה אומר:
- בניה אוטומטית של קבצי pot עבור התרגום בעזרת xgettext.
- עדכון קבצי po של התרגומים הקיימים (מיזוג עם שינויים בתכנה)
- בניה והתקנה אוטומטית של קבצי mo מקבצי po.
חיפוש קצר הביא אותי ל"תסריט קטנטן" של כמה מאוד שורות קוד עבור תמיכה של CMake ב־gettext. חייב להגיד שזה היה די עצוב. בהמשך החיפושים מצאתי את הכתבה הבאה שמספרת על נפלאותיו של CMake.
אז, האם יש לכם חשק להחליף auto(hell)tools ב־CMake. לי לא כל־כך.
כתיבת GUI יכולה להיות נסבלת
לפני מספר חודשים, הייתי צריך להתחיל לעבוד על פרויקט בתחום מתמטיקה וויזואליזציה. הייתי צריך לכתוב יישום שמדגים כל מיני דברים מתמטיים מסובכים בצורה יפה ואינטואיטיבית. אחת הדרישות הייתה --- תמיכה בריבוי פלטפורמות (לא הייתי בא למרצה עם יישום שאפשר להריץ רק על לינוקס).
לפני עמדו מספר אפשרויות:
- לממש את הכל ב-Matlab.
- לקחת שפה כמו python עם איזשהם bindings שהם לא תלויים בפלטפורמה.
- לכתוב ב־C++ ולקחת כלי שהוא בלתי תלוי בפלטפורמה:
- להשתמש ב־wxWidgets.
- להשתמש ב־GTKmm.
- להשתמש ב־Qt4.
לצורך העניין, עד היום, הניסיון היחיד שהיה לי בבניית GUI, היה רק עם MFC.
המשך...