LINUX.ORG.RU

Вышел Lazarus 3.0

 ,

Вышел Lazarus 3.0

2

4

Команда разработчиков Lazarus рада сообщить о выпуске Lazarus 3.0 — интегрированной среды разработки для Free Pascal. Этот релиз по-прежнему собирается компилятором FPC 3.2.2.

В этом выпуске:

  • добавлена поддержка Qt6, основанная на версии 6.2.0 LTS; Минимальная версия Qt для lazarus 3.0 — 6.2.7;
  • полностью переработана привязка Gtk3;
  • для Cocoa исправлены многочисленные утечки памяти и реализована поддержка многомониторных конфигураций;
  • добавлена подсветка синтаксиса для PasDoc;
  • исправления и улучшения для компонентов TCustomImageList, TTaskDialog, TSpeedButton и других.

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

★★★★★

Проверено: hobbit ()
Последнее исправление: Virtuos86 (всего исправлений: 5)
Ответ на: комментарий от quickquest

Это другая ветка СМ: СМ-3, СМ-4.
Не приходилось на них работать.

Шутка

Гм., «паскалистом» стал.

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

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

Результат - это ПО которое установили, а еще лучше купили.

windows10 ★★★★★
()

Позвольте пару слов об обучении. Когда людь говорят рассуждения об, всё время забывают про ЦЕЛЬ, т.е. про кого и ЗАЧЕМ обучаем?

Ежели мы за школу, то школа у нас ВСЕОБЩАЯ и ОБЩЕобразовательная, потому приводить в пример СПЕЦиализированные фмш или ваш личный программистски заточенный мозг не след. Задача СОШ – дать всем общее образование, в частности, ПОЗНАКОМИТЬ с программированием за разумное время, поскольку школота ОДНОВРЕМЕННО изучает 12-15 предметов.

Так что Паскаль здесь вне конкуренции, а у Питона есть несколько слабостей в том числе в области синтаксиса и в интерпретируемости, т.е. ознакомить с этапом компиляции – тот ещё цирк для Питона.

Говорить здесь за Си или вообще за С++ или Джаву могут только те, кто даже близко не представляет ужос нах работы учителя. Вы можете осознать трудозатраты на чтение и вылавливание ошибок в ученических прогах на С++?! Прямо на одном из 15ти экранов на уроке «А у мяня не компилируецца?!»

Говорить за вышку, так след различать профиль, т.е. именно погромисты должны изучить в вузе программирование с нуля и до. Т.е. начинать опять с Паскаля до указателей и ассемблерных вставок, после чего, изучив параллельно кучу всякого, включая устройство проца, машину Поста и доказательства с её помощью разрешимости алгоритмических задач, плавно переходить к Си, с которого, когда доберутся до ООП, на С++ и Джаву.

Вот параллельно с Си или ООП на С++ мона и нуна изучать Луа, Форт, Пёрл, Питон и пр. Расты с Го.

Не погроммисты должны изучать не программирование на, а решение задач своей предметной области с помощью наиболее подходящих инструментов. Здесь можно начать с Питона, а потом более глубоко или параллельно учить остальное, тот же R для статистов, несколько лаб по GnuPlot или Octave, та даже bc найдётся применение. Всякие Матлабы/Автокады – к концу обучения, когда для решения задач на таких инструментах созреют студенческие мозги.

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

Смешно. Я весь обхахатался - мы же на IT-форуме

Да уж точно не в лингвистическом. :)

Там бы наверняка пришлось обхохотаться... ;)

Язык Ada - это ооп, модульный язык, с паскалеподобным синтаксисом,с многопоточностью из коробки и многими плюшками для написания надежного кода. Назван в честь первой женщины-программиста - Ады Лавлейс.

Спасибо, кэп! :)

Я рад, что вы таки знаете, что никакого «языка ADA» не существует...)

Жаль только, что смайлов не понимаете... Да и с чувством юмора «всё сложно»...

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

бейсик например. Практической пользы от него никакой, изучали именно как учебный язык

Отнесение языка к категории «учебных» не делает его непригодным для вполне так себе практических задач.

Например, мой сын во второй половине «нулевых», классе в девятом или десятом, не помню уже, наваял для школы вариант среды Лого, которая была удобнее и лучше, по оценке преподавателей информатики. На Visual Basic, да. :)

Так что «учебность» инструмента — вещь весьма относительная и во многом определяется «местами произрастания рук» его пользователей... :)

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

У форта два стека, мощное метапрограммирование в которое нужно въезжать, словари

~35 лет тому назад вполне так себе нормально «въехалось» путём прочтения книги «Язык ФОРТ и его реализации» Баранова и Ноздрунова. Предыдущий опыт программирования ограничивался Ассемблером для Intel 8080.

А уж когда приобрёл первый ПК, да попала в руки среда разработки на FORTH F-PC от Tom Zimmer с целевым компилятором TCOM — я просто как будто в рай попал! :)

Сваял на нём себе кросс-ассемблер для PIC16C84, софт для самосборного программатора для этого контроллера, и много чего ещё полезного, по мелочам. :)

Кстати, до сих пор с теплотой вспоминаю его справочную систему — гипертекстовую! И это ещё под DOS!

Так что «Не так страшен чОрт, как его малютка!» :)

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

Представляю вуз с заменой учебных материалов и переобучением преподавателей раз в 5 лет. Выпускающий специалистов для языка, который умирает как раз к получению диплома.

Которые замечательно не знают его ещё задолго до получения диплома... :) (из личного опыта, насмотрелся).

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

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

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

Форт можно лучше понять после ассемблера, а не до.

Утверждение спорное, на мой взгляд, но у меня получилось как раз таки «после» — так сложилось исторически. :)

Из общего у них (и привлекательного для меня) максимальный контроль, обратной стороной которого, и проблемой для многих, является максимальная ответственность программиста.

Мне это всегда нравилось, а некоторых многих — отталкивало... :)

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

Не оно?

Нет, это стандартный, а «графический» мне попадался не только на СМ ЭВМ, но и на «ПК Электроника-60». Он был чуть компактнее, но редактировать псевдографические блоки без мышки было неудобно. Возможно поэтому он и «канул в лету».

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

В плюсах есть модули.

В какой версии, в каких компиляторах

Судя по https://gcc.gnu.org/projects/cxx-status.html (1) и https://clang.llvm.org/cxx_status.html (2), то в GCC >= 11 и в Clang >= 15. Если я правильно понял. :)

А вот что пишет автор https://github.com/royjacobson/modules-report#compilers-support:

MSVC
MSVC have a complete implementation of modules. Support of C++23’s import std is done and was shipped in VS2022 17.5. However, it is recommended to wait until 17.6 because of some serious compiler bugs that were not fixed in time.

GCC
GCC has some support for modules, but it seems to still be pretty buggy and progress has pretty much stalled until very recently (Sep 22). See (1) for the state of the module papers and here for a list of reported bugs in the current implementation.

Clang
Work on Clang C++20 modules support is ongoing. See (2) for the state of module papers and here for module related issues. There’s a lot of very recent progress, so working with upstream versions is probably best.

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

На РАФОС/RT11 был транслятор паскаля который pas транслировал в макро, а потом надо было транслировать mac в sav. Но приколов с заменой begin-end не помню, обычный паскаль.

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

Шутка на > Вот параллельно с Си или ООП на С++ мона и нуна изучать Луа, Форт, Пёрл, Питон и пр. Расты с Го.

Согласен с Вами.
https://en.wikipedia.org/wiki/List_of_programming_languages
Ещё не помешало бы изучение: Ballerina, CDuce, DIBOL и Mystic.

И лишь после «изучения» заняться НАСТОЯЩЕЙ РАЗРАБОТКОЙ.

