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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Паскалевский компилятор для АРМов
forever failure
сообщение Nov 25 2006, 11:07
Сообщение #31


Местный
***

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



Мосье Mos, Вам таки шашечки или всё-таки поехать ?
Кто хочет что-то сделать - ищет средства, кто не хочет ищет причины.
Если вам надо решить какую-то проблему не лучше ли ознакомится с широкодоступными средствами
её решения, те более, как уже было выше отмечено, различия между языками C и Pascal это вообще
смехотворная проблема, по сравнению с теми, коотрые решают эмбеддеры.
Если Вы не находите в себе решимости ознакомится с Ц (а это очень простой язык, проще паскаля),-
в микроконтроллерах вам делать нечего, лабайте формочки на делфях.

Конечно, привычный инструмент, удобнее, б/п, однако, если Вы профессионал, то язык для Вас - это
знаковая система, оперирующая понятиями в основном одинаковыми что в одном, что в другом языке.

Точно также про ассемблер можно сказать - если знаете один архитектуру и систему команд (напр. x86), то Вам нетрудно (гыгы) будет изучить и другую (напр. ARM/Thumb).
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 25 2006, 15:57
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(forever failure @ Nov 25 2006, 11:07) *
Если Вы не находите в себе решимости ознакомится с Ц (а это очень простой язык, проще паскаля),-
в микроконтроллерах вам делать нечего, лабайте формочки на делфях.

Ц - простой язык?? Вместе со звездочками и скобочками? Позвольте не согласиться. Въехать в приоритеты операций и определиться с отличием *(a()) и (*a()) потребуется немало времени.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 25 2006, 16:38
Сообщение #33


Гуру
******

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



Цитата(Andy Great @ Nov 25 2006, 14:57) *
Ц - простой язык??

Коллега, конечно не прав :-( "С" действительно много более сложный язык. Более сложный, как более сложен и любой "естественый" человеческий язык по сравнению с "искусственными" языками класса Эсперанто. У "сложных" языков масса недостатков :-( но есть и одно достоинство :-) искупающее очень многое - на них проще выражать сложные мысли.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 25 2006, 16:42
Сообщение #34


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Я б сказал не "проще", а "возможно". Количество символов меньше, а для понимания труднее.
Go to the top of the page
 
+Quote Post
Alex B._
сообщение Nov 25 2006, 18:57
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 943
Регистрация: 6-07-04
Из: Санкт-Петербург
Пользователь №: 274



>> У "сложных" языков масса недостатков :-( но есть и одно
>> достоинство :-) искупающее очень многое - на них проще
>> выражать сложные мысли.
хорошее сравнение, +1.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Nov 25 2006, 19:07
Сообщение #36


Местный
***

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



Цитата
Ц - простой язык??

Если C кажется Вам сложным, попробуйте вкурить C++. Полностью.
По стандарту. Вот уж точно С после этого покажется упражнением для школьника.

И тем не менее С (и даже С++) проще Паскаля. В том смысле, что он строится на гораздо меньшем количестве базовых сущностей.
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 25 2006, 19:16
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Вкуривал. Читал Страуструпа. Писал на С++. И все равно Паскаль проще. А Оберон еще лучше. Сравните по количеству строк описание стандартов и поймете, что проще. На Оберон - одна страничка, прочитав ее можно правильно (безошибочно) писать на нем. Прочитав описание Си, надо долго вникать, пробовать, плеваться на приоритеты (почему "||" больше приоритетом ">" ? )

Кажется ли МНЕ Си сложным не так важно, я на нем успешно пишу. Говорю о начинающих. Попытайтесь ака бы забыть свое знание языков и сравнить их описание глазами начинающего.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Nov 25 2006, 19:38
Сообщение #38


Местный
***

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



И тем не менее, каким бы сложным не казался инструмент - сложность (кажущаяся) это не причина, для того чтоб его не освоить.
А тут автор темы далеко уже не начинающий - а опытный программист.
И вникнуть в другой язык для него вообще должно быть даром.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 25 2006, 20:09
Сообщение #39


Гуру
******

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



Цитата(Andy Great @ Nov 25 2006, 18:16) *
плеваться на приоритеты (почему "||" больше приоритетом ">" ? )

К делу не относится, но зачем плеваться?
Никто еще скобок, в том числе и для ясности никто не запрещал.
А если нравится писать в стиле:
if( a || b > c )
то запомните, что дело обстоит ровно наоборот и плеваться вообще незачем :-).

Хотелось-бы узнать в чем Вы нашли отличие :-) :
Цитата
определиться с отличием *(a()) и (*a())

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

Цитата
Попытайтесь ака бы забыть свое знание языков и сравнить их описание глазами начинающего.

