Форум программистов, компьютерный форум, киберфорум
CoderHuligan
Войти
Регистрация
Восстановить пароль
Старый
Концепция variadic
Запись от CoderHuligan размещена 04.03.2025 в 20:00
Показов 2299 Комментарии 9
Метки delphi

Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка компилятора, еще и язык ликера. Но кто их знает в совершенстве? Обычно достаточно знать...
Аватар для CoderHuligan
Старый
Рейтинг: 4.00. Голосов: 1.
О языках программировани­­­­­­­­­я замолвите слово..
Запись от CoderHuligan размещена 12.02.2025 в 12:06
Показов 4849 Комментарии 53

Каждый последующий язык - хуже предыдущего. Это аксиома..
Есть языки, которые уже рождаются мертвыми.
Есть языки, которые рождаются в простоте, но умирают, под тяжестью возросшей сложности.
Есть языки, которые вечны. C - вечен. Forth - вечен.
----
Языки не могут иметь...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 2.
Не возвращайте мне ваши ошибки!
Запись от CoderHuligan размещена 08.07.2024 в 14:51
Показов 2220 Комментарии 35
Метки c, си

Размышления по поводу архитектуры обработки ошибок в коде. Конкретно я использую язык Си и его библиотеку. И примеры будут на чистом Си.
Так вот многие функции стандартной библиотеки кроме полезного значения возвращают код ошибки или NULL.
Но возникает вопрос: а почему...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 1.
ООП наоборот?
Запись от CoderHuligan размещена 04.07.2024 в 09:23
Показов 3536 Комментарии 89
Метки ооп

Я бы не стал писать этот пост в своем блоге, если бы не нуждался в некой обратной связи.
Постараюсь быть краток.
Я не против ООП. Вернее: я согласен что объектная парадигма внесла новый уровень в искусство программирования. Согласен, что мыслить в категориях объектов...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 1.
Как запомнить знаковые и беззнаковые диапазоны максимальных значений
Запись от CoderHuligan размещена 05.06.2024 в 17:36
Показов 3671 Комментарии 46

Не будем о том зачем это нужно. Это может пригодиться в самых разных случаях.
Итак, как же запомнить эти числа тем, кто не очень дружит с запоминанием чисел.
Вот эти диапазоны:
Code
1
2
3
4
5
6
signed char          -128, 127
unsigned char        255
signed short int    -32768, 32767
unsigned short int  65535
signed long int      -2147483648, 2147483647
unsigned long int    4294967295
Чтобы крепко запомнить эти...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 2.
Интерфейсы и модульность
Запись от CoderHuligan размещена 30.01.2024 в 17:15
Показов 4509 Комментарии 62

Слово "интерфейс" происходит от двух слов - inter (между) и face (лицо), т. е. то что находится между лицами. Как взаимодействуют между собой к примеру люди? Посредством языка, т.е. того, что является интерфейсом между двумя и более, лицами. Без интерфейса взаимодействие невозможно. Даже язык жестов является таким же интерфейсом, как и любой другой язык.
Сразу отмечу, что любой язык как интерфейс, является чисто внешней сущностью, которая вполне независима...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 3.
Как избавиться от циклов
Запись от CoderHuligan размещена 28.05.2023 в 14:02
Показов 4929 Комментарии 50
Метки ооп

Это разговор об основах.
Как известно, ООП выросло на понятии структуры, что потом превратилось в понятие класса. Это привело к разбуханию кода. Разбухание кода усложнило его поддержку. Воду лить не буду, а приведу пример:
Допустим у нас есть структура "книга", которая состоит из полей "название", "автор" и "цена". Вот схематичный заголовочный файл с её описанием:
Кликните здесь для просмотра всего текста
C
1
2
3
#ifndef _BOOK_H
#define _BOOK_H
#include <string.h>
...
Аватар для CoderHuligan
Старый
Рейтинг: 4.50. Голосов: 2.
Набросок
Запись от CoderHuligan размещена 24.04.2023 в 18:22
Показов 7460 Комментарии 108

Набросок языка. Есть несколько моментов требующих уточнения. Пока основная схема.
Язык состоит из предписаний (statements) и управляющих конструкций (УП).
Предписания разделяются запятыми! УП разделяются точками с запятой! Это дает важное преимущество для ЯП (языка программирования)...
Аватар для CoderHuligan
Старый
Рейтинг: 1.60. Голосов: 5.
Что есть язык программировани­­я, да и вообще язык, как таковой
Запись от CoderHuligan размещена 23.04.2023 в 17:19
Показов 3263 Комментарии 40

