زبان و اجرای آن توسط آدل گلدبرگ و دیوید رابسون، که از این پس خواهد داد به عنوان کتاب آبی اشاره می شود:
GNU اسمالتاک یک پیاده سازی است که از نزدیک به زبان اسمالتاک-80 همانطور که در کتاب اسمالتاک-80 شرح داده شده به شرح زیر است.
زبان برنامه نویسی اسمالتاک یک زبان برنامه نویسی شی گرا است. این به این معنی، برای یک چیز، که زمانی که برنامه نویسی شما به فکر نه تنها داده هایی را که یک شی شامل، بلکه از عملیات موجود در آن شیء است.
قابلیت نمایش اطلاعات جسم و عملیات موجود در جسم است "جدایی ناپذیر"؛ مجموعه ای از چیزهایی که شما می توانید با یک شی انجام دقیقا توسط مجموعه ای از عملیات، که اسمالتاک روش ها، که در دسترس آن شئ خواستار تعریف می شود: هر شی متعلق به یک کلاس (یک نوع داده و مجموعه ای از توابع است که بر روی آن کار ) و یا، بهتر، آن را به یک نمونه از آن کلاس است.
شما حتی نمی توانید بررسی محتویات یک شی از خارج - به یک خارجی، شی یک جعبه سیاه است که برخی از دولت و برخی از عملیات در دسترس است، اما که همه شما می دانید این است: هنگامی که شما می خواهید به انجام یک عملیات بر روی یک شی، شما تنها می توانید آن را ارسال یک پیام، و شی میدارد روش که مربوط به این پیام.
در زبان اسمالتاک، هر چیزی یک شی است. این نه تنها شامل اعداد و همه ساختمان داده، اما حتی کلاس ها، روش ها، قطعه کد در یک روش (بلوک یا بسته شدن)، پشته فریم (زمینه)، و غیره حتی اگر و در حالی که سازه ها به عنوان روش فرستاده شده به اشیاء خاص اجرا شده است.
بر خلاف دیگر Smalltalks (از جمله اسمالتاک-80)، GNU اسمالتاک بر نمونه سازی سریع اسمالتاک ویژگی های نسبتا از طبیعت های گرافیکی و آسان برای استفاده از محیط برنامه نویسی (آیا می دانید که برای اولین بار از GUI ها تا کنون تحت اسمالتاک زد؟).
در دسترس بودن بدن بزرگ از کلاس های سیستم، یک بار آنها را استاد، آن را به بسیار آسان برای نوشتن برنامه های پیچیده که معمولا یک کار برای به اصطلاح زبان های برنامه نویسی. بنابراین، حتی اگر ما یک محیط GUI خوب از جمله یک مرورگر کلاس، هدف از این پروژه GNU اسمالتاک در حال حاضر به تولید یک سیستم کامل مورد استفاده قرار گیرد برای نوشتن اسکریپت خود را در یک زبان برنامه نویسی روشن، زیبا و دل انگیز و فلسفی جذاب.
Installling:
اولین چیزی که به انجام به کامپایل GNU اسمالتاک است که برای پیکربندی این برنامه، ایجاد Makefile ها و `gstconf.h '، که حاوی حدس بزند در مختصات سیستم. این تنظیمات به طور خودکار توسط `پیکربندی 'اسکریپت پوسته انجام شده؛ آن را اجرا کنید، صرفا نوع:
./configure
گزینه های که شما می توانید با تصویب برای پیکربندی شامل --disable-DLD، است که مانع از برنامه اسمالتاک از کتابخانه به صورت پویا ارتباط در زمان اجرا.
پس از شما پیکربندی شده ام GNU اسمالتاک، شما می توانید سیستم با تایپ کردن کامپایل:
ساخت
اسمالتاک باید کامپایل و پیوند بدون خطا. اگر کامپایل می رود اشتباه است شما ممکن است بخواهید برای بررسی دستورات مورد استفاده برای راه اندازی کامپایلر. به عنوان مثال، لازم است تا اگر کامپایلر شما الحاقات که در صورت فعال نیست، آن را ANSI سازگار نیست. اگر این مورد، نوع است
را distclean
CFLAGS = مورد نیاز پرچم خط فرمان
و دوباره روند / را پیکربندی. در موارد بسیار خاص، اسکریپت configure ممکن است حضور یک فایل هدر و یا یک تابع بر روی سیستم شما تنگ شده. شما می توانید فایل `config.cache 'ایجاد شده توسط فرایند پیکربندی پچ. برای مثال، اگر پیکربندی را `فایل هدر unistd.h" را پیدا کنید، تغییر خواندن خط
ac_cv_header_unistd_h = $ {ac_cv_header_unistd_h = 'هیچ'}
به
ac_cv_header_unistd_h = $ {ac_cv_header_unistd_h = 'بله'}
و، دوباره، دوباره سعی کنید روند / را پیکربندی.
آخرین خط در خروجی را باید مثل این باشد:
صادرات SMALLTALK_KERNEL = `./kernel سی دی. pwd`.
./gst -iQ dummy_file
را [2]: ترک دایرکتوری `/ صفحه اصلی / utente / DEVEL-GST '
را [1]: ترک دایرکتوری `/ صفحه اصلی / utente / DEVEL-GST '
در این نقطه، شما یک GNU اسمالتاک کار. تبریک!
همچنین شما می خواهد برای ذخیره منابع اسمالتاک و ایجاد فایل تصویر را در محل مناسب (فایل تصویر شامل یک تصویر لحظهای کامل از وضعیت سیستم) می خواهید. این کار به طور خودکار هنگامی که شما یک را نصب کنید. مشخص --enable-ماژول به عنوان یک گزینه برای پیکربندی خواهد بسته اسمالتاک در تصویر به صورت خودکار نصب بارگذاری. برای مثال
./configure --enable-ماژول = Blox، TCP
یک تصویر را با Blox ابزار رابط کاربر و TCP کتابخانه انتزاع ساخته شده است در ایجاد کنید.
در اینجا برخی از ویژگی های کلیدی "GNU اسمالتاک" عبارتند از:
نظر یافت نشد