Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт май 22, 2018 21:51

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Интересные ссылки
Автор Сообщение
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
Это бесплатная для использовании коллекция кода на разных языках для веселого тестирования и, возможно, для образовательной цели
Сообщение Добавлено: Вс апр 08, 2018 23:05
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
mOleg писал(а):
ДНК глазами программиста
мне показалось очень интересной.
Цитата:
Центральная догма: .c -> .o -> a.out/.exe

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

Эта догма говорит нам, что ДНК нужен для получения РНК, а РНК необходим для получения белков, подобно тому, как из .c-файл превращается в объектный файл .o, который затем может быть скомпилирован в исполняемый файл (a.out/exe). Кроме того, она сообщает нам, что это единственный порядок, в котором следует информационный поток.

И всё же, Центральная догма недавно слегка поблекла. Как и при любой миллиардлетней разработке проекта, происходило множество хаков, из-за которых информация иногда течёт в обратном направлении. Иногда РНК патчит ДНК, а бывает, что ДНК модифицируется белка́ми, созданными ранее.

Но, в целом, зависимости ясны, так что Центральная догма всё ещё остаётся важной.
Это мне очень напоминает Форт, только у нас деление не настолько сильное (ДНК, РНК, БЕЛКИ). :D

mOleg писал(а):
Если не ошибаюсь, из 95 винды убирали все лишнее, ужимая ее до ~5 МБ, при этом она оставалась полностью функциональной (это если о процентах).
Ну не знаю, у меня есть откуда-то live-образ 98-й, который весит 13MB ;)
Сообщение Добавлено: Чт фев 22, 2018 22:17
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
Victor__v писал(а):
Не очень корректно сравнивать генетику человека с ОС по количеству лишних приблуд.

ну, даже в статье сразу написано, что сравнивать не корректно генетический код и программный.
Однако же 8)
Если не ошибаюсь, из 95 винды убирали все лишнее, ужимая ее до ~5 МБ, при этом она оставалась полностью функциональной (это если о процентах).
Сообщение Добавлено: Вт фев 20, 2018 12:32
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
mOleg писал(а):
Victor__v писал(а):
Хм, раньше учёные считали 99% ДНК мусором, а теперь 97%.

ну, ничего нового.
В той же Винде 99% мусора 8)

Не очень корректно сравнивать генетику человека с ОС по количеству лишних приблуд.
Ежели и есть в человеке что-то лишнее, то порядка 2% а то и меньше.
К примеру у мужчин есть редуцированные молочные железы.
Сообщение Добавлено: Вт фев 20, 2018 11:33
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
Victor__v писал(а):
Хм, раньше учёные считали 99% ДНК мусором, а теперь 97%.

ну, ничего нового.
В той же Винде 99% мусора 8)
Сообщение Добавлено: Вт фев 20, 2018 10:55
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
mOleg писал(а):
ДНК глазами программиста
мне показалось очень интересной.

Хм, раньше учёные считали 99% ДНК мусором, а теперь 97%.
Учёные всё-таки развиваются :)
Сообщение Добавлено: Вт фев 20, 2018 09:18
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
ДНК глазами программиста
мне показалось очень интересной.
Сообщение Добавлено: Пн фев 19, 2018 21:27
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
игровой движок в MS Excel
Сообщение Добавлено: Пн фев 19, 2018 20:29
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
Это негативная сторона подхода "мы сейчас немного напишем на ассемблере, а потом как можно скорее начнем все доопределять на Форте".
Сообщение Добавлено: Ср фев 14, 2018 01:37
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
KPG писал(а):
_KROL писал(а):
Да нет, я не про "детское" программирование)
---
Всё, теперь понятно как мне лучше и понятнее свой Форт писать.
P.s. Остановился опять на вопросе о выборе слов ядра. Почитав стандарты я понял, что это даже психологический вопрос (кто больше минималист, кто больше максималист)...


Чем то поучительный взгляд на дизайн ядра Форт системы (может и оригинальный)


Угу.
Код:
: CELLS ( n1 -- n2 )
  0 CELL+ * ;


Это гениально
Сообщение Добавлено: Пн фев 12, 2018 17:52
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
_KROL писал(а):
Да нет, я не про "детское" программирование)
---
Всё, теперь понятно как мне лучше и понятнее свой Форт писать.
P.s. Остановился опять на вопросе о выборе слов ядра. Почитав стандарты я понял, что это даже психологический вопрос (кто больше минималист, кто больше максималист)...


