Clarion - искусственный интеллект?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4618
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 37 раз

Clarion - искусственный интеллект?

Сообщение finsoftrz »

Сейчас очень популярная тема про искусственный интеллект. Особенно, после появления ботов типа Chat gpt.
Я тут подумал, что clarion можно рассматривать с этой точки зрения. По сути, используя язык темплейтов, мы создаём некую базу знаний. Затем, применяя темплейт, заполняем некие вводные данные. А на выходе получаем автоматически создаваемый код программ. Используя такой инструмент, индивидуальные разработчики и небольшие команды могут создавать большие учётные системы, содержащие миллионы строк кода.
То есть мы можем говорить действующим и потенциальным пользователям, что наши приложения создаются с привлечением системы искусственного интеллекта, и это будет правда.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
atashe3
Новичок
Сообщения: 21
Зарегистрирован: 26 Декабрь 2021, 13:32

Clarion - искусственный интеллект?

Сообщение atashe3 »

Я тут проверил пресловутый Chat gpt
Сделал запрос "Написать на ЯП Clarion пример функции парсер TLV тегов"
и он таки выдал её с около 6-ю ошибками,
т.е. ничего не скомпилировалось но результат был близким.
Попутала, объявление переменных взял из JAWA и еще несколько схожих мелочей (взятых из других языков).
За 10 минут подправил все ошибки и функция заработала
Т.е вывод такой: полноценную программу не напишет ни за что,
это точно.
Функцию с конкретным алгоритмом может написать с ошибками, но а дальше исправишь все ошибки и получишь нечто что можно использовать.

пример уже подправленный

Код: Выделить всё

s  program

TLVRecords    QUEUE,type
Tag             BYTE
Length          BYTE
Value           STRING(255)
              end

   map
      ParseTLV(string _TLVMessage,long _TLVLen,*TLVRecords _TLVR)
   end

STLV string(512)
Rec QUEUE(TLVRecords).
  code

  STLV = '<49><3>123<50><3>456' &|
         '<51><6>123456<52><10>1234567890'
  
  ParseTLV(STLV,len(clip(STLV)),Rec)


!******************************************************************************
ParseTLV PROCEDURE(string _TLVMessage,long _TLVLen,*TLVRecords _TLVR)
iPos long 
iLen long
iValLen long
  CODE
  iPos = 1
  iLen = _TLVLen
  LOOP until iPos > iLen
       clear(_TLVR)
       _TLVR.Tag = val(_TLVMessage[iPos])
       iPos += 1
       _TLVR.Length = val(_TLVMessage[iPos])
       iPos += 1
       iValLen = _TLVR.Length
       if iValLen > 0  
          _TLVR.Value = _TLVMessage[iPos : iPos+iValLen-1]
          iPos += iValLen
       else
          _TLVR.Value = ''
       end
       add(_TLVR)
  END
  RETURN
!******************************************************************************

Ответить