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

 
 
35 страниц V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Pascal для AVR
forever failure
сообщение Nov 14 2008, 08:23
Сообщение #76


Местный
***

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



Господа пасквилянты, чем в попу тарахтеть, какой прекрасный ваш паскаль, лучше приведите пример рабочего кода, хоть бы под тот же АВР, а потом и сравним его с сишным. И скомпиленную прошивку тоже сравнить неплохо было-бы.

А то просто флуд и балабольство получается.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 14 2008, 08:52
Сообщение #77


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(zltigo @ Nov 14 2008, 10:33) *
Давно подозревал, что в системе образования в России большие проблемы, но думал, что все так дурно и в головах "ученых".


А как с этим в системе образования Latvia

P.S. Не поймите превратно.
Образование, бывает, формируется в привязке к технологиям крупных продавцов рынкаsmile.gif
с С, С++, Pascal - это всё продаваемые системы программирования MS, Borland и др.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 14 2008, 08:58
Сообщение #78


;
******

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



Цитата(Kopa @ Nov 14 2008, 12:52) *
С, С++, Pascal - это всё продаваемые системы программирования MS, Borland и др.

Таак. Пора звать R.Stallman&Co. Пусть юноше набьют. biggrin.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 14 2008, 09:03
Сообщение #79


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(forever failure @ Nov 14 2008, 11:23) *
Господа пасквилянты, чем в попу тарахтеть, какой прекрасный ваш паскаль,


Эка Вас как перекосилоsmile.gif.

P.S. Что Pascal, что С - для меня они из одной обоймы.
А профессионально можно использовать хоть тот, хоть другой beer.gif
А эволюцию выигрывают Java, C#, + скриптовые языки и специализированные языки.


Цитата(_Pasha @ Nov 14 2008, 11:58) *
Таак. Пора звать R.Stallman&Co. Пусть юноше набьют. biggrin.gif


Ага, при том, что мне "священные войны" Pascal vs C нетрогают.
У меня есть своя любимая песочница Forth.
GCC почти не использую.

P.S. Хотите высказаться по существу?
Странно что еще не вспомнили Виртовсую Мodula и европейские традиции в программировании.

Сообщение отредактировал Kopa - Nov 14 2008, 09:09
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 14 2008, 09:57
Сообщение #80


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
Мне так удобнее, т.к. я знаю Паскаль лучше, чем BASIC/C#/Perl

гм. А что такое Perl? не скриптовый клон паскаля часом, а? smile.gif

Цитата
Другой пример. Допустим, юзаем АРМ. Допустим, имеется код одной какой-нибудь функции, которая располагается (и, соответственно, выполняется) в оперативной памяти, а другая располагается и работает во флешь.

ну и в чем проблема? ;>
поступаем как Keil решил эту задачу в CA:

procedure ramfunc(..);__ram;
begin
end;
накрайняк процедурный тип в паскале есть, выделяем память в RAM - копируем туда код из флеш и выполняем.
Цитата
В случае Паскаля, у меня выбора вообще нет! Ему (Паскалю) все едино, для всех случаев жизни там один подход, который мне неподконтролен. Я юзаю чисто стриговые переменные, которые сами как-то там работают, сами как-то перераспределяют память. Если же я буду работать не со стрингами, а с буферами, то это будет не Паскалевский подход, а как раз си-шный. Тогда преимущество Паскалевских строк становится сомнительным и вопрос выбора языка отпадает.

не совсем так. Объявление типов коротких стрингов никто не отменял.

Код
type
   smallstr = string[32]; // занимает 33 байта памяти str[0] - длина, str[1..32] - чары
   shortstr = string[8];   // занимает 9 байт памяти str[0] - длина, str[1..8] - чары

var
   s1 : string;
   s2 : smallstr;
   s3 : shortstr;

begin
    s1 := s2 + s3; // <- легальная конструкция.

    if (s2 = s3) then // <-- легальная конструкция
        ...



Цитата(zhevak @ Nov 14 2008, 02:37) *
здесь должны рассматриваться вопросы Си и Паскаля применительно к МК.

Применительно к МК я свою точку зрения уже высказал, в общем-то она совпадает с вашей.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 14 2008, 11:13
Сообщение #81


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Возможно, кому то, сылка пригодитсяsmile.gif

Embedded Pascal AVR Area

http://users.iafrica.com/r/ra/rainier/pAVR.htm
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 14 2008, 12:23
Сообщение #82


;
******

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



Цитата(Kopa @ Nov 14 2008, 15:13) *
Возможно, кому то, сылка пригодитсяsmile.gif

Это точно, что smile.gif smile.gif
Там, похоже, все на нулевом цикле осталось.
Усадку фундаменту дают, понимаш. biggrin.gif


