პროგრამირების ენების ეკოსისტემას ახალი წევრი შეემატა — Mach. ეს არის სტატიკურად ტიპირებული, კომპილირებადი სისტემური ენა, რომელიც შექმნილია სიმარტივის, სიჩქარისა და ინტუიციურობის პრინციპებზე დაყრდნობით. პროექტის ავტორები მიზნად ისახავენ, შექმნან გარემო, სადაც კოდი მაქსიმალურად გასაგები და მარტივად შესანარჩუნებელი იქნება.
Mach-ის ფილოსოფია რამდენიმე ფუნდამენტურ პრინციპს ეფუძნება. მთავარი აქცენტი კეთდება სიმარტივესა და „ექსპლიციტურობაზე“. შემქმნელების თქმით, კომპიუტერი არ არის ჯადოსნური ყუთი და კოდმა არ უნდა შექმნას ასეთი ილუზია — ყველაფერი უნდა იყოს მკაფიო და ხილვადი (WYSIWYG).
რატომ Mach?
ენის დიზაინი პრიორიტეტებს მკაფიოდ განსაზღვრავს. Mach-ის შემქმნელები განზრახ არიდებენ თავს ისეთ მიდგომებს, როგორიცაა „ყველაფერი ერთში“ (batteries included). აქ არ არის აქცენტი გაკეთებული ფუნქციების სიმრავლეზე ან კოდის ხელოვნურ შემცირებაზე. პირიქით, ენა გამიზნულად „სიტყვაუხვია“ (verbose), რადგან მეტი კოდი ავტომატურად არ ნიშნავს ცუდ კოდს.
ასევე, Mach არ ცდილობს პროგრამისტის „ხელში აყვანას“. უსაფრთხოება, დეველოპერების აზრით, არის პროგრამისტის გადაწყვეტილება და არა შეზღუდვა, რომელიც ენამ უნდა დააწესოს. ეს მიდგომა მას განასხვავებს თანამედროვე ენების დიდი ნაწილისგან, რომლებიც უსაფრთხოების მექანიზმებს ენის დონეზე ნერგავენ.
ტექნიკური დეტალები და ინსპირაცია
Mach-ის შექმნისას ავტორები შთაგონებას ისეთი ენებიდან იღებდნენ, როგორებიცაა Golang, Vlang, Zig და Rust. თუმცა, Mach არ არის რომელიმე მათგანის პირდაპირი კოპირება. ენა სრულად ღია კოდია (Open Source) და ვრცელდება MIT ლიცენზიით.
თუ გსურთ Mach-ის გამოყენება, გაითვალისწინეთ, რომ თავად ენა Mach-შია დაწერილი. ეს ნიშნავს, რომ მისი დაწყება მოითხოვს უკვე არსებული კომპილატორის არსებობას, ან უახლესი ვერსიის ინსტალაციას. დოკუმენტაცია შედგენილია მარტივი სახელმძღვანელოს პრინციპით და ორიენტირებულია იმ ადამიანებზე, რომლებსაც უკვე აქვთ პროგრამირების საბაზისო ცოდნა.
როგორ დავიწყოთ?
| Command | Description |
|---|---|
| build | compile the current project to an executable or object |
| run | build and execute the current project (-- args... forward to the program) |
| test | build and run the project's tests |
| dep | manage vendored dependencies (list, add, remove, sync, vendor) |
| init | scaffold a new project (--lib, --name, --force) |
| doc | generate Markdown reference docs from source doc-comments |
| help | show usage; mach help for detail |
პროექტის ავტორები მომხმარებლებს მოუწოდებენ, გაეცნონ ენის ოფიციალურ დოკუმენტაციას, სანამ ინსტალაციას დაიწყებენ. ხელმისაწვდომია `mach init` ბრძანება, რომელიც ახალი პროექტის სტრუქტურის აწყობაში დაგეხმარებათ. დეველოპერული საზოგადოება უკვე აქტიურად მუშაობს და ავტორები მიესალმებიან ნებისმიერ კონტრიბუციას GitHub-ის პლატფორმის მეშვეობით.


დისკუსია
0 კომენტარი
ჯერ კომენტარი არ არის — იყავი პირველი.