LINUX.ORG.RU

Lua в ядре NetBSD

 ,


1

6

Согласно докладу Марка Балмера (Marc Balmer, разработчик NetBSD) на FOSDEM'13, прошедшего 2 и 3 февраля, в ядро NetBSD-current добавлен скриптовый язык lua. Работы в данном направлении ведутся уже, как минимум, с 2010-го года.

Использование языка lua в ядре позволяет ускорить разработку драйверов, изменения функционала ядра, а также его настройку. Более низкий порог вхождения по сравнению с языком C позволит в будущем упростить разработку и ускорить темпы развития проекта, а также увеличить интерес сообщества к проекту NetBSD и привлечь новых людей.

>>> Доклад

★★★★★

Проверено: mono ()
Последнее исправление: Binary (всего исправлений: 3)
Ответ на: комментарий от tailgunner

АТЕЦ СНОВА В ДЕЛЕ, все в машину!!1

А ещё он закоммитил какие-то изменения в ядро, связанные с поддержкою спящего режима и энергосбережением в какой-то модели ноута, что использует его дочь в школе. Только в Сусе (после фейла с Третьегномом он пытался сидеть на Сусе) этот патч накладывать не стали, а в основную ветку он попал слишком поздно. Поэтому Линус обосрал сусеводов.

Vudod ★★★★★
()
Последнее исправление: Vudod (всего исправлений: 2)

а также увеличить интерес сообщества к проекту NetBSD

Еще 8 ... 10 лет назад на ЛОРе троллили реликтовых бородатых бздунов фразами типа «BSD - R.I.R.».

Если не брать BSD-like true UNIX (Mac OS X / iOS), то это ископаемое (*BSD) никто ни в enterpriZe, ни даже для web-поделий на пых-пыхе не использует, кроме самых упёртых некрофилов.

Bioreactor ★★★★★
()
Ответ на: комментарий от Vudod

Есть договорённость, что все недоступные извне функции маркируются подчёркиванием. Если это сделано, то ничего читать не нужно.

Нужно читать весь текст в поисках неподчёркнутых функций.

Нсли же программист такой дурак, что прямое указание на нежелательность использования метода или функции он игнорирует, это уже никто не излечит.

Халява, можно дурачить читателей кода!

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Нужно читать весь текст в поисках неподчёркнутых функций.

Ещё один в глаза питон не видел, но осуждает.

Binary ★★★★★
()
Ответ на: комментарий от baverman

tl;dr Автор местами просто бредит. А чистый Lua не годен как самостоятельный general purpose language, только и всего.

Stack based API is harder

Автор либо не знает о биндинг-генераторах, либо любит садо-мазо. Стек-операции это опкоды VM, если ты их часто и много используешь, просто напиши это на Lua, зачем на C это делать? И да, если питон-код таким же образом писать на C, все будет гораздо печальнее. ССЗБ.

No reference counting is a pain in the ass

Тут он не дочитал до userdata environment (uservalue в 5.2). Что он имеет ввиду про «increase the reference counting yourself» не совсем ясно, видимо luaL_ref ему нужен. Не осилил 20-страничный мануал, что тут добавить.

No paradigm makes you lose time

Тут многие согласятся. Но плакать по этому поводу не надо: если тебя так закусило на ООП, идешь на lua-users.org и берешь понравившуюся объектную модель.

Embedding may not be a good choice
Too few extension modules

Зачем он тогда взял язык, который всегда был ориентирован на embedding? Достаточно слегка полуркать в рассылке, чтобы понять что это и куда движется.

Being small is not an excuse

Being small is great benefit, если ты на микроконтроллере. Собственно других вариантов нет, кроме как обрезать Lua со всех сторон и воткнуть его в эти сраные 256кб.

anonymous
()
Ответ на: комментарий от alex-w

не хочу разводить срач на эту тему

x4DA ★★★★★
()
Ответ на: комментарий от Vudod

Ну вам никак не угодишь.

Ага, если привык к более проработанной системе модульности то сравниваешь и сопоставляешь а потом испытываешь неудобства от недоработок сабжа.

Napilnik ★★★★★
()
Ответ на: комментарий от Vudod

почему?

наверное, вы имели в виду языки, где есть eval?

x4DA ★★★★★
()
Ответ на: комментарий от anonymous

я писал модуль для схемы в ядре линукс

а где-нибудь можно посмотреть результат работы?

//тред не читал

ymn ★★★★★
()

Т.к. на луа можно писать в бессознательном состоянии, ждем притока мартышек, накидающих килотонну кривого говна в дерево ядра.

dukzcry
()
Ответ на: комментарий от Bioreactor

Если не брать BSD-like true UNIX (Mac OS X / iOS), то это ископаемое (*BSD) никто ни в enterpriZe, ни даже для web-поделий на пых-пыхе не использует, кроме самых упёртых некрофилов.