Чем то поучительный взгляд на дизайн ядра Форт системы (может и оригинальный)
Сообщение Добавлено: Пн фев 12, 2018 14:06
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
_KROL писал(а):
Глеб, интересно, вы так комментируете свой код?
Код:
    test    %eax, %eax      #    |  # (%eax <= 0)?
    jbe     2f              #-+  |  # ?-Да, это ошибка, переходим вперед
А ведь смотрится очень даже ничего.
Условный переход выше сработает только если eax = 0. Если eax < 0 не сработает. Условие b это условие "был перенос", а команда test всегда его обнуляет.

Откуда код-то этот был взят ? Его автор в ассемблере лошарит.

А нашел. Отсюда https://rigidus.ru/lrn/forth/jonesforth-1.html
Сообщение Добавлено: Пн фев 12, 2018 10:35
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
Да нет, я не про "детское" программирование)
---
Всё, теперь понятно как мне лучше и понятнее свой Форт писать.
P.s. Остановился опять на вопросе о выборе слов ядра. Почитав стандарты я понял, что это даже психологический вопрос (кто больше минималист, кто больше максималист)...
Сообщение Добавлено: Ср фев 07, 2018 14:41
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
_KROL писал(а):
Глеб, интересно, вы так комментируете свой код?
Нет.
Изображение
P.S. Кончайте флудить.
Сообщение Добавлено: Ср фев 07, 2018 14:39
  Заголовок сообщения:  Re: Интересные ссылки  Ответить с цитатой
Глеб, интересно, вы так комментируете свой код?
Код:
    defcode "KEY",3,,KEY
    call _KEY
    push    %eax            #       # push-им возвращенный символ на стек
    NEXT                    #
_KEY:                       # <--+
    mov     (currkey), %ebx #    |  # Берем указатель currkey в %ebx
    cmp     (bufftop), %ebx #    |  # (bufftop >= currkey)? - в буфере есть символы?
    jge     1f              #-+  |  # ?-Нет, переходим вперед
    xor     %eax, %eax      # |  |  # ?-Да,  (1) переносим символ, на который
    mov     (%ebx), %al     # |  |  #        указывает bufftop в %eax,
    inc     %ebx            # |  |  #        (2) инкрементируем копию bufftop
    mov     %ebx, (currkey) # |  |  #        (3) записываем ее в переменную currkey,
    ret                     # |  |  #        и выходим (в %eax лежит символ)
    # ---------------- RET    |  |
1:  #                     <---+  |  # Буфер ввода пуст, сделаем read из stdin
    mov     $sys_read, %eax #    |  # param1: SYSCALL #3 (read)
    mov     $stdin, %ebx    #    |  # param2: Дескриптор #2 (stdin)
    mov     $input_buffer, %ecx #|  # param3: Кладем адрес буфера ввода в %ecx
    mov     %ecx, currkey   #    |  # Сохраняем адрес буфера ввода в currkey
    mov     $INPUT_BUFFER_SIZE, %edx # Максимальная длина ввода
    int     $0x80           #    |  # SYSCALL
    # Проверяем возвращенное     |  # должно быть количество символов + '\n'
    test    %eax, %eax      #    |  # (%eax <= 0)?
    jbe     2f              #-+  |  # ?-Да, это ошибка, переходим вперед
    addl    %eax, %ecx      # |  |  # ?-Нет, (1) добавляем в %ecx кол-во прочитанных байт
    mov     %ecx, bufftop   # |  |  #        (2) записываем %ecx в bufftop
    jmp     _KEY            # |  |
    # ------------------------|--+
2:  #                     <---+     # Ошибка или конец потока ввода - выходим
    mov     $sys_exit, %eax         # param1: SYSCALL #1 (exit)
    xor     %ebx, %ebx              # param2: код возврата
    int     $0x80                   # SYSCALL
    # --------------- EXIT
    .data
    .align 4
currkey:
    # Хранит смещение на текущее положение в буфере ввода (следующий символ будет прочитан по нему)
    .int input_buffer
bufftop:
    # Хранит вершину буфера ввода (последние валидные данные + 1)
    .int input_buffer
А ведь смотрится очень даже ничего.
Сообщение Добавлено: Ср фев 07, 2018 14:27

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB