The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск среды разработки PascalABC.NET 3.8

19.03.2021 07:22

Доступен выпуск системы программирования PascalABC.NET 3.8, предлагающей редакцию языка программирования Паскаль с поддержкой генерации кода для платформы .NET, возможностью использования библиотек .NET и дополнительными возможностями, такими как обобщённые классы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, методы расширения, безымянные классы и автоклассы. Проект главным образом ориентирован на применение в сфере образования и научных исследований. Пакет также включает среду разработки с подсказками по коду, автоформатированием, отладчиком, дизайнером форм и образцами кода для начинающих. Код проекта распространяется под лицензией LGPLv3. Возможна сборка в Linux (на базе Mono) и Windows.

Изменения в новом выпуске:

  • Добавлена поддержка срезов многомерных массивов
    
       begin
         var m := MatrByRow(||1,2,3,4|,|5,6,7,8|,|9,10,11,12||);
         Println(m[:,:]);           // [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
         Println(m[::1,::1]);       // [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
         Println(m[1:3,1:4]);       // [[6,7,8],[10,11,12]]
         Println(m[::2,::3]);       // [[1,4],[9,12]]
         Println(m[::-2,::-1]);     // [[12,11,10,9],[4,3,2,1]] 
         Println(m[^2::-1,^2::-1]); // [[7,6,5],[3,2,1]] 
         Println(m[:^1,:^1]);       // [[1,2,3],[5,6,7]] 
         Println(m[1,:]);           // [5,6,7,8] 
         Println(m[^1,:]);          // [9,10,11,12] 
         Println(m[:,^1]);          // [4,8,12] 
       end. 
    
  • Добавлены лямбда-выражения с распаковкой параметров, являющихся кортежами или последовательностями. Появилась возможность давать имена элементам кортежей прямо в параметрах лямбды. Чтобы распаковать параметр-кортеж t в переменные x и y, используется запись \\(x,y). Это один параметр в отличие от записи (x,y), представляющей два параметра:
    
       begin
         var s := Seq(('Умнова',16),('Иванов',23),
                   ('Попова',17),('Козлов',24));
         Println('Совершеннолетние:');
         s.Where(\\(name,age) -> age >= 18).Println;
         Println('Сортировка по фамилии:');
         s.OrderBy(\\(name,age) -> name).Println;
       end.
    
  • Разрешена конструкция "a as array of T", которая ранее была запрещена на уровне грамматики.
    
       begin
         var ob: object := new integer[2,3];
         var a := ob as array [,] of integer;
       end.
    


  1. Главная ссылка к новости (https://pascalabcnet.github.io...)
  2. OpenNews: Выпуск среды разработки PascalABC.NET 3.7.2
  3. OpenNews: Релиз компилятора Free Pascal 3.2
  4. OpenNews: Новая версия среды разработки для FreePascal - Lazarus 2.0.0
  5. OpenNews: Релиз компилятора Free Pascal 3.0
Автор новости: Тот_Самый_Анонимус
Тип: Программы
Короткая ссылка: https://opennet.ru/54787-pascal
Ключевые слова: pascal, pascalabc.net
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (58) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 08:33, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Паскаль с поддержкой генерации кода для платформы .NET

    А есть поддержка генерации нативного кода, без всяких .NET?

     
     
  • 2.2, Леголас (ok), 08:38, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +10 +/
    есть Free Pascal
     
  • 2.22, Mr. Cake (?), 12:29, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть, натравливаешь на собранные дотнетосборки corert, получаешь нативный код.
     

  • 1.3, Аноним (3), 08:48, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Закопать и забыть, как и бэйсик
     
     
  • 2.8, Аноним (8), 09:32, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    васик тебе чем не угодил-то?
     
     
  • 3.13, Аноним (3), 10:36, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он хороший как индеец
     
  • 3.33, YetAnotherOnanym (ok), 16:12, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Догадываюсь - двойку получил из-за того, что справочник Дьяконова в факультетской библиотеке истрепался и был списан как пришедший в негодность.
     
  • 2.12, Леголас (ok), 10:34, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    сегодня паскаль и бэйсик, а завтра фортран? акстись, анон
     
     
  • 3.14, Аноним (3), 10:39, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Точно, ещё один бесполезный язык который какая-то наглая рыжая ъморда пролоббировала в систему образования тем самым саботировав его - выпилить. Всех причастных в этом распиле расстрелять перед мавзолеем
     
  • 3.43, Аноним (43), 17:46, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    На фортране очень много математического кода написано. Фортран старше C на 15 лет. Фортран не выкинут, никто не будет переписывать всю статистику на раст.
     
  • 3.47, anonimous (?), 20:10, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > сегодня паскаль и бэйсик, а завтра фортран?

    Без фортрана нет питона

    Various NumPy modules use FORTRAN 77 libraries, so you’ll also need a FORTRAN 77 compiler installed.

    Хипстерам уже не осилить переписать, то, что на нем было написано

     

  • 1.4, Аноним (4), 08:51, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Наблюдается неоправданное увеличение ключевых слов и усложнение синтаксиса. Раньше можно было надеяться на то, что этот продукт можно использовать для обучения программированию. Но, теперь не буду его использовать. При всех своих недостатках, СИ еще долго будет востребован в качестве первого языка программирования. Объекты? В объектном стиле тоже можно писать там, используя структуры и указатели. Есть еще один вариант - это использовать ADA (или Free Pascal в составе Lazarus).
     
     
  • 2.5, Аноним (4), 08:54, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наигравшись со всеми плюшками и синтаксическим сахаром, приходишь к максимально простому варианту. Это как с виски. Перепробовав все, что можно взять на пробу, возвращаешься к "торфу".
     
     
  • 3.15, Аноним (3), 10:43, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наигравшись со всеми плюшками и синтаксическим сахаром, приходишь к максимально другому языку, потому что это ископаемое совершенно не востребовано у людей
     
     
  • 4.30, Alex (??), 14:42, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "люди" - это, видимо Вы и кто-еще их Вашего окружения? Отучайтесь за всех говорить, это нелепо, пока Вы не президент страны, хотя и для него это тоже нелепо.
     
  • 2.6, Аноним (4), 09:04, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    PascalABC служит, как пишут и у них на сайте, "мультипарадигментному" обучению. Ну, вы поняли меня - это все попытка охватить все на свете. Чтобы можно было обучать и в школе, и в вузе. Но с помощью "небольшой надстройки" к такому программированию можно приспособить и си. Наверное. :)
     
     
  • 3.7, Аноним (7), 09:16, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Но с помощью "небольшой надстройки"

    Представляю эту портянку из макросни...

     
     
  • 4.18, n00by (ok), 11:09, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Но с помощью "небольшой надстройки"
    > Представляю эту портянку из макросни...

    Препроцессор Си предназначен не для написания портянок. Он служит примером и показывает, как изначально планировалось расширять язык. Создавать свой "препроцессор", точнее, транслятор другого языка в Си. Точно так по началу поступил и Страуструп, пока не началось...

     
  • 2.38, Здрасьте (?), 20:04, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Можно подумать количество ключевых слов в Си остаётся одним и тем же.
     
  • 2.48, anonimous (?), 20:21, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Наблюдается неоправданное увеличение ключевых слов и усложнение синтаксиса.

    Это просто общая тенденция. Не могут стоять в стороне.

    >Free Pascal в составе Lazarus

    Да, там этого поменьше, но тоже добавляют

    Краткое введение в современный Object Pascal для программистов
    https://castle-engine.io/modern_pascal_introduction_russian.html

     

  • 1.9, PascalistPro (?), 09:36, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Слишком вырвигразный синтаксис. Вот эти 3 добавки в 3.8 версии. Одна ХУЖЕ ДРУГОЙ. Откуда там приплыли вертикальные палочки в массивах? Этто что ВООБЩЕ ТАКОЕ. Надо было делать консервативно. Скобки ()[], их должно для всех массивов хватить. Двоеточия для срезов вяли из Питона. А зачем? Не надо было. Распаковка кортежей через двойные слеши??? БОЖЕ МОЙ мама роди меня обратно. Оператор as в пункте три - зачем так усложнили?
     
     
  • 2.11, InuYasha (??), 10:13, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Никак не могу воспринять эти слэши иначе чем комментарии )
     
  • 2.20, Аноним (20), 11:38, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чем им квадратные скобки не угодили...
     
     
  • 3.29, Alex (??), 14:40, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Квадратные скобки не угодили тем, что в Паскале в них записываются множества.
     
  • 2.32, Аноним84701 (ok), 15:45, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >  Двоеточия для срезов вяли из Питона. А зачем?

    Кхе-кхе *чуть не подавился кофе*
    https://web.archive.org/web/20150906170502/http://jmvdveer.home.xs4all.nl/algo
    > Algol 68
    > {Slices are obtained by subscripting, e.g., x1[i], by trimming, e.g., x1[2 : n] or by both, e.g., x2[j : n, j]

    Такой вот "питон" ...

     

  • 1.10, Аноним (10), 09:36, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Там - ошибка в тексте новости - не двойной обратный слэш, а одинарный:

    s.Where(\(name,age) -> age >= 18).Println;

     
     
  • 2.16, Аноним (3), 10:45, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Судя по написанию, там ошибвка в ДНК у авторов. За такое надо бить по рукам)
     
  • 2.40, Страшный рукожоп (?), 00:47, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    WriteLn (Adult)
    with Adult from Enumerate (S, (Name, Age) do
      if Age >= 18 then
        return Name;
      else
        return nil;
    end);
     
  • 2.46, Аноним (-), 18:23, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > s.Where(\(name,age) -> age >= 18).Println;

    Они что, раст увидели и рещили что странных закорюк и паскалю надо досыпать?

     

  • 1.17, Ефросий (?), 11:04, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    У меня аж глаз задёргался от этого синтаксиса.
     
     
  • 2.19, n00by (ok), 11:12, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Мне понравились смайлики :^1,:^1
    но я не совсем понял их смысл.
     
     
  • 3.21, Holmes (?), 12:24, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это человек курящий трубку.
     
     
  • 4.24, Аноним (24), 13:05, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да, трубку... или держащий во рту что-то другое?
     
     
  • 5.26, n00by (ok), 13:59, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Холмс так и не бросил курить, а вот Ватсон без трубки уже никак.
     
  • 3.37, Аноним (10), 18:07, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В C# то же самое:
      https://metanit.com/sharp/tutorial/2.32.php
    ^1 - первый с конца
     
     
  • 4.42, n00by (ok), 09:21, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Паскаль ^ обозначает указатель.
     
     
  • 5.54, Аноним (10), 22:25, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В виртовском? А, ну да, было. А в NET же вроде нету указателей
     
     
  • 6.59, n00by (ok), 08:00, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    :)

    В NET такие "указатели" в "С++"

    array<Object ^> ^arr = gcnew array<Object ^>();

     

  • 1.25, Аноним (25), 13:45, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Проверим, интересно, это кривое поделие считать-то правильно научилось?

    Проверил. Нет,  не научилось.

    Writeln(Round(100.5));
    Writeln(Round(101.5));

    Ответ:

    100
    102

     
     
  • 2.27, Alex (??), 14:29, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Кривое - это Ваше мышление. В .NET-среде используется "банковское округление", загуглите, если в школе плохо учились.
     
     
  • 3.31, Anonymouss (?), 15:29, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Round должно округлять до ближайшего целого!
     
  • 2.28, Аноним (28), 14:32, 19/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Округление до ближайшего чётного

    https://ru.wikipedia.org/wiki/Округление

     
  • 2.50, Аноним (10), 20:52, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Delphi то же самое:

    program Project6;

    {$APPTYPE CONSOLE}

    {$R *.res}

    uses
      System.SysUtils;

    begin
      Writeln(Round(100.5));
      Writeln(Round(101.5));
      readln
    end.

    100
    102

     
     
  • 3.51, Аноним (10), 20:55, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Python то же самое:

    print(round(100.5))
    print(round(101.5))

    100
    102

    Когда здесь начнут писать хотя б какие-то профессионалы?

     
     
  • 4.57, Прохожий (??), 00:47, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если в Питоне или ещё каком языке срукожопили - это должно считаться профессионализмом? Любопытная точка зрения.
     

  • 1.34, Аноним (-), 17:52, 19/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Код проекта распространяется под лицензией LGPLv3.

    Ма-лат-сы!

    >Возможна сборка в Linux (на базе Mono) и Windows.

    Вендузятники. Линуксоидностью тут и не пахнет.

     
  • 1.41, Аноним (41), 07:57, 20/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в IDE "для школоты" добавили наркоманский синтаксис, до которого школота не дойдет по школьной программе.
    Школы переползают на Альт. Но АБЦшники продолжают пилить сборочки только под винду/Mono
    Логика у них, конечно, ок.
     
     
  • 2.45, Аноним (-), 18:19, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Школы переползают на Альт.

    Да неужели? А не врете? (и если нет, напомните поставить Шигорину памятник, при всех антипатиях)

    > Но АБЦшники продолжают пилить сборочки только под винду/Mono
    > Логика у них, конечно, ок.

    Вы хотели после школы уметь програмить хоть немного на уровне потребном для real world проектов? Во вы лол. Вы это даже и после инста то не будете, особенно - российского...

     
     
  • 3.49, anonimous (?), 20:23, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Вы хотели после школы уметь програмить хоть немного на уровне потребном для real world проектов?

    Да ладно вам, все знают что и школа для этого не обязательна.

     
  • 3.53, Аноним (53), 21:12, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    в подмосковье года три назад начали: https://nashamoskovia.ru/news-14132.html

    > Вы хотели после школы уметь програмить хоть немного на уровне потребном для real world проектов?

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

     
     
  • 4.56, Прохожий (??), 00:44, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Школьникам разве не все равно, что там в основе лежит? Они ведь только учатся. С этой точки зрения не пробовал смотреть?
     
     
  • 5.62, Аноним (62), 00:07, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Школьникам, может быть, все равно. А преподам?
     
  • 2.52, Аноним (10), 20:57, 20/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Mono и ABC на Альте работают - какие проблемы?
     
  • 2.55, Прохожий (??), 00:40, 21/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот прямо все школы в мире на Альт переходят? Логика у тебя, конечно...
     
     
  • 3.61, Аноним (62), 00:06, 22/03/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Если Россиюшка взяла курс на перевод школ на линукс (а она взяла), а разработчики абц положили на это болт, то это, как минимум, странно.
    За остальные страны можно не беспокоиться. Вряд ли там на абц школоту учат
     

  • 1.44, Аноним (-), 18:17, 20/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не все баззворды собрали. Где электрон и питон?!?
     
  • 1.58, ИмяХ (?), 06:43, 21/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чую, скоро появится новость "Разработчики PascalABC.NET прочитав критику на Опеннете, решили удалить со своих серверов версию 3.8 чтобы не опозорить своих программистов."
     
  • 1.60, Alex (??), 21:01, 21/03/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Разработчики PascalABС.NET (выяснено в приватной беседе) считают, что на выпады неадекватов с Оппенета надо ответить полным их игнором, так не ждите.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Ideco
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру