Сб май 19, 2012 11:31:06
Это когда такое было? 30+ лет назад? Даже про FORTH так говорить уже много лет неправильно.Tolmi писал(а):В паскале обычно компилятор строит "шитый код", сплошь состоящий из вызовов стандартных процедур, реализующих написанное человеком.
const
notes = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];
function test( c : char) : boolean;
begin
test := c in notes;
end;
.type P$PROGRAM_TEST$CHAR$$BOOLEAN,@function
P$PROGRAM_TEST$CHAR$$BOOLEAN:
.Lc1:
movzbl %dil,%edi
subl $65,%edi
cmpl $8,%edi
.Lj7:
setcb %al
ret
Я просто сделал sudo apt-get install fp-compiler, не вникая, как получить свежий с поддержкой thumb2.Free Pascal Compiler version 2.4.0-2ubuntu1.10.04 [2011/06/17] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Сб май 19, 2012 11:39:45
Сб май 19, 2012 11:49:00
Вот именно!hybroid писал(а):А кому надо программу переписывать? Я бы вообще какой интерпретатор преподавал (питон, перл). Алгоритмизации научить можно? Ещё как можно. А остальное мало кто вообще усваивает..
Сб май 19, 2012 12:51:17
avreal писал(а):....но им никто не выделит оплаченного времени на изучение нового языка. Часы расписаны, ставки выделены, так что всё, что сверх утверждённой программы — только или за счёт подготовки к текущим урокам и проверки домашних заданий или в своё сводбодное время.
Как сын заслуженного учителя Украины, я знаю, сколько этого своего неоплаченного времени уходит у хороших учителей на самоообразование. Что «при Союзе», что сейчас.
Сб май 19, 2012 13:06:25
Сб май 19, 2012 13:39:12
Конечно не полагаю! Я уже четверть века инженер.КРАМ писал(а): А Вы полагаете, что у инженера другие условия???
Сб май 19, 2012 13:51:59
Сб май 19, 2012 14:10:15
Да есть я на электрониксе. И на сахаре был среди модераторов (ещё есть, аккаунт врядли удалён, но заглядываю туда всё реже).КРАМ писал(а):Вы не туда оглядываетесь. Оглянитесь на электрониксе. Там все ОК с подготовкой участников.
«Свою работу видишь каждый день и всю, чужую — изредка и частями».КРАМ писал(а):Что касается времени, то у учителей его как раз больше, поскольку нет временного цейтнота с заказчиком.
Любое разбирательство с новым — самообучение.КРАМ писал(а):Работодатель не может закладывать время на самообучение. Это время определяется соображениями бизнеса.
Сб май 19, 2012 14:30:28
avreal писал(а):Или Вы продолжаете утверждать, что вся рабюота инженера состоит из скачивания из интернета готовых проектов и их перечерчивания/перенабирания, ни на что большее времени нет?
Сб май 19, 2012 15:05:27
avreal писал(а):Но не вижу причины, по которой для коретксов будет построен байт-код с интерпретатором.
Но мы имеем то, что мы имеем. Да и неправда это, паскаль - гораздо более строгий по правилам язык. У него идеология другая. На Сях можно изобразить что угодно, и отстрелить себе ногу. На паскале создатели языка позаботились о том, чтобы у меня было поменьше возможностей отстрелить себе ногу, но гибкость языка при этом пострадала. При программировании в условиях ограниченных ресурсов очень часто приходится сознательно стрелять в непосредственной близости от ноги.Alexeyslav писал(а):Сам язык что паскаль что С - совершенно не отличаются с точки зрения компиляции, только ключевые слова разные. А вот их расширения пошли в разные стороны...
Для микроконтроллеров нужны совершенно другие специфические расширения, и если бы паскаль развивали точно так же упорно как С - разница в программировании была бы на уровне написания ключевых слов.
Сб май 19, 2012 15:06:17
А если проект потребует программистов на языке, которым на фирме никто не владеет? (это по поводу бейсика, паскаля и прочих языков на информатике в школе)КРАМ писал(а):Но если проект требует знаний в области, например, щелевых антенн, то, либо фирма не возьмет этот заказ, либо наймет инженеров с необходимой квалификацией, либо найдет субподрядчика с соответствующим портфолио.
Несомненно.КРАМ писал(а):Просто задачи самообразования у людей с высшим (и не только) образованием сходны.
Да, конечно. Есть даты контрольных работ, разных «директорских», «министерских» («государственных») аттестаций, которые не сдвигаются на позже из-за карантинов/эпидемий. Но могут подвинуться на раньше, «Евро-2012» у нас сейчас крепко крови попило.КРАМ писал(а):Что касается времени, то у учителей его как раз больше, поскольку нет временного цейтнота с заказчиком.
Сб май 19, 2012 15:41:03
Да не работаю я на паскале! Просто я не вижу больших проблем в его применении. Если на «электронику-60» возле КАМАК-стоек в 1985-1988 годах мой знакомый из соседней лаборатории написал систему управления экспериментом на паскале (включая интерпретатор разработанного им специализированного языка управления установкой, чтобы физики реже его дёргали), то почему нельзя им пользоваться на ARM?Tolmi писал(а):А теперь покажите
Отличный метод. Можно не только функции, можно целые структуры в массив пихать, в которых и функции, и текст меню к ним, и вааще. И собирать их из разных файлов в один массив автоматически.Tolmi писал(а):Или вот ещё, у меня достаточно часто используется таблица адресов функций, и потом косвенный переход по адресу со смещением(как правило, равным значению некоторого аргумента. Замечательный метод для закладки потенциальных глюков, я знаю, но он позволяет существенно экономить код)
procedure p1;
begin
writeln( 'proc1' );
end;
procedure p2;
begin
writeln( 'proc2' );
end;
procedure p3;
begin
writeln( 'proc3' );
end;
var
selector : integer;
prc : array [1..3] of procedure = ( @p1, @p1, @p3 );
begin
writeln( 'Enter number in range 1..3' );
readln (selector);
if (selector < 1) or (selector > 3) then
writeln ('Invalid number!')
else
prc[ selector ];
end.
real@real-desktop:~$ ./foo
Enter number in range 1..3
0
Invalid number!
real@real-desktop:~$ ./foo
Enter number in range 1..3
1
proc1
real@real-desktop:~$ ./foo
Enter number in range 1..3
2
proc2
real@real-desktop:~$ ./foo
Enter number in range 1..3
3
proc3
real@real-desktop:~$ ./foo
Enter number in range 1..3
4
Invalid number!
real@real-desktop:~$
.Lj81:
# [43] prc[ selector ];
movswq %r12w,%r12
shlq $3,%r12
movq U_P$PROGRAM_PRC-8(%r12),%rax
call *%rax
.Lj93:
# [45] end.
Tolmi писал(а):И что там с реентерабельностью рантайма, уже все глюки в ваших паскалях выловили?
Сб май 19, 2012 15:52:12
avreal писал(а):И фрагмент кода — ветка с выбором процедуры из массива.
- Код:
.Lj81:
# [43] prc[ selector ];
movswq %r12w,%r12
shlq $3,%r12
movq U_P$PROGRAM_PRC-8(%r12),%rax
call *%rax
.Lj93:
# [45] end.
Сб май 19, 2012 15:59:01
и ещё там что-то есть.-Ci Generate Input/Output checking code.
-Co Generate Integer overflow checking code.
-CR Verify object call validity (method calls mustbe valid).
-Cr Generate Range checking code.
-Ct generate stack checking code.
Сб май 19, 2012 16:47:50
Сб май 19, 2012 16:48:49
IAR Kickstart Edition абсолютно бесплатен. С ограничением в 32 кБ.
Сб май 19, 2012 17:02:32
Alexeyslav писал(а):IAR Kickstart Edition абсолютно бесплатен. С ограничением в 32 кБ.
На сайте IAR я такого не нашел для STM32, только STM8
Сб май 19, 2012 17:04:08
Alexeyslav писал(а):IAR Kickstart Edition абсолютно бесплатен. С ограничением в 32 кБ.
На сайте IAR я такого не нашел для STM32
Сб май 19, 2012 17:05:19
md5sum писал(а):В этой теме половина постов и споров из-за нежелания или скорее неумения искать информацию. Особенно если она лежит на виду
Сб май 19, 2012 18:18:44