קאמל קייס

קאמל קייס (לעיתים מסוגנן כ-camelCase או CamelCase) הוא הנוהג של כתיבת ביטויים באנגלית ללא רווחים או סימני פיסוק, כאשר נעשה שימוש באות גדולה להפרדה בין מילים. דוגמאות ידועות כוללות את המותגים "iPhone" ו-"eBay". הכתיב משמש לפעמים גם בשמות משתמש מקוונים כגון "johnSmith", וכדי להפוך שמות דומיינים מרובי מילים לקריאים יותר, למשל בקידום "EasyWidgetCompany.com". קאמל קייס משמש לעיתים קרובות כמוסכמה בבחירת שמות בתכנות, אך קיימות מוסכמות שונות בנוגע לשאלה האם האות הראשונה צריכה גם היא להיות אות גדולה. יש סגנונות תכנות שמעדיפים קאמל קייס עם האות הראשונה באותיות גדולות, אחרים לא. כאשר גם האות הראשונה גדולה, הכתיב מכונה גם פסקל קייס, שכן כך מקובל לכתוב בשפת התכנות פסקל. במאמר זה הכתיב יכונה קאמל קייס עליון, לעומת קאמל קייס תחתון בו האות הראשונה היא אות קטנה. ישנם אנשים וארגונים, למשל מיקרוסופט, המשתמשים במונח קאמל קייס באופן בלעדי עבור קאמל קייס תחתון, ומשתמשים במונח פסקל קייס עבור קאמל קייס עליון. קאמל קייס נבדל מאותיות גדולות של כותרת, שכוללת את כל המילים באותיות רישיות, שכן כותרת שומרת על הרווחים. קאמל קייס נבדל גם מצורת הכתיבה Tall Man, המשתמשת באותיות רישיות כדי להדגיש את ההבדלים בין שמות מוצרים בעלי מראה דומה, כגון "predniSONE" ו-"predniSOLONE". קאמל קייס נבדל גם מ"נחש קייס", המשתמש בקו תחתון המשולב באותיות קטנות (לעיתים האות הראשונה גדולה). שילוב של קאמל קייס ונחש קייס (כך: Written_Like_This) הומלץ במדריך הסגנון של שפת התכנות עדה משנת 1995. המופע המוקדם ביותר של המונח "InterCaps" ב-Usenet הוא בפוסט באפריל 1990 לקבוצת alt.folklore.computers מאת אבי רפופורט. השימוש המוקדם ביותר בשם "קאמל קייס" היה ב-1995, בפוסט של ניוטון לאב. לאב התייחס לכך בהמשך: "עם הופעתן של שפות תכנות שיש להן סוגים של מבנים כאלה, הגיבנת של הסגנון גרמה לי לקרוא לזה HumpyCase בהתחלה, לפני שעברתי ל-CamelCase. קראתי לזה CamelCase במשך שנים... הציטוט למעלה היה רק הפעם הראשונה שהשתמשתי בשם ב-USENET." השימוש באותיות רישיות באמצע מילה כמוסכמה באיות הרגיל של טקסטים יומיומיים הוא נדיר, אך הוא משמש בשפות מסוימות כפתרון לבעיות מסוימות המתעוררות כאשר משולבות שתי מילים. באיטלקית, כינויים יכולים להיות סיומות לפעלים, ומכיוון שצורת הכבוד של כינויים בגוף שני באותיות גדולות, זה יכול לייצר משפט כמו non ho trovato il tempo di risponderLe ("לא מצאתי זמן לענות לך" - שבו Le פירושו "בשבילך"). בגרמנית, האות המדיאלית I, הנקראת Binnen-I, משמשת לפעמים במילה כמו StudentInnen ("סטודנטים") כדי לציין שגם Studenten ("סטודנטים גברים") וגם Studentinnen ("סטודנטיות") נכללים בו-זמנית. עם זאת, שימוש באותיות רישיות באמצע המילה אינו תואם את הכתיב הגרמני מלבד שמות פרטיים כמו מקדונלד; הדוגמה הקודמת יכולה להיכתב בצורה תקנית באמצעות סוגריים בתור Student(inn)en, בדומה ל"congress(wo)men" באנגלית. באירית משתמשים בקאמל קייס כאשר קידומת נטייה מחוברת לשם עצם פרטי, למשל i nGaillimh ("בגולווי"), an tAlbanach ("האדם הסקוטי"), go hÉirinn ("לאירלנד"). בכתיב הגאלי הסקוטי העדכני, הוכנס מקף: an t-Albannach. מוסכמה זו משמשת גם מספר שפות בנטו כתובות (למשל isiZulu, "שפת זולו") וכמה שפות ילידיות של מקסיקו (למשל Nahuatl, Totonacan, Mixe - Zoque וכמה שפות אוטו-מנגואיות). בהולנדית, בעת שימוש באותיות רישיות בדיגרף ij, הן האות I והן האות J נכתבות באותיות רישיות, למשל בשם המדינה IJsland ("איסלנד"). באנגלית, אותיות רישיות באמצע מילה נמצאות בדרך כלל רק בשמות. למשל בשמות סקוטיים או איריים מהצורה "Mac-" או "Mc-", כאשר למשל MacDonald, McDonald, and Macdonald הם גרסאות איות נפוצות לאותו שם, ובשמות אנגלו-נורמנים המתחילים ב-"פיץ - ", למשל, FitzGerald,Fitzgerald. במדריך הסגנון האנגלי The King's English, שפורסם לראשונה ב-1906, הנרי פולר ופרנסיס פולר הציעו להשתמש באותיות רישיות במילים מורכבות משולשות שבהן מקפים יגרמו לעמימות - הדוגמאות שהם נותנים הן KingMark-like (בניגוד ל-King Mark-like) ו-Anglo-SouthAmerican (לעומת Anglo-South American). עם זאת, הם תיארו את המערכת כ"שונה באופן חסר תקווה מהשימוש בהווה". בתעתיק מדעי של שפות הכתובות בכתבים אחרים, משתמשים באותיות רישיות באמצע מילה במצבים שונים. לדוגמה, בעברית מתועתקת ללטינית, ha'Ivri פירושו "האדם העברי" או "היהודי" ו-b'Yerushalayim פירושו "בירושלים". בשמות פרטיים טיבטים כמו rLobsang, ה-"r" מייצג סימן קידומת שבכתב המקורי מתפקד כסמן טון ולא כאות רגילה. דוגמה נוספת היא tsIurku, תעתיק לטיני של המונח הצ'צ'ני לאבן חיצונית במגדלי ההגנה האופייניים לימי הביניים של צ'צ'ניה ואיגושטיה; האות I אינה אות גדולה אלא מציינת פונמה נבדלת מזו המתועתקת כ"i". בדרך כלל משתמשים בקאמל קייס בקיצורים כדי לשקף את האותיות הגדולות שיהיו למילים כשהן נכתבות במלואן, למשל בתארים האקדמיים PhD או BSc. דוגמה עדכנית יותר היא NaNoWriMo, קיצור של של National Novel Writing Month. בגרמנית, שמות החוקים מקוצרים באמצעות אותיות רישיות מוטבעות, למשל StGB עבור Strafgesetzbuch (חוק פלילי), PatG עבור Patentgesetz (חוק הפטנטים), BVerfG עבור Bundesverfassungsgericht ( בית משפט חוקתי פדרלי ), או GmbH הנפוץ עבור Gesellschaft mit beschränkter Haftung (חברה מוגבלת פרטית). בצרפתית, ראשי תיבות של קאמל קייס כמו OuLiPo (1960) הועדפו במשך זמן מה כחלופה לראשי תיבות. קאמל קייס משמשת לעיתים קרובות כדי לתעתק ראשי תיבות לאלפבית כאשר שתי אותיות נדרשות לייצג תו בודד של האלפבית המקורי, למשל, DShK מ - ДШК קירילי (האות האמצעית נהגית כמו ש עברית). השימוש השיטתי והנפוץ הראשון בקאמל קייס למטרות טכניות היה הסימון לנוסחאות כימיות שהומצא על ידי הכימאי השוודי ינס יאקוב ברצליוס ב-1813. כדי להחליף את שלל מוסכמות השמות והסמלים ששימשו כימאים עד לאותה תקופה, הוא הציע לציין כל יסוד כימי בסמל של אות אחת או שתיים, כשהראשונה היא אות גדולה. השימוש באותיות גדולות איפשר לכתוב נוסחאות כמו "NaCl" (מלח בישול) ללא רווחים ועדיין לנתח ללא עמימות. המערכת של ברצליוס ממשיכה להיות בשימוש, מתוגברת בסמלים בני שלוש אותיות כמו " Uue " עבור יסודות לא מאושרים או לא ידועים וקיצורים של כמה תחליפים נפוצים (במיוחד בתחום הכימיה האורגנית, למשל " Et " עבור "אתיל-"). הרחבות נוספות בוצעו כדי לתאר את רצפי חומצות האמינו של חלבונים ותחומים דומים אחרים. מאז תחילת המאה ה-20, נעשה שימוש בקאמל קייס מדי פעם עבור שמות ארגוניים וסימני מסחר של מוצרים, כגון: DryIce Corporation (1925) שיווקה את הצורה המוצקה של פחמן דו-חמצני (CO 2 ) כ"קרח יבש", מה שהוביל לשמה. CinemaScope ו-VistaVision, פורמטים מתחרים של סרטים במסך רחב (1953) ShopKo (1962), חנויות קמעונאיות, שמאוחר יותר שונה לשם Shopko MisteRogers Neighborhood, סדרת הטלוויזיה הנקראת גם Mister Rogers' Neighborhood (1968) ChemGrass (1965), מאוחר יותר שונה שם לאסטרוטורף (1967) ConAgra (1971), לשעבר Consolidated Mills MasterCraft (1968), יצרנית סירות ספורט AeroVironment (1971) PolyGram (1972), לשעבר קבוצת גרמופון-פיליפס United HealthCare (1977) MasterCard (1979), לשעבר מאסטר צ'ארג' SportsCenter (1979) בשנות ה-70 וה-80, אומצה הכתיבה בקאמל קייס כמוסכמה לכתיבת שמות סטנדרטית או אלטרנטיבית למזהים מרובי מילים במספר שפות תכנות. מקורה המדויק של המוסכמה בתכנות מחשבים אינו ידוע. הליכי ועידה משנת 1954 התייחסו מדי פעם למערכת ה-Speedcoding של יבמ כ"SpeedCo". המאמר של כריסטופר סטרצ'י על GPM (1965), מציג תוכנית הכוללת כמה מזהי קאמל קייס, כולל " NextCh " ו-" WriteSymbol ". לא ניתן להשתמש במזהים תיאוריים של מספר מילים עם רווחים כגון end of file או char table ברוב שפות התכנות, מכיוון שהרווחים בין המילים ינותחו כמפרידים בין המזהים. החלופה של חיבור המילים יחד כמו ב - endoffile או chartable קשה להבנה ועשויה להטעות; לדוגמה, chartable היא מילה באנגלית (ניתן לרישום), בעוד ש-charTable פירושו טבלה של chars. כמה שפות תכנות מוקדמות, בפרט Lisp (1958) ו-COBOL (1959), התמודדו עם בעיה זו על ידי מתן אפשרות להשתמש במקף ("-") בין מילים של מזהים מורכבים, כמו ב-"END-OF-FILE": ב-Lisp מכיוון שמנתח Lisp לא יתייחס למקף באמצע סמל כאל אופרטור חיסור וב-COBOL מכיוון שהאופרטורים שלו היו מילים בודדות באנגלית. מוסכמה זו נשארת בשימוש בשפות אלו, והיא נפוצה גם בשמות תוכניות המוזנים בשורת הפקודה, למשל ב-Unix. עם זאת, פתרון זה לא התאים לשפות בעלות אוריינטציה מתמטית כגון FORTRAN (1955) ו-ALGOL (1958), שהשתמשו במקף כאופרטור חיסור. FORTRAN התעלמה לחלוטין מרווחים, כך שמתכנתים יכלו להשתמש ברווחים מוטבעים בשמות משתנים. עם זאת, תכונה זו לא הייתה שימושית במיוחד מכיוון שהגרסאות המוקדמות של השפה הגבילו מזהים ללא יותר משישה תווים. בכרטיסים מנוקבים נפוצים של אותה תקופה היו רק אותיות גדולות, ללא שום תווים נוספים, מה שהחמיר את הבעיה של כתיבת קוד קריא. רק בסוף שנות ה-60 האימוץ הנרחב של ערכת התווים ASCII הפך הן את האותיות הקטנות והן את התו קו תחתון _ לזמינים לכלל העולם. שפות מסוימות, בעיקר C, אימצו מיד קווים תחתונים כמפרידי מילים, ומזהים כגון end_of_file עדיין נפוצים בתוכניות וספריות C (כמו גם בשפות מאוחרות יותר המושפעות מ-C, כגון Perl ו-Python). עם זאת, חלק מהשפות והמתכנתים בחרו להימנע מקווים תחתונים - בין השאר כדי למנוע בלבול בינם לבין רווח - ואימצו במקום זאת את הכתיבה בקאמל קייס. קאמל קייס שימש בשמות חברות המחשבים והמותגים המסחריים שלהן מאז סוף שנות ה-70 - מגמה שנמשכת עד היום: (1977) CompuServe (1978) WordStar (1979) VisiCalc (1982) MicroProse, WordPerfect (1983) NetWare (1984) LaserJet, MacWorks, PostScript (1985) PageMaker (1987) ClarisWorks, HyperCard, PowerPoint (1990) WorldWideWeb (דפדפן האינטרנט הראשון), מאוחר יותר שונה שמו ל-Nexus השימוש בקאמל קייס עבור מזהים המורכבים ממספר מילים מומלץ על פי הנחיות סגנון הקידוד של ארגונים רבים ופרויקטי תוכנה. עבור שפות מסוימות (כגון Mesa, Pascal, Modula, Java ו-.NET) נוהג זה מומלץ על ידי מפתחי השפה או על ידי מדריכים רשמיים ולכן הפך לחלק מ"תרבות השפה". הנחיות סגנון מבחינות לעיתים קרובות בין קאמל קייס עליון לתחתון, ובדרך כלל מציינים באיזה סוג יש להשתמש עבור סוגים ספציפיים של ישויות: משתנים, שדות, שגרות, פונקציות, תתי שגרות, טיפוסי נתונים וכו'. כללים אלה נתמכים לפעמים על ידי כלי ניתוח סטטי הבודקים קוד מקור לעמידה בכללים. בשפות העיקריות בבניית אתרים, HTML ו-CSS, קיימת התעלמות חלקית מסוג האות, מה שיכול לגרום לבאג כאשר שמות שונים נכתבו עם אותן אותיות ובהבדל של אות גדולה בלבד. לכן בשפות אלה מקובל להפריד בין מילים באמצעות מקף. לעומת זאת בשפה העיקרית לתכנות אתרים, JavaScript, המקף אינו תו חוקי בשמות ויתפרש כפעולת חיסור ולכן פותחה האפשרות לגשת באמצעות גרסת קאמל קייס למאפיינים שמופרדים ב-CSS באמצעות מקף, למשל: background-color יכול להופיע בקוד ג'אווהסקריפט כ-backgroundColor. בגרסה המקורית של ויקי שנכתבה על ידי וורד קנינגהם, קאמל קייס שימש ליצירת קישורים בין דפי ויקי. היסטורית גם בוויקיפדיה היה שימוש בקאמל קייס ליצירת קישורים אך כבר בשלב מוקדם בוצע מעבר ליצירת קישורים מפורשת באמצעות סוגריים מרובעים כפולים. האשטאגים, במיוחד ארוכים, משתמשים לעיתים קרובות בקאמל קייס כדי לשמור על קריאות (למשל קל יותר לקרוא #CollegeStudentProblems מאשר #collegestudentproblems). מדיה וקבצים בנושא קאמל קייס בוויקישיתוף "Naming Conventions". Scala. נבדק ב-5 בדצמבר 2012. {{cite web}}: (עזרה) "Capitalization Styles - .NET Framework 1.1". נבדק ב-5 בדצמבר 2012. {{cite web}}: (עזרה) "Camel Case". נבדק ב-10 במרץ 2016. {{cite web}}: (עזרה) "Ada 95 Quality and Style Guide". באוקטובר 1995. Section 3.1.3. נבדק ב-25 בינואר 2020. {{cite web}}: (עזרה) Newton Love (12 בספטמבר 1995). "I'm happy again! – comp.os.os2.advocacy | Google Groups". Groups.google.com. נבדק ב-23 במאי 2009. {{cite web}}: (עזרה) Newton Love(הקישור אינו פעיל, January 2017) Richtiges und gutes Deutsch: Das Wörterbuch der sprachlichen Zweifelsfälle. Duden (בגרמנית). Vol. 9 (7th ed.). Mannheim: Bibliographisches Institut. 2011. p. 418. ISBN 978-3411040971. Fowler, Henry W.; Fowler, Francis G. (1908). "Chapter IV. Punctuation – Hyphens". The King's English (2nd ed.). Oxford. אורכב מ-המקור ב-31 בדצמבר 2009. נבדק ב-19 בדצמבר 2009. {{cite book}}: (עזרה) Jöns Jacob Berzelius (1813). Essay on the Cause of Chemical Proportions and on Some Circumstances Relating to Them: Together with a Short and Easy Method of Expressing Them. Annals of Philosophy 2, 443-454, 3, 51-52; (1814) 93-106, 244-255, 353-364. Henry M. Leicester & Herbert S. Klickstein, eds. 1952, A Source Book in Chemistry, 1400-1900 (Cambridge, MA: Harvard) The Trade-mark Reporter. United States Trademark Association. 1930. ISBN 1-59888-091-8. "Mister Rogers Neighborhood Season 1 (Episode 4)". נבדק ב-21 ביוני 2022. {{cite web}}: (עזרה) "Our History". unitedhealthgroup.com. נבדק ב-2019-05-15.(הקישור אינו פעיל, August 2019) ""Resume of Session 8". Digital Computers: Advanced Coding Techniques. Summer Session 1954, Massachusetts Institute of Technology" (PDF). 1954. pp. 8–6. אורכב מ-המקור (PDF) ב-29 בפברואר 2012. נבדק ב-4 בינואר 2014. {{cite web}}: (עזרה) Strachey, Christopher (באוקטובר 1965). "A General Purpose Macrogenerator". Computer Journal. 8 (3): 225–241. doi:10.1093/comjnl/8.3.225. {{cite journal}}: (עזרה) HTML Living Standard — Last Updated 22 July 2022 Syntax and basic data types Can I use camelCase in CSS class names Camel case in HTML tag attributes and jquery - doesn't work, why? what's the difference background-color and backgroundColor?, באתר Stack Overflow You Can Look It Up: The Wikipedia Story