На мой взгляд язык, чтобы называться языком, должен иметь некий ограниченный набор ключевых слов. Если нечто, что называют языком ключевых слов не имеет, то и языком его назвать нельзя. Пример. Возьмем язык Tcl. Так называемый язык командных инструментов. Очень мощный язык - кто...
Аватар для CoderHuligan
Старый
Рейтинг: 3.60. Голосов: 5.
Open Source вовсе не Free Source
Запись от CoderHuligan размещена 13.04.2023 в 14:38
Показов 2733 Комментарии 37

На чем сегодня писать программы? Вопрос кажется диким, так как вокруг столько сред разработки.. Но если копнуть глубже, то становится как-то не по себе.. Оказывается, что разрабатывать-то, действительно, по сути, мало есть на чем.. И это не безумная мысль..
К примеру, зададим...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 1.
Сказ про то, как один мужик win 7 устанавливал
Запись от CoderHuligan размещена 01.04.2023 в 17:33
Показов 1643 Комментарии 19

Исходные данные:
1) Ноутбук Lenovo Ideapad 110 ibr15. 64 бит. 4 ядра. 2 гига оперативы. Диск сигейт 500 гигов, жесткий. dvd/cd привод отсутствует.
2) Предустановленная windows 10, домашняя версия
3) Большое желание установить второй системой Win 7
Итак, в чем, всё-таки сыр-бор? А в том, что данный...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 1.
Типизация функций - зло или добро?
Запись от CoderHuligan размещена 17.02.2023 в 13:47
Показов 8660 Комментарии 97

Это продолжение размышлений из позапрошлого поста данного блога.
На этот раз разговор пойдет о функциях.
Обычные языки программирования (ЯП) имеют не только типизированные наборы данных - структурный тип, но и как ни странно, это распространяется и на функции (процедуры)....
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 1.
Так, заметки на полях..
Запись от CoderHuligan размещена 13.11.2022 в 17:00
Показов 1786 Комментарии 12
Метки tcl

По Tcl несколько позже. Это реальная вещь. Я без проблем подключил звуковой модуль для своей проги, и настроил его. Теперь морзянку строчит как из пулемета.. Но на этом пока все застопорилось и не потому, что я не могу доделать прогу, а потому что как-то руки не доходят это доделать.
Но я о другом..
Сложно говорить о сложных для кого-то вещах, но надо.
Что мы сейчас имеем в своей основе? Ну, как бы программа делиться на отдельные подпрограммы. Это позволяет...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 2.
Реальная разработка на Tcl. Я полюбил его.
Запись от CoderHuligan размещена 30.09.2022 в 16:18
Показов 2753 Комментарии 4
Метки tcl

Хотя раньше только присматривался. Когда же начал писать реальный проект, то начал понимать в чем истина. Кто-то тут высказывался, мол, Си это все что нужно. Не спорю. На нем можно всё. Но какой ценой? Об этом эти люди не думают. видимо у них уйма свободного времени.. Реально сложные...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 1.
О некоторых странностях в реализации Некоторых типов ATD
Запись от CoderHuligan размещена 11.06.2022 в 16:59
Показов 1289 Комментарии 11

Прочел недавно вот эту статью на Хабре: "Анатомия таблиц LuaJIT и особенности их использования" https://habr.com/ru/company/vk/blog/493642/
В языке Lua существует единственный абстрактный тип данных - таблица. Она реализована на какой-то жгучей смеси обычных массивов и хэш-таблиц. К чему это может привести и какие косяки могут...
Аватар для CoderHuligan
Старый
Рейтинг: 3.40. Голосов: 5.
Проект ЯП (любительского)
Запись от CoderHuligan размещена 26.04.2022 в 18:56
Показов 14153 Комментарии 154

Итак предварительные намётки на проект языка с русским синтаксисом без излишних заморочек. Основная проблема такого ЯП в том, что постоянно приходится переключаться с латиницы на кириллицу при наборе кода. Выход из этого я вижу в том, чтобы оставить в языке только те символы,...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 2.
Плюсы воинствующие
Запись от CoderHuligan размещена 19.04.2022 в 11:38
Показов 3819 Комментарии 42

Так, ремарка по ходу.. Отдельный раздел (форум) по языку Си упразднили перенеся его в виде подкатегории раздела c++. При этом исчез отдельный раздел под профессиональный Си, который теперь слит в один раздел с c++. Короче говоря:
Белеет мой парус в краю одиноком
на фоне больших кораблей...

Не красит это вас, плюсовики..
Ваша агрессия говорит против вас, против вашего языка. Жили бы...
Аватар для CoderHuligan
Старый
Внутреннее представление кортежа
Запись от CoderHuligan размещена 07.02.2022 в 18:08
Показов 1799 Комментарии 6

