👾 Geek Engineers
پروفسور دانشگاه استنفورد John Ousterhout راجب فلسفه معماری نرم افزار و اهمیت آن صحبت میکند. همینطور راجب کتابی که در همین موضوع نوشته است. جان بر این باور هست که برنامه نویس های خوب میتونن تعلیم داده بشن. یکی از کار های مهم و بزرگ ایشون برگذار کردن کورس هایی…
A Philosophy of Software Design, John Ousterhout, 2019.pdf
1.6 MB
این همون کتاب که راجبش میگفتم،
متاسفانه من قبلا خوندمش :)
متاسفانه من قبلا خوندمش :)
👍7
و اما بلاخره! PR ای که برای c3 lang باز کرده بودم مرج شد :)
هدف این بود که مشارکت رسمی م رو روی این زبان اغاز کنم و از لحاض معنوی انگیزه ای باشه برای بیشتر کار کردن رو این پروژه فوق العاده.
امروز مرج شد :]
https://github.com/c3lang/c3c/pull/2055
چطور شد اینطور شد؟😜
یه مدت داکیومنت ش رو داشتم میخوندم و حتی یادتون باشه یه lz4 هم بایند کردیم براش و اونم مرج شد توی vendor ش. موقع خوندن سورس کد کامپایلرش به لطف comment anchors توی vscode این تودو رو دیدم. که میگفت موقع vendor-fetch یا همون دریافت پکیج های third party به یه progress bar نیاز داریم.
خب.. خداروشکر که تسک آسونی بود😂🤌🏿
دم عیدی اتفاق خوشحال کننده ای بود برام.
در آینده امیدوارم مشارکت های عمیق تری روی این پروژه انجام بدم.
به امید مشارکت های عمیق😋🍻
#c3 #programming_languages
هدف این بود که مشارکت رسمی م رو روی این زبان اغاز کنم و از لحاض معنوی انگیزه ای باشه برای بیشتر کار کردن رو این پروژه فوق العاده.
امروز مرج شد :]
https://github.com/c3lang/c3c/pull/2055
چطور شد اینطور شد؟😜
یه مدت داکیومنت ش رو داشتم میخوندم و حتی یادتون باشه یه lz4 هم بایند کردیم براش و اونم مرج شد توی vendor ش. موقع خوندن سورس کد کامپایلرش به لطف comment anchors توی vscode این تودو رو دیدم. که میگفت موقع vendor-fetch یا همون دریافت پکیج های third party به یه progress bar نیاز داریم.
خب.. خداروشکر که تسک آسونی بود😂🤌🏿
دم عیدی اتفاق خوشحال کننده ای بود برام.
در آینده امیدوارم مشارکت های عمیق تری روی این پروژه انجام بدم.
به امید مشارکت های عمیق😋🍻
#c3 #programming_languages
GitHub
Added a progress bar to vendor-fetch in compiler section by tahadostifam · Pull Request #2055 · c3lang/c3c
Hi,
I wrote a progress bar for vendor-fetch. I hope you like it :)
Also I wanna mention that these two lines needs to be refactored, it does not seem pretty well :
if (count == 0)
error_exit(&...
I wrote a progress bar for vendor-fetch. I hope you like it :)
Also I wanna mention that these two lines needs to be refactored, it does not seem pretty well :
if (count == 0)
error_exit(&...
👍6🔥5❤1👾1
👾 Geek Engineers
یه کد ادیتوری هست به اسم Helix که واقعا منو شگفت زده کرده :) این ادیتور با Rust نوشته شده و شباهت زیادی به neovim داره. فقط خوبی ش اینه که کانفیگ دیفالتش خیلی خوبه. اونقد خوبه که نیاز نیست انگولکش بکنید... همینطوری اوکیه. از اکثر LSP های زبونا ساپورت میکنه.…
YouTube
The Most Underrated IDE
A look at the Helix IDE, with extra focus on some of the features that have been implemented in the past two years.
Keyboard: Glove80 - https://bit.ly/3EKyn7X
Camera: Canon EOS R8 https://amzn.to/4gSpivt
Monitor: Dell U4914DW 49in https://amzn.to/3MJV1jx…
Keyboard: Glove80 - https://bit.ly/3EKyn7X
Camera: Canon EOS R8 https://amzn.to/4gSpivt
Monitor: Dell U4914DW 49in https://amzn.to/3MJV1jx…
ما سنمون قد نمیده ولی یه زمونی یک زبان برنامه نویسی وجود داشت به نام 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 :
#programming_languages
این زبان تو سال 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👍3❤1
Codon: AOT compiler for Python
خیلی خوب نوشته شده که ساپورت Gpu programming و Parallelism داره. همینطور میتونید لایبرری های موجود پایتون رو ایمپورت بکنید. بدون هیچ مشکلی کار میکنه.
https://docs.exaloop.io/codon
خیلی خوب نوشته شده که ساپورت Gpu programming و Parallelism داره. همینطور میتونید لایبرری های موجود پایتون رو ایمپورت بکنید. بدون هیچ مشکلی کار میکنه.
https://docs.exaloop.io/codon
🔥7
توی LLVM یه instruction وجود داره به اسم phi.
اینطوری که کار میکنه نسبت به جایی که ازش اومدیم مقدار register (x برای مثال) متفاوت خواهد بود :)
برای مثال توی C :
Now it's dependent on
و اما توی LLVM-ir چطوریه؟ اینطوریه:
%x = phi i32 [ 10, %if_true ], [ 20, %if_false ]
همینقد کیوت و دوس داشتنی :)
#llvm
اینطوری که کار میکنه نسبت به جایی که ازش اومدیم مقدار 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
https://github.com/tinygo-org/tinygo/blob/release/compiler/compiler.go
GitHub
tinygo/compiler/compiler.go at release · tinygo-org/tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. - tinygo-org/tinygo
❤10
عجب چیزی پیدا کردم :)
یه guidance خیلی کوچیک برای کسایی که تازه میان سمت LLVM.
دم نویسنده ش بشدت گرم
https://mapping-high-level-constructs-to-llvm-ir.readthedocs.io/en/latest/index.html
یه guidance خیلی کوچیک برای کسایی که تازه میان سمت LLVM.
دم نویسنده ش بشدت گرم
https://mapping-high-level-constructs-to-llvm-ir.readthedocs.io/en/latest/index.html
👍12
دوس دارید مطالب چنل مون اکثرا راجب چه موضوعی باشه؟
Anonymous Poll
33%
Web Development
38%
System programming
14%
Programming Language Implementation (زبون هایی که تازه ساخته شدن)
26%
Rust Programming Language
27%
Go Programming Language
18%
C Programming Language
24%
Cyrus Programming Language (زبونی که ما میسازیم)
24%
نمیدونم. هرچی صلاحه🤌🏿
Pitfalls of Safe Rust: چیزایی که راست گارانتی نمیکنه و چجوری درستش کنیم
https://corrode.dev/blog/pitfalls-of-safe-rust/
https://corrode.dev/blog/pitfalls-of-safe-rust/
Corrode Rust Consulting
Pitfalls of Safe Rust | corrode Rust Consulting
When people say Rust is a “safe language”, they often mean memory safety.
And while memory safety is a great start, it’s far from all it takes to build robust applications.
Memory safety is important but not sufficient for overall r…
And while memory safety is a great start, it’s far from all it takes to build robust applications.
Memory safety is important but not sufficient for overall r…
کامونیتی سازنده systemd لینوکس دارن یه توزیع جدید میسازن:
https://news.itsfoss.com/systemd-particle-os/
پ.ن: هر وقت استیبل شد بگید ما هم تست کنیم🥱
https://news.itsfoss.com/systemd-particle-os/
پ.ن: هر وقت استیبل شد بگید ما هم تست کنیم🥱
It's FOSS News
ParticleOS: Systemd's Very Own Linux Distro in Making
A Linux distro from systemd? Sounds interesting, right?
👾5🫡2
Forwarded from Sonia Software Notes (سونیا)
Firebase Studio
https://firebase.studio/
با فایربیس استودیو میشه هم خود بک اند و فرانت و قابلیت های دیگه پروژه رو تو خود محیط گرافیکیش نوشت و روی وب اجراش کرد.
البته خیلی مناسب پیاده سازی MVP یک اپلیکیشن هم میتونه باشه، چون با استفاده از Gemini که در خود فایر بیس پیاده شده میشه راحت قابلیت های مورد نیاز پروژه رو پیاده سازی کرد.
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 که در خود فایر بیس پیاده شده میشه راحت قابلیت های مورد نیاز پروژه رو پیاده سازی کرد.
firebase.studio
Firebase Studio
Firebase Studio is an entirely web-based workspace for full-stack application development, complete with the latest generative AI from Gemini, and full-fidelity app previews, powered by cloud emulators.
❤4
Forwarded from DevTwitter | توییت برنامه نویسی
codecrafters.io
این سایته رو دیدید؟ اومده پروژه های مختلف کوچیک و بزرگ مثل Redis یا git یا grep و... رو شکونده به تسک های کوچیک که برنامه نویس بتونه با Recreate کردن اینا تمرین کنه و کم کم به چالش کشیده بشه و یاد بگیره.
@DevTwitter | <Hamedooo/>
این سایته رو دیدید؟ اومده پروژه های مختلف کوچیک و بزرگ مثل Redis یا git یا grep و... رو شکونده به تسک های کوچیک که برنامه نویس بتونه با Recreate کردن اینا تمرین کنه و کم کم به چالش کشیده بشه و یاد بگیره.
@DevTwitter | <Hamedooo/>
🔥10❤1
اگه کمتر چیزی مینویسم تو کانال. بخاطر این نیست که کلا کار و زندگی رو تعطیل کردم :) درواقع به این خاطره که بله کار و زندگی رو تعطیل کردم... نشستم پای توسعه Cyrus.
بزودی خبر های بیشتری میدم🍻
برای حمایت از ما میتونید توی گیت هاب ستاره بدید:
https://github.com/cyrus-lang/Cyrus-Lang
همچنین توی کامیونیتی مون راجب Language Design حرف میزنیم. شاید جذاب باشه براتون:
@cyrus_lang
بزودی خبر های بیشتری میدم🍻
برای حمایت از ما میتونید توی گیت هاب ستاره بدید:
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
پ.ن: برای شروع خیلی خوبه. ولی خودم وقت ندارم بخونمش :)
اگر کسی استارت یه همچین پروژه ای رو زد برا منم بفرستین مشارکت کنم.
https://build-your-own.org/database
پ.ن: برای شروع خیلی خوبه. ولی خودم وقت ندارم بخونمش :)
اگر کسی استارت یه همچین پروژه ای رو زد برا منم بفرستین مشارکت کنم.
build-your-own.org
Build Your Own Database From Scratch in Go | Build
Your Own Database From Scratch in Go
Your Own Database From Scratch in Go
Build Your Own Database From
Scratch in Go - From B+Tree To SQL
Scratch in Go - From B+Tree To SQL
🔥11👍1