LINUX.ORG.RU

Сообщения www_linux_org_ru

 

Кто знает объективные критерии качества языка программирования, или хотя бы синтаксиса?

Форум — Development

1. Наличие таковых. Некоторые утверждают, что критерии качества языка программирования субъективны. Но это же не поэзия <неразборчиво>!

2. Мое понимание критериев качества языка программирования:

А. семантика -- тут вопрос в том, насколько язык умеет оперировать абстракциями -- т.е. создавать новые и правильно (верифицируемо) использовать готовые.

Б. синтаксис языка. Тут у меня есть точка зрения, но интересно послушать чужие мнения.

В. возможность цеплять чужие либы.

3. Ну и собственно вопрос. По каким ключевым словам на английском гуглить?

По-русски гуглиться мало, и достаточно хлипкие утверждения.

www_linux_org_ru
()

Недавно вышедший Safari 4.0 обгоняет в тестах остальные браузеры

Форум — Talks

Использовались тесты i-Bench HTML, i-Bench JavaScript, SunSpider JavaScript. Вот, например, результаты для i-Bench HTML под Windows (чтобы исключить влияние родной ОС):

Safari 4.0 1.01 s
Chrome 2.0 1.41 s
Firefox 3.5 Beta 4 3.10 s
Firefox 3.0 3.21 s
Opera 9.6 3.26 s
Internet Explorer 8 3.60 s

Интересно, что разрекламированный Chrome во всех тестах отстает от Safari.

Результаты тестирования

Перемещено Shaman007 из Apple

www_linux_org_ru
()

[X][ttf][type2][qpf2?] Как внедрить grayscale bitmap в ttf или заставить Х сервер (или хотя бы qt приложения) использовать фонт, растеризованный в grayscale?

Форум — General

Сразу отмечу, что обычные растровые шрифты не подходят -- они 1-битные, а мне хочется юзать именно grayscale, хотя бы 2 бита, а лучше все 8 (если я не прав, подскажите формат растрового шрифта).

[идеально]. Возможно, что ttf или type2 форматы позволяют внедрить в себя уже отрендеренные grayscale картинки для фиксированных размеров шрифта -- тогда посоветуйте утилиту для этого.

[терпимо] Возможно, что есть патч к X фонт серверу для этого же?

[на крайняк] Может можно пропатчить свою qt, дабы она юзала qpf2 не только на Embedded Linux? (qpf2, как я понял, растровый, но grayscale).

 ,

www_linux_org_ru
()

Microsoft убрала ряд ограничений в бесплатной Windows 7 Starter. Как это повлияет на популярность Linux?

Форум — Talks

Менеджер по коммуникации Windows Brandon LeBlanc в своем блоге сообщает, что в бесплатной Windows 7 Starter отменено ограничение в 3 запускаемых приложения, и, кроме того, Windows 7 Starter будет доступна по всему миру, а не только в некоторых регионах, как это было раньше. Тем не менее, ряд ограничений остается, самые серьезные из которых -- невозможность настроить цвета и звуки, сменить картинку на десктопе (хорошо, хоть там не крутятся неотключаемые баннеры), смотреть DVD и запускать программы в режиме совместимости с ХР.

В связи с этим событием на www.linux.org.ru уже было высказано ряд как позитивных, так и негативных ожиданий относительно популярности линукса. Среди позитивных: пользователи смогут покупать ноутбук без переплаты за ненужную, некомфортную и куцую систему, без сожаления сносить ее и устанавливать линукс. Среди негативных: бесплатность винды приведет к смерти альтернативных систем (это написал пятизвездочный пользователь :-)

Итак: как же этот шаг Microsoft повлияет на популярность Linux?
публикация в блоге Brandon LeBlanc

Перемещено svu из Linux General

www_linux_org_ru
()

[perl] что посоветуете в перле по типу bash-евских > и >>

Форум — Development