Внешнее представление языка программирования (далее ЯП) очень важная вещь, но еще более важно как он устроен на внутреннем уровне. То есть каким образом реализованы те или иные структуры данных и пр. и с какой эффективностью они работают во время исполнения ( в ран-тайме)....
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 1.
Что-то давно не писал у себя в блоге
Запись от CoderHuligan размещена 29.01.2022 в 15:16
Показов 3450 Комментарии 31

Давненько сюда не заходил. Активно изучаю ассемблер, подтягиваю знания по компиляторам. Хотелось бы создать минималистичный язык программирования с широкими возможностями, который бы ПООЩРЯЛ НЕструктурный стиль, который ближе всего автоматам. Нечто среднее между basic и oberon,...
Аватар для CoderHuligan
Старый
Рейтинг: 3.67. Голосов: 3.
Дела текущие
Запись от CoderHuligan размещена 08.04.2021 в 14:11
Показов 20181 Комментарии 124

Ремонт компа идет. Сменил xp на семерку. Пока работать будет без видеокарты через видеовыход, а там посмотрим. Ноут тоже глючил: windows 10 каждый день в синий экран и идет перезагруз во время просмотра видео. Видимо драйвера кривые. Это происходит в Opera браузере. Установил хром, может...
Аватар для CoderHuligan
Старый
Рейтинг: 3.67. Голосов: 3.
Знак свыше
Запись от CoderHuligan размещена 03.04.2021 в 15:27
Показов 14920 Комментарии 56

Сегодня у меня полетел комп со всеми наработками, архивами и пр. Хорошо что часть архивов перегнал на ноут. Но там осталось много ценного. Думаю, что жесткий диск в порядке. Скорее всего видюха полетела, так как экран посыпался. Ну, что - компу больше 10 лет. Попробую наладить в...
Аватар для CoderHuligan
Старый
Рейтинг: 2.60. Голосов: 5.
Почему мы до сих пор экономим память?
Запись от CoderHuligan размещена 13.03.2021 в 13:10
Показов 12564 Комментарии 85

Заголовок может показаться провокационным, но я бы чистосердечно хотел услышать ответ на этот вопрос, и возможно поставить новые.. На самом деле по крайней мере для меня это важно и это один из краеугольных вопросов..
По делам текущим. Последнее время полностью вьезжал...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 2.
Морской бой. Мой
Запись от CoderHuligan размещена 25.02.2021 в 17:32
Показов 21504 Комментарии 132

Итак, как и обещал, сделал игру "Морской бой". Пока консольный вариант. Дойдут ли руки до гуишного - покажет время.
После продолжительных (относительно так как с перерывами делал меньше месяца) мучений по отладке, так как делал на голом си, все же удалось довести до ума...
Аватар для CoderHuligan
Старый
Рейтинг: 5.00. Голосов: 2.
Сверху или снизу? Сверху!!!
Запись от CoderHuligan размещена 22.02.2021 в 10:46
Показов 7963 Комментарии 45

Как проектируют программные системы? Обычно существует два основных подхода к написанию (проектированию) программ. Один из них так называемое проектирование сверху, другой - снизу.
Философию создания снизу, как известно, проповедовали фортисты или фортеры - поклонники...
Аватар для CoderHuligan
Старый
Рейтинг: 2.33. Голосов: 3.
На пути к непроцедурному языку #1
Запись от CoderHuligan размещена 20.06.2020 в 12:36
Показов 2707 Комментарии 16

Предыдущий пост был посвящен пределам удержания и понимания. К этому следовало бы добавить еще и следующее обстоятельство.
Практически большинство современных языков предполагает строго заданный порядок параметров в определении и вызовах функций и процедур.
Например взять любую функцию, например из стандартной библиотеки Си поиска подстроки в строке:
C
1
char *strstr(const char *src, const char *n);
Здесь, заметим, невозможно вызвать эту функцию...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 2.
О психологических пределах понимания и удержания.
Запись от CoderHuligan размещена 04.06.2020 в 14:45
Показов 5567 Комментарии 54

Нужно ли изучать иностранные языки? Кто бы сомневался! Нужно, конечно, если мы хотим понять чужую культуру, приобщиться, так сказать, к её великим творениям, да и просто пообщаться с себе подобными..
Но ведь известно, что если мы не хотим забыть какой-то язык его надо постоянно...
Аватар для CoderHuligan
Старый
Рейтинг: 2.67. Голосов: 3.
Продолжение формализации. Некоторые идеи #2
Запись от CoderHuligan размещена 03.04.2020 в 14:32
Показов 16122 Комментарии 221

(Добавлено позднее: это конечно заблуждение, но оно интересно с точки зрения фантазии...)
Кстати, о птичках (не так сложно написать компилятор, как формализовать ЯП без сайд эффектов)
Если не отказываться от стека (пусть даже виртуального), а все же оставить некую общую...
Аватар для CoderHuligan
Старый
Рейтинг: 4.00. Голосов: 5.
"Обратный " форт или "неправильный" basic
Запись от CoderHuligan размещена 23.03.2020 в 14:48
Показов 9081 Комментарии 111