Цитата(Kopa @ Nov 14 2008, 13:03) *
P.S. Хотите высказаться по существу?

Если это - мне, то я просто типошучу. А так, меня тоже Паскаль vs C не трогают.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 14 2008, 12:48
Сообщение #83


Знающий
****

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



Цитата(gotty @ Nov 14 2008, 13:15) *
Извините за оффтоп, не удержался, в тему холливара Pascal vs C/C++:
Из доклада "Система образования как фактор национального суверенитета в сфере информационных технологий" (стр 12)

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

Я вижу здесь три грубейшие ошибки. Все остальное -- производное от них. Поэтому комментировать тут нечего. Ошибки:
1. Данный документ родили товарищи-адепты Паскаля, а не адепты Си/Си++.
2. В качестве консультанта был приглашен Н.Вирт, а не Ритчи или Страуструп.
3. На своем заседании они пили явно не ту водку.

Как следствие, докумен получился однобокий и тенденциозный. Очень напоминает истерию Советского Союза на Американские угрозы. Короче -- в жопу этот трактат.

ЗЫ, а что, правда было бы прикольно, еслиб Н.Вирт поносил бы свои языки (Паскаль, Модула, Оберон), а ратовал за Си. А вы что хотели услышать от этой братии?



Цитата(defunct @ Nov 14 2008, 15:57) *
поступаем как Keil решил эту задачу в CA:

procedure ramfunc(..);__ram;
begin
end;
накрайняк процедурный тип в паскале есть, выделяем память в RAM - копируем туда код из флеш и выполняем.


Нет, нет, Уважаемый! Вы меня непоняли. Я просил реальную конструкцию, а не гипотетическую.
Уточняю -- если Вы привели этот код, то назовите в каком компиляторе какой версии это было написано. Подозреваю, что такого компилятора реально не существует.
Разубедите.


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


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



Цитата(zhevak @ Nov 14 2008, 14:48) *
Спасибо за ссылку. С одной строны, я поржал от души, ...

Ради этого и приводил ссылку, а так же ради того что бы помочь (если надо) осознать, что подобного рода холливары исключительно забано наблюдать со стороны smile.gif Неужели так принципиально кому-то что-то доказать?
Ну а студентам нужно предложить выбор, пусть сами решают на чём писать. (исключительно моё мнение, как человека не связанного с системой образования)
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 14 2008, 14:06
Сообщение #85


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zhevak @ Nov 14 2008, 14:48) *
Нет, нет, Уважаемый! Вы меня непоняли. Я просил реальную конструкцию, а не гипотетическую.

ОК вот не гипотетический код:

Код
const MAX_CODE_SIZE = 128;

type
     int_func  = function( a, b : integer): integer;


function sum( a, b : integer ): integer;
begin
   result := a + b;
end;

function mul( a, b : integer): integer;
begin
   result := a * b;
end;

function StackFrameLauncher( flash_func : int_func; a, b : integer ) : integer;
var
     stack_frame : array[0..MAX_CODE_SIZE - 1] of char;
begin
    if ( pointer( @flash_func ) = Nil ) then
       result := 0
    else
    begin
       CopyMemory( pointer(@stack_frame), pointer( @flash_func), MAX_CODE_SIZE );
       result := int_func( @stack_frame )( a, b )
    end
end;

begin
   WriteLn( IntToStr ( StackFrameLauncher( sum, 6, 8 ) ) );
   WriteLn( IntToStr ( StackFrameLauncher( mul, 6, 8 ) ) )
end.


Цитата
Подозреваю, что такого компилятора реально не существует.
Разубедите.

__ram конструкция ни одним Паскаль-компилятором не поддерживается, но тем не менее если бы была на то необходимость (были бы комиляторы с Паскаля под ARM) ее бы несомненно реализовали.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 14 2008, 15:01
Сообщение #86


Знающий
****

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



to defunct

Код написан качественно, наглядно, понимабельно.
Но ответ не полный. Пожалуйста, назовите компилятор и его версию.

Результат в пользу Паскаля пока не засчитывается.

Ключевая фраза выделена
[qoute]__ram конструкция ни одним Паскаль-компилятором не поддерживается, но тем не менее если бы была на то необходимость (были бы комиляторы с Паскаля под ARM) ее бы несомненно реализовали.
[/quote]
Значит, такой потребности нет. Была бы необходимость, так и на Фортране были бы введены соответствующие механизмы, которые позволяли бы писать на нет драйверы. Однако ж по какой-то причине их нет. Интересно, что за причина?


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


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(zhevak @ Nov 14 2008, 17:01) *
назовите компилятор и его версию.

Приведенный пример скопилировал в Delphi7.

