پرش به محتوا

اس (زبان برنامه نویسی)

از ویکی‌پدیا، دانشنامهٔ آزاد
S
پارادایم برنامه‌نویسیMulti-paradigm: imperative, object oriented
توسعه‌دهندهRick Becker, Allan Wilks, John Chambers, William S. Cleveland, Trevor Hastie
ظهوریافته در۱۹۷۶؛ ۴۸ سال پیش (۱۹۷۶-خطا: زمان نامعتبر}})
dynamic, strong
پروانهdepends on implementation
وبگاه
ect.bell-labs.com/sl/S/ توسط Wayback Machine (بایگانی‌شده ۲۰۱۸-۱۰-۱۴)
پیاده‌سازی‌های بزرگ
S-PLUS
متأثر از
C, APL, PPL, Fortran
تأثیر گذاشته بر
R






S [۱]یک زبان برنامه نویسی آماری است که عمدتا توسط جان چمبرز و (در نسخه های قبلی) ریک بکر، ترور هستی، ویلیام کلیولند و آلن ویلکز از آزمایشگاه های بل توسعه یافته است.

هدف این زبان، همانطور که جان چمبرز بیان می کند، «تبدیل ایده‌ها به نرم افزار، به طور سریع و همیشگی»[۱] است. این زبان به طور گسترده توسط محققان دانشگاهی استفاده می‌شود.[۲]

یکی از پیاده‌سازی‌های اصلی زبان S، زبان S-Plus است که یک محصول تجاری است که قبلاً توسط نرم‌افزار TIBCO فروخته می‌شد.

R مدرن، بخشی از پروژه نرم‌افزار آزاد گنو، مبتنی بر [۳]S بود و می‌تواند بسیاری از برنامه‌های S را اجرا کند، اگرچه کاملاً سازگار عقبرو نیست.[۴]

تاریخچه[ویرایش]

“S  قدیمی“[ویرایش]

S یکی از چندین زبان محاسباتی آماری است که در آزمایشگاه‌های ‌Bell طراحی شد و اولین بار بین سال‌های 1975-1976 شکل گرفت. تا آن زمان، بسیاری از محاسبات آماری با فراخوانی مستقیم زیربرنامه های Fortran انجام می شد. اما ، S برای ارائه یک رویکرد جایگزین و تعاملی‌تر طراحی شده بود که تا حدی با انگیزه تجزیه و تحلیل کاوشگرانه داده ها مورد حمایت جان توکی[۵] بود. تصمیم‌های اولیۀ طراحی که حتی امروزه نیز پابرجا هستند شامل دستگاه های گرافیکی تعاملی (چاپگرها و پایانه های کاراکتر در آن زمان) و ارائه اسناد به راحتی قابل دسترسی برای عملکردها است.

توسعه پروژه توسط جان چمبرز و ترور هستی رهبری شد و شامل توسعه دهندگان: ریچارد بکر، آلن ویلکس، جان چمبرز و ویلیام کلیولند بود که همگی در آن زمان کارمندان AT&T.[۶] بودند.از بین توسعه دهندگانی که در S مشارکت داشتند، چمبرز به طور کلی به عنوان مهم ترین مشارکت کننده پذیرفته شده است . چمبرز جایزه سیستم نرم افزاری را از انجمن ماشین‌های حسابگر برای کارش در S دریافت کرد.

اولین نسخۀ کاری S در سال 1976 ساخته شد و بر روی سیستم عامل GCOS کار می کرد. در این زمان، S نام٬گذاری نشد و پیشنهادها شامل ISCS (SCS) ، SCS (سیستم محاسباتی آماری) و SAS (سیستم تحلیل آماری) (که قبلاً گرفته شده بود: به سیستم SAS مراجعه کنید). نام "S" (تا سال 1979 با علامت نقل قول تکی استفاده می شد) انتخاب شد، زیرا یک حرف رایج در پیشنهادها بود و با سایر زبان های برنامه نویسی طراحی شده از همان موسسه در آن زمان (یعنی زبان برنامه نویسی C ) سازگار بود. [۷] مخفف کلمه "آمار" (به انگلیسی "statics") است. [۸]

هنگامی که UNIX/32V به DEC VAX 32 بیتی (در آن زمان جدید) منتقل شد، محاسبه‌ها بر روی پلت‌فرم یونیکس برای S امکان پذیر شد. در اواخر سال 1979، S2 از GCOS به یونیکس، که به پلتفرم اصلی جدید تبدیل شد، منتقل شد.

در سال 1980 اولین نسخه S در خارج از آزمایشگاه Bell توزیع شد و در سال 1981 نسخه‌های منبع در دسترس قرار گرفت. S آزادانه در محافل دانشگاهی توزیع شد و در میان آماردانان دانشگاهی محبوب شد. [۹] در سال 1984 دو کتاب توسط تیم تحقیقاتی آزمایشگاه بل منتشر شد:

( کتاب قهوه‌ای 1984)S: An Interactive Environment for Data Analysis and Graphics[۱۰] و Extending the S System.[۱۱].

همچنین در سال 1984 کد منبع S از طریق AT&T Software Sales برای اهداف آموزشی و تجاری مجوز گرفت.

“S  جدید“[ویرایش]

