LINUX.ORG.RU

Lazarus 1.0

 , , ,


3

1

Вышла новая версия свободной среды разработки для компилятора FreePascal — Lazarus 1.0. В связи с этим важным событием нынешняя команда разработчиков Lazarus хотела бы поблагодарить всех людей, которые когда-либо были вовлечены в его разработку. Особая благодарность основателям проекта, которые начали работу над ним более десяти лет назад, в 1999 году: Клиффу Бэйсеману, Шейну Миллеру и Майклу А. Гессу.

История разработки.

Скачать.

Минимальные системные тебования:

  • Windows: 98, 2k, XP, Vista, 7, 32 или 64 бит.
  • FreeBSD/Linux: gtk 2.8 или Qt4.5, 32 или 64 бит.
  • Mac OS X: 10.4, с LCL только для 32 бит, без LCL можно использовать и для 64 бит.

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

★★★★★

Проверено: maxcom ()
Последнее исправление: Binary (всего исправлений: 2)

Ответ на: комментарий от anonymous

Это потому, что дедушка Вирт сначала подумал, потом сделал

Торвальдса надо слушать, а не дедушек всяких. Он говорил ясно и коротко про «сначала подумал, потом сделал». И спор с дедушками-теоретиками у него был.

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

Но только школьник (по паспорту или в душе) может предположить, будто бы это чья-то ошибка. Комитет просто взял и отбросил вещи, важные лишь для академиков, в угоду вещам, важным для практики.

Как меня радует догматический подход в технических науках!

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

Между прочим, одна из киллер-фич C++ - возможность легко прокидывать интерфейсы в другие языки;

Это точно про *плюсы* было?

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

ok. Надо почитать за столь замечательный язык. Задач, правда, пока нет, но для саморазвития ...

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

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

Можете посмотреть D2 и Go, они вполне себе компилируемые.

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

Это я обнаружил

D2, Go, Python (применимо и к спискам, и к стандартным массивам, и к массивамиз numpy). Наверное, есть ещё.

Мне стало сомнительно - вот и проверил для списков (list). В стандартных массивах (array) тоже происходит копирование. Вот авторы numpy молодцы, расстарались. Вы же спец по python-у, не подставляйтесь так по децки :)

anonymous
()
Ответ на: комментарий от quiet_readonly

Между прочим, одна из киллер-фич C++ - возможность легко прокидывать интерфейсы в другие языки;

эмм .. с Си не перепутал? А то я помню как std::vector «прокидывал»...

anonymous
()
Ответ на: комментарий от Vudod

А это что за конструкция? она что, компилируется?

И что под срезом имеется в виду? Надо чтобы один массив в находился внутри другого? Если да, то с прадедовских времен паскаль умеет это:

var x:array[1..30] of real;
    y:array[1..10] of real absolute x[10];
begin
 x[11]:=12345.6789;
 writeln(y[2]);
end.
xdsl
()
Ответ на: комментарий от hobbit

