OberonCore
https://forum.oberoncore.ru/

Расскажите о вашем опыте программирования на обероне.
https://forum.oberoncore.ru/viewtopic.php?f=35&t=5003
Страница 1 из 1

Автор:  Jordan [ Понедельник, 24 Февраль, 2014 23:37 ]
Заголовок сообщения:  Расскажите о вашем опыте программирования на обероне.

Тема не для холивара.

Тема является информационной. Хочется узнать у участников форума, какие задачи решаются на обероне. Что, упростил или усложнил язык. Возможность, переосмысления архитектуры в контексте оберона и т.д

Одно, дело читать, на сайте что написано на обероне, другое дело услышать самих программистов.

Да и вообще как живут оберон программисты. :)

Иван Кузьмицкий, хочется услышать и вас. Пётр Кушнир не проходите мимо.

Автор:  Alexander Shiryaev [ Вторник, 25 Февраль, 2014 01:22 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Jordan писал(а):
какие задачи решаются на обероне

Все программы для микроконтроллеров пишу на Обероне-07.

Jordan писал(а):
Что, упростил или усложнил язык.

Язык упростил компилятор. Легче писать надёжные программы, потому что не нужно держать в голове ошибки компиляторов.
Которые так и не исправляют, несмотря на указания на них тем, кто их пишет. А эти ошибки часто связаны именно со сложностью, неоднозначностью и избыточностью языков.

Это касается не только языков программирования, но и целевой архитектуры микроконтроллеров.

Jordan писал(а):
Возможность, переосмысления архитектуры в контексте оберона и т.д

А в архитектуре программ у меня существенных отличий нет, то есть она не зависит от языка программирования.

Автор:  Jordan [ Вторник, 25 Февраль, 2014 10:23 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Alexander Shiryaev писал(а):
Все программы для микроконтроллеров пишу на Обероне-07.


Расскажите подробнее, каким компилятором пользуетесь, и какие по масштабам проекты пишите. Используете ли техники оптимизации. Тема интересная. Для каких микроконтроллёров пишите.

Alexander Shiryaev писал(а):
А в архитектуре программ у меня существенных отличий нет, то есть она не зависит от языка программирования.


Как пример. На си массив это просто указатель на память. Стандартно узнать размер дин выделенного блока невозможно, длина массива передаётся явно. От того при работе со строками, размер массива нужно передавать как параметр, strncpy, так как если '\0' символ не будет найден, комбайнер начнёт пахать соседский участок с капустой. :) В обероне, массив хранит свой размер всегда. Конечно, это не меняет архитектуру, но способствует лучшему нахождению ошибок.

Автор:  Иван Кузьмицкий [ Вторник, 25 Февраль, 2014 10:42 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Jordan писал(а):
Одно, дело читать, на сайте что написано на обероне, другое дело услышать самих программистов.
Беллетристикой заниматься ну вот нет никакого желания, от слова "совсем". Оберон дисциплинирует мышление, но про это не надо читать, это надо практиковать. От чтения мало толку. Личный опыт важнее, тем более, что практика даст реальную возможность сравнить.

Вот, например, было бы полезно сравнить работоспособность в рамках активностей. Для BB такое реализовано, вот бы получить такое же измерение, но для других языков\сред.

Я думаю, это даст вполне реальную картину. Ведь можно тогда легко вычислить КПД программиста. Например, для КП\BlackBox активное программирование занимает в среднем всего 4 часа в день, больше не получается. И за эти 4 часа видно, сколько нажато клавиш и сколько проехала мышь. Вот вам и физическая активность, с реальными затратами энергии.

Автор:  Alexander Shiryaev [ Вторник, 25 Февраль, 2014 11:15 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Jordan писал(а):
Alexander Shiryaev писал(а):
Все программы для микроконтроллеров пишу на Обероне-07.

Расскажите подробнее, каким компилятором пользуетесь

Этим.

Jordan писал(а):
и какие по масштабам проекты пишите

В основном системы автоматического управления. ~20000 строк исходных текстов.

Jordan писал(а):
Используете ли техники оптимизации

В основном оптимизация на верхнем уровне, в архитектуре программы, алгоритмическая.

Jordan писал(а):
Для каких микроконтроллёров пишите

Сейчас для NXP LPC2378.

Jordan писал(а):
Alexander Shiryaev писал(а):
А в архитектуре программ у меня существенных отличий нет, то есть она не зависит от языка программирования.


Как пример. На си массив это просто указатель на память. Стандартно узнать размер дин выделенного блока невозможно, длина массива передаётся явно. От того при работе со строками, размер массива нужно передавать как параметр, strncpy, так как если '\0' символ не будет найден, комбайнер начнёт пахать соседский участок с капустой. :) В обероне, массив хранит свой размер всегда. Конечно, это не меняет архитектуру, но способствует лучшему нахождению ошибок.

В программах для микроконтроллеров не пользуюсь динамической памятью. И строки там не нужны :)

Автор:  Илья Ермаков [ Вторник, 25 Февраль, 2014 12:36 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

У меня часть из этих проектов: http://i.ermakov.pw/#projects (там понятно, какие) была сделана на КП/ББ.

Плюс масса учебных: http://i.ermakov.pw/students.html

По объективным причинам (госслужба) 2012-2013 год практически (кроме студентов) не использовал КП/ББ, сейчас вновь всё больше уходим с ребятами на него, пытаясь вытеснять даже из сайтов "попсу" типа PHP. Сейчас на основе подсистемы YSon Петра Кушнира сделал CMS-ку генерационную (отливает на выходе статику, которая публикуется уже на сервере), сейчас 3 внешних проекта на ней пилятся моими ребятами, будем активно развивать дальше.
Тут, кстати, очень позитивный опыт - работать с JSON|DOM-подобными структурами из статического языка гораздо удобнее, чем из динамического. При том, что получается значительно больше кода, но это код содержательный, типа: IF obj IS YSonModels.String... - он заставляет явно прописать возможные ситуации, что там может лежать, и обработку всех случаев, а не полагаться на неявные приведения и "проглатывания ошибок" динамического языка.

Потихоньку с ребятами воскрешаем старый опыт своих веб-приложений на ББ. В 2009-м был интересный опыт, но, увы, не хватило в тот момент сил-ресурсов запилить библиотеки для быстрой разработки конечных веб-приложений, сопоставимой со всякими говно-PHP...
Вот, кстати, я выкладывал примерчик - наш HTTP-сервер: http://i.ermakov.pw/soft/Oda_Simple_HTTP.7z
Правда, без исходников.
Кстати, до сих пор его применяем "в быту", когда нужно поработать локально со статическим сайтом. Практичнее, чем возится с Апачем.

Автор:  Евгений Темиргалеев [ Вторник, 25 Февраль, 2014 15:50 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Иван Кузьмицкий писал(а):
Jordan писал(а):
Одно, дело читать, на сайте что написано на обероне, другое дело услышать самих программистов.
...Оберон дисциплинирует мышление, но про это не надо читать, это надо практиковать. От чтения мало толку. Личный опыт важнее, тем более, что практика даст реальную возможность сравнить.
Поддерживаю. viewtopic.php?t=2284 ; http://oberoncore.ru/_media/library/tem ... _virta.pdf

Автор:  Jordan [ Пятница, 28 Февраль, 2014 20:41 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Статья хорошая.

Но есть замечания. Язык сам по себе не принадлежит корпорациям. Они лишь поставщики компиляторов. Если пугает натиск MSVC есть gcc в который входит компилятор С++, развивается сообществом и корпорациями, но весь код публикуется под GPL лицензией, кроме run time библиотеки.

Суть темы не в этом. Я хотел послушать участников о их проектах. Малых или больших. Если сказать по простому, житейские истории. Суть темы не спор о дисциплине программирования.

Alexander Shiryaev и Илья Ермаков меня услышали.

Автор:  Info21 [ Четверг, 06 Март, 2014 16:11 ]
Заголовок сообщения:  Re: Расскажите о вашем опыте программирования на обероне.

Jordan писал(а):
... Малых или больших. Если сказать по простому, житейские истории. ...
Вот, нет будильника на любой случай сложной жизни.
А на ББ -- пожалуйста.

Простенький модулек, потом строгаешь процедурку, если что, а то и тип (Action) -- отлично :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/