LINUX.ORG.RU
ФорумTalks

libc и её «стаблильный API» в наши дни.


0

1

В последнее время меня заколебали глюки FreePascal'я и мудаки среди его разработчиков, которые пишут говно-код и строят фееричные мнения относительно того, как должен работать их компилятор... Но не будем углубляться в тему какого фига const на 64-битах они трактуют для аргументов функций по другому, нежели на 32-битах, а именно копируют по стеку все данные(что просто невероятно убивает производительность большинства вычислений сложнее работы с обычными типами данных), и перейду к вопросу, что эти мудаки за столько лет для 64-бит используют неоптимизированную реализацию move(от чего, по заявлению в багтрекере, у меня тормозит SetLength). Всем, кто не знает Pascal, можете не углубляться, процитирую кое-какой текст:

On Linux/i386, the «move» routine from the fastcode project is used. On Linux/x86_64, a generic Pascal implementation is used. On Mac OS X, we always use the libc version.

На вопрос(хотя я уже потом вспомнил, что FPC на линуксах абсолютно независим):

Why not to use it on Linux?

получил ответ:

blablablabla... And the reason for not using libc, is that libc is not the same on all different Linux distributions, and not always completely backwards compatible (although I believe that's less of a problem nowadays). That means that depending on libc can make it harder to distribute compiled programs that work everywhere.

Теперь главный мой вопрос - чем, б*ь, libc на MacOS X(разных версий) отличается большей совместимостью/стабильностью, чем на дистрибутивах Linux? И впрямь все так хреново и какой-то более-менее известный дистрибутив предоставляет какую-то калечную версию libc несовместимую с другими, или разработчики живут каким-то 2001-2002?

★★★★

или разработчики живут каким-то 2001-2002?

Задача догнать и потеснить десктопные ОС была поставлена примерно в 98году, вот пацаны и к успеху идут.

Deleted
()

> depending on libc can make it harder to distribute compiled programs that work everywhere.

Точно. Проще зависеть от десяти разных библиотек, чем от одной. Стабильнее, ёлки.

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

Проще зависеть от десяти разных библиотек, чем от одной

Они вообще ни от чего не зависят :) Там какой-то минимальный набор, уже не помню, и проверить сейчас не могу.

Andru ★★★★
() автор топика

>какой-то более-менее известный дистрибутив предоставляет какую-то калечную версию libc

Не знаю как с этим было лет 5-7 назад, но сегодня заявляю - гонят. Т.к. протухшие немаленькие проги трехлетней давности преспокойно компилировались у меня с новым libc. Отсюда вывод - или им лень, или они живут в 90-х, где такое в Linux вполне могло бы быть...

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

на кой черт тебе нужен паскакаль в 2010 году?

Для программирования for fun. Считаю его единственным вменяемым языком для этих целей.

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

Т.к. протухшие немаленькие проги трехлетней давности преспокойно компилировались у меня с новым libc.

Вопрос не о перекомпиляции, а об использовании этих протухших прог в бинарном виде на новой системе. И прога не обязательно должна быть с GUI, что бы можно было сослаться на то, мол такое нереально, ибо GTK/Qt сильно обновились.

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

Запускал бинарники из альта 2005года - УМВР.

Значит разработчики таки мудаки... чорт. И ведь если начнешь объяснять это, и говорить, мол под линуксами нифига проблем нет с libc(хотя я все еще жду хоть каких-нить историй успеха, или fail'а :)), то они вряд ли примутся хоть что-то делать в направлении по использованию libc вместо своего говно-кода...

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

>Для программирования for fun

обычно для этого используют что-то с менее убогим синтаксисом. Пистон или руби например.
Не пойму, какой фан может быть в этих бесконечных begin..end.
Кстати, как там у современного паскакаля с юникодом?

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

>Т.к. протухшие немаленькие проги трехлетней давности преспокойно компилировались у меня с новым libc

таки путаешь API и ABI

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

> Для программирования for fun. Считаю его единственным вменяемым языком для этих целей.

Для фофана лучше питона ничего нет, ящитаю.

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

что-то с менее убогим синтаксисом.

Синтаксис Pascal'я считаю самым вменяемым(разве что регистронезависимость напрягает, да). А begin/end, так у кого-то весьма странные фобии на этот счет... :)

Пистон или руби например.

Они ниразу не подходят для написания чего-то связанного с графикой(я не про интерфейс).

Кстати, как там у современного паскакаля с юникодом?

Нормально, сам использую, а что? Хотя ты видимо Pascal у тебя ассоциирууется только с Turbo Pascal.

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

> в паскале строгая типизация, а в питоне/руби нет, а это вполне может быть плюсом.

Каким образом это может быть плюсом? По-моему ничего кроме геморроя паскалевская типизиция не дает. Вот статическая типизация vs динамическая — это может решать, причем как в одну сторону, так и в другую.

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

> то они вряд ли примутся хоть что-то делать в направлении по использованию libc вместо своего говно-кода...

Делай форк фрипаскаля :3

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

> Они ниразу не подходят для написания чего-то связанного с графикой

Pygame вполне себе ничотак (:

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

> Вопрос не о перекомпиляции, а об использовании этих протухших прог в бинарном виде на новой системе.

А их не смущает, что тонны софта на других языках (гораздо больше, чем на паскакале) зависят от libc и проблемами совместимости с ней не страдают?

Для программирования for fun. Считаю его единственным вменяемым языком для этих целей.

Ну тогда кушайте дальше этот кактус, нечего нытик-треды создавать. :)

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

> Запускал бинарники из альта 2005года - УМВР.

Запускал UT'99. Работает.

AnDoR ★★★★★
()

Я понял, они теоретически хотят иметь возможность быть более портабельными, чем libc. Ну-ну.

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

>в паскале строгая типизация, а в питоне/руби нет, а это вполне может быть плюсом.

плюсом это может быть когда нужна скорость. Или когда полный бардак в голове.
Для написания поделок for fun это обычно не критично и даже удобнее.

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

[quiote] man API man ABI Я опечатался в порыве гнева )

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

