COMPΞZ 🧬
395 subscribers
1.86K photos
52 videos
24 files
737 links
متخصص کامپیوتر و نرم‌افزار • سازنده • هنرمند و طراح • مجموعه‌دار • نویسنده • تحلیل‌گر • مشاور استارتاپی و ایده‌پرداز

𐎲𐎴𐎠𐎼𐎴𐎫𐎹 𐏃𐎢𐎶𐎠𐎫𐎹

We create because the world deserves better code.

https://linktr.ee/compez
Download Telegram
Forwarded from Genyleap
📌GenyDL v1.2.200 is now available! 🎉

Key improvements:

✔️ Full support for nine interface languages
✔️ Locale-aware numbers, dates, times, and units
✔️ Redesigned Release Center and GitHub asset picker
✔️ Improved download lists, menus, dialogs, and controls
✔️ Safer updates and improved file verification
✔️ Numerous performance, usability, and reliability improvements

GenyDL is a free, open-source, and cross-platform download manager for macOS, Windows, and Linux.

🔗 Download GenyDL v1.2.200:

💻 macOS arm64
💻 macOS Intel

💻 Windows arm64
💻 Windows x86_64

💻 Linux arm64
💻 Linux x64_86

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 #تاریخچه
بله متأسفانه به خاطر قطعی و از بین رفتن دسترسی ما به سرور، سایت iostream.ir کامل خاموش شد و بازیابی و نگه‌داریش فعلاً صرفهٔ اقتصادی نداره.

اما مدتیه که در حال بازنویسی هر دو کتاب سی++ و کیوت هستم با استاندارد و نسخه‌های جدید‌تر و با کیفیت بسیار بهتر از قبل. 🫡

بعد از به‌روز رسانی کامل وب‌سایت با ساختار و تجربهٔ بهتری بازسازی خواهد شد. چند سالی هست که دیگه به‌روز رسانی ندادم براشون کم کم وقتشه کتاب‌هامون رو هم بترکونیم! 😉

هر نظری پیشنهادی انتقادی هم نسبت به کتاب‌های قبلی دارید همینجا به خودم بگین، حتماً در نظر خواهم گرفت.
Genyleap
📌GenyDL v1.2.200 is now available! 🎉 Key improvements: ✔️ Full support for nine interface languages ✔️ Locale-aware numbers, dates, times, and units ✔️ Redesigned Release Center and GitHub asset picker ✔️ Improved download lists, menus, dialogs, and…
بله تو فکرش هستم؛ چون این IDM از تورنت و بلاک‌چین هم پشتیبانی می‌کنه، افزونه‌ای که قراره براش ساخته بشه طبیعتاً مقداری پیچیده‌تر از انواع کلاسیک خواهد بود باید برای پروتکل‌هایی مثل فارکستر و ipfs و دیگر موارد بهینه‌سازی بشه.
COMPΞZ 🧬
بله متأسفانه به خاطر قطعی و از بین رفتن دسترسی ما به سرور، سایت iostream.ir کامل خاموش شد و بازیابی و نگه‌داریش فعلاً صرفهٔ اقتصادی نداره. اما مدتیه که در حال بازنویسی هر دو کتاب سی++ و کیوت هستم با استاندارد و نسخه‌های جدید‌تر و با کیفیت بسیار بهتر از قبل.…
سال‌هاست که کتاب‌هام رو به‌روز رسانی نکردم! یکی از ده‌ها دلیلش اینه که چند صد هزار صفحه پیش‌نویسه و محتوا در هر یک از استاندارد‌های زبان وجود داره که غیر ممکنه همشو بتونی کامل درک کنی تجربه کنی و بعد بخوای آموزشش بدی. یعنی حتی بخوای یه جلد ساده تألیف کنی باز هم سخته! برای همین من بیشتر روی آموزش خود Qt تمرکز کرده بودم. اگه هر زبان دیگه‌ای بود ساده‌تر بود اما سی‌پلاس‌پلاس یک هیولاست و به این راحتی‌ها نمی‌شه علمش رو انتقال داد و با کمال‌گرایی که من دارم نوشتن همچین کتابی بسیار زمان‌بر هست.