Цитата
Значит, такой потребности нет

Верно - потребности в нем нет, тут я с Вами согласен.
Писать на паскале, басике и т.п. под МК - кощунство.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 14 2008, 16:15
Сообщение #88


Знающий
****

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



Цитата(defunct @ Nov 14 2008, 21:07) *
Приведенный пример скопилировал в Delphi7.

Вот то-то и оно, что код будет скомпилирован не для АРМов, как я просил.
Меня не интересует Паскаль для компов. Меня интересует (1)Паскаль для МК и (2) какие ОС были написаны на Паскале.

Цитата
Верно - потребности в нем нет, тут я с Вами согласен.
Писать на паскале, басике и т.п. под МК - кощунство.

Абсолютно согласен!


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


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

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



Цитата(zhevak @ Nov 13 2008, 23:32) *
От себя могу назвать только одну ОС, которая изначально была написана на Паскале. Это -- всем известная Windows.

Редкостный бред, десятилетиями годами кочующий из одного форума в другой.
Цитата(zhevak @ Nov 13 2008, 23:32) *
В память о неблагополучном прошлом весь мир получил в наследство паскалевские вызовы API Window.

Паскалевские вызовы были введены из-за того, что по этому соглашению легче вызывать callback-функции, которыми изобилует система.


Цитата(DMD @ Nov 14 2008, 00:52) *
А язык Си... он вымер, уж простите.

Да уж, смешнее не скажешь. Я долго хохотался.

Цитата(Rst7 @ Nov 14 2008, 09:48) *
Ооо, скажите, а вот я принципиально стараюсь писать циклы как do{...}while(--var); и постоянно пользую goto. Вы не поскажете, у меня может тоже психические отклонения какие? smile.gif

Пожалуй да. Потому что цикл do используется только когда он должен выполниться хотя бы один раз. Как вам удается его применять везде - для меня загадка. Что же касается постоянного использования goto - то будь я на месте вашего работодателя, я вас немедленно бы уволил. Потому что от программы недостаточно чтобы она работала, нужно чтобы ее мог легко понять другой программист.

Цитата(gotty @ Nov 14 2008, 10:15) *
Извините за оффтоп, не удержался, в тему холливара Pascal vs C/C++:
Из доклада "Система образования как фактор национального суверенитета в сфере информационных технологий" (стр 12)

Теперь понятно почему мы до сих пор в такой жопе... sad.gif

Цитата(ARV @ Nov 13 2008, 21:42) *
2. о цикле for - кто мешает использовать while или until? там можно тоже использовать различные условия завершения, продолжения и шага итерации цикла.

Все эти операторы предназначены для разных целей. Любой цикл, вообще говоря, состоих из трех частей: инициализация, тело цикла и оператор, переводящий цикл в следующую итерацию. Если по какой-то причине инициализация уже проведена, то можно использовать while. В некоторых случаях требуется, чтобы тело цикла было выполнено хотя бы один раз. В этом случае требуется do. Таким образом, for является наиболее универсальным и общим оператором. Но именно в нем введены эти идиотские ограничения.

Цитата(Огурцов @ Nov 13 2008, 13:05) *
Такие фразы наводят на мысль, что вы и Це толком не знаете. Студент ? Или школьник ?

Я берусь утверждать, что знаю Си в совершенстве. А каков был ваш ход мыслей, приведший к такому выводу?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 14 2008, 18:02
Сообщение #90


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Пожалуй да. Потому что цикл do используется только когда он должен выполниться хотя бы один раз. Как вам удается его применять везде - для меня загадка.


Конечно загадка. Где Вы увидели в моем сообщении про применение везде. Было только
Цитата
вот я принципиально стараюсь писать циклы

а до
Цитата
применять везде

дистанция огромного размера.

Объясню подробнее. Практически, цикл do{}while(--var) будет оптимален на всех процах. Даже компилятор почти не сумеет это дело попортить. Если возможно нулевое количество итераций, частенько наиболее оптимальный вариант - if (var) do{}while(--var);

Цитата
Что же касается постоянного использования goto - то будь я на месте вашего работодателя, я вас немедленно бы уволил. Потому что от программы недостаточно чтобы она работала, нужно чтобы ее мог легко понять другой программист.


Я же давал ссылку, там прямо написано:
Цитата
- настоящие программисты не боятся использовать GOTO;


Посмотрите на исходник библиотечной функции printf (точнее, formatted_write). Будете удивлены.

Ну и если смотреть глобально - я уже почти не наемный работник. Вот осталось до нового года дотянуть и нафиг, увольняюсь. Я теперь сам работодатель и не принимаю на работу тех, кто боится применять goto :-P


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

35 страниц V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 


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


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