Перл почти устраивает как (локальная) замена bash-у, но вот отсутствие ash-евских > и >> напрягает. Что посоветуете (не слишком извращенное)

 

www_linux_org_ru
()

За 4.2 в посте предусмотрено снижение скора, а за 4.2 в новости?

Форум — Linux-org-ru

Речь идет естественно о новости "Проведен анализ результатов тестов производительности языков". Оба предложения в ней -- злостное 4.2, причем 4.2 не из-за религиозных соображений (что еще можно было бы как-то простить):

1. 2 параметра, а не 4 (т.к. диаграммы двумерные)

2. These languages do not have enough benchmark implementations in the database

Я бы оценил такое в -20...-30 скора. Что скажут модераторы?

З.Ы. нормальный текст выглядел бы так:

В статье предложен интересный метод классификации языков: идеальный (быстрый и краткий), системный (быстрый и многословный), скриптовый (медленный и краткий), устаревший (медленный и многословный). В соответствии с этим методом проведена классификация языков на материале http://shootout.alioth.debian.org, и рассмотрены некоторые другие вопросы -- например, влияет ли наличие функциональных черт в языке на скорость.

www_linux_org_ru
()

Intel выпустила C++ STM Compiler версии 3.0 Prototype Edition

Новости — Проприетарное ПО
Группа Проприетарное ПО

STM — Software Transactional Memory — один из перспективных методов повышения быстродействия программ за счет распараллеливания на современных (и будущих) многоядерных процессорах.

Несмотря на распостраненное мнение, что удобство реализации STM — это одно из преимуществ функциональных языков (таких, как Haskell), Intel продолжает совершенствовать поддержку STM в своем компиляторе C++, в том числе и для Linux.

Среди новых фич:

  • транзакционные new, delete, конструкторы и деструкторы
  • транзакционный вариант библиотеки STL
  • и многое другое (полный список по ссылке)

>>> cписок нового в версии 3, пример кода, ссылка на скачивание

 , ,

www_linux_org_ru
()

в новости отвергается тэг с++

Форум — Linux-org-ru

Вот новость, когда пофиксите поставьта пожалуста тэг с++ http://www.linux.org.ru/view-message.jsp?msgid=3705184&lastmod=1242321842398

www_linux_org_ru
()

p=&(i++) все же возможно, но есть тонкие моменты

Форум — Development

Недавно в Development был вопрос, на который похоже ответили не до конца

Вот пример для g++ 4.1.2. Я его чуть прокомментирую, и прошу знатоков стандарта меня подправить.

#include <iostream>

int main()
{
    int i=1;
    // const int* pi=&(i++);
    const int& j=i++;
    const int* pi=&j;
    std::cout << "i=" << i << " j=" << j << " pi=" << pi << " *pi=" << *pi << '\n';
    return 0;
}

1. const int& j=i++; похоже по стандарту (у Алены-срр видел похожее)

2. const int* pi=&j; мне кажется разумно

3. const int* pi=&(i++); — а вот это непонятно, почему компилятор отвергает

www_linux_org_ru
()

[g++] dynamic_cast возвращает 0x4, а не 0 — неужели баг?

Форум — Development

Это баг или может нужны опции компилятору?

5.2.7.9 драфта на с++0х:

The value of a failed cast to pointer type is the null pointer value of the required result type.

http://www.kuzbass.ru:8086/docs/isocpp/expr.htm

The value of a failed cast to pointer type is the null pointer value of the required result type.


$ cat test1.cxx

#include <iostream>

#define AS(T) as<T>()

template<typename T> class Boxed;

class Something
{      
public:
  virtual void print_value_size() {};
  template<typename T> T* as() { return (dynamic_cast<Boxed<T>*>(this))->get(); }
  virtual ~Something(){} 
};