در اصل تألیف یک کتاب نیاز به زمان و ساده‌سازی بر مبنای تجربه داره و اگه بعد از سال‌ها می‌خوام نسخه‌های جدید‌تری بنویسم یا قبلی‌ها رو به‌روز رسانی کنم کاملاً طبیعیه که عجله‌ای توش نداشته باشم. در کل سخت هست هم به‌روز نگه‌داشتن و هم پوشش دادن مباحثی که از درون پیچیدگی‌ها باید بیاد ساده‌سازی بشه.

از طرفی کتاب‌های قبلی من همرو با روش سنتی تحت 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.
👌
وقتی دیگه حال و حوصلهٔ homebrew روی ترمینال نداری! چی کار می‌کنی؟

یکی بهترشو خودت می‌سازی! 😄
این خروجی یک قراردادی هست که کاملاً خصوصیه و متن بازش نکردم!

یعنی هم UI درست حسابی و هم بک‌اند درست حسابی رو صفر تا صد می‌سازه.

فناوری ساخت؟ C++/Qt
سال‌ها پیش گفتم اگه غالب بر هوش مصنوعی نشید، خیلی راحت حذف خواهید شد.

من امروز آزمایش‌هایی رو انجام دادم در قالب قرارداد‌هایی که با عامل هوش مصنوعی می‌نویسم متوجه موضوعی شدم که توضیحش برام سخته!

فقط می‌تونم بگم خیلی طول نمی‌کشه مدیران، متخصص‌ها و همهٔ کسانی که مدعی هستن توی کارشون، اگه غالب بر هوش مصنوعی نباشن، بردهٔ AI خواهند شد و تمام کسبه‌هایی که در سطح پایین‌تر می‌تونن جایگزین نسخه‌ای از نرم‌افزار بشن، حذف خواهند شد.

قبلاً هم گفتم شما توسط افراد باهوش‌تر حذف خواهید شد!!! اصلاً سیاست عجیب غریبی پشت این سیستم هست که با زبون خوش عذر خیلی‌ها رو بخوان. دنیا نیاز به بهینگی داره نه مفت خوری!

دیر نیست اون روزی که خیلی‌ها فقط مصرف کننده خواهند شد و این یک فاصلهٔ عجیبی بین افرادی که تونستن غالب بر این ابزار‌ها بشن رو ایجاد خواهد کرد.

توصیهٔ من اینه اگه هنوز هم جدیش نگرفتین، روزی فقط چند ساعت براش وقت بذارید تا در آینده حرفی برای گفتن داشته باشید.
COMPΞZ 🧬
فقط می‌تونم بگم خیلی طول نمی‌کشه مدیران، متخصص‌ها و همهٔ کسانی که مدعی هستن توی کارشون، اگه غالب بر هوش مصنوعی نباشن، بردهٔ AI خواهند شد و تمام کسبه‌هایی که در سطح پایین‌تر می‌تونن جایگزین نسخه‌ای از نرم‌افزار بشن، حذف خواهند شد.
و نکتهٔ مهم‌تر که باید به آن توجه کرد!

وقتی هزینه، زمان و دشواری تولید به‌شدت کاهش پیدا کند، فقط با افزایش بهره‌وری مواجه نمی‌شویم؛ بلکه احتمالاً با اشباع عظیمی از محصولات، خدمات، نرم‌افزارها و محتواهای اسپم‌وار روبه‌رو خواهیم شد.

محصولاتی که شاید از نظر فنی «ساخته شده‌اند»، اما مسئله‌ای واقعی را حل نمی‌کنند، هویت مشخصی ندارند، کیفیتشان قابل اتکا نیست و تنها برای پرکردن بازار، جذب توجه یا کسب درآمد سریع تولید شده‌اند.

در چنین شرایطی، حجم تولید به‌شدت افزایش پیدا می‌کند، اما ارزش واقعی الزاماً بیشتر نمی‌شود.

نتیجه می‌تواند بازاری مملو از محصولات مشابه، نسخه‌های کپی‌شده، ایده‌های تکراری، محتوای بی‌کیفیت و خروجی‌هایی باشد که تشخیص محصول واقعی از زبالهٔ دیجیتال را دشوار می‌کنند.

این اشباع می‌تواند به کاهش ارزش کار، رقابت مخرب، تورم عرضه و بی‌اعتمادشدن کاربران نسبت به محصولات جدید منجر شود.

در چنین جهانی، مسئله دیگر فقط «توانایی ساختن» نیست؛ چون تقریباً همه می‌توانند چیزی تولید کنند.
ارزش واقعی متعلق به کسانی خواهد بود که بتوانند:

