LINUX.ORG.RU

Сообщения rupert

 

Go и обработка ошибок

Форум — Development

Вот недавно опять решил посмотреть, что там новенького в Go, и наткнулся на следующую статью: https://blog.golang.org/errors-are-values. В ней рассказывается, как в Go обрабатывать ошибки. Типа: «некоторые товарищи» утверждают, что приходится очень часто писать «if err != nil». Они неправы! Мы предлагаем этим товарищам парочку костылей, которые исправят их походку.

Ещё один момент. В Go FAQ (yourself :) написано: «We believe that coupling exceptions to a control structure, as in the try-catch-finally idiom, results in convoluted code.» Как-то мне кажется, что с «if err != nil» на каждом шагу код получается не менее convoluted.

Однако, что-же получается? В Go те же самые проблемы при обработке ошибок, что и в C? В Go, как и в C надо постоянно проверять статус ошибки. А если забыл, то тебя ждут те же самые приятные ощущения, что и в C. Где прогресс, спрашивается? Почему через 30 лет Роб Пайк и Кен Томпсон ничего лучше не придумали? Ведь есть же языки, где такой хернёй заниматься не надо.

 

rupert
()

православная операционная система

Форум — Talks

Я думаю все знают про TempleOS. Её пишет один сумашедший (с каким-то там шизофреническим диагнозом, всё как надо) с одной единственной целью: донести слово божье до людей (в его понимании, конечно). Она достаточно примитивная если судить по скринам. Но посмотрите, какие у этой OS необычные возможности. До чего только не додумается воспалённый мозг сумашедшего!

https://www.youtube.com/watch?v=0-dVp542XGk

 

rupert
()

SolydX

Галерея — Скриншоты

Интересное развитие Debian, SolydXK (здесь в редакции SolydX).

WM тема: axiom
GTK: oxygen-gtk
Иконки: compass
ШГ: Roboto, infinality
systemd: есть

Остальное по-дефолту. В общем, система проблем не составляет. Единственное, что немного раздражает, это то что с ppa очень многое установить не получится.

 , solyd

rupert
()

dbus выносит мозг

Форум — Talks

...Одному из мэнтейнеров Gentoo, Patrick Lauer-у. Он удосужился прочитать документацию по dbus и офигел от её кривости. Потом он решил посмотреть на код, и тут ему полностью снесло крышу. После чего он основательно напился и решил написать разгромную статью, где проводит подробный разбор опусов авторов dbus. В заключение он говорит (для Ъ):

Хоть я и узнал много нового, мне кажется невероятным, что это недокументированное поделие кто-то может серьезно использовать. Многие концепции либо не определены, либо определены через реализацию. Все API сделаны как попало без какой-либо структуры, часто встречаются дупликаты (какая разница между Terminate и Kill?), а независимая реализация не представляется возможной. Если это будущее, то лучше я останусь в прошлом...

 , , ,

rupert
()

Ломка виндовозника при соприкосновении с линуксом

Форум — Talks

Вот что бывает, если винды тебе окончательно проели мозг:

http://rsdn.ru/forum/flame.comp/5835671.flat#5835671

Не знаю даже, грусно это или смешно. Скорее комично.

(для Ъ нету, это просто не передать словами)

 , ,

rupert
()

Супер C

Форум — Development

Идеальная библиотека для C-задротов, или тех кто здесь хотел динамику на C/C++:

http://libcello.org/

Для Ъ:

/* Example libCello Program */

#include "Cello.h"

int main(int argc, char** argv) {

  /* Stack objects are created using "$" */
  var int_item = $(Int, 5);
  var float_item = $(Real, 2.4);
  var string_item = $(String, "Hello");

  /* Heap objects are created using "new" */
  var items = new(List, int_item, float_item, string_item);

  /* Collections can be looped over */
  foreach (item in items) {
    /* Types are also objects */
    var type = type_of(item);
    print("Object %$ has type %$\n", item, type);
  }

  /* Heap objects destroyed with "delete" */
  delete(items); 
}
rupert
()

RSS подписка на новые темы