Начал экспериментировать с написанием компилятора для некоего языка программирования, который имеет некоторые особенности и пока существует только в моей голове.
Нынешние языки, на мой взгляд, не удовлетворяют по крайней мере двум принципам:
1) Простоте;
2) Скорости...
Аватар для CoderHuligan
Старый
Рейтинг: 2.33. Голосов: 9.
Бритва Оккама
Запись от CoderHuligan размещена 26.06.2019 в 15:09
Показов 18018 Комментарии 268

Бритва оккама - известный методологический принцип в философии, который гласит примерно следующее: "Не следует привлекать новые сущности без крайней на то необходимости.". Оккам писал:
…множественность никогда не следует полагать без необходимости… [но] всё, что может быть объяснено из различия материй по ряду оснований, — это же может быть объяснено одинаково хорошо или даже лучше с помощью одного основания.
Из вики:
"Принцип «бритвы Оккама»...
Аватар для CoderHuligan
Старый
Рейтинг: 2.14. Голосов: 7.
goto и switch
Запись от CoderHuligan размещена 24.06.2019 в 10:22
Показов 5367 Комментарии 46

Вижу, что многие не понимают сути "народного" подхода, поступают вопросы, на которые следует ответить.
Цитата Сообщение от voral
Более того применение флагов не имеет отношение к выбору с GOTO или без оного. Это вещи разного порядка. (Мне все больше кажется, что вы не совсем верно толкуете "структурное" программирование). Флаги это не состояние программы в целом, или на какой то момент времени... Это лишь характеристика конкретной сущности. Которая может меняться, а может не меняться.
...
Аватар для CoderHuligan
Новые блоги и статьи
Введение в Dapr для разработчиков .NET
UnmanagedCoder 18.03.2025
Разработка распределенных систем никогда не была настолько востребованной и одновременно такой сложной. Если вы . NET разработчик, то наверняка сталкивались с необходимостью жонглировать обнаружением. . .
Собеседование по Spring Boot: продвинутые вопросы и ответы
Javaican 18.03.2025
Собеседования на позиции старших разработчиков и архитекторов требуют глубокого понимания внутренних механизмов Spring Boot, нюансов конфигурирования, подходов к оптимизации и построению сложных. . .
Перечисления в TypeScript: использование и лучшие практики
run.dev 18.03.2025
Пишете код и устали от разбросанных по проекту "волшебных" строк и чисел? Знакомая ситуация: где-то в глубине кода притаилась строка "ADMIN", а в другом месте используется "admin". И вот уже. . .
Фишки Kotlin, которые все любят
Javaican 18.03.2025
Помню, как скептически относился к появлению "ещё одного языка для JVM" — мол, зачем нам что-то новое, когда есть Java? Но первый же проект на Kotlin заставил меня пересмотреть свое мнение. Код стал. . .
Списки и кортежи в Python: различия, особенности, применение
py-thonny 18.03.2025
Если вы когда-нибудь писали код на Python, то наверняка сталкивались с конструкциями вида или ('имя', 25, 'инженер'). Это и есть списки и кортежи — последовательности, хранящие упорядоченные наборы. . .
Интеграция JavaScript в Haskell
golander 18.03.2025
Ключевая особенность нового JS-бэкенда GHC — возможность создавать колбэки из JavaScript в Haskell-код. Это открывает дорогу разработке полноценных браузерных приложений, позволяя реагировать на. . .
Циклы for в Python
py-thonny 17.03.2025
Существует множество ситуаций, когда нам нужно выполнить одно и то же действие несколько раз. Цикл for в Python — настоящий рабочий конь для большинства программистов. Если вам нужно пройтись по всем. . .
Предсказание ветвлений - путь к высокопроизводи­тельному C++
NullReferenced 17.03.2025
В высокопроизводительном программировании на C++ каждый такт процессора на счету. Когда речь заходит о разработке систем с низкой задержкой — будь то высокочастотная торговля, обработка потоковых. . .
Паттерн CQRS в C#
UnmanagedCoder 17.03.2025
Создание сложных корпоративных приложений часто требует нестандартных подходов к архитектуре. Один из таких подходов — паттерн CQRS (Command Query Responsibility Segregation), предлагающий простую,. . .
Паттерн Цепочка ответственности в C#
UnmanagedCoder 17.03.2025
Цепочка ответственности — это поведенческий паттерн проектирования, который позволяет передавать запросы последовательно по цепочке потенциальных обработчиков, пока один из них не обработает запрос. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru