реклама на сайте
подробности

 
 
35 страниц V  « < 27 28 29 30 31 > »   
Reply to this topicStart new topic
> Pascal для AVR
Leka
сообщение Dec 14 2008, 20:02
Сообщение #421


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(zhevak @ Dec 14 2008, 20:23) *
а скажите мне, уважаемые Паскалисты, живет-ли еще в Паскале такой анахренизм как множество?

Вопрос вот в чем. Как известно, Си славится тем, что очень компактный. На столько компактный, что не даже имеет встроенных в язык операторов ввода/вывода. Все недостающее обеспечивается библиотеками, который огромное количество. У Паскаля же, на сколько я помню, многие операторы неотъемлемы от языка.

Я помню, что множества можно было объединять, пересекать, еще что-то с ними делать. Помню, что размеры множества не могли быть больше 256 бит. В теории все это выглядело очень красиво. Практически же применить было негде. И я тогда искренне не мог понять -- а зачем они нужны? Разве что только для обучения школьников математике.
...
Итак, поддерживает-ли Паскаль множества? Если да, то где сфера их применения?


Ха. Си славится прежде всего тем, что это низкоуровневый язык. Попытка применить его к нестандартной архитектуре, например с троичной системой счисления, или к системе с неограниченной разрядностью обречена на обрастание многочисленными костылями. Как интерпретировать a & b в троичной системе счисления?

Сообщение отредактировал Leka - Dec 14 2008, 20:03
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 14 2008, 20:18
Сообщение #422


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(733259 @ Dec 14 2008, 17:57) *
А у E-LAB оказывается есть версия без ограничений для Mega8/88.

Я ж говорю, он мне не понравился. Это не паскаль, это чисто си в его "лучших" традициях.

Цитата(733259 @ Dec 14 2008, 17:57) *
Может кто потестит, а то Огурцов куда-то пропал.

Вот, у меня других дел нет ?


Цитата(zltigo @ Dec 14 2008, 12:29) *
Ошибался

Принято

Цитата(zltigo @ Dec 14 2008, 12:29) *
Повторяю - получен некий мутный код. Вопрос причем тут шляпа?

Нет, там были другие слова. Два раза.


Цитата(733259 @ Dec 14 2008, 13:47) *
Может что-то включить в настройках?

Может быть. Компилилось примерно так: new project/copy&paste/build all
Изучать возможности компилятора задачей не ставилось.
Не исключено, что таки посмотрю его, но позже.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 14 2008, 20:39
Сообщение #423


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(SasaVitebsk @ Dec 14 2008, 23:59) *
1)Почему вся конфа здесь на руссом языке?
Ответ.
1) Потому что язык лучше и позволяет лучше выразится.
2) Потому что английский не знаю.
3) Потому что на нём мне общаться комфортнее.
4) Потому что вокруг меня все на нём общаются.

Хороший вопрос. Ответ на Ваш прос -- естественно под №4.

Аналогия близкая, но, отнюдь, не 100-процентная. Потому как чтобы освоить иностранный язык до такой степени, чтобы можно было на нем хоть как-то разговаривать, нужно потратить как минимум несколько сотен часов. Что бы он стал почти родным нужна одна-две тысячи и более часов. Кто-то тут ранее говорил, что ему достаточно двух дней для того, чтобы выучить новый язык программирования. Разиница между в освоении нового ЯП и нового языка общения -- коллосальна. Согласно этому я утверждаю, что скакать с одного ЯП на другой намного легче, а это значит, что сделать выбор (какой ЯП лучше подходит) намного проще и быстрее, чем тоже самое проделать для языка общения. А это значит, что язык общения он намного сильнее удерживает людей в их социуме, чем ЯП. Т.е. проводить аналогию между ЯП и человеческими языками не совсем корректно.


Примите следующее просто как забавный факт. Недели две назад БиБиСева разглагольствовал по поводу двуязычия у переводчиков. В беседе всплыла одна интересная фича. Вопрос звучал примерно так: "на каком языке у себя в голове вы думаете?" Перводчики, для которых и тот, и другой языки одиноково "родные", утверждают, что когда нужно что-то быстро ответить -- используют в основном английский для построения фразы, когда нужно глубинно помыслить, крепенько-так помозговать -- в основном используют русский.


Цитата
Более грамотное построение локальности/ глобальности переменных. Тут один уже говорил о возможности в Си объявить переменную прямо в цикле. Так вот, видимо он не знает всей правды. smile.gif