template<typename T> class Boxed: public Something
{
private:
  T value;
public:
  Boxed<T>(T arg): value(arg) {}
  T* get() { return &value; }
  virtual void print_value_size() { std::cout << " sizeof=" << sizeof(value); }
  virtual ~Boxed(){}
};

template<typename T> inline Boxed<T>* boxed(T arg) { return new Boxed<T>(arg); }

/// usage:
int main()
{
  Something* x[]={ boxed(1), boxed("asdf"), boxed(3.0) };
  for( int i=0; i<3; i++) {
    x[i]->print_value_size();
    int* y = x[i]->AS(int); 
    if( y!=NULL ) std::cout << " int=" << y << ' ';
    std::cout << '\n';
  }
}



$ g++ test1.cxx && ./a.out

 sizeof=4 int=0x804b00c 
 sizeof=4 int=0x4 
 sizeof=8 int=0x4 

Такая фигня на g++ Debian 4.3.2-1.1 и 4.1.2-21

 

www_linux_org_ru
()

Модератор svu употребляет слово «дерьмо» (24 примера) — именно употребляет, а не цитирует, и при этом режет посты со словом «гавно».

Форум — Linux-org-ru

Вот примеры:
___________________________________________________

В этой истории дерьмом покрыли себя все.
http://www.linux.org.ru/jump-message.jsp?msgid=3017268&cid=3020470

Признать, что РФ в этой истории тоже извалялась в том же дерьме
http://www.linux.org.ru/jump-message.jsp?msgid=3017268&cid=3020796

не возьмусь судить, кто лучше - оба в дерьме
http://www.linux.org.ru/jump-message.jsp?msgid=3092592&cid=3094132

дерьмовый учитель, которого надо гнать из школы.
http://www.linux.org.ru/jump-message.jsp?msgid=3119262&cid=3149516

Нифига. Дерьмо получится у дерьмовых учителей.
http://www.linux.org.ru/jump-message.jsp?msgid=3119262&cid=3149516

А потом смешал с дерьмом за то, что дети не стали гениями.
http://www.linux.org.ru/jump-message.jsp?msgid=3190918&cid=3197761

В дерьме заляпались все.
http://www.linux.org.ru/jump-message.jsp?msgid=3218109&cid=3219704

И в истории куча такого дерьма.
http://www.linux.org.ru/jump-message.jsp?msgid=3218109&cid=3219928

И вот тогда они становились как правило отменным дерьмом.
http://www.linux.org.ru/jump-message.jsp?msgid=3274048&cid=3284241

Это - лакмусовая бумажка на дерьмо.
http://www.linux.org.ru/jump-message.jsp?msgid=3274048&cid=3284731

Я не буду сравнивать одно дерьмо с другим;)
http://www.linux.org.ru/jump-message.jsp?msgid=3367733&cid=3370422

но это надо уж совсем дерьмом было стать, по статусу
http://www.linux.org.ru/jump-message.jsp?msgid=3367733&cid=3378276

Если оппонент - полное дерьмо, то и бороться никакого интереса.
http://www.linux.org.ru/jump-message.jsp?msgid=3434832&cid=3436869

До тех пор, пока у меня есть возможность и желание чистить "локацию" от дерьма
http://www.linux.org.ru/jump-message.jsp?msgid=3440489&cid=3440580

что в процессе разгребания дерьма
http://www.linux.org.ru/jump-message.jsp?msgid=3442394&cid=3442508

Есть куча опенсорцного дерьма, есть технически хорошие закрытые продукты.
http://www.linux.org.ru/jump-message.jsp?msgid=3512650&cid=3512843

Старые - это древний как дерьмо Иказы libgnome,
http://www.linux.org.ru/jump-message.jsp?msgid=3603884&cid=3603975

Иначе это дерьмо, а не интерфейс,
http://www.linux.org.ru/jump-message.jsp?msgid=3603884&cid=3604300

Пассивом на 15 не обойтись. Дерьмо будет.
http://www.linux.org.ru/jump-message.jsp?msgid=3639807&cid=3639874

