👾 Geek Engineers
503 subscribers
47 photos
41 files
300 links
👾 Extremist software engineering guidance for Geeks.

Website:
https://geekengineers.netlify.app

Github:
https://github.com/geekengineers
https://github.com/tahadostifam

Community:
@geek_engineers_community
Download Telegram
و اما بلاخره! PR ای که برای c3 lang باز کرده بودم مرج شد :)
هدف این بود که مشارکت رسمی م رو روی این زبان اغاز کنم و از لحاض معنوی انگیزه ای باشه برای بیشتر کار کردن رو این پروژه فوق العاده.

امروز مرج شد :]

https://github.com/c3lang/c3c/pull/2055

چطور شد اینطور شد؟😜
یه مدت داکیومنت ش رو داشتم میخوندم و حتی یادتون باشه یه lz4 هم بایند کردیم براش و اونم مرج شد توی vendor ش. موقع خوندن سورس کد کامپایلرش به لطف comment anchors توی vscode این تودو رو دیدم. که میگفت موقع vendor-fetch یا همون دریافت پکیج های third party به یه progress bar نیاز داریم.

خب.. خداروشکر که تسک آسونی بود😂🤌🏿
دم عیدی اتفاق خوشحال کننده ای بود برام.

در آینده امیدوارم مشارکت های عمیق تری روی این پروژه انجام بدم.
به امید مشارکت های عمیق😋🍻

#c3 #programming_languages
👍6🔥51👾1
ما سنمون قد نمیده ولی یه زمونی یک زبان برنامه نویسی وجود داشت به نام D که با عنوان DasBetterC شناخته میشد.

این زبان تو سال 2001 توسط Walter Bright ساخته شد که یک زبان high level و system programming همانند C و ++C است. این زبان ساخته شده بود تا پرفرمنس بالا و کنترل روی low level ارائه بده. و در عین حال productivity و safety ای که python و java داشتن رو هم ارائه کنه.
چون D پرفرمنس خوبی ارائه میده برای اپلیکیشن های performance-critical مثل game engines و real-time systems و high-frequency trading مناسبه. و جالبه بدونید که D از GC و scope based memory management استفاده میکنه :)

همچنین فیچر هایی داره که به detect کردن buffer overflow و memory leak کمک میکنه. باید بگم با اینکه D در واقع ۲۴ سالشه (تقریبا همسن #C) سینتکس مدرن و خوانایی رو ارائه میده. از Concurrency ساپورت میکنه بوسیله Fiber ها و همینطور از مکانیزم های message passing و immutable data structure ساپورت میکنه.

این زبان فوق العاده interoperability فوق العاده ای با C و ++C و Objective-C و Python داره. و همینطور cross-platform هست. درکل هدفش productive and safe systems programming language بوده و همچنان کامیونیتی ش زنده ست.

چیزای جالب و بامزه ای هم راجبش وجود داره :)
مثلا اینکه دوتا stdlib داره😂🤷 با نام های Phobos و Tango.

این هم یک program ساده با زبان جذاب D :

import std.stdio;

void main() {
string name = "D Programming Language";
writeln("Hello, ", name);

// Type inference with 'auto'
auto number = 42;
writeln("The answer is: ", number);
}


#programming_languages
🆒11👍31
Codon: AOT compiler for Python

خیلی خوب نوشته شده که ساپورت Gpu programming و Parallelism داره. همینطور میتونید لایبرری های موجود پایتون رو ایمپورت بکنید. بدون هیچ مشکلی کار میکنه.

https://docs.exaloop.io/codon
🔥7
توی LLVM یه instruction وجود داره به اسم phi.
اینطوری که کار میکنه نسبت به جایی که ازش اومدیم مقدار register (x برای مثال) متفاوت خواهد بود :)

برای مثال توی C :

int x;
if (some_condition) {
x = 10;
} else {
x = 20;
}

Now it's dependent on some_condition!

و اما توی LLVM-ir چطوریه؟ اینطوریه:

%x = phi i32 [ 10, %if_true ], [ 20, %if_false ]

همینقد کیوت و دوس داشتنی :)

#llvm
👍7👎3🔥1
درود فراوان به مینتینر های tinygo. نشستم دارم کدشو میخونم کلی trick یاد گرفتم برای compiler design :)

https://github.com/tinygo-org/tinygo/blob/release/compiler/compiler.go
10
عجب چیزی پیدا کردم :)
یه guidance خیلی کوچیک برای کسایی که تازه میان سمت LLVM.
دم نویسنده ش بشدت گرم

https://mapping-high-level-constructs-to-llvm-ir.readthedocs.io/en/latest/index.html
👍12
👾 Geek Engineers pinned «دوس دارید مطالب چنل مون اکثرا راجب چه موضوعی باشه؟»
کامونیتی سازنده systemd لینوکس دارن یه توزیع جدید میسازن:

https://news.itsfoss.com/systemd-particle-os/

پ.ن: هر وقت استیبل شد بگید ما هم تست کنیم🥱
👾5🫡2
Forwarded from Sonia Software Notes (سونیا)
Firebase Studio
https://firebase.studio/

Firebase Studio accelerates your entire development lifecycle with AI agents. Build backends, front ends, and mobile apps, all in one place.



با فایربیس استودیو میشه هم خود بک اند و فرانت و قابلیت های دیگه پروژه رو تو خود محیط گرافیکیش نوشت و روی وب اجراش کرد.

البته خیلی مناسب پیاده سازی MVP یک اپلیکیشن هم میتونه باشه، چون با استفاده از Gemini که در خود فایر بیس پیاده شده میشه راحت قابلیت های مورد نیاز پروژه رو پیاده سازی کرد.
4
codecrafters.io
این سایته رو دیدید؟ اومده پروژه های مختلف کوچیک و بزرگ مثل Redis یا git یا grep و... رو شکونده به تسک های کوچیک که برنامه نویس بتونه با Recreate کردن اینا تمرین کنه و کم کم به چالش کشیده بشه و یاد بگیره.

@DevTwitter | <Hamedooo/>
🔥101
اگه کمتر چیزی مینویسم تو کانال. بخاطر این نیست که کلا کار و زندگی رو تعطیل کردم :) درواقع به این خاطره که بله کار و زندگی رو تعطیل کردم... نشستم پای توسعه Cyrus.

بزودی خبر های بیشتری میدم🍻

برای حمایت از ما میتونید توی گیت هاب ستاره بدید:

https://github.com/cyrus-lang/Cyrus-Lang

همچنین توی کامیونیتی مون راجب Language Design حرف میزنیم. شاید جذاب باشه براتون:

@cyrus_lang
🫡11👍2
Write your own database from scratch with Go

https://build-your-own.org/database

پ.ن: برای شروع خیلی خوبه. ولی خودم وقت ندارم بخونمش :)
اگر کسی استارت یه همچین پروژه ای رو زد برا منم بفرستین مشارکت کنم.
🔥11👍1
یه ایده خفن: LLVM-ir back to C compiler
👍5💊1
https://discuss.tvm.apache.org/t/possible-to-convert-a-llvm-ir-back-to-c-code/6625

پروژه موفقی با این تایتل موجود نیست.
ولی اینکه واقعا میشه یه همچین چیزی ساخت واقعا جای بحث دارد
👍5