Начинающий

Applications development, KoOS API questions
  • я решил создать тему посвященную моей программе:
    viewtopic.php?f=9&t=1175
    туда положил новую версию программы, скачивайте оттуда.
    Asper
    если объединишь свои усилия с tsdima будет хорошо.
    я ему писал, он еще не ответил, я сказал что пока помощи особо не требуется, пока еще не готова основная часть программы. А потом без помощи я не обойдусь.
  • IgorA wrote:я ему писал, он еще не ответил, я сказал что пока помощи особо не требуется, пока еще не готова основная часть программы. А потом без помощи я не обойдусь.
    Позволю себе пояснить, что конкретно имел в виду коллега tsdima (и даже надеюсь, что он простит меня за это) :)
    1) Имеет место уже быть некая графическая среда, в которой свое понимание алгоритма программист излагает не скриптом (как общепринято), а схемой, элементами которой могут быть форма, кнопка, чек, цикл, условие (и т.д., и т.п.), и вот связи (схемные соединения) и определяют алгоритм
    2) Сия среда, в результате, генерирует код на неком целевом языке. И продвинутый пользователь может сам создать в ней пакет для своего целевого языка, поскольку генерирующая часть вынесена в отдельную dll и является открытой.
    3) Коллега tsdima имеет свой пакет для целевого языка fasm под винду. И даже уже сделал ветку в пакете - для генерации кода kolibri
    В общем, он знает почем орехи на базаре, уверяю Вас :)

    ЗЫ: графический способ представления программы обычно с великим подозрением воспринимается "продвинутыми", а вот у "новичков" - идет на ура.
    Это я к тому, что размышления о школах на этом форуме встречаются, вроде....
    Так вот: Бэйсики - нервно курят в сторонке :) Проверено
  • Стоит рассматривать получаемый бинарный код, который создается после визуальной среды. Если в нем не будет излишней информации, тогда, конечно имеет смысл развивать это направление. Как правило, из-за избыточного кода, у "продвинутых" возникают всякие подозрения.
  • P/S Galkov, tsdima. Поставил HiAsm 4.0, http://hiasm.com/forum.html?q=3&t=18667 у меня Windows XP x64 4 Гб ОЗУ

    На данный момент в архиве не инсталлятор, а каталог, который нужно поместить в ..\HiAsm\Elements, после чего запустить HiAsm и открыть файл ..\HiAsm\Elements\Kolibri\kolibri.his - это скрипт для HiAsm, который добавит пакет в среду и назначит ему компилятор FASM, который должен быть уже установлен.
    > ошибка,list index out of bounds (-1)
    Т.е. порядок такой:
    1. устанавливаем HiAsm
    2. устанавливаем компилятор FlatAsm (скачанный с этого сайта, иначе придётся вручную добавлять и прописывать пути к компилятору в настройках среды)
    3. распаковываем архив и запускаем .his,
    Если просто запустить kolibri.his
    то следующая ошибка ->Access violation at address 60919922 in module 'sqlite3.dll'. Read of address 00000024.
  • <Lrz> wrote:Если в нем не будет излишней информации, тогда, конечно имеет смысл развивать это направление
    А почему бы не развернуть логику наоборот :?:
    Развивать направление следует именно так, чтобы там именно не было излишней информации :D

    Собственно, в чем причина-то моих комментариев:

    1)
    IgorA wrote:Т. е. создать некую графическую оболочку для создания макетов будущих программ. Подобные программы я уже видел, но решил что и моя версия не станет лишней
    Так одну из таких мы не просто видели, а почти все ее кишки знаем. И имеем опыт не одного года, после которого можем отвечать за утверждение "Бэйсики нервно курят в сторонке". Действительно - курят, и действительно - нервно.
    А некоторых "продвинутых" шибко обижает тот факт, что приходит чел, не знавший еще вчера что такое цикл FOR, и за 20 секунд (это не гипербола) собирает простенький калькуль для узко-специфичной задачи. Ничего не понимая про цикл обработки сообщений, winApi и т.п. премудрости...

    2) Но это лишь одна сторона дела - интерфейсная. Но и даже в ней есть серьезные вопросы, если поставить себе стратегическую задачу создать именно законченный язык программирования, а не очень впечатляющую игрушку.
    Мы знаем эти вопросы (они конечно вытекают из постановки), не первый день об этом думаем.
    Т.е., мне кажется, что IgorA несколько погорячился, с "что пока помощи особо не требуется" :)

    3) Генерация кодов - вот где нужна помощь Истинно Продвинутых (на этот раз без кавычек - первых-то гораздо больше по жизни).
    Вещь простая: ни лексер ни парсер уже не нужны, получаешь от среды сразу дерево (вообще-то - ДАГ) разбора - ну и вперед, и с песней. Казалость бы... :D
    Мы кое-что уже "генерировали", и даже вполне работоспособное, и проблемы возникающие при этом, нам знакомы не по наслышке

    4) Собственно, для себя-то я определился - это моя работа на ближайшие 5 лет, как минимум. Развивая концепцию до конца, и сама среда должна быть выполнена на этом "языке". Грубо говоря, чего мелочиться-то :D
    Профессионально меня интересует, скажем, программирование микроконтроллеров (т.е., про лишнее мне понятно все - CPP от IAR пришлось выкинуть на помойку :) )... Но другой целевой язык, ось - это же просто пакет в системе...
    А достойное умение оптимизировать, и отличать "лишнее" от действительно необходимого - не пропьешь ведь
    Поскольку порт fasm-а есть, то не вижу ни каких проблем в портировании и среды под KolibriOS, коль скоро предыдущие вышеозначенные великие цели будут достигнуты :D

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

    А вообще-то, "язык" интересный получается: в нем нет по-определению лексических и синтаксических ошибок (есть правда одна семантическая - цикличность получаемого ДАГ-а), и он с самого начала как-бы и ООП... (схема то состоит их объектов, точки подключения - методы, ну и т.д.)
  • <Lrz> wrote:P/S Galkov, tsdima. Поставил HiAsm 4.0
    Довольно смелое решение :)
    Придет tsdima - поможет (я ему напомню), что чего должно фиксить в его архивах. Если не глядя - надо пересобрать CodeGen.dll (вроде не принято у нас бинарники выкладывать), для чего нужен сверх шустрый D4 (около 1М)


    А вот если хочешь посмотреть получаемый исходник (Ctrl+D перед компиляцией) - поможет мало: там макросы которые определяют те макросы, которые в свою очередь определяют макросы
    А вот дизасм - поможет
  • для виндовс XP x32 с четвертой версией, те же проблемы.

    P/S у меня один проект, достаточно большой и сложный, там все построено на модулях, которые описываются макросами, оч похожая идея, что и у HiAsm

    Даже с предыдушей версией 3.66 у меня с первой попытки не вышло собрать программу.
  • Вот последняя версия, в которой есть DLL-ки, необходимые для генерации кода: http://hiasm.1gb.ru/xf/load.php?a=10732
    Насчёт ошибки при запуске .his - не знаю, обычно при открытии этого файла в самой среде ошибок никаких нет.
  • Действительно, при добавлении пакета есть ошибка, если ручками в базе прописать - то всё нормально. Это надо у разработчика HiAsm спросить...
  • Развивать направление следует именно так, чтобы там именно не было излишней информации
    тут, я так понимаю имеется в виду чтобы в коде не было чего-то подобного этому:

    Code: Select all

    #if !defined(AFX_CHILDVIEW_H__ED3829F5_A37F_453E_80F8_5E2726838E73__INCLUDED_)
    #define AFX_CHILDVIEW_H__ED3829F5_A37F_453E_80F8_5E2726838E73__INCLUDED_
    
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    Вообще-то и меня такие вещи не очень радуют :shock: (если кто не знает можно написать только #pragma once и работать тоже будет)
    А некоторых "продвинутых" шибко обижает тот факт, что приходит чел, не знавший еще вчера что такое цикл FOR, и за 20 секунд (это не гипербола) собирает простенький калькуль для узко-специфичной задачи. Ничего не понимая про цикл обработки сообщений, winApi и т.п. премудрости...
    Пока моя задача может и узко специализированная, но я думаю что она будет иметь много направлений. Основная ее задача чтобы продвинутые могли использовать свою продвинутость не на простое описание уже известных вещей, а более могли сосредоточится на решении задач, чем на опись интерфейса.
    И вообще-то кто вам мешает писать циклы FOR в моей программе? Специально для этого я предусмотрел текстовый объект (он ограничен размером 200 байт - не хватает ставьте рядом 2,3,...,n объектов)
  • <Lrz> wrote:Если просто запустить kolibri.his
    то следующая ошибка ->Access violation at address 60919922 in module 'sqlite3.dll'. Read of address 00000024.
    Проблема найдена, благо она в той части HiAsm, исходники которой открыты.
    Надо заменить elmen.dll
    elmen.rar (18.64 KiB)
    Downloaded 351 times
  • IgorA wrote:Основная ее задача чтобы продвинутые могли использовать свою продвинутость не на простое описание уже известных вещей, а более могли сосредоточится на решении задач, чем на опись интерфейса
    Ну вот видите :)
    Наша - ну точно такая же
    "Так давайте объеденим наши усилия!
    И вы не будете чувствовать себя так одиноко, прижимая к груди сумку с образцами продукции, и расширенного ассортимента"
    (с) Жванецкий
    :D
  • Здраствуйте, ос просто супер!!! А главное, что помещается на обыкновенную дискету. Но я по другому поводу, подскажите кто нибудь книжку по ассемблеру "для начинающих" и скажите можно ли его изучать, не зная других языков программирования (если нет, то каких). Заранее большое спасибо!
  • Но я по другому поводу, подскажите кто нибудь книжку по ассемблеру "для начинающих"
    http://wasm.ru/page.php?page=neophyte
    http://www.wasm.ru/forum/viewtopic.php?pid=239071
    http://www.wasm.ru/forum/viewtopic.php?id=8205
    http://www.wasm.ru/forum/viewtopic.php?id=20375
    http://www.wasm.ru/forum/viewtopic.php?id=10993
    http://www.wasm.ru/forum/viewtopic.php?id=17301
    и скажите можно ли его изучать, не зная других языков программирования (если нет, то каких).
    На этот счёт есть разные мнения. http://www.wasm.ru/forum/viewtopic.php?id=29775&p=1
    Ушёл к умным, знающим и культурным людям.
  • Who is online

    Users browsing this forum: No registered users and 6 guests