Juniper

anonymous
()

Lua в ядре NetBSD

Игры INSTEAD теперь пойдут и на голом ядре NetBSD? Стоит ждать ренессанса игровых консолек формата «Ну, погоди!»

los_nikos ★★★★★
()
Ответ на: комментарий от Bioreactor

Заколебал ты своим ынтырпрайзом, нищеброд ты убогонький.

У netbsd есть одно громадное преимущество - его можно портировать на любую кофеварку за совершенно смешное время. Намного проще чем ляликс. И по этой причине его очень даже используют во всяком там махровом индустральном embedded, а это уж всяко поважнее будет, чем твой гомосексуалистский «ынтырпрайзс» с автоматизацией бухгалтерий ларьков с шаурмой.

anonymous
()
Ответ на: комментарий от Bioreactor

никто ... не использует

с чего ты взял? там же лицензия BSD.

ymn ★★★★★
()
Ответ на: комментарий от dukzcry

Как будто большинство пишущих на Си не мартышки.

anonymous
()

Слежу активно за тредом, но почему-то никто не разу не задумался о возможности полного контроля над системой. Скрипты ведь хранятся в открытом виде, а это значит что пользователи смогут иметь полнейший контроль над системой, смогут легко дописывать драйвера. Например в баге с драйвером от сетевых карт intel (тот что «пакет-убийца») можно было бы легко открыть скрипт и поставить дополнительную проверку никого не дожидаясь.

Или если это драйвер для принтера легко можно добавить функционал из другого драйвера какого нибудь левого принтера. Причём сделать это легко изменив немного скрипт.

Все почему-то так боятся кривого кода, а по мне так лучше кривой чем совсем никакой, а более умелые «бойцы» всегда могут подравнять кривой драйвер в случае чего. И ничего страшного в этом нет. Да и вообще система станет ближе к менее подготовленному народу, а это значит жди драйвера под джойстики, рули и прочие мелкие девайсы. Та же rasberri глядишь могла бы больше девайсов держать.

hitman249
()
Ответ на: комментарий от hitman249

пакет-убийца

Там разве не аппаратная проблема?

geekless ★★
()
Ответ на: комментарий от hitman249

Скрипты ведь хранятся в открытом виде, а это значит что пользователи смогут иметь полнейший контроль над системой, смогут легко дописывать драйвера.

Ну конечно, всего-то нужно, чтобы начать менять драйвера - открытый код. Товагищи, все на борьбу с опенсорсом!

А всякие права доступа - это буржуйские выдумки.

Miguel ★★★★★
()

А вы говорите Поттеринг, Поттеринг...

anonymous
()
Ответ на: комментарий от anonymous

если ты не знаешь историю, иди учи мат часть и не мешай взрослым дядям разговаривать

init_ ★★★
()
Ответ на: комментарий от Reaper

Статическая типизация полностью исключает некоторые виды ошибок.

Только в реальности доля таких ошибок очень низкая.

nullpointerexception? не, не видел :)

Rastafarra ★★★★
()
Ответ на: комментарий от anonymous

Во-первых, nullable типы можно сделать не только в статических языках - концепции смарт-поинтера/прокси-объекта пофиг, статика или динамика, во-вторых те же Perl/PHP поддерживают nullable типы, в третьих nullable-типы вообще мимо кассы. NUll pointer exception (и его аналоги) возникает в таких ситуациях, где наличие nullable типов в языке не меняет абсолютно ничего.

Давай ты немножко подумаешь, когда возникает NPE, зачем используют nullable типы и почему они настолько не в кассу были приплетены.

Reaper ★★
()
Ответ на: комментарий от Reaper

Статическая типизация помешает разыменовать нулевой указатель? Не, не знал.

она (или он --- компилятор) в очень многих местах подскажет. в Очень многих.

Rastafarra ★★★★
()
Ответ на: комментарий от mors

Уже давно можно делать userspace USB драйвера на любом высокоуровневом языке (я писал на python).

У нас разные понятия о том, что такое драйвер.

tailgunner ★★★★★
()
Ответ на: комментарий от x4DA

в qnx драйвера тоже выполняются в юзерспейсе.

...и работают черз libusb, да?

tailgunner ★★★★★
()
Ответ на: комментарий от baverman

Чистый луа ни на что не годен без соответствующих костылей?

Это не костыль, это биндинг. С питоном ты будешь мучаться гораздо больше

annulen ★★★★★
()
Ответ на: комментарий от border-radius

для оконного менеджера питон подошёл бы гораздо больше, тут я с ним согласен.

Ага, чтобы все гики сказали «да у тебя тут тормозной питон», и убежали на другие WM

annulen ★★★★★
()
Ответ на: комментарий от geekless

Ваще, всё критичное к производительности надо писать на языке уровня C++, только более вменяемом.

Это современный Pascal.

tp_for_my_bunghole
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.