теперь дерьмо на планете только одного сорта, американского
http://www.linux.org.ru/jump-message.jsp?msgid=2774780&cid=2775807

VSS дерьмо.
http://www.linux.org.ru/jump-message.jsp?msgid=3655673&cid=3655709

Она способна порождать как качественный софт, так и дерьмо.
http://www.linux.org.ru/jump-message.jsp?msgid=2833841&cid=2841209

чтоб не давать повод для новой волны дерьма.
http://www.linux.org.ru/jump-message.jsp?msgid=2892090&cid=2892626

Закопайте. Отечественный автопластик всегда был дерьмом.
http://www.linux.org.ru/jump-message.jsp?msgid=2967399&cid=2967834

_____________________________________________________

А вот о том, как svu недавно вырезал "gtk ... гавно":

http://www.linux.org.ru/view-message.jsp?msgid=3655322

_____________________________________________________

В целом, кстати, точка зрения svu достаточно интересная и большей частью я с ней согласен. Выражение "древний как дерьмо Иказы" это вообще шедевр!

Но при этом надо все-таки дать и другим возможность создавать шедевры, а?

www_linux_org_ru
()

Где найти авторитетную историю suse — ведь http://lists.suse.com/archive/suse-linux-e/1998-Jan/0360.html больше нет?

Форум — General

Разнообразные споры "от кого произошла суся", "когда вышла первая суся", ... ссылаются на http://lists.suse.com/archive/suse-linux-e/1998-Jan/0360.html

Сейчас этой группы "suse-linux-e" на lists.suse.com НЕТ.

Более того http://www.mail-archive.com/suse-linux-e%40suse.com/mail6.html заканчивается на мессагах 10-летней давности.

Ну и где найти? Желательно чтобы авторитетно, чтобы можно было использовать в флеймах :-)

www_linux_org_ru
()

