מק לתכנות

מק לתכנות

האם מק מתאים לתכנות?
ללימודי מדמח

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

marvin2

New member
בגדול כן

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

izackv

New member
האמת שגם אני מתלבט

בקרוב כנראה שארצה לכתוב קוד שירוץ גם על מוצרי אפל.
לפי הסכם הרשיון שאני מכיר, מותר להשתמש בערכת הפיתוח של אפל רק על גבי "ברזלים" של אפל. (למרות שיש אמולטורים סבירים. כנראה) וזה גרם לי להתחיל לבחון הוספה של מחשב אפל ל"חוות" המחשבים שלי.
&nbsp
בלי קשר, שמתי לב שכמעט בכל ההרצאות המוקלטות מכנסים של תוכניתנים (אפילו בנושאים כמו פייתון וכדומה) יש נוכחות בולטת לניידים של אפל.
&nbsp
נושא המע"מ לא רלוונטי עבורי ובתור חברה יש גם פחת מואץ על חומרה.
אבל אפילו בניקוי המע"מ והפחת, מחשב פיתוח של אפל נראה יקר בטירוף.
&nbsp
יש כאן אנשים שעברו לפתח על גבי מחשבים של אפל?
בתור אסטרטגיית חברה?
התרשמות? דעות? מחשבות?
תאימות של תוכנות מהסטאק של פייתון? (flask, django, ngix, gunicorn, scipy, pycharm)
 

eveik

New member
בחברה שעבדתי בה כולנו עבדנו על מק

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

giladnaor

New member
גם כאן אין בעיה

בגלל הבסיס היוניקסי, יש תמיכה מעולה בפייתון. רצוי לעבוד עם virtualenv.
&nbsp
בגדול, יש לזה את כל היתרונות של לינוקס בלי כל החסרונות.
&nbsp
באופן כללי, אם תסתובב היום בסיליקון ואלי, כמעט ולא תראה מחשבי ווינדוס. בפייסבוק, גוגל, אמאזון וכד׳ מקינטושים הם המחשבים הנפוצים ביותר. כנ״ל לגבי סטודנטים למדמ״ח בארה״ב כבר כמה שנים.
 

vinney

Well-known member
אהם

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

user32

Well-known member
מנהל
איך ריבוי ליבות מאיץ קומפילציות?

איזה קומפיילר מנצל כמה ליבות? אולי make עם gcc אבל לא רואה סיבה לקמפל לעיתים קרובות את כל המודולים כשבדרך כלל עובדים על חלק מסויים כל פעם.
על כל פנים, אני שנים משתמש בלפטופ כמכונת פיתוח. הצוואר בקבוק העקרי הוא הדיסק וSSD משפר את זה פלאים. לפטופים היום מגיעים עם 4 ליבות או 8 ביקרים יותר וזה די והותר לרוב הפרוייקטים ועם 8 GB זכרון שזה גם כבר סטנדרטי גם אין בעיה להפעיל VMים על הלפטופ במידת הצורך.
 
כל קומפיילר היום
כפי שכתבת, make עם פרמטר j- ומספר המעבדים/ליבות שלך, אבל גם Visual Studio של מיקרוסופט וגם Xcode של אפל מקמפלים במקביל - פתח task manager בזמן קומפילציה ארוכה. ותראה. בשפת ++C, כשאתה משנה קובץ H איפשהו, עלולים להתקמפל מספר קבצים רב, וזו עבודה שהיא אידיאלית למיקבול.
 

choo

Active member
בדיוק - make מנצל נהדר ריבוי ליבות

&nbsp
ולמעשה, אני מצפה מכל כלי build ראוי למקבל קומפילציה בצורה כזו.
&nbsp
הפער בזמן הקומפילציה יכול להיות של שמיים וארץ.
&nbsp
לגבי "לעבוד בכל פעם על מודול אחר" - זה לא מחזיק מים בתוכנה שיש בה הרבה מודולים שבנויים בשכבות אלו על אלו - וצריך לבצע שינויים שדורשים נגיעה ביותר ממודול אחד (דבר שכיח למדי בעבודה על קוד קיים).
&nbsp
יכול להיות שהתרגלת יותר מדי לג'אווה ולשפות סקריפט ושכחת כמה זמן יכולה לקחת קומפילציה של קוד C - שלא לדבר על ++C....
 

user32

Well-known member
מנהל
מעניין

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

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

zaske

New member
יש מצב ללינק לגבי maven3 ? בנתיים מצאתי רק fork/join פלאגין

ל jenkins
 

user32

Well-known member
מנהל
זה אפשרי רק אם התלויות מאפשרות את זה

 

choo

Active member
"רק" עשרים שנה אחרי ש-make עשו את זה? ;)

&nbsp
"לנתח" את התלויות זה בסך הכל לבנות DAG ולבצע באמצעותו מיון טופולוגי.
 

user32

Well-known member
מנהל
תמיד הפתיע אותי שלא היה את זה

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

vinney

Well-known member
מה זאת אומרת?

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

Grosseto

New member
מי שמפתח בעמק הסיליקון לא מבזבז את הזמן שלו על קימפול

יש צוותי בילד לעיניינים האלה
 

izackv

New member
לא תמיד

היות והיום המגמה היא לעבוד בסביבה של cont. integration ו cont. deployment, הרבה פעמים ה"בילד" הוא משהו שקורה אוטומטית כשאתה לוחץ על הכפתור של PUSH
או כשהמנהל שלך לוחץ על הכפתור של "אשר קוד-רוויו תקין"
התהליך הזה כולל בדרך כלל הרצה של ערימת בדיקות אוטומטיות ונכשל אם הבדיקות לא עומדות ברף מסויים.
אם התהליך נכשל, אתה צריך לבדוק למה, לתקן או לתקן את הבדיקות או לשלוח לאישור מנהל עם הסבר...
&nbsp
בכל צורת העבודה הזאת, הצוות של הבילד כבר מזמן לא "מריץ" את הבילד.
הוא כן בונה את הכלים והאוטומציה מסביב.
אבל ברגע שאתה עושה PUSH? זה רק אתה והסקריפטים של הבילד. (אלה אם התהליך כולל אישור מנהל)
 
למעלה