|
Pascal для AVR |
|
|
|
 |
Ответов
|
Nov 14 2008, 00:37
|

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

|
Цитата(defunct @ Nov 14 2008, 05:12)  "C" не предоставляет стандартных средств для работы со строками (присваивать, сравнивать, складывать). Паскаль - предоставляет. Сейчас буду кого-то убивать... Во-первых, это не форум программистов для компов, это форум программистов для МК. (Поправьте, если не так!) Значит, здесь должны рассматриваться вопросы Си и Паскаля применительно к МК. Допустим, имеется некая бизнес-задача с более-менеее интенсивными строковыми операциями. Если я пишу на Си, то, в зависимости от того, сколько у меня в системе имеется оперативной памяти, и в зависимости от того, должна-ли решаться данная задача в реальном времени, я буду писать код по разному. В одном случае, я буду выделять под строки буфера максимального размера, дабы в операциях конкатенации лишний не обращаться к функциям перераспределения памяти, не терять на это время. В другом случае буду выделать буфера "в-притирку" и очень часто освобождать и резервировать нужные объемы памяти. В случае Паскаля, у меня выбора вообще нет! Ему (Паскалю) все едино, для всех случаев жизни там один подход, который мне неподконтролен. Я юзаю чисто стриговые переменные, которые сами как-то там работают, сами как-то перераспределяют память. Если же я буду работать не со стрингами, а с буферами, то это будет не Паскалевский подход, а как раз си-шный. Тогда преимущество Паскалевских строк становится сомнительным и вопрос выбора языка отпадает. Другой пример. Допустим, юзаем АРМ. Допустим, имеется код одной какой-нибудь функции, которая располагается (и, соответственно, выполняется) в оперативной памяти, а другая располагается и работает во флешь. Ну-ка, адепты Паскаля, приведите не гипотетический, а рабочий (работающий) пример кода того, как это будет выглядеть на Паскале. В случае, если никто, из здесь присутствующих программистов, не может написать такой код, прошу считать Паскаль мертвым, а Си -- наоборот -- здравствующим.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Nov 14 2008, 09:57
|

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