[C++][Haskell][Ocaml][Java][C#][?] позволяет ли ваш язык создать полноценный прокси для объектов?

Форум — Development

Рассмотрим "полноценные" в смысле смоллтолка объекты, т.е. те, в которых можно вызывать виртуальные методы.

Для таких объектов надо написать функцию f, которая на входе получает любой полноценный объект класса К, а на выходе возвращает тоже полноценный объект класса К1, причем К1 является потомком класса К и имеет все приватные, защищенные и открытые поля и методы класса К, и еще одно открытое поле -- счетчик. Вы расслабились? рано! Каждый вызов метода объекта класса К1 должен сначала инкрементировать то самое новое открытое поле-счетчик, а затем уже вызывать соответствующий метод своего родителя.

1. Порутчикам Ржевским со своими динамическими языками -- молчать. Я и так знаю, что вы скажете.

2. Почему рассматриваем только полноценные объекты -- если объект не полноценный, то при путешествии объекта класса К1 он быстро станет рассмативаться как объект класса К и перестанет инкрементировать счетчик (то, что в плюсах возможны "неполноценные" объекты я не собираюсь обсуждать -- это уведет далеко).

3. Для хаскелистов -- как я понимаю, у вас нет объектов, а только алгебраические типы данных. Для вас нужно задачу как-то переформулировать (или взять какую-то реализацию объектной системы, но в этом будет сложно разбираться).

4. На плюсах я сейчас вижу только "грязный" способ реализации -- использовать прямой доступ к vtbl на запись. Может кто предложит получше?

5. Дополненительное усложение: перед своим уничтожением объект должен записать счетчик в лог.

 , , ,

www_linux_org_ru
()

Напишите свой «Манифест пользователя ЛОРа» или откомментируйте мой

Форум — Linux-org-ru

Вот мой манифест, в почти соседней теме "Верните мне _мой_ ЛОР": http://www.linux.org.ru/jump-message.jsp?msgid=3591954&cid=3596935

Так что та тема жива, не перешла еще на обсуждение Достоевского.

Напишите пожалуста свой "Манифест пользователя ЛОРа" или откомментируйте мой.

З.Ы. Модераторы -- не удаляйте эту тему как дубль -- это сознательная реклама *той* темы.

www_linux_org_ru
()

Исполнительный директор Mozilla поддержала предварительное решение Еврокомиссии в отношении Microsoft

Новости — Mozilla
Группа Mozilla

Напомним, что Еврокомиссия выдала предварительное заключение, по которому Microsoft, привязывая свой браузер к операционной системе, пытается нарушить условия конкуренции между браузерами, лишая потребителей процедуры выбора решения.

В своей публикации в блоге исполнительный директор Mozilla Митчелл приводит дополнительные факты, доказывающие правильность решения комиссии, и предлагает Еврокомиссии помощь со стороны Mozilla Foundation для выяснения способа, которым можно было бы исправить тот ущерб рынку, который нанесла ему компания Microsoft.

>>> Публикация в блоге Митчелл Бейкер

 

www_linux_org_ru
()

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

Форум — Linux-org-ru

Примерно так: хочешь срать в комментах -- регистрируйся, хочешь быть анонимусом -- будь особо вежлив по меркам фильтра, и учти, что твое сообщение может быть удалено без должной на то причины и без возможности рассмотрения апелляции -- хотя веточку под жалобы обязательно надо создать, но гарантии, что ее будут смотреть -- нет.

Модераторы точно не будут смотреть, смотреть возможно будут только те, кому интересно поиграться с фильтром.

В качестве фильтра -- регулярные выражения с учетом IP. Мне интересно было бы посоставлять их полуавтоматически.

www_linux_org_ru
()

Google поможет определить, ограничивает ли ваш провайдер BitTorrent

Новости — Linux General
Группа Linux General

Сервис пытается определить ограничения на трафик, связанные именно с протоколом. В будущем планируется тестировать не только BitTorrent, но и на другие протоколы:

Glasnost attempts to detect whether your Internet access provider is performing application-specific traffic shaping. Currently, you can test if your ISP is throttling or blocking BitTorrent. Tests for other applications will follow soon.

Среди основателей не только гугль: New America Foundation's Open Technology Institute, the PlanetLab Consortium, Google Inc. and academic researchers.

>>> Подробности

 ,

www_linux_org_ru
()

Подскажите что прочесть по хасклею (без соплей) и шире — сравнительное по языкам программирования

Форум — Development

По хаскелю -- чтобы было без эмоциональных соплей и с акцентированием основных моментов, отличающих его от плюсов например.

Желательно в тексте, а не djvu.

Сравнительное... ну качественное, без лишней теории (хотя это и не обязатлеьно), на большее претензий нет :-)

www_linux_org_ru
()

Ищу аналог make, понимающий (дедуцирующий) зависимости из заданных коммандных строк в Makefile

Форум — Development

make требует избыточной (чаще всего) информации.

1. Простейший вариант:

myprog file1 file2 > file3

означает что file3 зависит от file1 file2

2. Посложнее:

gcc file.c

означает что file.o зависит от file.c и всех его инклюдов (которые можно получить, дернув соотв. утилитку).

Нужен make, умеющий дедуцировать такое (и желательно добавлять правила для дедукции).

www_linux_org_ru
()

Не получается особый случай для forward declaration of a template class

Форум — Development

Вот это работает:


class Widget {};

Widget default_widget;

template<Widget& defaults> class ElaboratedWidget;

template<Widget& defaults=default_widget> class ElaboratedWidget: public Widget
{
  //
};

int main()
{
  return 0;
}

А вот это не компилится. Как это правильно написать???


template<ElaboratedWidget& defaults> class ElaboratedWidget;

template<ElaboratedWidget& defaults> class ElaboratedWidget
{
  //
};

int main() 
{
  return 0;
}

www_linux_org_ru
()

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