Forum0888
()
Ответ на: комментарий от s-warus

Согласен с Вами.

У меня так.
Многие ЯП использовал, а ныне лишь C++.

Почему так?

Для каляк, маляк многие ЯП подходят, а для системной разработки лишь C++.

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

но на стиль всё изученое влияет, да и си++ изменился больше чем php, тут спец советовал стауструпа я жалко промолчал, но ржал внутри.

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

но на стиль всё изученое влияет,

ИМХО ЯП нужно знать, но это лишь 1% для того, чтобы стать разработчиком.

Для меня загадка, почему так много о ЯП «рассусоливают» на ЛОР.

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

Там в баг трекере уже понасоздавали предложений «как в Delphi 12»

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

Есть с чем сравнить

Аж вздрогнул! На первой секунде показалось, что это Н. С. Михалков. 🤣

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

Отнесение языка к категории «учебных» не делает его непригодным для вполне так себе практических задач.

Чел просто очень молод и не в курсе, что Бейсик вообще ни разу не учебный язык, а был некогда единственным средством управления ПК, т.е. когда в них вообще ничего не было, окромя Бейсика, «зашитого» прямо в. Т.е. Бейсик был одновременно и ЯП, и шеллом. Потому этих Бейсков, несовместимых между собой, как собак нерезанных.

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

Ещё не помешало бы изучение

… Лиспа, после которого спустится к Хаскелю. Мы здесь говорим об образовании специалиста в программировании, а не кодаря или кодарыни. Сколько времени, по вашему, займёт изучение Луа после Си и базы, вроде теории создания компиляторов, теории конечных автоматов, контекстно-свободных грамматик и нотаций бэкуса-нуара? 2 недели между делом, если с хорошей методичкой, к концу которых студент уже написал для него работоспособный транслятор.

заняться НАСТОЯЩЕЙ РАЗРАБОТКОЙ

«Настоящая разработка» – это сферический конь в вакууме. В одной конторы «настоящая разработка» – это мелкие проги на Питоне, цикл жизни которых – 1 месяц, в других – «тонны легаси» на ANSI C, работоспособность которых в меняющихся условиях надо поддерживать ещё неограниченное количество десятилетий, в третьих – как раз создавать трансляторы для Луа или Питона, встраиваемые в, дабы пользователи/игроки могли писать свои расширения. В четвёртых это вообще конфигурирование 1С под нужды заказчиков и создание на этой основе интернет-магазина.

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

2 недели между делом, если с хорошей методичкой, к концу которых студент уже написал для него работоспособный транслятор.

Супер! (чувствую себя ПОЛНЫМ ДУРАКОМ).

К примеру на парсинг и отладку использования struct C++ потратил полтора месяца (и всё ok).
Поддержан стандартный синтаксис и дополнительно определения семантики для полей и в целом для структуры.

«Настоящая разработка» – это сферический конь в вакууме.

Да, пожалуй слово «НАСТОЯЩЕЙ» было лишним.
То бишь «заняться разработкой».

----------------------------------------------------------
Теперь всё ясно, почему застой в IT.
Студентам не дают возможность заниматься разработкой.

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

К примеру на парсинг и отладку использования struct C++

Вы осознаёте разницу между «полноценно освоить С++» и «познакомится с Луа»?! Луа встроен во многие приложения, включая игрушки и на нём пишут люди, даже не понимающие, что занимаются «настоящей разработкой».

То бишь «заняться разработкой».

Написание трансляторов – не настоящая разработка? Парсеров xml?

Вот почему реальные преподы топят за Паскаль? Та потому что на Паскале нулевой чел в программировании сможет написать прогу решения квадратного уравнения через 1 урок ознакомления с. Т.е. ещё до того, как поймёт разницу между оператором, процедурой и функцией, ничего не зная об устройстве памяти компа и работе процессора.

Т.е. не магия & в функция ввода в Си, а «команда компьютеру»: запомнить число, введённое пользователем, команда «сложить числа», команда «сравнить числа» и т.д.

