Pull to refresh
0
0
Send message
>1. роутер
>2. плата с микроконтроллером AtMega16 от старого проекта
>3. твердотельное реле
>4. 2-строчный ЖКИ-дисплей
>5. корпус
>6. провода и прочие расходные материалы

Это мне напомнило сказку «Каша из топора».
Вообще-то я не обсуждать сюда пришёл, а спросить. Может и не надо ничего писать. Оказалось что надо.
Нынешнее лежит у меня на диске. Я решил никуда не выкладывать, т.к. это нужно только мне, как я понял. Пишу в нескольких средах(Delphi, CodeForge, Lazarus, ну и в обычных текстовых редакторах).
Посмотрев на исходники, я вспомнил, что это было время, когда хотелок было меньше и я хотел сделать среду, чтобы она могла работать в текстовом режиме. Потом я от этого отказался и проект умер.
Это было так давно, что я даже не представляю что там.
И идеи есть и среду пишу, более того некоторые задумки уже использую, чтобы облегчить написание среды. А точки с запятой это привычка.
Я не хочу более непривычный синтаксис. Я хочу конструкций, которые повысят читабельность и уменьшат кол-во кода и значительно повысят мой кпд. А также совершенно не хочу знать и помнить чем разделять параметры и чем завершать функцию или класс. Зачем мне облегчать работу компилятору, ставя '.' в конце функции в Erlang, ';' в конце класса в C++, если машина должна МНЕ помогать, а не наоборот.
Я думаю это лишнее. Я пробовал Erlang, и вроде даже возникло ощущение, что это то что надо, но уж больно у него синтаксис вычурный и непривычный. Да и низкоуровневые функции работы с железом всё равно написаны на С, так что по сути Erlang — надстройка. Я думаю, если делать надстройку, то делать её максимально удобной и привычной для себя.
xml слишком громоздкий для моих целей, я его привёл просто для примера. Я ещё не конца определился как это будет, но скорее всего это будет что-то нечитаемое бинарное. Среда будет это показывать в human-readable виде для человека и в compiler-readable виде для компилятора :)
Мне тоже когда-то хватало. А потом стало дискомфортно, а после так просто бесить. И никто не говорил, что моя среда будет запрещать набирать код самому.
Ну да. libxml для linux, domxml для винды. Да и самому писать — максимум день/два.
Ну про парсер я немного слукавил. Код представленый в виде структурированного текста(например xml, который среда будет скрывать от моих глаз) парсить надо, но парсер xml есть и он настолько прост, что называть его парсером это лстить ему :)
Когда я только начинал думать о своей среде, я встречал реализацию boost:signals. Синтаксис тот ещё. У delphi он адский, но не настолько. Если не пользуешься им постоянно, то забудешь. Встроена ли поддержка boost в какую либо среду, чтобы кликнул по кнопке, а среда тебе код на бусте?
Они хороши. Мне не нравится реализация. Эти CONNECT и DISCONNECT с кучей параметров мне не нравятся. Более понятно простое присвоение, как в Delphi. Хотя у сигналов-слотов есть преимущество: на один сигнал можно повесить несколько обработчиков, иногда в Delphi этого не хватает.
Когда наследуешь классы от QObject, нужно вставлять макрос Q_OBJECT, который разворачивается объявления переопределённых методов.
Qt Creator хорошая вещь(заменяет. на ->). Но когда я увидел как реализована система взаимодействия элементов интерфейса, мне стало плохо. Что поделать в C++ нет событий как в Delphi. А ещё раздражает обязательное переопределение методов в наследниках QObject. Как по мне, так это настоящий всамделишный быдлокод.
Немного перефразировал первый пункт. Может так будет меньше споров.
Ну тоже самое. Создаю новый тип:

тип параметр = строка;

Далее объявляю функцию:

функция Ф(параметр: параметр);

Т.е. фактически в функцию передаётся строка. «Параметр параметр»(наверное окажусь на башорге :)) я привёл для демонстрации возможности системы без парсера.
Спутал с JavaScript. Да, я хочу жёстко связать язык и среду. Не хочу помнить синтаксис той или иной конструкции языка. Когда попеременно пишешь на С/С++ и Delphi, забываешь про разные присваивания = и :=, про if… then и if… {}. Не хочу думать, что надо ставить. или -> (вообще удивляет, почему это не может решить компилятор). Я должен думать там, где ни среда, ни компилятор не подскажут. А элементы программы: ветвление, выбор, цикл, функция, класс должны вставляться одной кнопкой.
Программируемые калькуляторы, затем ассемблер на приставках(типа денди) и 286-х, BASIC, QuickBasic, Pascal, ObjectPascal в Delphi. С Delphi начал писать профессионально. Вместе с Delphi пришлось делать web-интерфейсы. Немного писал на JavaScript, PHP. Далее С/С++ на Linux и микроконтроллерах. Сейчас мне втюхивают ПЛИС, а всеми силами открещиваюсь, ибо пока я делал COM-порт на ней, у меня чуть мозг не лопнул. Сложно думать параллельно.
Профессионально программирую лет 6 где-то.

Information

Rating
Does not participate
Registered
Activity