Паскаль имеет иерархическое строение локальности (видимости). Включая процедуры. Схема такая

Этого в Си не хватает.

Ой-ой, уважаемый! Зачем же так -- все в одну кучу?
Одно дело локальные переменные, и совсем другое --вложенные процедуры.
Когда локальных переменных немного и когда применение наглядно -- почему бы не использовать?
А вот от встроенных процедур, я бы держался как можно дальше. С одной стороны -- вроде как экономия памяти, а с другой -- мина замедленного действия в тумане. Рванет хрен знаешь когда. Нафиг-нафиг!

Цитата(Leka @ Dec 15 2008, 01:02) *
Ха. Си славится прежде всего тем, что это низкоуровневый язык. Попытка применить его к нестандартной архитектуре, например с троичной системой счисления, или к системе с неограниченной разрядностью обречена на обрастание многочисленными костылями.


Это... типа... опа! Где эта троичная система применяется в народном хозяйстве? В магазине я видел толко Троичный одеколон. И то лет 15 назад. Что-то я не в курсе, просвятите неуча. А заодно приведите факты, что на троичных вычислителях огромные толпы программистов юзают только Паскаль.

Дак никто не спорит -- Си отлично справляется с низкоуровневыми задачами.

Цитата
Как интерпретировать a & b в троичной системе счисления?

не знаю. А на Паскале это как выглядит?


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Dec 14 2008, 20:47
Сообщение #424


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
procedure blah_blah( bubu: integer); inline;
Ясное дело, что костыль, но приятно

чем этот "костыль" хуже __attribute__ или #pragma, которыми изобилуют компиляторы С ?
Цитата
У Паскаля же, на сколько я помню, многие операторы неотъемлемы от языка.
никто не запрещает написать свои функции. например на контроллерах типа АВР накладно использовать многие стандартные библиотечные функции типа printf, приходится писать свои, намного более компактные.

Цитата
Оформите в виде библиотеки, кому надо, тот подключит. Зачем ограничили 256-ю битами? А если у меня 365 (по количеству дней в году) единиц будет, что мне делать?
наверно потому что использовалься 1-байтный индекс, и этого тогда было достаточно. никто не запрещает написать свою реализацию хоть 4-гигабайтных множеств.

Цитата
Вы опять про Delfi.. или подобные. Паскаль по жизни даже раздельной компиляции не имеет, а тут inline
почитайте хоть о модулях. и почему расширение С - это нормально (78,83,89,99), а Паскаля (Turbo Pascal, Extended Pascal) - нет ? Может давайте тогда сравнивать версии начала 70х ?
при желании можно добавить все что нужно (локальных переменных и многого другого в первых С тоже не было).

тут описаны некоторые нововведения : http://www.pascal-central.com/extpascal.html. А в том что не развивается дальше имхо виновата непопулярность языка.

Сообщение отредактировал ukpyr - Dec 14 2008, 20:52
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 14 2008, 21:22
Сообщение #425


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(SasaVitebsk @ Dec 14 2008, 21:59) *
Паскаль имеет иерархическое строение локальности (видимости). Включая процедуры.

Этого в Си не хватает.
Упаси господь !

Цитата
В какой-то ветке писали, что GCC поддерживает вложенные процедуры.
Да, но никто не пользуется