З.Ы. Еще мне всегда нравилась возможность создания нескольких деструкторов. Например, у класса описывающего файл в качестве деструктора могут выступать методы «delete» и «close», которые можно было бы вызвать явно. В плюсах такого увы нет :(

A-234 ★★★★★
()
Ответ на: комментарий от xdsl

А это что за конструкция? она что, компилируется?

Это объявление нового массива из D2. Да, компилируется.

Под срезом имеется в виду часть массива, любой его непрерывный фрагмент. Это бывает удобно, например, пишете какую-нибудь функцию для работы с массивом, а потом оказывается, что при вызове нужно передать туда не весь массив, а только его первые 3000 элементов. В Паскале придётся передавать дополнительно начало и конец фрагмента, в D2 достаточно написать:

arr[0 .. 3000];

Кроме того, в D2 (но не Go) можно использовать срезы для арифметических операций, например,

arr[0 .. $/2] /= 2;
и первая половина массива поделится на 2.

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

А его уже допили до состояния, когда хеловорд не отжирает 500 мегов оперативы?

Ради знакомство я зыком написал на нём QR-рзложение. Никакого сверхъестественного потребления памяти не заметил. Честно говоря, не совсем понимаю, откуда взялись эти тесты и как их делали.

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

достаточно написать либы столь же дубовые, как в паскале, не пересобирать их конечно же - так делают в паскале

что за чушь. Какие либы имеются ввиду? Из поставки делфи, лазаруса, 3-d party? Либы в делфи всегда пересобираются вместе с проектом (если специально не указано обратное), включая VCL и RTL.

он становится слишком простым

Вы так говорите, как будто в этом есть что-то плохое

учит уже всё делать на «лишь бы у меня с грехом напополам работало» и не считать количество лишних сущностей и повторений.

Учит не язык а учитель (литература в случае самообучения), а быдлокода на любом языке полно Сразу понятно что вы последний раз видели делфи в школе, и, соответсвенно, школьный же код.

anonymous
()

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

anonymous
()
Ответ на: комментарий от A-234

в С для этого есть static

Вы что-то путаете, static не для этого.

Поэтому не понимаю восторгов по поводу модульности.

А попробуйте, например, использовать в программе несколько сишных библиотек с пересекающимися именами. Или попробуйте написать хедер (интерфейс) так, чтобы он не тащил за собой ещё кучу хедеров - к этому нужно приложить усилия, а в модульных языках это из коробки. Ну и нечего говорить, что dlopen нет в стандарте.

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

Это объявление нового массива из D2. Да, компилируется.

Понятно. Думал, что паскаль и c++ сравниваются.

xdsl
()
Ответ на: комментарий от unsigned

так, чтобы он не тащил за собой ещё кучу хедеров

в модульных языках это из коробки

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

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

Кстати, забавная привычка паскалистов - измерять всё в строках кода

А знаешь посему С-шники строки не считают? Просто 60% строк на С это стока с символом { или }
:)

Кстати, наблюдается некий эффект - программер усвоивший паскаля по доброй воле на С++ не перейдет. Скорее на JAVA или C#

Так скажу - для справки чисто - что и в C++ той же скорости достигнуть несложно, достаточно написать либы столь же дубовые, как в паскале, не пересобирать их конечно же - так делают в паскале, и свой проект вместе с такими вот либами писать, используя pimpl и предварительные объявления.

Скажу для справки - 30 секунд это с ПОЛНОЙ перекомпиляцией ВСЕХ сырцов проекта с линковкой.

И да - сказки, будто бы паскаль лучше подходит для обучения, остаются сказками

Это не сказки это жизнь.

а вот дальше он становится слишком простым и учит уже всё делать на «лишь бы у меня с грехом напополам работало» и не считать количество лишних сущностей и повторений.

У вас были плохие учителя. Очень плохие.

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

в C++ той же скорости достигнуть несложно

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

сказки, будто бы паскаль лучше подходит для обучения

Ничего лучше для курса информатики пока не придумали. Питон разве что, но там динамическая типизация.

учит уже всё делать на «лишь бы у меня с грехом напополам работало»

Именно так любят писать на си, причём даже многие опытные кодеры. Код на паскале обычно более надёжен.

одна из киллер-фич C++ - возможность легко прокидывать интерфейсы в другие языки

Хорошая шутка.

до идеи писать гибридные программы они ещё не дошли

Нет технических сложностей экспортировать интерфейс с стиле си. Раз паскалистам это не нужно, значит им хватает своего языка, а сишникам - нет.

Но только школьник (по паспорту или в душе) может предположить, будто бы это чья-то ошибка

Си переполнен ошибками дизайна, даже после многочисленных комитетских исправлений. Си++ их успешно унаследовал (кроме нескольких) и добавил на порядок больше.

Торвальдса надо слушать, а не дедушек всяких

Торвальдс в вопросах ЯП такой же авторитет, как Денис Попов.

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

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

Ну, зависимости - это нормально. Плохо, когда импортируешь модуль А, а в пространстве имён оказывается ещё и Б.

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

