نوشته‌های ترمینالی
2.7K subscribers
425 photos
12 videos
32 files
2.26K links
Download Telegram
نوشته‌های ترمینالی
همونطور که می‌دونین، سامانه moss، سامانه تقلب‌گیریه که اکثرا مستقیم یا غیر مستقیم ازش استفاده می‌کنن. اما پیاده‌سازیش در دسترس نیست. در مورد کارکرد و الگوریتم هاش دو تا مقاله هست که خلاصه‌شون رو می‌ذارم. اما یکسری پیاده سازی بر اساس این مقاله ها انجام شده…
در مورد اینکه مگه کسی از OCaml استفاده میکنه؟ باید بگم که
زبان OCaml در کنار هسکل دو تا از زبان های خوب فانکشنال هستند. OCaml حتی از هسکل هم تئوری‌تر و آکادمیک تره.
ایراد‌هایی که بهش می‌گیرن مثلا یادگیری سخت، جامعه کاربری کم و نبود کتاب‌خونه‌های لازم/کافی ئه.

اما چرا ازش به عنوان زبان برای نوشتن چنین برنامه‌ای استفاده می‌شه؟
زبان های فانکشنال برای انجام این محاسبات واقعا خوبن. تعامل با دنیای واقعی کم، در حد خوندن فایل ورودی و نمایش نتیجه (تعاملی نیست) و انجام کلی محاسبات پیچیده و منطقی.
در کنار این زبان، هسکل هم برای کامپایل نویسی استفاده میشه و کامپایلر خودش با خودش نوشته شده.
حتی جالبه بدونید که زبان rust هم ابتدا کامپایلرش به زبان OCaml بوده و بعد با rust بازنویسی کردن. (اولش برای فرایند bootstrap بوده). الانم سورس‌کد OCamlش که یه زیرمجموعه از زبان رو کامپایل می‌کنه توی ریپوزیتوری کامپایلر راسط در دسترسه.
افزونه‌ی LibreJS: اجازه ندهیم کدهای js غیرآزاد روی سیستم‌مون در حین بازدید از سایت‌ها اجرا بشه.
https://en.wikipedia.org/wiki/GNU_LibreJS
Forwarded from Gopher Academy
برای ریست کردن تمام محصولات Jetbrains با اجرای اسکریپت زیر
👇🏻👇🏻👇🏻👇🏻

🔰 @gopher_academy
تجربه‌ای که آسون به دست نیومده:
اگر سیستمتون به سایت ها متصل نمیشه، اول ساعت و تاریخش رو چک کنید که دقیق باشه.
مخصوصا اگر سیستم قدیمیه و تازه روشنش کردید.
در مورد کامپایل با gcc/g++ و makefile و linking و کلی نکته جالب.
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html
از بچگی همیشه برام سوال بود not gate چطوری کار میکنه؟
وقتی ورودیش صفره چطوری ۵ ولت تولید میکنه؟
حقیقت:
لازم نیست محیط توسعه نرم افزار jet brains رو نصب کنید تا بتونید با یه زبانی برنامه نویسی کنید.
با احتمال زیاد منقضی شده دیگه.
همین احتمال زیاد بسمونه.
آیا روشن کردن بهینه‌سازی کامپایلر ممکنه باعث باگ بشه؟
بله! چرا که نه.
البته معمولا اگه ازشون اگاه باشیم قابل پیشگیری هستند. اما خب باگه دیگه. کلا باگ رو اگر از قبل اگاه باشی پیشبینیش میکنی و باگ نیست.

جاهایی که پیش میاد ایناست:
+ وقتی که زبان undefined behavior داره. توی حالت دیباگ یه جور رفتار میکنه و شما روش حساب میکنین اما توی حالت بهینه شده یه جور دیگه کار میکنه.
+ کلا کارهای عجیب غریب کردن مثل حساب کردن روی اورفلو شدن یه متغیر کامپایلر رو گیج میکنه.

https://stackoverflow.com/a/2722330/10999348