Цитата
Интересно не то что он поддерживает это (согласно стандарта данная фича не описана), а интересно то, что кто-то сделал, и что кто-то пробовал.
На мой взгляд, это подтверждает, что данной фишки не хватает тем, кто это испробовал.
'Эта фишка' страдает КРАЙНЕЙ неэффективностью реализации. Так же она во многом ограничивает возможности оптимизатора (хотя в Pascal'е этой проблемы нет, ввиду отсуствия оптимизатора smile.gif ). Для ее эффективной реализации нужна поддержка со стороны аппаратуры. Таковой поддержки нет нигде, а в х86 архитектуре даже были специально сделаны команды enter & leave (в качестве некоторого костыля), которые получились столь ГРОМОЗДКИМИ, что их по назначению не используют даже компиляторы Pascal'я cranky.gif





Цитата(ukpyr @ Dec 14 2008, 23:47) *
почитайте хоть о модулях. и почему расширение С - это нормально (78,83,89,99), а Паскаля (Turbo Pascal, Extended Pascal) - нет ?
Потому что расширения С (равно как и он сам) - это СТАНДАРТ, а расширения Паскаля - личные инициативы их расширителей. И если компилятор C заявлен, как отвечающий стандарту C99, то это будет один и тот же язык, какой бы производитель этот компилятор не сделал. Стандарт Паскаля есть (ОЧЕНЬ древний), но компиляторов, его поддерживающих - нет sad.gif

Сообщение отредактировал XVR - Dec 14 2008, 21:27
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 14 2008, 21:27
Сообщение #426


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(ukpyr @ Dec 14 2008, 23:47) *
почитайте хоть о модулях. и почему расширение С - это нормально (78,83,89,99), а Паскаля (Turbo Pascal, Extended Pascal) - нет

Я ничего против расширения и развития не имею, только тогда и называйте эти форки соответственно их авторства, а не "Просто Паскаль" и уж тем более отмечая массу реально необходимых для реального использования языка нововедений не спекулируйте на тех красивых, но несовместимых с реальностью постулатах, кои были когда-то заложены Основоположником. Ну и самая основная проблема это абсолютная, в отличии от 'C', хаотичность развития (причем само реальное развитие-то осталось в 80-90x вместе со стандартами) Паскаля. Вот и получаем почти пустой звук sad.gif при слове Паскаль. Все рассыпалось и продолжает рассыпаться по мелким фирмочкам пытающимся развести пользователей на покупку всяческих "Паскалей" (практически такая-же история и со спекуляцией на слове "Linux"). Паскаль мертв. Давно пора обсуждать из реальных компиляторов тот-же ADA.
Ну соответственно глупые разговоры о Дельфиских наворотах в ветке про программирование AVR.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 14 2008, 22:50
Сообщение #427


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Хех!

Нужно четко понимать, что повседневное использование компилятора (например, для создания коммерческого софта) -- это одно, а "заигрывание" с компилятором (например, в учебных целях или просто убить время) -- это совсем другое. Первое -- компилятор-кормилец, второе -- компилятор-разлекаловка.

Остается непонятным, почему компиляторы для нормального языка -- Паскаль -- для микроконтроллеров реально в промышлеенных масштабах не используются совсем, а только как "развлекаловки". В тоже время компиляторы для языка Си (который либо хуже, либо такой же как Паскаль) используются очень широко.

Значит, утверждение, что "паскаль не хуже Си" мягко говоря неверно -- нужно обязательно уточнять -- для каких целей это справедливо. Как минимум для промышленных целей -- это утверждение будет неверно. Для целей само-развлечения -- возможно оно так. Для целей обучения -- очень и очень спорно. Ибо получается, что учим одному, а в промышленности используем совсем другое. Какой смысл водить людей кругами, тем более, что для начинающих на этапе освоения языки практически ничем не отличаются?

Что же касается применения Си или Паскаля для больших компов, то тут наблюдается та же картина, причем опять же не в пользу Паскаля. Про Паскаль я помолчу, а про Си выскажу предположение, что драйверы устройств пишутся на некотором диалекте С/С++, т.е. использутся С++ в режиме С. И я что-то плохо себе представляю реальный драйвер устройства, написанный на Паскале. Поправьте, если есть в жизни такое.

Значит можно говорить о том, что Паскаль/Делфи слил позиции низкоуровневого программирования и сосредоточился "ввеху", в области высокоуровневых языков типа Васик, Шарп, С++. Не надо быть гением, что бы увидеть, что и здесь Паскаль/Делфи не имеет особого преимущества перед С/С++. К стати, как нафиг Паскаль для Венды? -- Делфи и толко Делфи! В моем представлении Делфи находится от Паскаля на столько же далеко, на сколько С++ от С.


Я за себя скажу. Для МК я использую чистый С. Для компов использую С++ в купе с MFC. Какое-то время использовал С#, но оставил его, т.к. невозможно объять все сразу. На будущее для себя отметил, что если придется писать только высокоуровневые проги, буду юзать либо C#, либо "неуправляемый"С++. Считаю, что осваивать технику работы с Делфи будет крайне неразумно.

Я затронул этот вопрос не случайно. Во время кризиса можно легко лишиться заказчиков. Возможно придется быстро подбирать то, что будет "пролетать" мимо, т.е. брать работы по созданию программ исключительно для компов. Знание С не даст потонуть ни в области программирования для МК, ни в области программирования компов, чего не скажешь про Паскаль.

Отсюда нелестный вывод про Паскаль -- Паскаль плох своей ограниченностью применения.



Это про множества:
Цитата(ukpyr @ Dec 15 2008, 01:47) *
наверно потому что использовалься 1-байтный индекс, и этого тогда было достаточно. никто не запрещает написать свою реализацию хоть 4-гигабайтных множеств.

Это понятно. Все правильно! И про С можно сказать то же самое -- "никто не запрещает...".

Но давайте рассмотрим Паскаль. С одной стороны имеем в языке уже готовую конструкцию, а с другой совет -- "никто не запрещает...". Вопрос, а нахрена вы, ребята, сворганили нечто такое ужасное, чем пользоваться нельзя?

Цитата
никто не запрещает написать свои функции. например на контроллерах типа АВР накладно использовать многие стандартные библиотечные функции типа printf, приходится писать свои, намного более компактные.

И я про тоже! Если мы вынуждены писать свои функции ввода-вывода, а тем более если у нас вообще не предусмотрен ввод-вывод в контексте readln-writeln (допустим, мы моргаем только ЛЭДами, да собираем цифирь с портов), то становится не понятно, зачем включать в язык эти операторы? На вский случай? Это же избыточность языка.


ЗЫ
Про троичную систему счисления, стёб:
Наверно в этой системе помимо мужской жесткой однозначности да -- это да, нет -- это нет, должна присутствовать женская неоднозначность типа "ни да, ни нет", или "я еще не решила", или даже так -- "догадася сам, почему я на тебя сержусь". Улыбайтесь!

Сообщение отредактировал zhevak - Dec 14 2008, 23:15


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 15 2008, 00:10
Сообщение #428


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(_Pasha @ Nov 18 2008, 12:10) *
Plain C + асм отдельно линкуемым файлом, не вставками.
Просто достал этот знатокъ паскаля, ни разу не нюхавши его.
P.S.
Кто-нить юзал Pascal to C/C++ convertor ?

Я вот собсна чего. Прикольная программка получается.
1. Очень облегчает плавный переход от ЦЕ к ПАСу и наоборот.
2. Восстанавливает справедливость в иерархии языков (можете даже обозвать их недоязыками- не обидно нисклько). В том смысле, что ЦЕ - это такой баалшой и умный, но ассемблер. А ПАС все-таки позиционировался как ЯВУ. Да и хрен с ним - пусть этот ЯВУ опирается на ЦЕ, а не на асм.
3. Автор программы, может где-то и прокололся, но, поскольку параллелей между языками очень много, задача практически тривиальная. Это радует. Кто хочет, может ферзей погонять smile.gif
Такшта, надеюсь примирить всех несогласных...
И студентам кстати будет. И все эти "фичи" E-LAB и прочих дворняжек можно перелопатить и перегнать в ЦЕ. Мир, счастье, лето, трава... biggrin.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 15 2008, 00:17
Сообщение #429


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Эх, мыло да мочало - начинай сначала (с)

Цитата(zhevak @ Dec 14 2008, 22:50) *
Отсюда нелестный вывод про Паскаль -- Паскаль плох своей ограниченностью применения.

Си тоже плох своей ограниченностью применения. Однако ж это не мешает вам им пользоваться ?

Цитата(zhevak @ Dec 14 2008, 22:50) *
зачем включать в язык эти операторы?

Так их и нет в микроэлектронике. Да и в дельфи я что-то не припомню, для winapp. В консольных есть, конечно.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 15 2008, 00:18
Сообщение #430


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(zhevak @ Dec 15 2008, 02:50) *
Про троичную систему счисления, стёб:

Какой там стеб? Суровые начала теории R-функций, например.
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 15 2008, 02:37
Сообщение #431


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата(Огурцов @ Dec 15 2008, 05:17) *
Си тоже плох своей ограниченностью применения. Однако ж это не мешает вам им пользоваться ?
Ничего себе утверждение! Трудно сказать что-то более оторванное от практики!
Назовите более широко применяемый язык, чем C/C++!

Пока доказать, что паскаль для чего-то пригоден в программировании микроконтроллеров Вам и другим паскалистам не удалось - единственный рабочий компилер выдал код явно не пригодный, разве только для обучения (как не надо делать smile.gif ).
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Dec 15 2008, 03:30
Сообщение #432


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Ибо получается, что учим одному, а в промышленности используем совсем другое
учат теорию (алгоритмику, концепции программирования), я бы начинал изучение с языков типа Python, Ruby, где есть и функциональные элементы, и ООП, интроспекция и т.д.
Цитата
а про Си выскажу предположение, что драйверы устройств пишутся на некотором диалекте С/С++, т.е. использутся С++ в режиме С. И я что-то плохо себе представляю реальный драйвер устройства, написанный на Паскале.
наверно потому что не знаете Паскаль. Все там есть - и доступ к WinAPI, портам, и встроенный ASM. Можно пользоваться консольным компилятором.
Цитата
Значит можно говорить о том, что Паскаль/Делфи слил позиции низкоуровневого программирования
что такое "низкоуровневое программирование" ? еще раз - есть там все для "низкоуровневого программирования".
Цитата
К стати, как нафиг Паскаль для Венды? -- Делфи и толко Делфи! В моем представлении Делфи находится от Паскаля на столько же далеко, на сколько С++ от С.
что за бред, это тот же Паскаль, только расширенный. кстати, Вирт - один из авторов этих расширений http://ru.wikipedia.org/wiki/Object_Pascal , так что можете считать их стандартом. Вы постоянно говорите о каком-то виртуальном "стандартном" Паскале - нет таких компиляторов. А есть реальные компиляторы, напр. http://www.freepascal.org/ - посмотрите, может что-нибудь прояснится.
Цитата
Остается непонятным, почему компиляторы для нормального языка -- Паскаль -- для микроконтроллеров реально в промышлеенных масштабах не используются совсем, а только как "развлекаловки"
потому что есть мейнстрим, на который работают основная масса разработчиков, ведь был же Борланд, который привел к Паскалю многих людей. Сейчас есть GCC, ICC, MCC, IAR и т.д., которые перетягивают в сторону С. Таково се ля ви, существует куча прекрасных и более продвинутых, но непопулярных языков.

Сообщение отредактировал ukpyr - Dec 15 2008, 03:42
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 15 2008, 03:35
Сообщение #433


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата
что такое "низкоуровневое программирование" ? еще раз - есть там все для "низкоуровневого программирования".
Приближенное к "железу".
Приведите пример драйвера какого-либо устройства, который написан на паскале. Или компилер, рабочий, оптимизирущий, для ARM, AVR или другого контроллера по Вашему выбору.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 15 2008, 04:16
Сообщение #434


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(733259 @ Dec 15 2008, 02:37) *
Ничего себе утверждение! Трудно сказать что-то более оторванное от практики!

Что, вокруг один си ? Ну мне даже жаль вас )))