مسئلهٔ درست را پیدا کنند، سیستم طراحی کنند، کیفیت را تشخیص دهند، تصمیم بگیرند، مسئولیت خروجی را بپذیرند و عامل‌های هوش مصنوعی را تحت فرمان خود نگه دارند.

در مقابل، بخش بزرگی از جامعه ممکن است صرفاً به مصرف‌کنندهٔ خروجی سیستم‌هایی تبدیل شود که دیگران طراحی و کنترل کرده‌اند.

این اتفاق می‌تواند فاصله‌ای عجیب میان کسانی ایجاد کند که بر این ابزارها مسلط شده‌اند و کسانی که فقط از آن‌ها استفاده می‌کنند؛ فاصله‌ای نه فقط در درآمد، بلکه در قدرت تصمیم‌گیری، تولید، مالکیت و اثرگذاری.
خب صفحهٔ ویکی سی++ رو هم مقداری به روز رسانی کردیم رفت.

https://fa.wikipedia.org/wiki/C%2B%2B

چند بار تلاش کردم قبلاً نمی‌دونم اونجا ناظر نفهمش کیه چند بار من هرچی ویرایش می‌کنم به الاغ می‌گم سی++ یک زبان سطح بالاست مثل نفهما می‌گه نه سطح پایینه! طوری هم غلط گیری می‌کنه واسه من انگار که مثلاً خدای سی++ نشسته اونجا. نادون من به اندازهٔ سنت فقط ساختار این زبان رو خوندم کالبد شکافی کردم تخصصم اینه اصلاً.

دهنمو سرویس کردین تا من به شما حالی کنم که درستش چیه.
دیگه از کار گروه رسمی خودش که بالاتر نیستین وقتی می‌گن سطح بالا یعنی سطح بالا چرا بحث می‌کنی با من.
COMPΞZ 🧬
خب صفحهٔ ویکی سی++ رو هم مقداری به روز رسانی کردیم رفت. https://fa.wikipedia.org/wiki/C%2B%2B چند بار تلاش کردم قبلاً نمی‌دونم اونجا ناظر نفهمش کیه چند بار من هرچی ویرایش می‌کنم به الاغ می‌گم سی++ یک زبان سطح بالاست مثل نفهما می‌گه نه سطح پایینه! طوری هم…
مهم‌ترین اصل در این باره این بحث هست:

Zero-cost Abstraction

انتزاع بدون هزینه!

یعنی برنامه‌نویس می‌تواند کدی خواناتر، امن‌تر و سطح‌بالا بنویسد، بدون اینکه مجبور باشد هزینهٔ اجرایی اضافه‌ای نسبت به کد سطح‌پایین و دستی پرداخت کند.

یعنی این زبان اجازه می‌دهد سطح‌بالا فکر کنیم، اما با کارایی سطح‌پایین اجرا کنیم.

به همین سادگی! دیگه فهمیدن این سخت نیست، همین تفکر رو شما نمی‌تونی در مورد C داشته باشی اینارو باید تفاوتش رو متوجه باشی تا بتونی به یه زبان بگی سطح بالاست یا سطح پایینه.

سطح متوسط یا سطح میانی نداریم اصلاً غلطه این تعریف. 😐 یه زبان یا سطح بالاست یا سطح پایینه تمام شد رفت.
Audio
🎶مقداری نوستالژیک 🎧
Please open Telegram to view this post
VIEW IN TELEGRAM
به این می‌گن ماستوووو! غذای ما فقیر فقراست 🥴
ز خود پنهان شدی، سر درکشیدی
ببستی چشم تا خود را نبینی

— مولوی
Resident Evil, Spain! 🙃
COMPΞZ 🧬
Video
ArcStepSlider.zip
18.1 KB
همینطوری داشتم روی یه نسخهٔ کامپوننت از ArcStepSlider روی صفحهٔ لغزان برای وب کار می‌کردم که گفتم یه نسخه هم برای پروژه‌های ++C ازش بسازیم.

در این مثال کنترل اصلی Shape و Repeater هستن که تحت PathAngleArc کار می‌کنن؛ فایل‌های QML از این کامپوننت رو بررسی کنید، این نسخه از صفحه‌کلید، ماوس و صفحه لمسی پشتیبانی می‌کنه.

#QML #QtQuick #CPP #ArcStepSlider #UI #Controls