|
Цитата Мне так удобнее, т.к. я знаю Паскаль лучше, чем BASIC/C#/Perl гм. А что такое Perl? не скриптовый клон паскаля часом, а?  Цитата Другой пример. Допустим, юзаем АРМ. Допустим, имеется код одной какой-нибудь функции, которая располагается (и, соответственно, выполняется) в оперативной памяти, а другая располагается и работает во флешь. ну и в чем проблема? ;> поступаем как 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)  здесь должны рассматриваться вопросы Си и Паскаля применительно к МК. Применительно к МК я свою точку зрения уже высказал, в общем-то она совпадает с вашей.
|
|
|
|
|
Nov 17 2008, 08:21
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(defunct @ Nov 14 2008, 12:57)  гм. А что такое Perl? не скриптовый клон паскаля часом, а?  Ой, где такую траву дают? Я тоже хочу! Или скажите мне, что надо курить или сколько выпить, что бы вот ЭТО стало похожим на Pascal Код
use strict; use SOAP::Lite; use Data::Dumper; $Data::Dumper::Terse = 1; $Data::Dumper::Indent = 1;
@ARGV or die "Usage: $0 proxy [uri [commands...]]\n"; my($proxy, $uri) = (shift, shift); my %can; my $soap = SOAP::Lite->proxy($proxy)->on_fault(sub{}); $soap->uri($uri) if $uri; print STDERR "Usage: method[(parameters)]\n> "; while (defined($_ = shift || <>)) { next unless /\w/; my($method) = /\s*(\w+)/; $can{$method} = $soap->can($method) unless exists $can{$method}; my $res = eval "\$soap->$_"; $@ ? print(STDERR join "\n", "--- SYNTAX ERROR ---", $@, '') : $can{$method} && !UNIVERSAL::isa($res => 'SOAP::SOM') ? print(STDERR join "\n", "--- METHOD RESULT ---", $res || '', '') : defined($res) && $res->fault ? print(STDERR join "\n", "--- SOAP FAULT ---", $res->faultcode, $res->faultstring, '') : !$soap->transport->is_success ? print(STDERR join "\n", "--- TRANSPORT ERROR ---", $soap->transport->status, '') : print(STDERR join "\n", "--- SOAP RESULT ---", Dumper($res->paramsall), '') } continue { print STDERR "\n> "; }
Сообщение отредактировал XVR - Nov 17 2008, 08:22
|
|
|
|
Сообщений в этой теме
DMD Pascal для AVR Nov 11 2008, 21:58 Ivan A-R Ви таки просто не умеет его готовить. Учите C - он... Nov 11 2008, 22:37 Арташес Если человек просит, надо помочь. Ознакомтесь вот ... Nov 12 2008, 04:09 777777 Цитата(DMD @ Nov 12 2008, 00:58) Ребят, п... Nov 12 2008, 06:44 VladimirYU Цитата(DMD @ Nov 12 2008, 00:58) ..... яз... Nov 12 2008, 07:10 zltigo Цитата(VladimirYU @ Nov 12 2008, 10:10) П... Nov 12 2008, 07:28 zhevak Цитата(DMD @ Nov 12 2008, 03:58) на ассем... Nov 12 2008, 07:33 DSIoffe Как давно я не видел религиозных войн. Видимо, зат... Nov 12 2008, 07:44 Kopa Цитата(DSIoffe @ Nov 12 2008, 10:44) Паск... Nov 12 2008, 12:45 777777 Цитата(Жека @ Nov 12 2008, 11:04) Господа... Nov 12 2008, 11:23  tyro Цитата(777777 @ Nov 12 2008, 14:23) Сдела... Nov 12 2008, 13:05   Жека Цитата(tyro @ Nov 12 2008, 16:05) А это г... Nov 12 2008, 13:09  zltigo Цитата(defunct @ Nov 14 2008, 02:12) ... Nov 13 2008, 23:32  zhevak Цитата(defunct @ Nov 14 2008, 05:12) Могу... Nov 13 2008, 23:40   defunct Цитата(zhevak @ Nov 14 2008, 01:40) Вот, ... Nov 14 2008, 00:08    zhevak Цитата(defunct @ Nov 14 2008, 06:08) В Па... Nov 14 2008, 01:53     Kopa Цитата(zhevak @ Nov 14 2008, 04:53) ...
А... Nov 14 2008, 04:38    Kopa Возможно, кому то, сылка пригодится
Embedded Pas... Nov 14 2008, 11:13     _Pasha Цитата(Kopa @ Nov 14 2008, 15:13) Возможн... Nov 14 2008, 12:23 Wise Цитата(DSIoffe @ Nov 12 2008, 15:44) Я ко... Nov 12 2008, 08:05 DSIoffe Цитата("Wise")Дима, сегодня лучше «Я ска... Nov 12 2008, 08:12 Жека Понятно, утрируя, получается два стиля программиро... Nov 12 2008, 11:56 mdmitry Цитата(Жека @ Nov 12 2008, 14:56) Понятно... Nov 12 2008, 12:30 Serhiy_UA Цитата(Жека @ Nov 12 2008, 15:56) Понятно... Nov 12 2008, 13:54  Жека Цитата(Serhiy_UA @ Nov 12 2008, 16:54) А ... Nov 12 2008, 14:14 777777 Цитата(Жека @ Nov 12 2008, 14:56) Понятно... Nov 13 2008, 06:11  _Pasha Цитата(777777 @ Nov 13 2008, 09:11) Каким... Nov 13 2008, 07:08  Огурцов Цитата(777777 @ Nov 13 2008, 06:11) Каким... Nov 13 2008, 10:05 Rst7 Как обычно, при упоминании Паскаля (особенно с зая... Nov 12 2008, 14:19 Жека Цитата(Rst7 @ Nov 12 2008, 17:19) Как обы... Nov 12 2008, 15:01 amaora А вот что думает один из авторов C о языке Pascal,... Nov 12 2008, 14:24 Огурцов Цитата(amaora @ Nov 12 2008, 14:24) А вот... Nov 12 2008, 21:34 DMD Не, ну ребят - опять холивар развели, ей богу... Я... Nov 12 2008, 15:16 Aesthete Animus Цитата(DMD @ Nov 12 2008, 18:16) ...
А ко... Nov 12 2008, 15:40 Harbinger Собственно, и CV... конструктор "Лего", ... Nov 12 2008, 16:02 DMD Пусть это будет новым для вас, но образование, в и... Nov 12 2008, 16:19 Aesthete Animus Цитата(DMD @ Nov 12 2008, 19:19) Пусть эт... Nov 12 2008, 17:09 Kopa Цитата(DMD @ Nov 12 2008, 19:19) Пусть эт... Nov 13 2008, 05:08 Rst7 ЦитатаА вы уверены, что Паскаль подходит, чтобы уч... Nov 12 2008, 18:06 Herz И я свои 5 добавлю. Не приходилось встречать и даж... Nov 12 2008, 19:49  Rst7 Цитата(Herz @ Nov 12 2008, 21:49) Так все... Nov 12 2008, 20:31   KykyryzzZ Цитата(Rst7 @ Nov 12 2008, 23:31) Это я с... Nov 13 2008, 09:58 DMD Хм, ребят... Я не буду здесь пускаться в длительны... Nov 12 2008, 18:40 Aesthete Animus Цитата(Rst7 @ Nov 12 2008, 21:06) ...бере... Nov 12 2008, 19:27 DMD Вы все такие наивные, ей богу, как чукотские девоч... Nov 12 2008, 20:31 Kopa Цитата(DMD @ Nov 12 2008, 23:31) Вы все т... Nov 13 2008, 06:23  MrYuran Цитата(Kopa @ Nov 13 2008, 09:23) А почем... Nov 13 2008, 06:32   Kopa Цитата(MrYuran @ Nov 13 2008, 09:32) Бейс... Nov 13 2008, 07:16    _Pasha Цитата(Kopa @ Nov 13 2008, 10:16) На их с... Nov 13 2008, 07:24     Kopa Цитата(_Pasha @ Nov 13 2008, 10:24) Дык е... Nov 13 2008, 08:49 Rst7 Цитатау студентов и так проблем много, помимо учёб... Nov 13 2008, 06:26 Herz Цитата(Rst7 @ Nov 13 2008, 08:26) Вот-вот... Nov 13 2008, 07:39 Rst7 ЦитатаУчёба проблемой не должна быть. Когда учёба ... Nov 13 2008, 07:45 Herz Цитата(Rst7 @ Nov 13 2008, 09:45) Проблем... Nov 13 2008, 10:50 sergeus Цитата(DMD @ Nov 12 2008, 00:58) Здравств... Nov 13 2008, 11:23 Herz Цитата(sergeus @ Nov 13 2008, 13:23) P.S.... Nov 13 2008, 14:05  sergeus Цитата(Herz @ Nov 13 2008, 17:05) Челов... Nov 13 2008, 18:13 ARV ощущение такое, что многие из ведущих тут дискусси... Nov 13 2008, 18:42 _Pasha Цитата(ARV @ Nov 13 2008, 22:42) 5. совре... Nov 13 2008, 19:42 Herz Цитата(sergeus @ Nov 13 2008, 20:13) Чело... Nov 13 2008, 19:48 ARV предлагаю остановиться на констатации факта, что с... Nov 13 2008, 19:52 zhevak Цитата(ARV @ Nov 14 2008, 01:52) предлага... Nov 13 2008, 20:32  777777 Цитата(zhevak @ Nov 13 2008, 23:32) От се... Nov 14 2008, 17:32 DMD Блин, всего день не было - уже флейма на 4 листа..... Nov 13 2008, 20:33 _Pasha Цитата(DMD @ Nov 14 2008, 00:33) Кстати, ... Nov 13 2008, 21:20 tyro Восторженные вопли от восхищения самым лучшим язык... Nov 13 2008, 20:34 DMD ага, спасибо за ссылки и информацию! 0)
zhevak... Nov 13 2008, 21:52 zhevak [quote name='DMD' date='Nov 14 2008, 0... Nov 13 2008, 23:19 zltigo Цитата(DMD @ Nov 14 2008, 00:52) (все нач... Nov 13 2008, 23:49 DSIoffe А ещё эта тема наглядно продемонстрировала, что пр... Nov 14 2008, 06:07 _Pasha Цитата(DSIoffe @ Nov 14 2008, 10:07) А ещ... Nov 14 2008, 06:34 zltigo Цитата(DSIoffe @ Nov 14 2008, 09:07) А ещ... Nov 14 2008, 07:33  Kopa Цитата(zltigo @ Nov 14 2008, 10:33) Давно... Nov 14 2008, 08:52   _Pasha Цитата(Kopa @ Nov 14 2008, 12:52) С, С++,... Nov 14 2008, 08:58 Rst7 ЦитатаА ещё эта тема наглядно продемонстрировала, ... Nov 14 2008, 06:48 gotty Извините за оффтоп, не удержался, в тему холливара... Nov 14 2008, 07:15  zhevak Цитата(gotty @ Nov 14 2008, 13:15) Извини... Nov 14 2008, 12:48   gotty Цитата(zhevak @ Nov 14 2008, 14:48) Спаси... Nov 14 2008, 12:57   defunct Цитата(zhevak @ Nov 14 2008, 14:48) Нет, ... Nov 14 2008, 14:06    zhevak to defunct
Код написан качественно, наглядно, пон... Nov 14 2008, 15:01     defunct Цитата(zhevak @ Nov 14 2008, 17:01) назов... Nov 14 2008, 15:07      zhevak Цитата(defunct @ Nov 14 2008, 21:07) Прив... Nov 14 2008, 16:15 DSIoffe Цитата("zltigo")Или делает их НЕ пофигис... Nov 14 2008, 08:04 forever failure Господа пасквилянты, чем в попу тарахтеть, какой п... Nov 14 2008, 08:23 Kopa Цитата(forever failure @ Nov 14 2008, 11... Nov 14 2008, 09:03 Rst7 ЦитатаПожалуй да. Потому что цикл do используется ... Nov 14 2008, 18:02 777777 Цитата(Rst7 @ Nov 14 2008, 21:02) Я же да... Nov 15 2008, 09:38  Rst7 Цитата(777777 @ Nov 15 2008, 11:38) Извин... Nov 15 2008, 10:11   defunct Цитата(Rst7 @ Nov 15 2008, 12:11) Наприме... Nov 16 2008, 23:14    777777 Цитата(defunct @ Nov 17 2008, 02:14) Кодd... Nov 17 2008, 05:19 Rst7 ЦитатаКак раз смотреться он будет очень искусствен... Nov 17 2008, 05:58
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|