Кстати, для фанатов KDE/Qt.. GNOME + GTK2.0 -- это сильно. Ребята хорошо поработали. Помимо АПИ сильно похорошел лук&фил. GIMP2 кстати, на оном GTK будет сделан..
Ага. И как всегда - ни бинарной -- ни сорсевой совместимости. плюс, весит уже за 12 метров. В гудок такие поделия. Это я про куте. Про кде и говорить даже не хочется. А ведь когда-то только ее и пользовал :(
> 2 Serik: Привыкайте. Это для линуксоидов традиционно.
Идиот - это первая смена (не сильная) API за пять или более лет и без нее не обойтись. Все о ней знают, о ней объявлено 2 года назад, и все кому надо тестируют/портируют свою софтину на этих вот снапшотах нестабильной ветки - gtk-1.3.x.
-Vlad
2 badger: На Windows XP работают программы Windows 3.11, которые были написаны за несколько лет до того, как Linux 0.1 появился в usenet. Вот так-то. И досовские программы не работают некоторые только потому, что компьютеры стали слишком быстры.
2 ifconfig: Думал про дос сначала, написал про Windows. Линукс вроде как в 91 появился. Интересно, какой процент софта, написанного тогда, сможет в нынешнем линуксе работать без перекомпиляции? Чего стоят только скачки с libc/glibc. W 3.11 тоже была выпущена в 91 году кстати.
А "волосатого года" программа работает даже на ZX Spectrum. Проверено лично, в "менее волосатом" году. Про Windows я вообще молчу.
В общем обратная совместимость у Linux - одна из главных проблем.
2ifconfig: "Теперь тебе это будут вспоминать еще долго, как Огру за хардлинки :)))"
Да я кстати и не переживаю, что мне это помнят, я даже где-то эти и горжусь. Честно. Представь как только анонимусу сказать не чего, то он сразу "а как там, Огре, хардлинки поживают". После это становится ясно что в тереде можно нести любую чушь, все равно ведь не заметят, ведь это как подпись "Я, Анонимус, туп и ни чего не знаю. Издевайтесь надо мной!"
"Кстати, на линуксах работает после перекомпиляции программа написанная Ритчи в 19_волосатом году
#include <stdio.h>
int main (int argc, char *arg[]) {printf("Hello, world!!!\n");}"
Ритчи *так* не писал.
Он писал что-то вроде
#include <stdio.h>
int main (argc, argv)
int argc;
char *argv[];
{printf("Hello, world!!!\n"); return 0;}
Старина Огр
я знал что ты заметишь описку (arg вместо argv)
но то что ты придерешься к форматированию и стилю описания параметров, ИХМО перебор
Кстати, к моему стыду я не читал Ритчи в оригинале, а в том варианте который бродил еще в совке на дискетах и
вовсе аргументы не указывались. Просто main(){printf..... Вот я ща мучаюсь в догадках, то ли перевод кривой, толи Ритчи так писал?
А вод насчет return 0
Признаю, забыл. Каюсь каюсь.
А вообще после "тупого" треда насчет АА линуксоиды упали в моих глазах еще больше :)
Bluezman>>>В общем обратная совместимость у Linux - одна из главных проблем.
Что понимается под Linux и с чем ОБРАТНАЯ совместимость? GNU софт как работал, так и
работает, а платформо-зависимые вещи ядра - нет. Для кого проблема, а для кого - решение (его проблем)!
А потом, gtk не только под линукс работает...
Это нормально, что система может
избавляться от балласта устаревших/неоправдавшихся решений - это важное ПРЕИМУЩЕСТВО открытого
процесса разработки. Кому не нравится - имеет возможность выбрать другую систему и
другой подход к совместимости.
Как решать вопросы (обратной) совместимости - это проблема выбора СТРАТЕГИИ
развития, т.е в определенном смысле - философский вопрос, идеального решения у него нет.
Мне виндовый подход нравится гораздо меньше, да и насчет качества их "совместимости" и способов,
коим она достигается ты видно не в курсе... Ты не видел как ПАРТНЕРЫ M$ парятся
над своими продуктами при выходе не нового релиза ОС - а так, просто при обновлении
IEшки, сервис-пака и т.п.
угу.. паскуаль рулез. паскуаль и БСД - 2 горя.
Во первых, не указано имя программы, файлы, ею используемые
и секция ВАР
Во вторых, написана программа маленькими буковками. Что неверно.
В третьих, не поставлена точка после программы.
PROGRAM HELLO_WORLD ( OUTPUT ) ;
VAR :
BEGIN
WRITELN( "HELLOW WORLD, PASCAL IS CASE INSENSITIVE" ) ;
END .
2Bluezman (*) (2001-09-06 04:18:09.0):
> В общем обратная совместимость у Linux - одна из главных проблем.
Гонишь, браток.
Я еще ни разу не встречал такой. Только в Tcl/Tk -- ну, так это их проблемы.
У меня работают (без перекомпиляции) программы, динамически слинкованные
и с libc4, и с libc5, и a.out. И, заметь, безо всяких усилий с моей стороны.
И, вообще, я впервые слышу про проблему обратной совместимости у Linux.
Статически слинкованные программы будут работать всегда, пока позволит
железо -- кстати, для Виндуза это не так, там невозможно слинковать программу
ПОЛНОСТЬЮ статически.
Кстати, у меня есть программа, написанная под Win3.1, которой нельзя пользоваться
под win95 -- проблема с русскими шрифтами.
Про 12 мегабайт - я не хочу держать две куте -- одну для запуска программулин,а вторую для запуска кде3. 2*12 это уже 24. Я конечно, ничего не говорю, память стоит копейки, но имхо, это не правильно -- надо чтоб бинарная хотябы совместимость оставалась..
> Пока позволит ось. Убери из ядра некий системный вызов и привет
Ну, естественно.
Хотя, теоретически, можно написать прогу без сисколлов вообще.
>>кстати, для Виндуза это не так, там невозможно слинковать программу
>>ПОЛНОСТЬЮ статически
>Как и в линухе. Сисколы все равно ядро обрабатывает.
Речь шла не о сисколлах, а о линковке.
В Виндузе одна (или две, не помню уже) системная дллка не поддается
статической прилинковке.
>>Особенно если учесть, что вместо arg можно написать хоть hrentechto[]:)
Угу, можно, только никому кроме себя это не показывай. Напиши свое hertechto[] на собеседовании при устройстве на работу. Я уверен, что дальше этой строчки читать не будут.
>>Да уж куда уж нам убогим.....:( Все вокруг дерьмо, только вы в белом фраке:(
Да мы как-то не очень то в белом, но читать то дельмо и чувствувать на себе брызги слюны малолетних "линуксоидов" как-то не было приятно, даже не в белом фраке.
2lenin (*) (2001-09-06 20:10:29.0):
> Хотя, теоретически, можно написать прогу без сисколлов вообще." - Да ?
> А примерчик слабо привести ? Не лоханись только, теоретик :)
Такой вот куркулятор:
int main(int argc, char *argv[])
{
unsigned int a,b;
if(argc!=3)return -1;
a=*(argv[1])-'0';
b=*(argv[2])-'0';
return a+b;
}
$ ./nosyscall 5 6; echo $?
11
Конечно, неявно присутствуют сисколлы, связанные с
загрузкой/выгрузкой, типа _exit(11). Но программа не использует ни
одногй библиотечной функции, могущей содержать сисколл.
А посмотреть исходники unix v6v7 на ftp://xxxx@minnie.cs.adfa.edu.au/PDP-11/Distributions/research/
main(argc,argv) int argc; char *argv[]; {
auto int n;
whereami();
setup(argc,argv); /* initialize and read productions */
tbitset = (nterms+16)/16;
cpres(); /* make table of which productions yield a given nonterminal */
cempty(); /* make a table of which nonterminals can match the empty string */
cpfir(); /* make a table of e free first lists */
stagen(); /* generate the states */
output(); /* write the states and the tables */
go2out();
summary();
windup();
}
Это из Dennis_v6/v6src.tar.gz yacc/source/y0.c
/* синтаксис C с тех пор несколько #;} поменялся,
но при необходимости код весьма правитЪся */
/Ик/
to lenin:
/boot/loader из FreeBSD, загрузчик ядра.
Но в нем есть втроенный интетрепатор некоторого (BootFORTH?;) языка,
формализЬмами которого вполне могно налабать прог`амму революционных
п`еобразований.
/Ик/
P.S. П`имер:
: check-password
password .addr @ if
0 autoboot
false >r
begin
bell emit bell emit
." Password: "
password .len @ read-password
dup password .len @ = if
2dup password .addr @ password .len @
compare 0= if r> drop true >r then
then
drop free drop
r@
until
r> drop
then
;
Немного не в тему, ;) но Ритчи писал так (дословно с оригинала):
main()
{
printf("hello, world\n");
}
страница 6, глава 1. The C Programming Language, Brian W. Kernighan,
Dennis M. Ritchie, Bell Labs, Murray Hill, NJ.
Издательство PRENTICE-HALL, INC., Englewood Cliffs, NJ 07632
Однако, в Pascal большие и маленькие буковки - все равно, хоть
wrItELn(""); пиши! А вообще, встроенные функции для ввода-вывода - это, мне кажется, очень плохо и неэстетично. Они хороши в арифметике - вот тут, к сожалению, _обычный_ C проигрывает на всяких sin(),cos().
KMR
Хоть я и не специалист вообще, но без сисколлов можно написать то, что вообще ничего заметного извне не делает и завершается только принудительно. А в виндовс, если ты с этими системными dll статически слинкуешь, то получишь портабельность бинарника в рамках своей машины:
как раз у виндуса сисколлы, говорят, чуть не каждый день меняют!
2bluzman: зато ms классно решила проблему совместимости. их код от win3.11 тянется через года. 98/me содержат большую половину 16битных модулей. скорость - заебись просто.
2 sergey_volosat: Психически здоровые и умственно полноценные люди Win95 перестали использовать в 1996 году, ровным счетом ничего не потеряв. Ну а те, кто выбрал именно их -- флаг им в руки, значит их устраивает. Некоторые люди ведь компьютеры выключают на ночь. Просто потому, что электричество дорого стоит.
2Bluezman (*) (2001-09-09 22:37:58.0):
> Психически здоровые и умственно полноценные люди Win95 перестали
> использовать в 1996 году, ...
Точно!
Именно в 1996 году я окончательно соскочил с поделок M$, и с тех пор
на моем десктопе живет Линукс.