Цитата(733259 @ Dec 15 2008, 02:37) *
Пока доказать, что паскаль для чего-то пригоден в программировании микроконтроллеров Вам и другим паскалистам не удалось

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

Хорошая фича:
Код
  Test_byte := 1;
  asm
    lds R16, _Test_byte
    lsl R16
    sts _Test_byte, R16
  end;


Нука всмоним, как такое же сделать в GCC ?

Посмотрел генерящийся код - все не так и плохо, оптимизация некоторая проводится. Плюс две дюжины библиотек в комплекте, почти как в дельфи - разные spi, twi, lcs, 1wire, kbd, ps/2, sound, mmc, cf - только садись и пиши.
Go to the top of the page
 
+Quote Post
733259
сообщение Dec 15 2008, 04:34
Сообщение #435


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146



Цитата(Огурцов @ Dec 15 2008, 09:16) *
Что, вокруг один си ? Ну мне даже жаль вас )))
Как раз наоборот, есть еще дельфи, так что незнание паскаля меня лично несколько напрягает.
Цитата
Не так. Нужно вот так: доказать сишникам, что паскаль пригоден в программировании, не удалось.
Да, это так, положительных примеров пока привести не удалось.
Цитата
Хорошая фича:
Это шутка? Так же, через asm (asm volatile).
Цитата
Посмотрел генерящийся код - все не так и плохо, оптимизация некоторая проводится.
Помотрите еще раз, хотя бы то простейшее выражение "arow[pos + 1] := arow[pos] or place;" и сравните с си: разница реально - в разы.
Там точно нет какой нибудь галочки, "включить оптимизацию"?
Go to the top of the page
 
+Quote Post

35 страниц V  « < 27 28 29 30 31 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 05:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01588 секунд с 7
ELECTRONIX ©2004-2016