Либо вы толком не пользовались, либо не поддерживали обросший «фичами», как мамонт говном, унаследованынй софт на, к примеру, 7-х дельфях, написанный программиздами, которые не знают, что не вредно отделять UI от базы, не ведают, что такое ортогональность, и «модульность искарпопки» используют не при помощи верхней головы... а по наитию нижней :) Взаимные ссылки, например, сплошь и рядом встречаются (легко превращаясь в циклические при попытке это переделать), визуальное наследование форм, выполненное ректальным способом или использованное не по назначению, версионность компонентов, которые их фанаты тащат в проект, абы какая (а без нее «повторное использование кода» может вынести неподготовленный моск), завязанные на порядок инициализации модули, из-за которых работоспособность софта зависит от фазы луны - после некоторого порога (хотите - меряйте в тысячах строчек кода) задачка по разруливанию зависимостей, которые были изначально, пущены на самотек, перестает быть тривиальной. (Или вы про сферический в вакууме «чистый паскаль» спрашиваете? :))

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

Я о том, что без применения головы по назначению, «модульность искаропки» ничего не гарантирует :)

slackwarrior ★★★★★
()
Ответ на: комментарий от A-234

потом пошли всяческие сущности типа class которые отличались от object, что только добавило бардака.

Это спасибо BORLAND. Дедешка Вирт очень протестовал против этого, и сделал просто волшебный по синтаксису Oberon описание которого умещается на двух страницах и компилятор к которому может написать даже школьник.

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

синтаксис грамотно продуман. Это не исправить.

День прожит не зря!

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

Так где тут проблема модульности паскаля?

Видел не меньше говно программ на C, C++, VB и, даже, asm.

anonymous
()
Ответ на: комментарий от slackwarrior

Это проблема именно головы. При программировании на С++ надо решать еще и проблемы модульности самого языка.

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

При правильном использовании головы не надо :) Потому что это либо использование не по назначению, либо недостаток квалификации (экстенсивное использование антипаттернов проектирования «наитие», «чутье», «метод тыка»)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от slackwarrior

К сожалению никто. :( Есть несколько десятков фанатиков, но Оберон действительно хорош.
Успеха как язык программирования достигает не всегда лучший. Ни кто не скажет что фортран замечательный язык, однако он успешный и живой. Пролог наверное самый лучший язык для работы с базами данных/знаний, но кто им пользуется? Единицы.

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

в случае С++ для того, чтоб не замечать проблем с модульностью «правильно» можно использовать голову можно только одним способом: засунуть ее в песок и делать вид что проблем с модульностью нет :)

anonymous
()
Ответ на: комментарий от vada

Ни кто не скажет что фортран замечательный язык, однако он успешный и нишевой

Ггг. Сколько опечаток в одном слове :)

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

Да хорош. Еще мне Модула нравиться. Лучше бы её Борланд развивал вместо Паскаля.

anonymous
()
Ответ на: комментарий от slackwarrior

В С++ нет модульности. Есть костыли унаследованные из С.

Зато можно делать забавные штуки вроде #include «/dev/tty»

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

засунуть ее в песок и делать вид что проблем с модульностью нет :)

Нет. Это как раз антипаттерн проектирования :) Самоустранение от управления зависимостями, вместо их грамотного разведения. Нужно попросту знать ограничения языка (кто действительно знает язык, обычно знает, что будет работать, а что будет глючить и тормозить и почему :)) и душить порывы делать через жопу :)

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

Можно бриться топором. И бензопилой яйца чесать. Но не долго и мучительно.

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

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

anonymous
()
Ответ на: комментарий от vada

Скажу для справки - 30 секунд это с ПОЛНОЙ перекомпиляцией ВСЕХ сырцов проекта с линковкой.

Ну я про полную и говорю. Инкрементальная-то в плюсах ограничивается возможностями gmake, а не компилятора.

У вас были плохие учителя. Очень плохие.

Паскалисты всё перетолкуют как им нужно. А пример RAII на паскале в студию можно? Иначе будем считать, что в паскале всё течёт и сегфолтится, как и в C.

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

Нет никакого самоустранения. Это проблема проектирования архитектуры ПО. Т.е. это совсем другая проблема.

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

Нет никакого самоустранения.

«Он хотел и не мог!» (с) Эпитафия. Если самоустранения нет, тогда есть пробелы в образовании :)

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

Аргументация от блатных понятий начинается, когда, собственно, аргументы закончились :) Поздравляю! Слив защитан.

не могущего в языки с не C-like syntax :)

Паскалист в законе? :) Дай угадаю... 10 лет лагерей за быдлокод?

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