Т.е. уже на 2м часу преподавания программирования с ИЛЛЮСТРИРОВАНИЕМ на Паскале, учащиеся могут заниматься «разработкой», т.е. записывать алгоритмы в программу, компилировать и запускать на исполнение, причём сразу всё аккуратно и структурно, но не заморачиваясь на количестве отступов, которые даже простой редактор расставит правильно, по begin-end, даже если чел писал всё в одну строку.

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

Та потому что на Паскале нулевой чел в программировании сможет написать прогу решения квадратного уравнения через 1 урок ознакомления

Как и на С++

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

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

Это, мягко говоря, брехня.

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

Я не помню как там решаются эти ваши уравнения, но что, большая разница между

x := y + c * b / 2;

и

x = y + c * b / 2;

И уж наверное

std::cout << x << std::endl;

намного сложнее чем

writeln(x);

????

Паскаль я и сейчас считаю очень запутанным, особенно синтаксис очень странный, в С++ можно конечно писать очень запутанно, но простые вещи на нем выглядят намного проще. А в паскале уже пропуск begin end среди if, for читается трудно.

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

Разумеется это сложнее, так как предполагает намного более глубокие знания чем writeln. Или Вы сторонник банальной зубрёжки?

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

WriteLn - это вообще магический метод. Именно поэтому он интуитивно понятнее printf и, тем более, такой абракадабры (для начинающих) как cout << …

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

Как и на С++

Как вы собираетесь объяснить, что такое int main(), почему int main(), зачем

#include <iostream>
#include <cmath>
using namespace std;

? Затем вообще шаманство:

cout << "Введите значение a: ";
cin >> a;
cout << "Введите значение b: ";
cin >> b;
cout << "Введите значение c: ";
cin >> c;

P.S. Чем writeLn чудесатее, нежели cout << "Первый корень равен " << x << endl; или cout << "Введите b\n";? Что сложнее сказать "команда компьютеру «вывести текст на экран и перейти на строку ниже», нежели разъяснить, что такое управляющий символ \n или что такое << endl?

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

Ещё надо рассказать про потоки, классы, перегрузку операторов, АТД. Легко… ага!

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

Это в любом случае зубрешка будет, объяснить даже за 10 уроков как работает WriteLn не выйдет.

Для начала всегда можно пропустить некоторые детали. Выше тебе пример с std::println скинули.

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

займёт изучение Луа после Си и базы, вроде теории создания компиляторов, теории конечных автоматов, контекстно-свободных грамматик и нотаций бэкуса-нуара?

Минут 15.

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

Как вы собираетесь объяснить, что такое int main(), почему int main(), зачем

Во первых можно написать просто main() {}, а вы как объясните begin, end.? можно ли его писать в каждом файле, почему исполнение идет с begin а не с самого верха, что происходит на .end? Зачем писать program? Зачем скобки для writeln если можно без них написать тоже самое? Почему при исполнении readln программа «зависает» а не идет дальше?

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

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

Что нагляднее
std::cout << "[" << std::setw(10) << 123 << "]" << std::endl;
или
std::println("[{:10}]", 456);

?


В fmtlib тоже есть print/println, кстати.

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

Что не нужно? std::cout понимается элементарно, есть визуально понятные <<, достаточно предоставить два шаблона того как выводить что либо, и все понятно.

Использование WriteLn без знания его внутреннего устройства, это тоже самое что и использование std::cout не понимая что << это перегруженный оператор.

Если зарыть голову в песок, внутренности никуда не пропадут.

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

Разумеется это не так. Объяснение writeln эквивалентно объяснению операции + или *. А вот cout это класс, поэтому нужно объяснить что такое класс, а для << придется объяснять перегрузку операторов и т.д.

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

Тогда нужно объяснить какие сисколы вызывает writeln. std::cout можно не объяснять, это просто твои отговорки.

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