COMPΞZ 🧬
هیچ مادری فرزندش رو برای بدرقه کردن تا چوبهٔ دار بزرگ نمیکنه! مسبب همهٔ این شرایط شمایید.
من یادم نمیره شاید ۷..۸ سالم بود، یه روز از میدان انقلاب شهر خودمون رد میشدیم وسط فلکه یه طناب دار دیدم داشتن آمادش میکردن واسهٔ اجرای حکم... اون موقع مامانم چشامو گرفت که نبینم... هنوز هم که هنوزه وقتی یادم میافته وحشت میکنم! یعنی تا بوده تجربیات تلخ توی جامعه دیدم.
توی زندگی هم که بدترین نوعش رو تجربه کردم! همین چند سال پیش پدر مادر بزرگم رو به قتل رسوندن و حتی آتیششون زدن :) بعد ۵ سال هنوز نتونستیم رضایت برای اجرای حکم اعدامش بدیم! خشم و نفرت تو دل و ذهنمون وجود داره اما تصمیم گیری به این راحتی نیست! شماها چطور به این راحتی عین آب خوردن دارید اجراش میکنید؟ بابا این چه قانونیه... چه وضعیه؟ چه استدلالیه؟! یعنی هیچ تقصیری گردن شماها نیست دیگه نه؟ همینطوری یهو یکی از دل سیری و خوشی میاد جنایت میکنه؟
طرف اومد جنایت کرد، دلایلی که اعتراف کرده رو صد بار من شخصاً خوندم... تهش برگشته به اقتصاد، به نداری، به بدبختی! کینه و نفرت و حسادت! اینا باعث میشن یکی از شدت خشم دست به کاری بزنه که بهش میگن جنایت! مگر اینکه روانی باشه با سوابق بلند مدت که تکلیف همچین جانیهایی مشخصه! اما وقتی طرف به خاطر دو قرون پول افتاده دزدی کرده زده دو نفر بیگناه رو هم کشته! هرطور حساب میکنیم میبینیم عامل این جنایات همشون شرایط شخمی مملکته! شوخی میاد براتون واقعاً؟ یا چون نشستین اون بالا شکمتون سیره نمیفهمید ملت چی دارن میکشن؟! هیچ انسانی از شکم مادرش جنایتکار به دنیا نمیاد این شرایط جامعست که به این روز وادارش میکنه.
ظرفیتهای هر کس متفاوته، تحمل و صبر هرکسی متفاوته! اینارو شما باید توی جامعه بهش فکر کنی نه اینکه با این سیستم شخمی و شرایط وحشتناک اقتصاد و تورم انتظار داشته باشی همه چه چه کنن! مگه با ترس و سرکوب مملکت اصلاح میکنن؟ اعتراض نکن، صدات در نیاد، میکنمت تو گونی... اصلاً شده دکون بازار برای همه کل روش اصلاح شما اینه که یا تهدید کنی یا بزنی بکشی! حل شد مشکلات مملکت همه چیز حل شد رفت پی کارش و ما چقدر خوشبختیم!
چطور ممکنه اینهمه فساد کنی عامل همهٔ این رفتارهای عجیب غریب توی مملکت باشی بعد به جای حل عامل فساد با شادی آدمارو دار بزنی بگی حقش بود! خیلی خب حقش بود مجرم باید مجازات بشه! اما اگه طرف روانی شده، اگه طرف قاتل درجه یک شده مسببش شرایطی هست که شما به بار آوردی! به این هم فکر میکنی یا گوش و چشمت کره؟ تا کی قراره جامعه به همین روش انتظار اصلاح داشته باشه؟ چطور ممکنه اینهمه آدم ۲۰ ساله بشن جنایتکار؟ یکیش جانی بود دو تاش جانی بود همشون جانی شدن؟! اون باید بشینه پلیاستیشنشو بزنه چرا باید سیاسی بشه؟ من ۲۰ سالم بود نمیفهمیدم خبر چیه سیاست چیه... چون وضعیت مملکت نسبت به الآن اینهمه درب داغون نبود! من شخصاً کلی برای خودم آرزو و اهداف نوشته بودم که به همشون برسم و براشون تلاش کنم! اما الآن چی؟ چرا باید اینهمه خشم و نفرت توی یه جوون ۲۰ ساله شکل بگیره؟ چرا دنبال دلیلش نیستید؟ همچین کسی چی میفهمه از دنیا؟ مگه چی میخواد؟ تا کی میخوای دار بزنی؟ مشکلات مملکت با دار زدن حل خواهد شد؟ اصلاً همه رو بیا دار بزن ببینم چیرو میخوای حل کنی با این منطق؟! بابا شماها دیگه کی هستین خدایی من کلاً مغزم قیر پاچ کرده!
این چیزی که من فهمیدم از نظر شماها همه روانی جانی و یک مجرم هفت خط روزگارن! همه مملکت فروشن، همه خائنن، همه دشمنن! یعنی مثل همون فیلمای آمریکایی هست یکی میره برای لذت بردن توی زندگی فقط آدم میکشه... نه قانون میتونه جلوشو بگیره نه جامعه... از دیدگاه شما همهٔ جوونای این مملکت این مدلی هستن! :-/
آخر عاقبت هیچکس جالب نخواهد بود با این شرایط...
توی زندگی هم که بدترین نوعش رو تجربه کردم! همین چند سال پیش پدر مادر بزرگم رو به قتل رسوندن و حتی آتیششون زدن :) بعد ۵ سال هنوز نتونستیم رضایت برای اجرای حکم اعدامش بدیم! خشم و نفرت تو دل و ذهنمون وجود داره اما تصمیم گیری به این راحتی نیست! شماها چطور به این راحتی عین آب خوردن دارید اجراش میکنید؟ بابا این چه قانونیه... چه وضعیه؟ چه استدلالیه؟! یعنی هیچ تقصیری گردن شماها نیست دیگه نه؟ همینطوری یهو یکی از دل سیری و خوشی میاد جنایت میکنه؟
طرف اومد جنایت کرد، دلایلی که اعتراف کرده رو صد بار من شخصاً خوندم... تهش برگشته به اقتصاد، به نداری، به بدبختی! کینه و نفرت و حسادت! اینا باعث میشن یکی از شدت خشم دست به کاری بزنه که بهش میگن جنایت! مگر اینکه روانی باشه با سوابق بلند مدت که تکلیف همچین جانیهایی مشخصه! اما وقتی طرف به خاطر دو قرون پول افتاده دزدی کرده زده دو نفر بیگناه رو هم کشته! هرطور حساب میکنیم میبینیم عامل این جنایات همشون شرایط شخمی مملکته! شوخی میاد براتون واقعاً؟ یا چون نشستین اون بالا شکمتون سیره نمیفهمید ملت چی دارن میکشن؟! هیچ انسانی از شکم مادرش جنایتکار به دنیا نمیاد این شرایط جامعست که به این روز وادارش میکنه.
ظرفیتهای هر کس متفاوته، تحمل و صبر هرکسی متفاوته! اینارو شما باید توی جامعه بهش فکر کنی نه اینکه با این سیستم شخمی و شرایط وحشتناک اقتصاد و تورم انتظار داشته باشی همه چه چه کنن! مگه با ترس و سرکوب مملکت اصلاح میکنن؟ اعتراض نکن، صدات در نیاد، میکنمت تو گونی... اصلاً شده دکون بازار برای همه کل روش اصلاح شما اینه که یا تهدید کنی یا بزنی بکشی! حل شد مشکلات مملکت همه چیز حل شد رفت پی کارش و ما چقدر خوشبختیم!
چطور ممکنه اینهمه فساد کنی عامل همهٔ این رفتارهای عجیب غریب توی مملکت باشی بعد به جای حل عامل فساد با شادی آدمارو دار بزنی بگی حقش بود! خیلی خب حقش بود مجرم باید مجازات بشه! اما اگه طرف روانی شده، اگه طرف قاتل درجه یک شده مسببش شرایطی هست که شما به بار آوردی! به این هم فکر میکنی یا گوش و چشمت کره؟ تا کی قراره جامعه به همین روش انتظار اصلاح داشته باشه؟ چطور ممکنه اینهمه آدم ۲۰ ساله بشن جنایتکار؟ یکیش جانی بود دو تاش جانی بود همشون جانی شدن؟! اون باید بشینه پلیاستیشنشو بزنه چرا باید سیاسی بشه؟ من ۲۰ سالم بود نمیفهمیدم خبر چیه سیاست چیه... چون وضعیت مملکت نسبت به الآن اینهمه درب داغون نبود! من شخصاً کلی برای خودم آرزو و اهداف نوشته بودم که به همشون برسم و براشون تلاش کنم! اما الآن چی؟ چرا باید اینهمه خشم و نفرت توی یه جوون ۲۰ ساله شکل بگیره؟ چرا دنبال دلیلش نیستید؟ همچین کسی چی میفهمه از دنیا؟ مگه چی میخواد؟ تا کی میخوای دار بزنی؟ مشکلات مملکت با دار زدن حل خواهد شد؟ اصلاً همه رو بیا دار بزن ببینم چیرو میخوای حل کنی با این منطق؟! بابا شماها دیگه کی هستین خدایی من کلاً مغزم قیر پاچ کرده!
این چیزی که من فهمیدم از نظر شماها همه روانی جانی و یک مجرم هفت خط روزگارن! همه مملکت فروشن، همه خائنن، همه دشمنن! یعنی مثل همون فیلمای آمریکایی هست یکی میره برای لذت بردن توی زندگی فقط آدم میکشه... نه قانون میتونه جلوشو بگیره نه جامعه... از دیدگاه شما همهٔ جوونای این مملکت این مدلی هستن! :-/
آخر عاقبت هیچکس جالب نخواهد بود با این شرایط...
COMPΞZ 🧬
با توجه به بررسیهایی که انجام شد؛ در حال حاضر GCC جدید یعنی نسخهٔ ۱۶ از بالاترین پوشش پشتیبانی از ویژگیهای استاندارد جدید بهره میبره. 👌 با این نسخه به یکباره به طرز عجیبی از Clang پیشی گرفت. https://gcc.gnu.org/gcc-16/ https://gcc.gnu.org/gcc-16/changes.html…
خب ویژگی SIMD رو هم روی GCC آزمایش کردم! در یک کلام فوقالعادست!!! چه چیزهایی که به ذهنم رسید که میتونیم باهاش پیادهسازی کنیم. یعنی چنان بنچمارکهایی میشه گرفت که پناه بر خدا!
برای مثال، فرض بگیریم اگه بخوایم از
مزیت اصلی یک CMS مبتنی بر SIMD این است که خواهد توانست با همان سختافزار، دادهٔ بیشتری را سریعتر، با مصرف CPU کمتر و تأخیر پایدارتر پردازش کند. چنین چیزی در هیچ یک از سیستمهای مدیریت وب نه وجود داشته، نه وجود داره و نه میتونه وجود داشته باشه! چون زبان اینجا بسیار مهمه که اجازه به شما بده با سختافزار ارتباط مستقیمتری برقرار کنی.
مزیت رقابتی واقعی اینطوریه:
فرض کن دو CMS روی VPS یکسان اجرا میشه!
یک سیستم مدیریت معمولی مثل وردپرس:
هر بار یک مقدار یا یک بایت را پردازش میکند.
دوم تگرا:
چند مقدار یا چندین بایت را به صورت بلوکهای موازی و همزمان پردازش میکند.
نتیجهٔ بالقوه:
۱) درخواست بیشتر به ازای هر هستهٔ CPU
۲) زمان پاسخ کمتر در عملیات CPU-bound
۳) کاهش هزینهٔ سرور در مقیاس بالا
۴) پایداری بهتر زیر بار سنگین
۵) توانایی اجرای مناسبتر روی سرورهای کوچک، Edge و دستگاههای ARM و معماریهای دیگر
بهطور خلاصه، مهمترین مزیت استفاده از SIMD در CPP26 این است که نرمافزار بتواند با سختافزار کمتر، حجم بیشتری از داده و عملیات را در زمان کوتاهتری پردازش کند.
اگر معماری نرمافزار در کنار SIMD از پردازش موازی، اجرای همزمان و غیرهمزمان، ورودی و خروجی غیرمسدودکننده و مدیریت بهینهٔ حافظه نیز بهره ببرد، نتیجه صرفاً یک برنامهٔ سریعتر نخواهد بود؛ بلکه محصولی با توان عملیاتی بالاتر، تأخیر کمتر، مصرف منابع پایینتر و پایداری بیشتر زیر بار سنگین خواهیم داشت.
درواقع SIMD در چنین معماریای به پردازنده اجازه میدهد یک عملیات یکسان را بهجای اجرای جداگانه روی هر داده، بهصورت همزمان روی چندین داده انجام دهد. این قابلیت در پردازش تصویر، جستوجو، تحلیل داده، اعتبارسنجی متن، فشردهسازی، رمزنگاری و پردازش محتوای حجیم میتواند راندمان اجرای نرمافزار را بهطور محسوسی افزایش دهد.
برای مثال، فرض بگیریم اگه بخوایم از
std::simd در پروژهٔ CMS خودمون استفاده کنیم؛ چه مزیتی میتونه داشته باشه؟مزیت اصلی یک CMS مبتنی بر SIMD این است که خواهد توانست با همان سختافزار، دادهٔ بیشتری را سریعتر، با مصرف CPU کمتر و تأخیر پایدارتر پردازش کند. چنین چیزی در هیچ یک از سیستمهای مدیریت وب نه وجود داشته، نه وجود داره و نه میتونه وجود داشته باشه! چون زبان اینجا بسیار مهمه که اجازه به شما بده با سختافزار ارتباط مستقیمتری برقرار کنی.
مزیت رقابتی واقعی اینطوریه:
فرض کن دو CMS روی VPS یکسان اجرا میشه!
یک سیستم مدیریت معمولی مثل وردپرس:
هر بار یک مقدار یا یک بایت را پردازش میکند.
دوم تگرا:
چند مقدار یا چندین بایت را به صورت بلوکهای موازی و همزمان پردازش میکند.
نتیجهٔ بالقوه:
۱) درخواست بیشتر به ازای هر هستهٔ CPU
۲) زمان پاسخ کمتر در عملیات CPU-bound
۳) کاهش هزینهٔ سرور در مقیاس بالا
۴) پایداری بهتر زیر بار سنگین
۵) توانایی اجرای مناسبتر روی سرورهای کوچک، Edge و دستگاههای ARM و معماریهای دیگر
بهطور خلاصه، مهمترین مزیت استفاده از SIMD در CPP26 این است که نرمافزار بتواند با سختافزار کمتر، حجم بیشتری از داده و عملیات را در زمان کوتاهتری پردازش کند.
اگر معماری نرمافزار در کنار SIMD از پردازش موازی، اجرای همزمان و غیرهمزمان، ورودی و خروجی غیرمسدودکننده و مدیریت بهینهٔ حافظه نیز بهره ببرد، نتیجه صرفاً یک برنامهٔ سریعتر نخواهد بود؛ بلکه محصولی با توان عملیاتی بالاتر، تأخیر کمتر، مصرف منابع پایینتر و پایداری بیشتر زیر بار سنگین خواهیم داشت.
درواقع SIMD در چنین معماریای به پردازنده اجازه میدهد یک عملیات یکسان را بهجای اجرای جداگانه روی هر داده، بهصورت همزمان روی چندین داده انجام دهد. این قابلیت در پردازش تصویر، جستوجو، تحلیل داده، اعتبارسنجی متن، فشردهسازی، رمزنگاری و پردازش محتوای حجیم میتواند راندمان اجرای نرمافزار را بهطور محسوسی افزایش دهد.
COMPΞZ 🧬
خب ویژگی SIMD رو هم روی GCC آزمایش کردم! در یک کلام فوقالعادست!!! چه چیزهایی که به ذهنم رسید که میتونیم باهاش پیادهسازی کنیم. یعنی چنان بنچمارکهایی میشه گرفت که پناه بر خدا! برای مثال، فرض بگیریم اگه بخوایم از std::simd در پروژهٔ CMS خودمون استفاده…
تا پیش از استاندارد CPP26، برای استفاده از پردازش برداری در CPP عملاً سه مسیر اصلی پیش رو داشتیم:
۱. حلقههای معمولی بنویسیم و به بهینهسازی خودکار کامپایلر امیدوار باشیم تا در صورت امکان، آنها را به کد برداری تبدیل کند.
۲. مستقیماً از توابع و انواع ذاتیِ شناختهشده برای کامپایلر، مانند SSE، AVX یا NEON استفاده کنیم؛ روشی قدرتمند اما وابسته به معماری پردازنده و جزئیات سختافزار.
۳. از افزونههای کامپایلر یا کتابخانههای جانبی برای ایجاد یک لایهٔ قابلحملتر روی قابلیتهای SIMD بهره بگیریم.
مزیت اصلی
۱. حلقههای معمولی بنویسیم و به بهینهسازی خودکار کامپایلر امیدوار باشیم تا در صورت امکان، آنها را به کد برداری تبدیل کند.
۲. مستقیماً از توابع و انواع ذاتیِ شناختهشده برای کامپایلر، مانند SSE، AVX یا NEON استفاده کنیم؛ روشی قدرتمند اما وابسته به معماری پردازنده و جزئیات سختافزار.
۳. از افزونههای کامپایلر یا کتابخانههای جانبی برای ایجاد یک لایهٔ قابلحملتر روی قابلیتهای SIMD بهره بگیریم.
مزیت اصلی
std::simd این است که SIMD را از یک تکنیک وابسته به پردازنده، کامپایلر و کتابخانههای شخص ثالث، به یک مفهوم رسمی در کتابخانهٔ استاندارد CPP تبدیل میکند.تفاوت اصلی نه در ماهیت سختافزار، بلکه در قابلحملتر شدن، خوانایی بیشتر، نگهداری آسانتر و استاندارد شدن کدهای برداری است.
Forwarded from Genyleap
Key improvements:
GenyDL is a free, open-source, and cross-platform download manager for macOS, Windows, and Linux.
🔗 Download GenyDL v1.2.200:
https://github.com/genyleap/genydl/releases/tag/v1.2.200
Please open Telegram to view this post
VIEW IN TELEGRAM
زمانی Simula 67 نخستین زبان برنامهنویسی شیءگرای جهان بود.
اگرچه این زبان اغلب زیر سایهٔ Smalltalk قرار میگیرد؛ زبانی که برنامهنویسی شیءگرا را فراگیر کرد و حتی اصطلاح «برنامهنویسی شیءگرا» را رواج داد، اما بسیاری از پایههای زبانهای شیءگرای امروزی نخستینبار در Simula شکل گرفتند.
مفاهیمی مانند کلاس، شیء، وراثت و فراخوانی پویا را معرفی کرد؛ مفاهیمی که همچنان از ارکان اصلی برنامهنویسی شیءگرا محسوب میشوند.
بیارنه استراستروپ نخستینبار زمانی که دانشجوی دانشگاه آرهوس بود با Simula آشنا شد. او برنامهنویسی شیءگرا را مستقیماً از کریستن نیگارد آموخت؛ یکی از سازندگان Simula که این زبان را همراه با اوله-یوهان دال طراحی کرده بود.
استراستروپ بارها توضیح داده است که این تجربه تأثیر عمیقی بر دیدگاه او نسبت به طراحی زبانهای برنامهنویسی گذاشت.
زمانی که او بعدها «C with Classes» و در نهایت ++C را توسعه داد، هدفش این بود که قدرت Simula در ایجاد انتزاعهای سطحبالا را با کارایی، انعطافپذیری و کنترل سطحپایین زبان C ترکیب کند.
کمتر زبانی بهاندازهٔ Simula بر طراحی ++C تأثیر گذاشته است.
هر زمان دربارهٔ زبانهای برنامهنویسی فراموششده صحبت میکنم، مردم معمولاً میپرسند این زبانها واقعاً برای چه کاری استفاده میشدند و چرا اهمیت داشتند. پاسخدادن به این پرسش همیشه آسان نیست، زیرا منابع تاریخی معمولاً کمیاب، پراکنده یا دسترسی به آنها دشوار است.
اما دربارهٔ Simula 67، ژرار لو لان اخیراً نمونهای قابلتوجه از تأثیر تاریخی آن را با من به اشتراک گذاشت: نقشی که این زبان در پژوهشهای منتهی به شکلگیری پایههای اینترنت ایفا کرد.
در سال ۱۹۷۲، ژرار لو لان در حال بررسی محدودیتهای پروتکل ارتباطی میزبانبهمیزبان NCP در شبکهٔ ARPANET بود. او در فرانسه حضور داشت و نمیتوانست مستقیماً روی شبکه آزمایش انجام دهد.
خوشبختانه، مرکز رایانش دانشگاه رن یک رایانهٔ CII 10070 در اختیار داشت؛ نسخهٔ فرانسوی رایانهٔ XDS Sigma 7 که به کامپایلر Simula 67 مجهز بود.
او با استفاده از Simula 67 یک شبیهسازی بزرگمقیاس از پروتکلهای ارتباطی ساخت. در این شبیهسازی، رویدادها دارای زمانبندی و شناسههای منحصربهفرد بودند.
این قابلیت به او اجازه میداد وابستگیهای علّی میان رویدادها را مشاهده کند و دقیقاً بفهمد وضعیتهای نامطلوب چه زمانی و به چه دلیلی رخ میدهند.
این شبیهسازیها مشکلاتی مشابه مشکلات مشاهدهشده در NCP را آشکار کردند و به لو لان کمک کردند سازوکار پنجرهٔ لغزان یا Sliding Window را توسعه دهد.
پنجرهٔ لغزان یک تکنیک بنیادی است که بعدها در TCP و سامانههای ارتباطی قابلاعتماد امروزی به کار گرفته شد.
وینت سرف، که در سالهای ۱۹۷۳ تا ۱۹۷۴ ژرار لو لان را برای پیوستن به تیم خود در دانشگاه استنفورد دعوت کرده بود، بعدها نقش او را تأیید کرد و نوشت:
«ما آن را از تو قرض گرفتیم.»
او همچنین اصرار داشت نام ژرار لو لان روی لوح «تولد اینترنت» که در سال ۲۰۰۵ در دانشگاه استنفورد نصب شد، درج شود.
این داستان یادآوری میکند که تاریخ زبانهای برنامهنویسی فقط تاریخ زبانهای مشهوری نیست که باقی ماندند؛ بلکه تاریخ ابزارهای فراموششدهای نیز هست که زمینهساز دستاوردهای بزرگ علمی و فناوری شدند.
#cpp #oop #simula #تاریخچه
اگرچه این زبان اغلب زیر سایهٔ Smalltalk قرار میگیرد؛ زبانی که برنامهنویسی شیءگرا را فراگیر کرد و حتی اصطلاح «برنامهنویسی شیءگرا» را رواج داد، اما بسیاری از پایههای زبانهای شیءگرای امروزی نخستینبار در Simula شکل گرفتند.
مفاهیمی مانند کلاس، شیء، وراثت و فراخوانی پویا را معرفی کرد؛ مفاهیمی که همچنان از ارکان اصلی برنامهنویسی شیءگرا محسوب میشوند.
بیارنه استراستروپ نخستینبار زمانی که دانشجوی دانشگاه آرهوس بود با Simula آشنا شد. او برنامهنویسی شیءگرا را مستقیماً از کریستن نیگارد آموخت؛ یکی از سازندگان Simula که این زبان را همراه با اوله-یوهان دال طراحی کرده بود.
استراستروپ بارها توضیح داده است که این تجربه تأثیر عمیقی بر دیدگاه او نسبت به طراحی زبانهای برنامهنویسی گذاشت.
زمانی که او بعدها «C with Classes» و در نهایت ++C را توسعه داد، هدفش این بود که قدرت Simula در ایجاد انتزاعهای سطحبالا را با کارایی، انعطافپذیری و کنترل سطحپایین زبان C ترکیب کند.
کمتر زبانی بهاندازهٔ Simula بر طراحی ++C تأثیر گذاشته است.
هر زمان دربارهٔ زبانهای برنامهنویسی فراموششده صحبت میکنم، مردم معمولاً میپرسند این زبانها واقعاً برای چه کاری استفاده میشدند و چرا اهمیت داشتند. پاسخدادن به این پرسش همیشه آسان نیست، زیرا منابع تاریخی معمولاً کمیاب، پراکنده یا دسترسی به آنها دشوار است.
اما دربارهٔ Simula 67، ژرار لو لان اخیراً نمونهای قابلتوجه از تأثیر تاریخی آن را با من به اشتراک گذاشت: نقشی که این زبان در پژوهشهای منتهی به شکلگیری پایههای اینترنت ایفا کرد.
در سال ۱۹۷۲، ژرار لو لان در حال بررسی محدودیتهای پروتکل ارتباطی میزبانبهمیزبان NCP در شبکهٔ ARPANET بود. او در فرانسه حضور داشت و نمیتوانست مستقیماً روی شبکه آزمایش انجام دهد.
خوشبختانه، مرکز رایانش دانشگاه رن یک رایانهٔ CII 10070 در اختیار داشت؛ نسخهٔ فرانسوی رایانهٔ XDS Sigma 7 که به کامپایلر Simula 67 مجهز بود.
او با استفاده از Simula 67 یک شبیهسازی بزرگمقیاس از پروتکلهای ارتباطی ساخت. در این شبیهسازی، رویدادها دارای زمانبندی و شناسههای منحصربهفرد بودند.
این قابلیت به او اجازه میداد وابستگیهای علّی میان رویدادها را مشاهده کند و دقیقاً بفهمد وضعیتهای نامطلوب چه زمانی و به چه دلیلی رخ میدهند.
این شبیهسازیها مشکلاتی مشابه مشکلات مشاهدهشده در NCP را آشکار کردند و به لو لان کمک کردند سازوکار پنجرهٔ لغزان یا Sliding Window را توسعه دهد.
پنجرهٔ لغزان یک تکنیک بنیادی است که بعدها در TCP و سامانههای ارتباطی قابلاعتماد امروزی به کار گرفته شد.
وینت سرف، که در سالهای ۱۹۷۳ تا ۱۹۷۴ ژرار لو لان را برای پیوستن به تیم خود در دانشگاه استنفورد دعوت کرده بود، بعدها نقش او را تأیید کرد و نوشت:
«ما آن را از تو قرض گرفتیم.»
او همچنین اصرار داشت نام ژرار لو لان روی لوح «تولد اینترنت» که در سال ۲۰۰۵ در دانشگاه استنفورد نصب شد، درج شود.
این داستان یادآوری میکند که تاریخ زبانهای برنامهنویسی فقط تاریخ زبانهای مشهوری نیست که باقی ماندند؛ بلکه تاریخ ابزارهای فراموششدهای نیز هست که زمینهساز دستاوردهای بزرگ علمی و فناوری شدند.
#cpp #oop #simula #تاریخچه
بله متأسفانه به خاطر قطعی و از بین رفتن دسترسی ما به سرور، سایت iostream.ir کامل خاموش شد و بازیابی و نگهداریش فعلاً صرفهٔ اقتصادی نداره.
اما مدتیه که در حال بازنویسی هر دو کتاب سی++ و کیوت هستم با استاندارد و نسخههای جدیدتر و با کیفیت بسیار بهتر از قبل. 🫡
بعد از بهروز رسانی کامل وبسایت با ساختار و تجربهٔ بهتری بازسازی خواهد شد. چند سالی هست که دیگه بهروز رسانی ندادم براشون کم کم وقتشه کتابهامون رو هم بترکونیم! 😉
هر نظری پیشنهادی انتقادی هم نسبت به کتابهای قبلی دارید همینجا به خودم بگین، حتماً در نظر خواهم گرفت.
اما مدتیه که در حال بازنویسی هر دو کتاب سی++ و کیوت هستم با استاندارد و نسخههای جدیدتر و با کیفیت بسیار بهتر از قبل. 🫡
بعد از بهروز رسانی کامل وبسایت با ساختار و تجربهٔ بهتری بازسازی خواهد شد. چند سالی هست که دیگه بهروز رسانی ندادم براشون کم کم وقتشه کتابهامون رو هم بترکونیم! 😉
هر نظری پیشنهادی انتقادی هم نسبت به کتابهای قبلی دارید همینجا به خودم بگین، حتماً در نظر خواهم گرفت.
Genyleap
بله تو فکرش هستم؛ چون این IDM از تورنت و بلاکچین هم پشتیبانی میکنه، افزونهای که قراره براش ساخته بشه طبیعتاً مقداری پیچیدهتر از انواع کلاسیک خواهد بود باید برای پروتکلهایی مثل فارکستر و ipfs و دیگر موارد بهینهسازی بشه.
COMPΞZ 🧬
بله متأسفانه به خاطر قطعی و از بین رفتن دسترسی ما به سرور، سایت iostream.ir کامل خاموش شد و بازیابی و نگهداریش فعلاً صرفهٔ اقتصادی نداره. اما مدتیه که در حال بازنویسی هر دو کتاب سی++ و کیوت هستم با استاندارد و نسخههای جدیدتر و با کیفیت بسیار بهتر از قبل.…
سالهاست که کتابهام رو بهروز رسانی نکردم! یکی از دهها دلیلش اینه که چند صد هزار صفحه پیشنویسه و محتوا در هر یک از استانداردهای زبان وجود داره که غیر ممکنه همشو بتونی کامل درک کنی تجربه کنی و بعد بخوای آموزشش بدی. یعنی حتی بخوای یه جلد ساده تألیف کنی باز هم سخته! برای همین من بیشتر روی آموزش خود Qt تمرکز کرده بودم. اگه هر زبان دیگهای بود سادهتر بود اما سیپلاسپلاس یک هیولاست و به این راحتیها نمیشه علمش رو انتقال داد و با کمالگرایی که من دارم نوشتن همچین کتابی بسیار زمانبر هست.
در اصل تألیف یک کتاب نیاز به زمان و سادهسازی بر مبنای تجربه داره و اگه بعد از سالها میخوام نسخههای جدیدتری بنویسم یا قبلیها رو بهروز رسانی کنم کاملاً طبیعیه که عجلهای توش نداشته باشم. در کل سخت هست هم بهروز نگهداشتن و هم پوشش دادن مباحثی که از درون پیچیدگیها باید بیاد سادهسازی بشه.
از طرفی کتابهای قبلی من همرو با روش سنتی تحت word نوشته بودم! از نظر نوشتاری برای من ساده بود اما از نظر نگهداری به شدت سخت!
برای همین نسخههای جدید رو کامل به روش LaTex باز نویسی میکنم و نوشتن کتاب در ساختار همچین معماری یعنی برنامهنویسی کامل! در مورد لاتکس تحقیق کنید خواهید دید چقدر پیچیدست ولی در عین حال خروجیش چه خواهد بود.
اینطوری نیست یعنی بشینم متن بنویسم تایپ کنم بگم تموم شد! باید ساختار صفر تا صد کتاب برنامهنویسی بشه که در نهایت کیفیت خروجی بسیار بالاست و برای هر نوع روش مطالعه از دیجیتالی گرفته تا نسخههای چاپی منعطف و سازگار خواهد بود.
البته نحوهٔ دسترسی و آموزش سنتی نخواهد بود.
در اصل تألیف یک کتاب نیاز به زمان و سادهسازی بر مبنای تجربه داره و اگه بعد از سالها میخوام نسخههای جدیدتری بنویسم یا قبلیها رو بهروز رسانی کنم کاملاً طبیعیه که عجلهای توش نداشته باشم. در کل سخت هست هم بهروز نگهداشتن و هم پوشش دادن مباحثی که از درون پیچیدگیها باید بیاد سادهسازی بشه.
از طرفی کتابهای قبلی من همرو با روش سنتی تحت word نوشته بودم! از نظر نوشتاری برای من ساده بود اما از نظر نگهداری به شدت سخت!
برای همین نسخههای جدید رو کامل به روش LaTex باز نویسی میکنم و نوشتن کتاب در ساختار همچین معماری یعنی برنامهنویسی کامل! در مورد لاتکس تحقیق کنید خواهید دید چقدر پیچیدست ولی در عین حال خروجیش چه خواهد بود.
اینطوری نیست یعنی بشینم متن بنویسم تایپ کنم بگم تموم شد! باید ساختار صفر تا صد کتاب برنامهنویسی بشه که در نهایت کیفیت خروجی بسیار بالاست و برای هر نوع روش مطالعه از دیجیتالی گرفته تا نسخههای چاپی منعطف و سازگار خواهد بود.
البته نحوهٔ دسترسی و آموزش سنتی نخواهد بود.
if (problem == imaginary)
{
stopOverthinking();
}
Often, the situation itself isn't the real problem; it’s the scenarios we create in our minds that cause even more anxiety and inner conflict.
COMPΞZ 🧬
سالهاست که کتابهام رو بهروز رسانی نکردم! یکی از دهها دلیلش اینه که چند صد هزار صفحه پیشنویسه و محتوا در هر یک از استانداردهای زبان وجود داره که غیر ممکنه همشو بتونی کامل درک کنی تجربه کنی و بعد بخوای آموزشش بدی. یعنی حتی بخوای یه جلد ساده تألیف کنی باز…
میسازمش، اما اینبار بسیار متفاوت!
وقتی دیگه حال و حوصلهٔ homebrew روی ترمینال نداری! چی کار میکنی؟
یکی بهترشو خودت میسازی! 😄
این خروجی یک قراردادی هست که کاملاً خصوصیه و متن بازش نکردم!
یعنی هم UI درست حسابی و هم بکاند درست حسابی رو صفر تا صد میسازه.
فناوری ساخت؟ C++/Qt
یکی بهترشو خودت میسازی! 😄
این خروجی یک قراردادی هست که کاملاً خصوصیه و متن بازش نکردم!
یعنی هم UI درست حسابی و هم بکاند درست حسابی رو صفر تا صد میسازه.
فناوری ساخت؟ C++/Qt
سالها پیش گفتم اگه غالب بر هوش مصنوعی نشید، خیلی راحت حذف خواهید شد.
من امروز آزمایشهایی رو انجام دادم در قالب قراردادهایی که با عامل هوش مصنوعی مینویسم متوجه موضوعی شدم که توضیحش برام سخته!
فقط میتونم بگم خیلی طول نمیکشه مدیران، متخصصها و همهٔ کسانی که مدعی هستن توی کارشون، اگه غالب بر هوش مصنوعی نباشن، بردهٔ AI خواهند شد و تمام کسبههایی که در سطح پایینتر میتونن جایگزین نسخهای از نرمافزار بشن، حذف خواهند شد.
قبلاً هم گفتم شما توسط افراد باهوشتر حذف خواهید شد!!! اصلاً سیاست عجیب غریبی پشت این سیستم هست که با زبون خوش عذر خیلیها رو بخوان. دنیا نیاز به بهینگی داره نه مفت خوری!
دیر نیست اون روزی که خیلیها فقط مصرف کننده خواهند شد و این یک فاصلهٔ عجیبی بین افرادی که تونستن غالب بر این ابزارها بشن رو ایجاد خواهد کرد.
توصیهٔ من اینه اگه هنوز هم جدیش نگرفتین، روزی فقط چند ساعت براش وقت بذارید تا در آینده حرفی برای گفتن داشته باشید.
من امروز آزمایشهایی رو انجام دادم در قالب قراردادهایی که با عامل هوش مصنوعی مینویسم متوجه موضوعی شدم که توضیحش برام سخته!
فقط میتونم بگم خیلی طول نمیکشه مدیران، متخصصها و همهٔ کسانی که مدعی هستن توی کارشون، اگه غالب بر هوش مصنوعی نباشن، بردهٔ AI خواهند شد و تمام کسبههایی که در سطح پایینتر میتونن جایگزین نسخهای از نرمافزار بشن، حذف خواهند شد.
قبلاً هم گفتم شما توسط افراد باهوشتر حذف خواهید شد!!! اصلاً سیاست عجیب غریبی پشت این سیستم هست که با زبون خوش عذر خیلیها رو بخوان. دنیا نیاز به بهینگی داره نه مفت خوری!
دیر نیست اون روزی که خیلیها فقط مصرف کننده خواهند شد و این یک فاصلهٔ عجیبی بین افرادی که تونستن غالب بر این ابزارها بشن رو ایجاد خواهد کرد.
توصیهٔ من اینه اگه هنوز هم جدیش نگرفتین، روزی فقط چند ساعت براش وقت بذارید تا در آینده حرفی برای گفتن داشته باشید.
COMPΞZ 🧬
فقط میتونم بگم خیلی طول نمیکشه مدیران، متخصصها و همهٔ کسانی که مدعی هستن توی کارشون، اگه غالب بر هوش مصنوعی نباشن، بردهٔ AI خواهند شد و تمام کسبههایی که در سطح پایینتر میتونن جایگزین نسخهای از نرمافزار بشن، حذف خواهند شد.
و نکتهٔ مهمتر که باید به آن توجه کرد!
وقتی هزینه، زمان و دشواری تولید بهشدت کاهش پیدا کند، فقط با افزایش بهرهوری مواجه نمیشویم؛ بلکه احتمالاً با اشباع عظیمی از محصولات، خدمات، نرمافزارها و محتواهای اسپموار روبهرو خواهیم شد.
محصولاتی که شاید از نظر فنی «ساخته شدهاند»، اما مسئلهای واقعی را حل نمیکنند، هویت مشخصی ندارند، کیفیتشان قابل اتکا نیست و تنها برای پرکردن بازار، جذب توجه یا کسب درآمد سریع تولید شدهاند.
در چنین شرایطی، حجم تولید بهشدت افزایش پیدا میکند، اما ارزش واقعی الزاماً بیشتر نمیشود.
نتیجه میتواند بازاری مملو از محصولات مشابه، نسخههای کپیشده، ایدههای تکراری، محتوای بیکیفیت و خروجیهایی باشد که تشخیص محصول واقعی از زبالهٔ دیجیتال را دشوار میکنند.
این اشباع میتواند به کاهش ارزش کار، رقابت مخرب، تورم عرضه و بیاعتمادشدن کاربران نسبت به محصولات جدید منجر شود.
در چنین جهانی، مسئله دیگر فقط «توانایی ساختن» نیست؛ چون تقریباً همه میتوانند چیزی تولید کنند.
ارزش واقعی متعلق به کسانی خواهد بود که بتوانند:
مسئلهٔ درست را پیدا کنند، سیستم طراحی کنند، کیفیت را تشخیص دهند، تصمیم بگیرند، مسئولیت خروجی را بپذیرند و عاملهای هوش مصنوعی را تحت فرمان خود نگه دارند.
در مقابل، بخش بزرگی از جامعه ممکن است صرفاً به مصرفکنندهٔ خروجی سیستمهایی تبدیل شود که دیگران طراحی و کنترل کردهاند.
این اتفاق میتواند فاصلهای عجیب میان کسانی ایجاد کند که بر این ابزارها مسلط شدهاند و کسانی که فقط از آنها استفاده میکنند؛ فاصلهای نه فقط در درآمد، بلکه در قدرت تصمیمگیری، تولید، مالکیت و اثرگذاری.
وقتی هزینه، زمان و دشواری تولید بهشدت کاهش پیدا کند، فقط با افزایش بهرهوری مواجه نمیشویم؛ بلکه احتمالاً با اشباع عظیمی از محصولات، خدمات، نرمافزارها و محتواهای اسپموار روبهرو خواهیم شد.
محصولاتی که شاید از نظر فنی «ساخته شدهاند»، اما مسئلهای واقعی را حل نمیکنند، هویت مشخصی ندارند، کیفیتشان قابل اتکا نیست و تنها برای پرکردن بازار، جذب توجه یا کسب درآمد سریع تولید شدهاند.
در چنین شرایطی، حجم تولید بهشدت افزایش پیدا میکند، اما ارزش واقعی الزاماً بیشتر نمیشود.
نتیجه میتواند بازاری مملو از محصولات مشابه، نسخههای کپیشده، ایدههای تکراری، محتوای بیکیفیت و خروجیهایی باشد که تشخیص محصول واقعی از زبالهٔ دیجیتال را دشوار میکنند.
این اشباع میتواند به کاهش ارزش کار، رقابت مخرب، تورم عرضه و بیاعتمادشدن کاربران نسبت به محصولات جدید منجر شود.
در چنین جهانی، مسئله دیگر فقط «توانایی ساختن» نیست؛ چون تقریباً همه میتوانند چیزی تولید کنند.
ارزش واقعی متعلق به کسانی خواهد بود که بتوانند:
مسئلهٔ درست را پیدا کنند، سیستم طراحی کنند، کیفیت را تشخیص دهند، تصمیم بگیرند، مسئولیت خروجی را بپذیرند و عاملهای هوش مصنوعی را تحت فرمان خود نگه دارند.
در مقابل، بخش بزرگی از جامعه ممکن است صرفاً به مصرفکنندهٔ خروجی سیستمهایی تبدیل شود که دیگران طراحی و کنترل کردهاند.
این اتفاق میتواند فاصلهای عجیب میان کسانی ایجاد کند که بر این ابزارها مسلط شدهاند و کسانی که فقط از آنها استفاده میکنند؛ فاصلهای نه فقط در درآمد، بلکه در قدرت تصمیمگیری، تولید، مالکیت و اثرگذاری.
خب صفحهٔ ویکی سی++ رو هم مقداری به روز رسانی کردیم رفت.
https://fa.wikipedia.org/wiki/C%2B%2B
چند بار تلاش کردم قبلاً نمیدونم اونجا ناظر نفهمش کیه چند بار من هرچی ویرایش میکنم به الاغ میگم سی++ یک زبان سطح بالاست مثل نفهما میگه نه سطح پایینه! طوری هم غلط گیری میکنه واسه من انگار که مثلاً خدای سی++ نشسته اونجا. نادون من به اندازهٔ سنت فقط ساختار این زبان رو خوندم کالبد شکافی کردم تخصصم اینه اصلاً.
دهنمو سرویس کردین تا من به شما حالی کنم که درستش چیه.
دیگه از کار گروه رسمی خودش که بالاتر نیستین وقتی میگن سطح بالا یعنی سطح بالا چرا بحث میکنی با من.
https://fa.wikipedia.org/wiki/C%2B%2B
چند بار تلاش کردم قبلاً نمیدونم اونجا ناظر نفهمش کیه چند بار من هرچی ویرایش میکنم به الاغ میگم سی++ یک زبان سطح بالاست مثل نفهما میگه نه سطح پایینه! طوری هم غلط گیری میکنه واسه من انگار که مثلاً خدای سی++ نشسته اونجا. نادون من به اندازهٔ سنت فقط ساختار این زبان رو خوندم کالبد شکافی کردم تخصصم اینه اصلاً.
دهنمو سرویس کردین تا من به شما حالی کنم که درستش چیه.
دیگه از کار گروه رسمی خودش که بالاتر نیستین وقتی میگن سطح بالا یعنی سطح بالا چرا بحث میکنی با من.
Wikipedia
C++
زبان برنامهنویسی شیءگرا با کاربرد عمومی
COMPΞZ 🧬
خب صفحهٔ ویکی سی++ رو هم مقداری به روز رسانی کردیم رفت. https://fa.wikipedia.org/wiki/C%2B%2B چند بار تلاش کردم قبلاً نمیدونم اونجا ناظر نفهمش کیه چند بار من هرچی ویرایش میکنم به الاغ میگم سی++ یک زبان سطح بالاست مثل نفهما میگه نه سطح پایینه! طوری هم…
مهمترین اصل در این باره این بحث هست:
Zero-cost Abstraction
انتزاع بدون هزینه!
یعنی برنامهنویس میتواند کدی خواناتر، امنتر و سطحبالا بنویسد، بدون اینکه مجبور باشد هزینهٔ اجرایی اضافهای نسبت به کد سطحپایین و دستی پرداخت کند.
به همین سادگی! دیگه فهمیدن این سخت نیست، همین تفکر رو شما نمیتونی در مورد C داشته باشی اینارو باید تفاوتش رو متوجه باشی تا بتونی به یه زبان بگی سطح بالاست یا سطح پایینه.
سطح متوسط یا سطح میانی نداریم اصلاً غلطه این تعریف. 😐 یه زبان یا سطح بالاست یا سطح پایینه تمام شد رفت.
Zero-cost Abstraction
انتزاع بدون هزینه!
یعنی برنامهنویس میتواند کدی خواناتر، امنتر و سطحبالا بنویسد، بدون اینکه مجبور باشد هزینهٔ اجرایی اضافهای نسبت به کد سطحپایین و دستی پرداخت کند.
یعنی این زبان اجازه میدهد سطحبالا فکر کنیم، اما با کارایی سطحپایین اجرا کنیم.
به همین سادگی! دیگه فهمیدن این سخت نیست، همین تفکر رو شما نمیتونی در مورد C داشته باشی اینارو باید تفاوتش رو متوجه باشی تا بتونی به یه زبان بگی سطح بالاست یا سطح پایینه.
سطح متوسط یا سطح میانی نداریم اصلاً غلطه این تعریف. 😐 یه زبان یا سطح بالاست یا سطح پایینه تمام شد رفت.
Audio
Please open Telegram to view this post
VIEW IN TELEGRAM