LINUX.ORG.RU

Сообщения impfp

 

[С++] facepalm

...Как обычно, модельный кусочек кода:

for(int i=0; i<n; i++) {
  for(int i=0; str[i]; i++) {
    str[i] = tolower(str[i]);
  }
}

Boost... STL... Qt... Реальность - она выше по тексту :(

Как это говно потом сопровождать? Быть может, я слишком эстет? :) Ваше мнение?

 

impfp
()

[настройки профиля] Про облачка

Почему нельзя выставить «Число меток в облаке» в 0 ?
Недемократичненько.

impfp
()

[boost, размышлизмы] Нафига козам баяны?

Ящитаю, некоторые библиотеки там в упор не сдались. Это касается, например, foreach, lambda, tuple (в двух ипостасях!).

Почему? Наверное, потому что это все же костыли, а не решения...

По отдельности они вроде бы и ничего так. Но практика - вещь суровая, и там всегда требуется некая комплексность. В моей, оговорюсь, практике эти три примитива (foreach, lambda, tuple), как правило, используются разом. Достаточно типична ситуация, когда foreach надо применить к списку tuples возвращаемых каким-то фильтром с использованием анонимных функций. Боюсь даже представить, какое спагетти получится из простого

// Вытащим наружу все проблемы :)
foreach(var x in filter(x => x.a == y && MyCompare(x.b, y), tuple_source)) {
do_something_with(x);
}
Нувыпоняли. В общем случае, придется сваять привязку для FOREACH, доп.код, напрямую с задачей не связанный, для лямбды, и развернуть обращения к кортежам ( get<n>(x) ) - вот такой кандминимум ;-) Вся эта акробатика вполне закономерно снижает простоту и ясность кода, причем единственный профит - производительность, имхо нифига не перевесит проблему сопровождаемости получившегося кода, ибо полезных программ без багов не бывает :)

Хотелось бы услышать о светлом и прекрасном опыте использования данных либ и буста вообще (интересен, в первую очередь, опыт юзания Boost.Function, Fusion, Spirit, BCCL. Всякие там Mpi, asio, iostream, smart_ptr в данном контексте как бы не слишком интересны)

impfp
()

[BSD] В недоумении

И чего нет новости от %username% о том, что наконец-то вышла PCBSD «Телескоп»?

 

impfp
()

[stl]Можно ли как-то иначе

В проекте активно используются stl sort & find списков структур по различным критериям; критериев много, структуры сложные, из чего вытекло наличие кучи-малы маленьких локальных функций сравнения. Имхо, это очень некрасиво, да и, похоже, становится плохо поддерживаемым.

Так вот, вопрос: есть ли возможность описывать все эти предикаты in-placе? Может, в бусте есть что-то позволяющее сваять что-то лаконичное, похожее на лямбды или блоки кода(ruby)?

 

impfp
()

Вышел Ocaml 3.11.2

Никому не нужен? :)

impfp
()

[FPC] Кто тут его знаток?

Натыкался ли что-нить на похожее?

{$mode objfpc}
{$apptype console}
type
	generic T1<A> = class
	public
		x: A;
	end;
	generic T2<A, B> = class
	type public
		T1Alias = specialize T1<A>;
	var public
		x: T1Alias;
		y: B;
	end;
type
	T3 = specialize T2<integer, integer>;
var
	x: T3;
begin
	x := T3.Create;
end.

Это чудо выпадает в осадок при компиляции на определении T3. Что 2.2 что 2.4...

 

impfp
()

Практика функционального программирования-3

Subj, вроде, родился

impfp
()

[fpc, mindfuck] Смешная ошибка

gdt.pas(66,50) Fatal: Syntax error, «<» expected but «<» found

:)

impfp
()

[ТиН] Вышел FPC 2.4 RC1

Из новости на домашней странице сайта (http://freepascal.org/) выходит, что главная фишка в том, что IEnumerable и похожее на него поддерживается компилятором, и, как следствие, появился сахар в виде итераторов. Плюс «Whole-program optimization infrastructure», «Linearly scaling multi-threaded memory manager» и «Improved ARM/EABI support» Некий прогресс налицо, в общем. На покеты будет самое то :)

impfp
()

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