>Синтаксис Pascal'я считаю самым вменяемым
он интуитивно понятен, но жутко избыточен. Нет никакого кайфа писать столько лишнего текста

Хотя ты видимо Pascal у тебя ассоциирууется только с Turbo Pascal.

еще с потомками-калеками вроде делфы :)
Фрипаскаль не щупал, вот и спрашиваю

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

> Они ниразу не подходят для написания чего-то связанного с графикой(я не про интерфейс).

Про графику кстати. В современных языках и их реализациях есть что-то наподобие графики из QBasic? Не многостраничный дроч с OpenGL, а просто режим экрана такой-то, линии, точки, заливка...

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

плюсом это может быть когда нужна скорость.

Для написания поделок for fun это обычно не критично и даже удобнее.

Мой for fun связан с графикой, скорость - критичный показетль :} Еще вопросы и тупые рассуждения об языке, а не по сабжу? )

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

Andru> Для программирования for fun. Считаю его единственным вменяемым языком для этих целей.

Чем невменяем петон? В освоении прост, в использовании прост, в переносе между платформами прост, библиотек дофигище (в том числе стандартных), вычисления не тормозят.

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

Andru> Вопрос не о перекомпиляции, а об использовании этих протухших прог в бинарном виде на новой системе.

gcc -static

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

Про графику кстати. В современных языках и их реализациях есть что-то наподобие графики из QBasic? Не многостраничный дроч с OpenGL, а просто режим экрана такой-то, линии, точки, заливка...

Тебе бы это... пора из 90х вернуться :) А с OpenGL проблем не вижу. Для твоих же целей под линуксами есть быстрый Xshm, можешь издеваться как душа попросит )

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

mono> в паскале строгая типизация, а в питоне/руби нет, а это вполне может быть плюсом.

В петоне тоже есть строгая типизация, если так надо. А для фофан-кодинга она никак не помогает.

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

Andru> Они ниразу не подходят для написания чего-то связанного с графикой(я не про интерфейс).

Почему?

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

gcc -static

Об это я знаю, да... интересует именно уровень стабильности ABI(в теме очепятка) в libc :)

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

nu11> Фрипаскаль не щупал, вот и спрашиваю

FreePascal - это свободная реализация Turbo Pascal. Так что правильные у тебя ассоциации.

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

tx> Про графику кстати. В современных языках и их реализациях есть что-то наподобие графики из QBasic? Не многостраничный дроч с OpenGL, а просто режим экрана такой-то, линии, точки, заливка...

Не нужно. Графика должна быть вынесена в отдельную библиотеку. Иначе будет не язык, а срачь.

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

Чем невменяем петон? В освоении прост, в использовании прост, в переносе между платформами прост, библиотек дофигище (в том числе стандартных), вычисления не тормозят.

Я назову только одну причину, т.к. все расписывать лень. У него охрененно здоровый депендс.

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

>Еще вопросы и тупые рассуждения об языке, а не по сабжу? )

появление этого треда свидетельствует о том, что самой большой тупостью был выбор паскакаля :)

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

не могу, только новости можно редактировать.

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

> Графика должна быть вынесена в отдельную библиотеку.

Пусть в отдельную, но чтобы было так же просто и высокоуровнево. Такое есть?

Иначе будет не язык, а срачь.


Для фофана это намного проще и удобнее.

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

Andru> ты где это вообще вычитал? )

Это просто факт. Там под совместимость с Turbo Pascal и Delphi сначала всё пилилось, а потом забросилось и своим путём пошло.

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

mono> от того что там есть строгая типизация питон строго типизированным языком не становится.

Ржал всем офисом.
То есть обязательно должна отсутствовать динамическая типизация? Она жить мешает что-ли?

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

tx> «в 90ых» аналогичное делалось одной командой SCREEN и циклом с опросом клавиатуры.

А на бэйсике Hello World в оду строчку умещался, в то время как на Qt... ;) Только бэйсик никому не нужным оказался. И на деле очень неудобным.

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