ساخت نرمافزار آزاد
منتشر شده در توسط Ron
من قبلاً در پستهای گزارش بهار ۱ و رابطه سمی من با شرکتهای بزرگ فناوری کمی درباره نارضایتیام از صنعت فناوری صحبت کردهام، بنابراین فعلاً از گلایه کردن خودداری میکنم. در این پست قصد دارم به طور خلاصه نحوه توسعه نرمافزار و پلتفرمها و ابزارهایی را که استفاده میکنم نشان دهم.
من در سال ۲۰۱۸ به عنوان تکنسین کامپیوتر فارغالتحصیل شدم و مدتی در بخش پشتیبانی کار کردم تا اینکه در سال ۲۰۲۰ تحصیلات دانشگاهیام را در رشته علوم کامپیوتر آغاز کردم. با این حال، داستان من در برنامهنویسی کمی قبلتر از آن شروع میشود: به عنوان یک علاقهمند، از سال ۲۰۱۴ وبسایت توسعه میدادم و آنها را در حساب قدیمیام در GitHub میزبانی میکردم. من از GitHub Pages برای میزبانی وبسایتهای ایستا استفاده میکردم و راضی بودم. دهها پروژه .github.io ساختم که حتماً یک جایی در دیتاسنترهای Microsoft گم شدهاند.
من هرگز از Windows به عنوان کامپیوتر شخصی استفاده نکردهام. وقتی اولین کامپیوترم را خریدم، سیستمعامل Debian روی آن نصب بود و در نهایت تا سال ۲۰۱۸ از Debian استفاده کردم. وقتی وارد دوره فنی شدم، ادای هکرهارو درآوردم، به Arch Linux سوئیچ کردم و میزبانی سایتها و پروژههایم را در GitLab انجام دادم.
در طول دوران دانشگاه از Arch استفاده میکردم و پروژههایم را در GitLab میزبانی میکردم. از آنجا که توسعهدهنده برنامه برای Google Play Store شدم، از استفاده از هر چیزی که متعلق به Google بود، بهویژه دیتاسنترهای آن، خوشحال بودم. این داستان تا اوایل امسال ادامه داشت. پایان رابطهام با Google برای من یک رهایی بزرگ بود. امروز در تمام تجربه کاریام فقط از نرمافزارهای آزاد و غیرمتمرکز استفاده میکنم. من از Void Linux استفاده میکنم، با وجود اینکه از توزیعهای rolling release متنفرم، و پروژههایم را در Codeberg با دیتاسنترهایش در برلین میزبانی میکنم.
ویرایشگر خط فرمان من Nano است. محیط توسعه (IDE) من Geany است.
در توسعه نرمافزار دسکتاپ (تمرکز فعلی من)، از استک C/GDB/Make/Git استفاده میکنم و کتابخانههای گرافیکی مورد استفادهام GTK3 (برنامههای کاربردی) و SDL2 (بازیها) هستند.
در توسعه وب، از استک استاندارد وب HTML/CSS/JS و در صورت نیاز از Python استفاده میکنم.
برای اسکریپتنویسی از Shell و Python استفاده میکنم.
در *هوش مصنوعی از C و Python استفاده میکنم.
این کارگاه شخصی من است. بدیهی است که برای کار تجاری و مدفوع، از آنچه کار نیاز دارد استفاده میکنیم. من قبلاً مجبور شدهام در Windows با زبان Java و استفاده از VSCode برنامهنویسی کنم و هنوز زندهام.
*هوش مصنوعی یک زیرشاخه پژوهشی در علوم کامپیوتر است. آنچه شما در فضای بیرون به عنوان AI میبینید، مدلهای مولد با استفاده از transformers و همچنین عاملهای خودمختار و خودبهینهساز هستند.