پارادایم برنامهنویسی | مولتی پارادیم: شیء گرا |
---|---|
توسعهدهنده | Rick Becker, Allan Wilks, [Chambers], [S. Cleveland], [Hastie] |
ظهوریافته در | ۱۹۷۶؛ ۴۸ سال پیش (۱۹۷۶-خطا: زمان نامعتبر}}) |
پویا, قوی | |
پروانه | 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 یکی از چندین زبان محاسباتی آماری است که در آزمایشگاههای 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-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 ،S است که در سال 1998 منتشر شد. [۱۷] این نسخه ویژگیهای شیگرا پیشرفته را ارائه میدهد. کلاس های S4 به طور قابل توجهی با کلاس های S3 متفاوت است. S4 به طور رسمی نمایش و وراثت را برای هر کلاس تعریف میکند و دارای ارسال چندگانه است: تابع عمومی را میتوان به روشی بر اساس کلاس با هرتعداد آرگومان ارسال کرد، نه فقط یک آرگومان. [۱۸]
R (زبان برنامه نویسی) ، زبان مشتق بر اساس زبان برنامه نویسی S که تا حدی با برنامه های S سازگار عقبرو ست.
تکامل زبان S ، توسط جان ام. چمبرز، ویژگی های جدید نسخه 4 S (در قالب پست اسکریپت ) را مورد بحث قرار می دهد.