Мова програмування C дійсно пройшла тест часу. Є дуже мало середовищ, де це не процвітає. Це головним чином пов'язане з високим виконанням виконання, що, на жаль, поставляється за ціною: C не підтримує багато функцій, які очікуються на сучасному мові програмування.
Mozilla дослідження Іржа є спробою створити кращий мишоловка. Його дизайн мови залишається зосередженим на високій продуктивності та бути близьким до апаратного забезпечення.
Однак його синтаксис та компілятор також користуються різними перевагами, пропонованими сучасними дослідженнями програмування. Враховуючи, що місія Мозилла є створення "відкритих веб-", не повинно бути дивним, що компанія невтомно працює, щоб привести свій останній дітище до Інтернету.
Хоча іржа може, теоретично, запускатися на клієнті через такі системи, як Emscripten, його реальна влада полягає у створенні ефективного бекенда.
Ви створюєте сайт з нуля? Пригладжування дизайну та продуктивність з вершиною Веб-будівельник і відмінний веб хостинг . Отримали файли, щоб поділитися або зберегти? З ними хмара зберігання Варіанти.
Хоча керівники пакетів, такі як "apt-get", безумовно, полегшують життя розробника, супроводжувачі списку пакетів, як відомо, не є друзями надмірної швидкості. Через це багато, якщо не більшість, упаковці упаковки розподілу сильно застаріли.
Команда Іржі вирішила цю проблему, надаючи спеціально сценарій встановлення, який створює систему, яка виконується ефективно. Розгортання, потім, є двоступеневим процесом: спочатку переконайтеся, що доступний завантажувач Curl / Parser:
Tamhan @ Tamhan-ThinkPad: ~ $ sudo apt-get install curl
[sudo] Пароль для tamhan:
Список пакетів читання ... зроблено ...
Потім, на другому кроці, завантажте програму інсталятора та передайте його на "SH", використовуючи оператор труби. 'Sh' - це скорочення за замовчуванням інтерпретатор оболонки вашої робочої станції, який потім приступить до запуску коду під рукою:
Tamhan @ Tamhan-ThinkPad: ~ $ curl https://sh.rustup.rs -ssf | шви
Інформація: Завантаження інсталятора
Під час установки інсталятор Rust відображатиме різноманітні підказки, подібні за зовнішнім виглядом, показані на малюнку справа. Просто слідуйте за ними, щоб досягти встановлення за замовчуванням.
У деяких випадках розгортання іржі не вийде з помилкою, яка схожа на "Помилка: Не вдалося написати файл RCFile:" /home/tamhan/.bash_profile "". Якщо це відбувається під час встановлення, використовуйте "sudo -s", щоб отримати кореневу оболонку, а потім полоскати і повторити, щоб продовжити.
З цим, з дороги, настав час запустити нашу першу невелику програму. За замовчуванням, за замовчуванням, мають розширення файлу ".rs". Створіть файл під назвою "firststest.rs", а потім забезпечити його з наступним шматком коду:
FN Main () {
println! ("Hello World!");
}
C та C ++ програмістів часто дивуються, чому заклинання методу "Println" вимагають використання знака вигуку. Відповідь проста: іржа реалізує "println" як макрос, який інше ставить по-іншому.
Враховуючи, що іржа є складеною мовою, наш приклад повинен бути оброблений, перш ніж його можна запустити з командного рядка:
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $ rustc firststest.rs
tamhan @ tamhan-thinkpad: ~ / rustspace $ ./firsttest
Привіт світ!
Описуючи повну мову програмування, наприклад, іржа, у обмеженому просторі, який ми маємо тут, неможливо. Отже, давайте почнемо, формально вказуючи вас на дослідження Mozilla Комплексна документація . Одна функція, яка, безумовно, вражає програмістів C, передбачає використання команди "матчу": На додаток до прямого порівняння, він також дозволяє використовувати оператори діапазону, щоб значно спростити розробку розширених програм:
FN Main () {
Нехай число = 5;
println! ("Робота на {}", номер);
Номер матчу {
1 = & gt; println! ("Один!"),
2 | 3 | 5 | 7 = & gt; println! ("Prime"),
_ = & gt; println! ("число"),
}
}
Класична колекція сміття має свої слабкі сторони: більшість реалізацій приносять програму, щоб час від часу приносять програму. Щоб обійти, що іржа використовує набір так званих "абстракцій з нульовою вартістю", щоб наслідувати подібну поведінку у менш дратує моду.
В принципі, кожен ресурс створюється з власником моди, подібний до батько-дитячої підсистеми Qt. Однак особливість, що називається "запозичення", дозволяє програмісту передачі володіння ресурсами тимчасово, тим самим пропускаючи їх навколо системи.
На жаль, повне обговорення можливостей менеджера пам'яті іржі підриває межі цієї статті - дозволяють достатньо заявити, що іржа забезпечує дуже неортодоксальну, але працездатну форму управління пам'яттю.
Хоча C та C ++ код можна розбити в бібліотеки, це так само дратує і дещо незручне завдання. Крім того, переконавшись, що всі необхідні бібліотеки, де вони потрібні, є щось навіть досвідченими розробниками, як уникнути.
Спільнота JavaScript довго вирішила цю проблему за допомогою таких продуктів, як NPM. Проекти описані через файл структури проекту, який - серед іншого, - містить посилання на бібліотеки та інші елементи, необхідні під час фактичного запуску компіляції.
У випадку іржі, менеджер пакетів під назвою вантажу робить подібну роботу. Створення нового проекту може бути виконана завдяки використанню команди "Cargo New" у моді, подібному до наступного:
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $ вантаж Новий Futuresample1 --bin
Створено бінарну (програму) `FutureSample1` проект
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace $
Коли процес створення завершується, буде створено структуру папки, подібну до того, що показана на зображенні у нижній частині цієї сторінки.
.toml файли виступають як "контролери" - у випадку нашого новоствореного проекту, файл містить таку структуру:
[Пакет]
NAME = "FUTURUSEMPLE1"
Версія = "0.1.0"
Автори = ["Тамань"]
[Залежності]
Подібності до .ini Files of In Lore не є суто випадковими: у моді не відрізняється від NPM, формат файлу конфігурації також використовується для опису файлів конфігурації, що використовуються для проектів іржі. Блок "[залежностей]" має особливий інтерес для нас - він містить список всіх зовнішніх бібліотек, які повинні бути присутніми для компіляції до успіху.
Створення веб-сервера вручну - це дратує роботу, яка найкраще залишена до мазохістів. Ми будемо, замість цього вибираємо рамку. На жаль, знаходження права нелегко - як відвідування Список веб-сайтів Web Development розкриває, є багато кандидатів.
Ми виберемо Ракета , Якщо тільки тому, що, як видається, досить популярний і бачили поновлення випущені в травні 2018. На жаль, розробники ракети, як правило, разохотіться знову введеними функції мови, тому часте оновлення вашої установки Rust за допомогою наступних команд потрібні :
Tamhan @ Tamhan-ThinkPad: ~ / RustSpace / Futuresample1 $ Rustup Update & amp; & amp; Оновлення вантажів
Наступним кроком значною мірою є питанням смаку. Більшість бібліотек оснащені попередньо наданими стартовими проектами, розробники, які розробники можуть просто сифон з Github. Для того, щоб ваша "Prime" бібліотека не обов'язково є поганою ідеєю - хоча колись більше однієї бібліотеки задіяна, ручний підхід має тенденцію бути більш плідним.
Далі відкрийте файл .toml, а потім змінити розділ "залежності" відповідно до наступного, щоб включити останню версію ракетної рамки:
[Залежності]
Rocket = "0.3.6"
Rocket_Codegen = "0.3.6"
Ракета унікальна, що вимагає включення загальної кількості двох пакетів: на додаток до основної рамки, також потрібен окремий файл генератора коду. У будь-якому випадку, наша версія включає певну версію двох бібліотек - вантажі також може приймати підручники, які дозволяють програмі "вибрати свою отруту" без будь-якої допомоги.
З цим, з дороги, одна проблема залишається: введіть "вантажний біг" у папці, що містить файл .toml, щоб виконати допоміжну компіляцію, яка буде - серед іншого - завантажте відповідні бібліотеки коду з сховища та компіляціїцільна енчілада для вас.
Наступна сторінка: Ліси та поглиблений аналіз
Поточна сторінка: Сторінка 1
Наступна сторінка Сторінка 2(Зображення кредиту: Meg Buick) Lino PrintMaking - це метод рельєфного друку, ..
Мобільний дизайн є відносно новим, але важливим розгляд. Лише десять р�..
Я почав використовувати кіно 4d через кілька місяців після того, як моя ..
Введення ефектів до тексту та типографіка може додати всю нову перспе�..
Для новачків Zbrush , інтерфейс здається дуже різним для інших 3D-м..
Ви любите дізнатись більше про проектні системи? Тоді не пропустіть..
Навчання Як малювати мангу це нелегкий подвиг. Отже, щоб полегшити легке максимально легке, я до�..
Екранний дизайн пройшов довгий шлях за останні кілька років. Хек, ми на..