اولین نسخه S-PLUS توسط Statistical Sciences, Inc. در سال 1988 منتشر شد. S-PLUS بعداً به TIBCO Software [۱۲]فروخته شد. در این زمان، با انتشار S3،[۱۳] تغییرات زیادی در S و نحو زبان ایجاد شد. New S Language (کتاب آبی 1988) [۱۴] برای معرفی ویژگی های جدید، مانند انتقال از ماکروها به توابع و نحوه انتقال توابع به سایر توابع (مانند apply ) منتشر شد. بسیاری از تغییرهای دیگر در زبان S برای گسترش مفهوم "اشیاء" و ایجاد هماهنگی بیشتر (و سخت گیرانه تر کردن نحو) بود. با این حال، بسیاری از کاربران انتقال به New S را دشوار می‌دانستند، زیرا ماکروهای آنها باید بازنویسی می‌شد. بسیاری از تغییرات دیگر در S مانند استفاده از دستگاه‌های گرافیکی X11 و PostScript ، بازنویسی بسیاری از توابع داخلی از Fortran به C و استفاده از محاسبات با دقت دوگانه (فقط). زبان New S بسیار شبیه به زبان مورد استفاده در نسخه های مدرن S-PLUS و R است.

رابط کاربری گرافیکی S نیز پس از ادغام با زبان Axum، به ویژگی های گرافیکی تعاملی به روز شد.

در سال 1991، کتاب Statistical Models in S[۱۵] (کتاب سفید 1991) منتشر شد که استفاده از فرمول-نات‌گذاری [۱۶] (که از عملگر ~ استفاده می‌کند)، اشیاء دیتا فریم و تغییراتی در استفاده از شگردها و کلاس‌های شی را معرفی کرد

"S4"[ویرایش]

آخرین نسخه استاندارد S4 ،S است که در سال 1998 منتشر شد. [۱۷] این نسخه ویژگی‌های شی‌گرا پیشرفته را ارائه می‌دهد. کلاس های S4 به طور قابل توجهی با کلاس های S3 متفاوت است. S4 به طور رسمی نمایش و وراثت را برای هر کلاس تعریف می‌کند و دارای ارسال چندگانه است: تابع عمومی را می‌توان به روشی بر اساس کلاس با هرتعداد آرگومان ارسال کرد، نه فقط یک آرگومان. [۱۸]

جستارهای وابسته[ویرایش]

R (زبان برنامه نویسی) ، زبان مشتق بر اساس زبان برنامه نویسی S که تا حدی با برنامه های S سازگار عقبرو ست.

منابع[ویرایش]

  1. ۱٫۰ ۱٫۱ Chambers, John M (1998). Programming with Data: A Guide to the S Language. Springer. ISBN 978-0-387-98503-9.
  2. "S-Plus: An Introduction". www.stat.rice.edu. Retrieved 2024-02-28.
  3. Ashwani, Kumar; Satyanarayana, Reddy, Seelam Sai (2020-09-25). Advancements in Security and Privacy Initiatives for Multimedia Images (به انگلیسی). IGI Global. p. 179. ISBN 978-1-7998-2797-9.
  4. Nicholls, Andy; Pugh, Richard; Gott, Aimee (2015-12-16). R in 24 Hours, Sams Teach Yourself (به انگلیسی). Sams Publishing. ISBN 978-0-13-428880-2.
  5. Becker, Richard A., A Brief History of S, Murray Hill, New Jersey: AT&T Bell Laboratories, archived from the original (PS) on 2015-07-23, retrieved 2015-07-23
  6. Encyclopedia of Statistical Sciences, Volume 12 (به انگلیسی). John Wiley & Sons. 2005-12-16. p. 8088. ISBN 978-0-471-74406-1.
  7. Becker, Richard A., A Brief History of S, Murray Hill, New Jersey: AT&T Bell Laboratories, archived from the original (PS) on 2015-07-23, retrieved 2015-07-23
  8. Nicholls, Andy; Pugh, Richard; Gott, Aimee (2015-12-16). R in 24 Hours, Sams Teach Yourself (به انگلیسی). Sams Publishing. ISBN 978-0-13-428880-2.
  9. Hardin, James W.; Hilbe, Joseph M. (2002-07-30). Generalized Estimating Equations (به انگلیسی). CRC Press. p. 12. ISBN 978-1-4200-3528-5.
  10. Becker, R.A.; Chambers, J.M. (1984). S: An Interactive Environment for Data Analysis and Graphics. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-03313-X.
  11. Becker, R.A.; Chambers, J.M. (1985). Extending the S System. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-05016-6.
  12. Becker, R.A.; Chambers, J.M.; Wilks, A.R. (1988). The New S Language: A Programming Environment for Data Analysis and Graphics. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-09192-X.
  13. Chambers, John (2008-06-14). Software for Data Analysis: Programming with R (به انگلیسی). Springer. pp. 477–478. ISBN 978-0-387-75936-4.
  14. Becker, R.A.; Chambers, J.M.; Wilks, A.R. (1988). The New S Language: A Programming Environment for Data Analysis and Graphics. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. ISBN 0-534-09192-X.
  15. Chambers, J.M.; Hastie, T.J. (1991). Statistical Models in S. Pacific Grove, CA, USA: Wadsworth & Brooks/Cole. p. 624. ISBN 0-412-05291-1.
  16. Wilkinson, G.N.; Rogers, C.E. (1973). "Symbolic description of factorial models for analysis of variance". Applied Statistics. 22 (3): 392–399. doi:10.2307/2346786. JSTOR 2346786.
  17. Chambers, John (January 1, 2001). "The S System". Bell Labs. Archived from the original on 2018-10-14.
  18. Wickham, Hadley (2019). "S4". Advanced R. adv-r.had.co.nz. ISBN 9781466586963. Retrieved 2020-02-18.

پیوند به بیرون[ویرایش]

تکامل زبان S ، توسط جان ام. چمبرز، ویژگی های جدید نسخه 4 S (در قالب پست اسکریپت ) را مورد بحث قرار می دهد.