Попробую :-), причем в заданном Вами ключе....
Почему Вы на чисто русском языке услышав
" 'а' больше 0 и 'b' больше 0 " я полагаю правильно расставите приоритеты,
но на другом языке престаете понимать это-же дословно записанное:
a > 0 and b > 0
и требуете
(a > 0) and (b > 0)
При этом ведь компилятор чуждого языка не будет протестовать против Вашего:
(a > 0) and (b > 0)

Вполне работоспособное для естественного языка выражение
while ( i <= b ) and ( x[i] <> c ) do i := i+1
не работает если не нашли элемент массива равный 'c'
По какой причине? По причине отсутствия в некоторых языках условных
логических операций :-(
Что сначала будет выполнено сравнение 'i' c 'b' или 'i'-того элемента массива
с 'c'. Это игра в оорел/решка. У других языков 'лишних' приоритетов много, зато гарантии имеются,
что сначала будет произведен контроль за выходом за границы массива.

В общем есть с чем поразвлечься по полной программе начинающим и с Паскалем.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
forever failure
сообщение Nov 25 2006, 20:43
Сообщение #40


Местный
***

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



ЗЫ. Кстати, может всё таки объясните с каих таких щей баня-то попадала, что приоритет || стал выше <?
Может прежде чем плеваться, курнуть любой справочник по Ц в разделе operator precednce ?
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 26 2006, 13:57
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Цитата(forever failure @ Nov 25 2006, 19:43) *
ЗЫ. Кстати, может всё таки объясните с каих таких щей баня-то попадала, что приоритет || стал выше <?
Может прежде чем плеваться, курнуть любой справочник по Ц в разделе operator precednce ?

Виноват, исправляюсь. Выражение (a & 0x22 ==a) привожу в пример. По уму, сначала маску бы надо наложить, а выполняется сравнение. Вроде бы против здравого смысла.

zltigo:
Приоритет не той операции я хотел указать. В Паскале AND один для логических и битовых операций, оттого и казусы. Ну не предназначался Паскаль для таких целей. Со скобками я неудачный пример привел, каюсь. Где-то читал про тонкости Си, там были такие примеры, сейчас не найду.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 26 2006, 15:10
Сообщение #42


Гуру
******

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



Цитата(Andy Great @ Nov 26 2006, 12:57) *
Где-то читал про тонкости Си, там были такие примеры, сейчас не найду.

Так наверное и не надо - смысла особого нет. Естественно везде есть и тонкости и несуразности и
вкусовщина :-(. На мой взгляд проблемы возникают только в том случае, когда кто-то хочет "сотворить себе кумира".
Цитата
Выражение (a & 0x22 ==a) привожу в пример. По уму, сначала маску бы надо наложить, а выполняется сравнение.

Да!
Можно-ли было еще усложнить правила - можно, например, отличать (a & 0x22 ==a) от ( a == 0x22 & a )? Mожно. Нужно? Думаю, что нет. Является ли принятые в "C" правила "золотой серединой" - не берусь утверждать. Но Паскалевские 4 уровня приоритетов еще меньше не нее похожи.
Существуют-ли другие решения конкретно этой проблемы - существуют. Вплоть до радикальных решений на базе идеи Лукасевича. Стоит-ли применять - лет 20 назад я был-бы более категоричен - ДА!! Сейчас отвечу пожалуй более уклончиво. Причина пожалуй в опыте, в том я стал "чувствовать" языки. Я понимаю, что программирование становится все более массовым, шаблонным и многим начинает казаться что оно вообще может и должно быть однозначным, как инструкция к использованию таблицы умножения. Есть такой путь и на данный момент он наиболее отработан, но очевидно есть и прямо противоположный.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Nov 26 2006, 15:11
Сообщение #43


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

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
выражение (a & 0x22 ==a) привожу в пример.

Некий дядя Брюс Эккель выразился следующим образом:
"Программы пишутся один раз, а читаются много. Поэтому не нагромождайте синтаксичесие изыски, пишите так, чтобы читающий понял с первого взгляда, что вы хотели сказать, проритет операций ясно определяйте скобками " Тем более, что скобки избыточного кода не создают. Как и разбивка сложного выражения на несколько строк smile.gif


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Nov 26 2006, 16:27
Сообщение #44


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Терпеть не могу лишние скобки, фигурные скобки, строчки и мегабайты. Возможно, сказывается наследие старых времен. Если можно написать без скобок - пишу. Возможно, не все разделяют тако подход, я не претендую на всеобщую поддержку wink.gif Хотя, где-то пробегала статья про синтаксис Си как первоапрельский розыгрыш КиР, который не поняли.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 26 2006, 16:50
Сообщение #45


Гуру
******

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



Цитата(Andy Great @ Nov 26 2006, 15:27) *
Возможно, сказывается наследие старых времен.

???
Цитата
Хотя, где-то пробегала статья про синтаксис Си как первоапрельский розыгрыш КиР, который не поняли.

Видел. Слабенькая шутка.
Классичекий документ начала 80x "Настоящие прграммисты не используют Паскаль" много сильнее и многограннее.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


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


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