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

 
 
35 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Pascal для AVR
DMD
сообщение Nov 11 2008, 21:58
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



Здравствуйте.
Ребят, посоветуйте хороший компилятор паскаля для AVR, в частности для серии ATTiny, но лучше для большинства (а то мало ли что).
И ещё, не подскажете - слишком придется "платить" за язык высокого уровня в смысле объема кода? А то тут проект светит, там на ассемблере далеко не уедешь, язык С скучный, хочу вот паскаль освоить...
Спасибо.


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
Ivan A-R
сообщение Nov 11 2008, 22:37
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 92
Регистрация: 21-06-07
Из: Saint-Petersburg
Пользователь №: 28 607



Ви таки просто не умеет его готовить. Учите C - он вылизан и много наработанного кода.
Go to the top of the page
 
+Quote Post
Арташес
сообщение Nov 12 2008, 04:09
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Если человек просит, надо помочь. Ознакомтесь вот с этой темой - А какой компилятор Pascal для AVR? Где его взять.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 12 2008, 06:44
Сообщение #4


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

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



Цитата(DMD @ Nov 12 2008, 00:58) *
Ребят, посоветуйте хороший компилятор паскаля для AVR, в частности для серии ATTiny, но лучше для большинства (а то мало ли что).
И ещё, не подскажете - слишком придется "платить" за язык высокого уровня в смысле объема кода? А то тут проект светит, там на ассемблере далеко не уедешь, язык С скучный, хочу вот паскаль освоить...

Забудьте об этом тупом неповоротливом языке, я вообще не понимаю, почему он получил такое распросранение на просторах СНГ. Будь моя воля, я бы вообще запретил законодательно использование его для учебных целей - он необратимо портит мозг молодых программистов.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Nov 12 2008, 07:10
Сообщение #5


Местный
***

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



Цитата(DMD @ Nov 12 2008, 00:58) *
..... язык С скучный, хочу вот паскаль освоить...
Спасибо.

Язык С объективно лучше учитывает суть и особенности программировани встроенных систем,
ПАСКАЛЬ же язык изучения основ программирования для школьников и начинающих студентов (корни его именно оттуда).
ИМХО, конечно, Вы найдете и освоите компилятор ПАСКАЛя, но это будет потерянное время и усилия на освоение инструмента, предназначенного изначально для других задач.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 12 2008, 07:28
Сообщение #6


Гуру
******

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



Цитата(VladimirYU @ Nov 12 2008, 10:10) *
ПАСКАЛЬ же язык изучения основ программирования для...

ПАСКАЛЬ же язык изучения основ абстрактного описания алгоритмов для...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 12 2008, 07:33
Сообщение #7


Знающий
****

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



Цитата(DMD @ Nov 12 2008, 03:58) *
на ассемблере далеко не уедешь, язык С скучный, хочу вот паскаль освоить...


Извините.

Я Вам крайне не советую изучать Веселый язык Паскаль. Бесперспективняк. Изучив "паскакаль", Вы только убъете свое время, т.е. нанесете вред прежде всего -- себе. В то время как другие люди изучают правильные языки (можете назать это промышленным стандартом), Вы будете вкладывать свои ресурсы (время, деньги, душевные силы) в то, что на рынке востребовано мало. Т.е. научившись писать проги только на Паскале, Вам будет сложно найти работу, найти применение своим знаниям на рынке труда. Зачем это Вам надо?

Посмотрите в и-нете, кто из крупных фирм, выпускающих компиляторы (IAR, KEIL, Image Craft, <люди, добавьте сюда еще>), заморачивается на Паскаль? О чем это говорит? То, что в школе детишек учат Паскалю, -- это не показатель правильности. Это скорее показатель убогости всей образовательной системы. Школа не готовит специаоистов (программистов), школа дает фундаментальные знания. А вот заточка знаний под конкретное применение обеспечивается в вузах и на производстве. Т.е. конкретно и по делу, а не вообще.

Инструмент (язык программирования в данном контексте) определяет качество Вашего изделия. Вы Хотите делать красивые уникальные вещи ил хотите просто убить свою жизнь? Если второе, то смотрите ТВ, чаще пейте алкоголь и изучайте язык Марсиан. Вы будете уникальны, но Вы будете нафиг никому не нужны. Если Вы хотите стать полноценнным гражданином общества, оставьте Паскаль в покое (от свое отработал еще 20 лет назад) и изучайте С.

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

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


Резюме. Если Вы не считете себя клоуном, не валяйте дурака. Изучайте правильные инструменты, а не те, которые раскрашены "в горошек" и обвешаны бесполезными фаниками.


Еще раз приношу свои извинения за разжигание религиозных войн и высказывание своего мнения.


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


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Как давно я не видел религиозных войн. Видимо, затронуто святое. Я тоже хочу внести свои пять копеек.
Мужики (и дамы), чтобы иметь моральное право ругать Паскаль, надо сначала найти в нём достоинства. А для этого надо в нём как следует поработать. А подавляющее большинство его ярых критиков отвратилось от него в начале творческого пути из-за колоссальных трудностей, связанных с регулярным написанием пары begin-end. Ну не любит молодёжь приучения к порядку, и реагирует на него крайне агрессивно. По своим детям вижу и по себе помню.
Объективности в этом топике пока не наблюдалось и не ожидается, она только декларируется. Обвинения в адрес Паскаля либо голословны (и яростны), либо сводятся к выступлениям типа "отвратительный язык, в нём невозможно передавать указатели!". Пытаться научить аффтара передавать указатели в программе на Паскале- себе дороже, пожнёшь лютую ненависть.
Я кончил. Но могу ещё.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
Жека
сообщение Nov 12 2008, 08:04
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 672
Регистрация: 6-01-06
Из: Петербург
Пользователь №: 12 870



Господа программеры, можно список того, что делается на Си, но не делается на Паскале?
С точки зрения конечной задачи, а не какие-то нюансы синтаксиса


--------------------
Льва Абалкина больше нет. Забудь о нем. На нас идет автомат Странников!
Go to the top of the page
 
+Quote Post
Wise
сообщение Nov 12 2008, 08:05
Сообщение #10


Пользователь забанен
*****

Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492



Цитата(DSIoffe @ Nov 12 2008, 15:44) *
Я кончил. Но могу ещё.


..Маленькая ремарка.
«Я кончил» - сегодня неправильно поймут..
Дима, сегодня лучше «Я сказал», или, «Я закончил»..
smile.gif


--------------------
It's me
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Nov 12 2008, 08:12
Сообщение #11


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Цитата("Wise")
Дима, сегодня лучше «Я сказал», или, «Я закончил»..

Дык это же непереводимая игра слов! (С)


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 12 2008, 11:23
Сообщение #12


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

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



Цитата(Жека @ Nov 12 2008, 11:04) *
Господа программеры, можно список того, что делается на Си, но не делается на Паскале?
С точки зрения конечной задачи, а не какие-то нюансы синтаксиса

Сделать можно почти все, но это будет сделано через жёппу. И begin-end на смое страшное в нем (хотя я действительно не понимаю, зачем писать слово из пяти букв, если можно поставить одну скобку, или зачем писать then если и без него все понятно). Я обычно привожу в пример оператор for. Програмисты, переходящие на Си, смотрят учебник и говорят: а, ну тут так же, как в Паскале. После чего я требую забыть Паскаль и изучить сишный for. И тогда выясняется, что оказывается в паскале переменная цикла должна быть (!), и может быть только целой, и меняться только на единицу, и заканчиваться цикл может когда она достигает указанного значения. Человек, писавший всегда на паскале, очень долго перестраивает себя, чтобы привыкнуть, что переменная цикла может быть любого типа - хоть плавающей, хоть указателем, и ее может вообще не быть. Для ее изменения не обязательно писать ++i, это может быть любое выражение или функция, окончанием цикла также может быть любой условный оператор, можно вообще в инициализации, например, открывать файл или поток, в операторе проверки проверять на конец файла, а в последнем операторе читать очередную порцию файла или вообще его не использовать, а читать файл с теле цикла. Си позволяет такую гибкость, и это относится к всем операторам. А бедные студенты, которые спрашивают на форумах, как в Си получить из переменной типа char ее код! Это ведь искалеченные люди, они считают, что символы хранятся в каких-то особенных байтах, не двоичных, ведь паскаль не позволяет выполнять над ними арифметические действия!

Сообщение отредактировал 777777 - Nov 12 2008, 11:25
Go to the top of the page
 
+Quote Post
Жека
сообщение Nov 12 2008, 11:56
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 672
Регистрация: 6-01-06
Из: Петербург
Пользователь №: 12 870



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


--------------------
Льва Абалкина больше нет. Забудь о нем. На нас идет автомат Странников!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 12 2008, 12:30
Сообщение #14


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Жека @ Nov 12 2008, 14:56) *
Понятно, утрируя, получается два стиля программирования - раздолбайский и педантичный smile.gif
Адептам первого больше подойдет Си, второго - Паскаль

Паскаль строже, а в Си можно делать нестрогие вещи с точки зрения Паскаля. Еще в перечисления различий забыли указать на функции с переменным числом параметров (для Паскаля идеологически неприменимо, но есть readl writel для ввода-вывода smile.gif )


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 12 2008, 12:45
Сообщение #15


Знающий
****

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



Цитата(DSIoffe @ Nov 12 2008, 10:44) *
Паскаль, надо сначала найти в нём достоинства. А для этого надо в нём как следует поработать. А подавляющее большинство его ярых критиков отвратилось от него в начале творческого пути из-за колоссальных трудностей, связанных с регулярным написанием пары
begin-end...


Скажу даже больше. После использования Форт языка прихожу к выводу, что с Си языком
даже писать { } тоже избыточноsmile.gif Важна, в итоге, заложенная семантика языка и способ решения
требуемой задачи с её возможностями.

Минимум синтаксических правил идет на пользу для работы "серого вещества" c его ограниченными
возможностями.
К Форту, по этому показателю, близок Tcl/Tk, Лисп, Пролог, может Лого язык ( что еще?)
Форт, наверное, самый нескучный язык программирования.

P.S. А почему не Фортран, вместо Паскаля?
Выбирайте, пока есть время, дальше, в работе всё будет прозаичней ( Асм, С, С++ ).

Сообщение отредактировал Kopa - Nov 12 2008, 12:48
Go to the top of the page
 
+Quote Post
tyro
сообщение Nov 12 2008, 13:05
Сообщение #16


Любитель Кошек
*****

Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873



Цитата(777777 @ Nov 12 2008, 14:23) *
Сделать можно почти все

Если бы остановиться на этом, то ответ можно считать объективным. smile.gif
Цитата
И тогда выясняется, что оказывается в паскале переменная цикла должна быть (!), и может быть только целой, и меняться только на единицу, и заканчиваться цикл может когда она достигает указанного значения.

А это говорит о Вашем поверхностном знании паскаля, поскольку Вы очевидно считаете, что в этом языке есть только один оператор For для организации циклов. А дальше читаем сообщение DSIoffe. smile.gif


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
Жека
сообщение Nov 12 2008, 13:09
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 672
Регистрация: 6-01-06
Из: Петербург
Пользователь №: 12 870



Цитата(tyro @ Nov 12 2008, 16:05) *
А это говорит о Вашем поверхностном знании паскаля, поскольку Вы очевидно считаете, что в этом языке есть только один оператор For для организации циклов. А дальше читаем сообщение DSIoffe. smile.gif


Кстати да, While Do & Repeat Until еще никто не отменял


--------------------
Льва Абалкина больше нет. Забудь о нем. На нас идет автомат Странников!
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Nov 12 2008, 13:54
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Жека @ Nov 12 2008, 15:56) *
Понятно, утрируя, получается два стиля программирования - раздолбайский и педантичный smile.gif
Адептам первого больше подойдет Си, второго - Паскаль

А у меня такое сравнение: Паскаль - это езда на трехколесном велосипеде, а С/С++ - на двухколесном. Все, почти все, начинали с первого, но на нем мертвая петля не получается. smile.gif
Go to the top of the page
 
+Quote Post
Жека
сообщение Nov 12 2008, 14:14
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 672
Регистрация: 6-01-06
Из: Петербург
Пользователь №: 12 870



Цитата(Serhiy_UA @ Nov 12 2008, 16:54) *
А у меня такое сравнение: Паскаль - это езда на трехколесном велосипеде, а С/С++ - на двухколесном. Все, почти все, начинали с первого, но на нем мертвая петля не получается. smile.gif


Мертвая петля получается только на самолетах. Или вы имеете в виду трюки BMX-еров?


--------------------
Льва Абалкина больше нет. Забудь о нем. На нас идет автомат Странников!
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 12 2008, 14:19
Сообщение #20


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

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



Как обычно, при упоминании Паскаля (особенно с заявками на разжигание холивара) вспоминается, что настоящие прграммисты не используют Паскаль smile.gif


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


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



А вот что думает один из авторов C о языке Pascal,

http://www.lysator.liu.se/c/bwk-on-pascal.html
Go to the top of the page
 
+Quote Post
Жека
сообщение Nov 12 2008, 15:01
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 672
Регистрация: 6-01-06
Из: Петербург
Пользователь №: 12 870



Цитата(Rst7 @ Nov 12 2008, 17:19) *
Как обычно, при упоминании Паскаля (особенно с заявками на разжигание холивара) вспоминается, что настоящие прграммисты не используют Паскаль smile.gif


Бугага a14.gif

Цитата
Несколько наблюдений о настоящих программистах и структурном
программировании:

- настоящие программисты не боятся использовать GOTO;
- настоящие программисты могут без смущения написать цикл DO
на пяти страницах;
- настоящие программисты любят арифметические операторы IF,
т.к. их использование делает программу более интересной;
- настоящие программисты используют самомодифицирующий код,
особенно в тех случаях, когда это экономит 20 наносекунд в
середине очень короткого цикла;
- настоящие программисты не нуждаются в комментариях : текст
программы все объясняет;
- поскольку в Фортране отсутствуют структурные операторы IF,
REPEAT ... UNTIL или CASE, настоящим программистам не
нужно беспокоиться, что они их не используют; кроме того
эти операторы можно при необходимости симулировать с
помощью присваиваемых GOTO.


--------------------
Льва Абалкина больше нет. Забудь о нем. На нас идет автомат Странников!
Go to the top of the page
 
+Quote Post
DMD
сообщение Nov 12 2008, 15:16
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



Не, ну ребят - опять холивар развели, ей богу... Я только спросил насчет марки. =)
Я знаю С, программирую на нем уже лет 10. На С++ уже лет 5, но когда увидел во что превратился современный С++ и что я его совсем уже не понимаю (хотя написал пару крупных проектов, под РС, правда)... я решил, может ну его нафиг, мозг насиловать...
А насчет Паскаля вы не правы.
Я считаю так: С, С++, Паскаль - это инструменты. Вы, конечно, можете шуруп закрутить пассатижами и он, наверное, может держаться. Но лучше отверткой.
Я не согласен, что Паскаль ущербен, так как писал на нем кандидатскую (на делфи- не совсем то, но все же), и не почувствовал особой ограниченности. Ограниченность в мозгах, а не в языке. Просто в Паскале надо подумать, прежде чем сделать что-то такое, что разрешено в С (например привести один тип к другому - отличному по логике работы с ним). Я не говорю - НЕВОЗМОЖНО, я говорю - надо подумать.
Никогда не задумывались о популярности Явы (JAVA)? В ней нет указателей, динамического приведения типов, шаблонов, STL - всего того, чем так любят хвалиться наСильники с плюсами... Просто она проще для обучения, чесслово! Я выучил основные конструкции за день (ну она ещё и на С похожа, поэтому...), тем не менее...
Поэтому, я не считаю правильным говорить "плохой язык", "ограниченность", ... Я, как человек использующий и преподающий то и другое, так не думаю.
А компилятор мне нужен, чтобы учить студентов. Так я пользуюсь CodeVision только потому, что есть на нем хорошие библиотеки и код уже написан. Вот.


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Nov 12 2008, 15:40
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(DMD @ Nov 12 2008, 18:16) *
...
А компилятор мне нужен, чтобы учить студентов.


А вы уверены, что Паскаль подходит, чтобы учить студентов? Если Вы их научите тому, что заведемо почти нигде не используется, врядли они будут Вам благодарны.
Go to the top of the page
 
+Quote Post
Harbinger
сообщение Nov 12 2008, 16:02
Сообщение #25


старший лаборант
******

Группа: Свой
Сообщений: 2 702
Регистрация: 30-09-05
Из: ЮЗЖД
Пользователь №: 9 097



Собственно, и CV... конструктор "Лего", что ли, напоминает. Для знакомства сойдёт, а впоследствии от него разве что программатор будут юзать smile.gif
(off) И почему это Keil с AVR не подружился?


--------------------
Китайская комплектация - европейское качество! ;)
Go to the top of the page
 
+Quote Post
DMD
сообщение Nov 12 2008, 16:19
Сообщение #26


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



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


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Nov 12 2008, 17:09
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(DMD @ Nov 12 2008, 19:19) *
Пусть это будет новым для вас, но образование, в идеале, должно давать весь спектр возможностей реализации чего-то, а уж обучаемый сам выбирает что ему по душе...


Как интересно... То есть, вы уже успели прочитать студентам курс лекций про asm, IAR, avr-gcc, CodeVision, BASCom и теперь для полноты картины хотите познакоить их с Паскалем для AVR? Вот только реальный порядок вещей, исключает то, что должно быть в иделе, хотя бы по причине ограниченности такого ресурса как время. В этой связи крайне важно, чтобы преподаватель выбрал действительно актуальный, важный, глубокий материал.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 12 2008, 18:06
Сообщение #28


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

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



Цитата
А вы уверены, что Паскаль подходит, чтобы учить студентов?


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

или
Код
var i: integer; j: array [0..3] of byte absolute i;


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

Пардон, если кого обидел. Накипело.


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


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



Хм, ребят... Я не буду здесь пускаться в длительные дискуссии насчет системы образования. Скажу только, что можно не фиксировать язык разработки, а дать возможность выбора: С/Паскаль.
Бейсик рассматривать смысла нет (есть паскаль), ассемблер - он идет по плану. 2 семестра по 17 занятий вполне хватает, чтобы дать 2 платформы (PIC/AVR). Я только разработал этот курс (2 год), но все неплохо получается: студенты потом делают неплохие дипломы, вот, в частности, делают систему регистрации событий на SD-карту (это для системы автоматики). Доселе был гольный 8051 c Питоном, что грустно, так что пришлось все срочно переделывать.
Да, специалист - опенсорсная программа, это так. Открою тайну - задача высшего образования - НЕ НАУЧИТЬ, а ПОКАЗАТЬ КАК НАУЧИТЬСЯ САМОМУ, ПОКАЗАТЬ ПУТЬ. Извините, если развеял чьи-то идеалы, но после 18 лет кого-то научить силой невозможно.
Только на предприятии можно "научить" и то - только какой-то малой части всего, что нужно знать человеку в его должности.
А если хотите честно, то за свои 6 лет практики преподавателя (не так много, но есть) и работы в некоторых организациях, могу со всей ответственностью заявить - народ деградирует, причем студенты из года в год все хуже, и хуже... Есть алмазы, да, но... все благодаря ЕГЭ и пр. - это все лишь портит.

А это мое мнение, причем не только я так думаю...
Накипело.. =)


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Nov 12 2008, 19:27
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(Rst7 @ Nov 12 2008, 21:06) *
...берешь напильник и дотачиваешь до вменяемого состояния.

Вы знаете, тут во многом виной не работа преподавателей, а зачастую нежелание студентов самостоятельно пошевелить мозгами, изучить что-то, что выходит за курс лекций, отсутствие жажды знаний. Это собственно одно из проявлений этого обстоятельства: "причем студенты из года в год все хуже, и хуже...".

Цитата(Rst7 @ Nov 12 2008, 21:06) *
А Вы уверены, что Си подходит?

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

Собственно,DMD, задумайтесь, а надо ли тратить время на паскаль? Зная платформу (которую они должы знать после ваших лекций wink.gif ) освоить новый язык программирования для этой платформы - дело одного дня, потратив скажем неделю, можно в ней себя чуствовать вполне уверено. Но стоит ли тратить это время на лекциях, не лучше ли рассказать о какой-нибудь тонкости архитектуры, изучение которой самостоятельно гораздо более сложно, нежели изучение еще одного программирования?
Go to the top of the page
 
+Quote Post
Herz
сообщение Nov 12 2008, 19:49
Сообщение #31


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



И я свои 5 добавлю. Не приходилось встречать и даже слышать о программировании контроллеров на Паскале. С - да, повсеместно. И, видимо, есть причины (не будем углубляться уже). То есть, не факт, что Паскаль такой уж дрянной язык и наверняка на нём вполне возможно писать программы для встроенных систем. Но вот думаю практически: а на кой это надо? Пусть найдётся компилятор, среда под АВР, но а с переносимостью потом как? Не с компа на комп ведь. Так, может, если уж учить студентов двум языкам, то Паскаль преподавать на традиционной для него платформе - РС, а для контроллеров всё-таки Сями обойтись? Ну, действительно, практического смысла будет больше, ИМХО.
Цитата(Rst7 @ Nov 12 2008, 20:06) *
После такого обучения молодой специалист как опенсорсная программа - берешь напильник и дотачиваешь до вменяемого состояния, потому что в том виде, в каком оно попадает к конечному пользователю, оно суть гуано полное.
Пардон, если кого обидел. Накипело.

Так всегда было и, наверное, всегда будет.
Go to the top of the page
 
+Quote Post
DMD
сообщение Nov 12 2008, 20:31
Сообщение #32


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



Вы все такие наивные, ей богу, как чукотские девочки! smile.gif
Ну хорошо, я расскажу о "тонкостях архитектуры". А толк какой? Навряд ли кто-то это усвоит, а вот язык программирования - пусть и не весь усвоенный, но все же - это гораздо лучше.
Почему Паскаль - это очень просто. Не знаю как в других ВУЗах, но в нашем - на 1 курсе дают Паскаль, на 2м - Паскаль + Си, 3 - Асм + Си... Поэтому, вполне законно, что надо упомянуть и про паскаль в процессе обучения. Из песни слов не выкинешь, так что раз есть такой - почему бы и не рассказать про него. Тем более речь идет не о подромном его изучении, а так... только понятия. 17 пар - это мало, даже есть задаться целью рассказывать только про AVR.

Спасибо за советы и дискуссию. =)


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 12 2008, 20:31
Сообщение #33


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

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



Цитата(Herz @ Nov 12 2008, 21:49) *
Так всегда было и, наверное, всегда будет.

Это я слишком льстиво для этих "специалистов" выразился. Их не дотачивать (как было), а с нуля точить надо. Нет у них даже понятия о том, как учиться. И полное отсутствие базовых знаний. А это прямой прокол высшей школы. В обоих пунктах.

Зато на делфи с компонентами мы все мастаки кнопок на форму накидать. Не более того.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 12 2008, 21:34
Сообщение #34


Гуру
******

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



Цитата(amaora @ Nov 12 2008, 14:24) *
А вот что думает один из авторов C о языке Pascal,

http://www.lysator.liu.se/c/bwk-on-pascal.html

Бред ужасный. Так же относится ко всем, кто здесь ругал паскаль. Но автору топика так или иначе придется использовать це.

зы: Однако, только на днях понял, что такое Rapid application development©Borland. Но ни той, ни другой стороне этого не понять.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 13 2008, 05:08
Сообщение #35


Знающий
****

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



Цитата(DMD @ Nov 12 2008, 19:19) *
Пусть это будет новым для вас, но образование, в идеале, должно давать весь спектр возможностей реализации чего-то, а уж обучаемый сам выбирает что ему по душе...


Хочу, что бы преподавали Forth ( Форт) хотя бы Вы, как альтернативу засилья "попсы".
Это реально?

P.S. Информации в русском i-nete достаточно и есть русский Форт форум ( fforum.winglion.ru)smile.gif
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 13 2008, 06:11
Сообщение #36


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

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



Цитата(Жека @ Nov 12 2008, 14:56) *
Понятно, утрируя, получается два стиля программирования - раздолбайский и педантичный smile.gif
Адептам первого больше подойдет Си, второго - Паскаль

Апологеты паскаля постоянно это говорят, хотя это ниоткуда не следует. Каким образом добавляет педантичности тот факт, что переменная цикла for может меняться только на 1? А если надо напечатать таблицу какой-то функции с шагом 0.1? А если надо пройти связный список, имея указатель на узлы? Нужно все равно иметь целую переменную цикла, хотя она совершенно не нужна! Еще забыл написать о "важной" фиче которой так любят хвалиться паскалисты: проверка индекса на выход за границы массива. Паскаль ведь при обращении к массиву проверяе индекс, чтобы программист не мог ошибиться! А в Си можно записать за пределы массива и программа вылетет. Только вот вопрос: а что сделает паскалевская программа, если произойдет обращение за пределы? Она выдаст собщение и завершится. Чем это с точки зрения пользователя лучше? Проверять значение индекса должна программа (если он берется из каких-то внешних данных) и если они недопустимые, выдавать осмысленное сообщение и продолжать работу. А если индекс меняется от нуля до константы (например, при инициализации массива), то проверять его глупо - он все равно никогда не выйдет за пределы - так зачем паскаль генерит лишний код?

ЗЫ. Любители педантичности могут воспользоваться C++
ЗЗЫ. А различия между процедурой и функцией? Подумать только, ведь если функция не возвращает значения, то это вносит настолько принципиальное отличие, что ее надо назвать по-другому!


Цитата(DMD @ Nov 12 2008, 23:31) *
Из песни слов не выкинешь, так что раз есть такой - почему бы и не рассказать про него.

Да нет такого! Ни одна серьезная фирма, как здесь уже было сказано, не делает компиляторов паскаля. А если вы найдете какой-то левый - то зачем это студентам?
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 13 2008, 06:23
Сообщение #37


Знающий
****

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



Цитата(DMD @ Nov 12 2008, 23:31) *
Вы все такие наивные, ей богу, как чукотские девочки! smile.gif
... Почему Паскаль - это очень просто....
Спасибо за советы и дискуссию. =)


А почему не Basic - это еще проще и есть комерческие компиляторы для AVR:)
А счеты еще прощеsmile.gif

P.S. Хотите Паскаль, так и преподавйте его студентам - у студентов и так проблем
много, помимо учёбыsmile.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 13 2008, 06:26
Сообщение #38


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

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



Цитата
у студентов и так проблем много, помимо учёбы


Вот-вот. А должна быть только одна проблема - учеба.


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


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ Nov 13 2008, 09:23) *
А почему не Basic - это еще проще и есть комерческие компиляторы для AVR:)

Бейсик не компилируется, а транслируется построчно на этапе исполнения программы.
Вместо бейсика нынче есть ява, питон и тп.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 13 2008, 07:08
Сообщение #40


;
******

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



Цитата(777777 @ Nov 13 2008, 09:11) *
Каким образом добавляет педантичности тот факт, что переменная цикла for может меняться только на 1?

Что Вас, право, зарубило на цикле for ?
Перем цикла должна не меняться на 1, а быть целочисленной.
Вы не любите собак? Да Вы же просто не умеете их готовить!

Цитата
Да нет такого! Ни одна серьезная фирма, как здесь уже было сказано, не делает компиляторов паскаля. А если вы найдете какой-то левый - то зачем это студентам?


Почему нет ?
Или Вы думаете, что они там баранину ваяют, если уже столько существуют и не загнулись?
Единственное - в демонстралках там бродит ужас smile.gif Я про качество генерируемого кода.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 13 2008, 07:16
Сообщение #41


Знающий
****

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



Цитата(MrYuran @ Nov 13 2008, 09:32) *
Бейсик не компилируется, а транслируется построчно на этапе исполнения программы.
Вместо бейсика нынче есть ява, питон и тп.


Вы знаете возможности Basic-ов для контроллеров?
Компилируется или нет Basic для них?
Почему нельзя используя JIT, даже, при загрузке Basic программы через терминал её ускорить?

P.S. Чистый интерпитатор байт-кода Java, для AVR занимает ориентировочно 14Кб,
Необходимые библиотеки для работы с периферией еще займут n-сколько килобайт
+ функционал самой программы.

Это не учитывая тормозов при интерпритации неоптимального для контроллера
и неизвестно как сгенерированного кода.

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

Цифр для Питона не знаю.

А Java IDE для AVR существуют ( полукомерческие версии).

Нужна ли изначально объектность для программирования контроллеров - это отдельный
непростой вопрос. В Java, на уровне байт-кода, она динамическая. ( что еще добавляет тормозов )



Цитата(_Pasha @ Nov 13 2008, 10:08) *
Почему нет ?
Или Вы думаете, что они там баранину ваяют, если уже столько существуют и не загнулись?
Единственное - в демонстралках там бродит ужас smile.gif Я про качество генерируемого кода.


На их сайте встретил только упоминание Pascal для PIC ( возможно dsPic ) контроллеров
А где AVR?

P.S. Возможно это не лучший линк для тематики AVR:) Basic у них точно естьsmile.gif

Сообщение отредактировал Kopa - Nov 13 2008, 07:21
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 13 2008, 07:24
Сообщение #42


;
******

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



Цитата(Kopa @ Nov 13 2008, 10:16) *
На их сайте встретил только упоминание Pascal для PIC ( возможно dsPic ) контроллеров
А где AVR?

Дык ежт А это ШО?
Вот так люди мельком прочитают Ваш пост. А там дезинформация smile.gif
Go to the top of the page
 
+Quote Post
Herz
сообщение Nov 13 2008, 07:39
Сообщение #43


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(Rst7 @ Nov 13 2008, 08:26) *
Вот-вот. А должна быть только одна проблема - учеба.
Учёба проблемой не должна быть. Когда учёба - проблема, получается то, о чём Вы говорите... smile.gif
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 13 2008, 07:45
Сообщение #44


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

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



Цитата
Учёба проблемой не должна быть. Когда учёба - проблема, получается то, о чём Вы говорите...


Проблема - в смысле "забота". Тяжело в лечении учении, легко в гробу бою.

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


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


Знающий
****

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



Цитата(_Pasha @ Nov 13 2008, 10:24) *
Дык ежт А это ШО?
Вот так люди мельком прочитают Ваш пост. А там дезинформация smile.gif


Тогда можно побольше накидать ссылок из i-neta:)
Е-lab computers
что из себя представляет, даже пока не интересноsmile.gif

P.S. А в FAQ для AVR приведены ссылки на существующие Pascal компиляторы?
и на другие языки программирования для AVR c краткой анотацией?

Сообщение отредактировал Kopa - Nov 13 2008, 08:51
Go to the top of the page
 
+Quote Post
KykyryzzZ
сообщение Nov 13 2008, 09:58
Сообщение #46



***

Группа: Свой
Сообщений: 404
Регистрация: 20-10-05
Пользователь №: 9 885



Цитата(Rst7 @ Nov 12 2008, 23:31) *
Это я слишком льстиво для этих "специалистов" выразился. Их не дотачивать (как было), а с нуля точить надо. Нет у них даже понятия о том, как учиться. И полное отсутствие базовых знаний. А это прямой прокол высшей школы. В обоих пунктах.


У них нет понятия как учиться, потому что у них нет понятия как эти знания применять...
Наивно пологать, что головы, набитые теорией, смогут заниматься практикой на должном уровне (я про головы, которые именно пытаются получить теорию)
Учеба должна идти без отрыва от производства. Бери к себе студентов с курса 3го-4го, а то и со 2го и подтачивай потихоньку. Тогда из них толк будет. Как показывает практика, желающие студенты есть, вот работодателей маловато.
Так что это прокол не высшей школы, а недостаток связности высшей школы с реальным производством.

--
Извиняюсь за 0xFF topic smile.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 13 2008, 10:05
Сообщение #47


Гуру
******

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



Цитата(777777 @ Nov 13 2008, 06:11) *
Каким образом добавляет педантичности тот факт, что переменная цикла for может меняться только на 1?

Такие фразы наводят на мысль, что вы и Це толком не знаете. Студент ? Или школьник ?
Go to the top of the page
 
+Quote Post
Herz
сообщение Nov 13 2008, 10:50
Сообщение #48


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(Rst7 @ Nov 13 2008, 09:45) *
Проблема - в смысле "забота". Тяжело в лечении учении, легко в гробу бою.

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

Так дело молодое. smile.gif Проблема именно в отсутствии стимула к учёбе, интереса, перспективы. Ну да ладно, это уже полный офф-топ...
Go to the top of the page
 
+Quote Post
sergeus
сообщение Nov 13 2008, 11:23
Сообщение #49


Частый гость
**

Группа: Участник
Сообщений: 157
Регистрация: 11-12-07
Из: Москва
Пользователь №: 33 174



Цитата(DMD @ Nov 12 2008, 00:58) *
Здравствуйте.
Ребят, посоветуйте хороший компилятор паскаля для AVR, в частности для серии ATTiny, но лучше для большинства (а то мало ли что).
И ещё, не подскажете - слишком придется "платить" за язык высокого уровня в смысле объема кода? А то тут проект светит, там на ассемблере далеко не уедешь, язык С скучный, хочу вот паскаль освоить...
Спасибо.


Есть такой компилятор MicroPascalAVR, на мой взгляд он немного мудрёный.
Я бы на Вашем месте посмотрел в сторону BascomAVR. С него я начинал. В подробной документации много примеров. Плюс есть лекарство, а если захотите купить лицензия не очень дорогая - вполне адекватная цена (у меня знакомый покупал).
P.S. Но самое лучшее это начинать с СИ. Например, бесплатный WinAVR и книжка Шпака в помощь - самое то.
Go to the top of the page
 
+Quote Post
Herz
сообщение Nov 13 2008, 14:05
Сообщение #50


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(sergeus @ Nov 13 2008, 13:23) *
P.S. Но самое лучшее это начинать с СИ. Например, бесплатный WinAVR и книжка Шпака в помощь - самое то.

biggrin.gif Человек, похоже, только первый пост и прочитал...
Go to the top of the page
 
+Quote Post
sergeus
сообщение Nov 13 2008, 18:13
Сообщение #51


Частый гость
**

Группа: Участник
Сообщений: 157
Регистрация: 11-12-07
Из: Москва
Пользователь №: 33 174



Цитата(Herz @ Nov 13 2008, 17:05) *
biggrin.gif Человек, похоже, только первый пост и прочитал...


Человек, похоже, кроме этого что-то написал. Делать мне нечего - прочитывать столько постов и смотреть кто что написал, чтобы случайно не написать что-то боянистое. Новизна в моём посте присутствовала.
Go to the top of the page
 
+Quote Post
ARV
сообщение Nov 13 2008, 18:42
Сообщение #52


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



ощущение такое, что многие из ведущих тут дискуссию с паскалем знакомы по названию книжки "паскаль для чайников"...
скажу, как человек, использующий паскаль (правда, не для микроконтроллеров) более 15 лет:
1. в соверменном паскале (Delphi или free-pascal) работа с указателями во много раз проще, чем в Си, и при этом нет проблемы с характерными ошибками, свойственными Сишной работе с ними.
2. о цикле for - кто мешает использовать while или until? там можно тоже использовать различные условия завершения, продолжения и шага итерации цикла.
3. переменное число параметров функции (а так же переопределение функций) давно нормальное явление для паскаля
4. паскаль де-факто не дает шансов допустить ряд ошибок, которые Си в лучшем случае сопровождает ворнингами
5. современный паскаль (object-pascal) идет впереди С++ примерно на 2-3 шага (касательно деструкторов, особождения памяти из-под объектов и т.п.)
6. по большому счету, все современные языки высокого уровня обладают одинаковыми возможностями, и потому споры о них можно приравнять к спорам о том, что чернее - уголь или сажа (поясню - и то и другое - углерод).

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


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 13 2008, 19:42
Сообщение #53


;
******

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



Цитата(ARV @ Nov 13 2008, 22:42) *
5. современный паскаль (object-pascal) идет впереди С++ примерно на 2-3 шага (касательно деструкторов, особождения памяти из-под объектов и т.п.)

Ну, в тему это не помещается smile.gif ООП на АВР... мучать камень и себя.
Цитата
к сожалению, апоголеты Си явно не настроены узнавать о паскале больше, чем написано в книжках 20-летней давности... потому данная дискуссия - бесперспективна по определению smile.gif

Дык дискуссии нет. Есть из паскалей e-lab, microe. Есть для пиков PMP, но, имхо, пока до микроконтроллеров не доберется сообщество Free Pascal, чуда не будет.
Go to the top of the page
 
+Quote Post
Herz
сообщение Nov 13 2008, 19:48
Сообщение #54


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(sergeus @ Nov 13 2008, 20:13) *
Человек, похоже, кроме этого что-то написал. Делать мне нечего - прочитывать столько постов и смотреть кто что написал, чтобы случайно не написать что-то боянистое. Новизна в моём посте присутствовала.

Чукча - не читатель? Откуда тогда уверенность, что "новизна присутствовала"?

Цитата(ARV @ Nov 13 2008, 20:42) *
к сожалению, апоголеты Си явно не настроены узнавать о паскале больше, чем написано в книжках 20-летней давности... потому данная дискуссия - бесперспективна по определению smile.gif

Как и все религиозные войны, в одну из которых скатывается тема. Но совсем не потому, что апологеты С такие непродвинутые, а вот иные... А потому, что вместо конкретных "за" и "против" для конкретного случая - не только попытки выяснить, какой язык "круче", но и нападки на их "апологетов"...
Go to the top of the page
 
+Quote Post
ARV
сообщение Nov 13 2008, 19:52
Сообщение #55


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



предлагаю остановиться на констатации факта, что современные ЯВУ примерно равноценны. но, разумеется, в области микроконтроллеров преобладает Си и ассемблер, хотя вовсе не по каким-то объективным причинам, а просто "так уж вышло" smile.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 13 2008, 20:32
Сообщение #56


Знающий
****

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



Цитата(ARV @ Nov 14 2008, 01:52) *
предлагаю остановиться на констатации факта, что современные ЯВУ примерно равноценны. но, разумеется, в области микроконтроллеров преобладает Си и ассемблер, хотя вовсе не по каким-то объективным причинам, а просто "так уж вышло" smile.gif


"Ящик водки и всех обратно!" (С) народный анекдот.


Вот вопросы для обдумывания. В начале топика кто-то просил объективности. Мне кажется, что следущие воапрсы претендуют на наибольшую объективность.


1. Давайте обратим внимание на операционные системы (ОС) для компов и мощных микроконтроллеров (МК). Думаю, здесь на форуме присутствуют сведущие люди, а это значит, не надо много говорить о том, что уровень ОС находится намного ближе к железу, чем уровень прикладных программ (текстовые процессоры, почтовые клиенты, СУБД, ...). В некоторой степени мы можем говорить об аналогии понятий: традиционные проги (firmware) для МК занимают примерно ту же диспозицию, что и ОС для больших процов. Аналогия несколько отдаленная, может быть даже спорная, но примерно как-то оно так. А теперь, внимание, ВОПРОС:

Перечислите здесь операционные системы, которые написаны на Си/Си++. А так же назовите ОС, которые написаны на Паскале.

От себя могу назвать только одну ОС, которая изначально была написана на Паскале. Это -- всем известная Windows. Да-да, самая первая версия Венды была написана на Паскале. Потом, когда M$, просекла фишку, когда поняли, что за это дело можно не только срубить денег, а и прогнуть под себя мир, они быстренько переписали ее на Си. В память о неблагополучном прошлом весь мир получил в наследство паскалевские вызовы API Window. До сих пор икается!Если у Вас есть, что добавить по ОСям, написанным на Паскале, я буду только рад.


2. Предлагаю провести следущее расследование. Поскольку, здесь на форуме собрались активные программисты, т.е. активные сливки всего общества программистов, то давайте проведем оценку кто на чем пишет. А по полученным данным будем судить, какой язык мы больше применяем. А чтобы отфильтровать шум (мусор), давайте будем называть только Си/Си++ и Паскалевские проги. Остальные (Васик, Питон, Жаба, ...) сейчас будут только мешаться. И давайте будем указывать цель (значимость) своих программ. Я имею ввиду то, для чего прога создавалась. Например, "коммерческая" (продана несколько раз), "для души" (нравится программировать), "проба сил" (полигон для изучения языка), "тестировние" (отработка парадигмы, алгоритма, ...), "написал и забыл" (курсач, диплом, докторская, ...). Это не полный спсиок, важно понять, для каких целей и на каком языке мы пишем.

Начну с себя. У меня все просто. Я на адепт Паскаля, и си-шник. Пишу на на Си, Си++. Я в основном пишу коммерческие проги, я за них получаю деньги, это источник моего дохода. Иногда я использую Си/Си++ для отработки идей. Иногда пишу на них для души. На Паскале я тоже писал проги за деньги. Но это были проги чисто для студентов, которые отлично знали UNIX/Linux, писали под него и в Шелле, и в gcc, но поскольку препод требовал Паскаль, а времени у них как у всех, да и Паскаль им был ненавистен. Вобщем, мы удачно договорились! Заметьте, это пример не в пользу Паскаля!


3. Откуда растут проблемы отсутствия интереса в изучении у студентов. Мое видение состоит в следующем. Обучение и производство на столько отдалены друг от друга, на столько между ними большая разница, что молодые люди, учась в вузах, слабо представляют (если вообще представляют!) как жить дальше после окончания института. Как будут цениться и как использоваться получаемые ими знания. Это как земля и вода. Вот, я сейчас студент, я изучаю теоретическое плавание кролем и на спине, но все еще хожу по земле. Через пару лет, я защитю проект. Получу диплом. Напьюсь. Протрезвею. И ... выйду в открытое море и поплыву, как меня учили.

Нет, ребята. Фигня это полная. 95% выпусники вузов -- это такая недоделка, что прямо ой! Это люди полностью абстрагированные от реальной жизни. Они накачены теориями, они обучены пользоваться шпорами и копипаситить рефераты, а вот реального понимания, что и как работает, -- у них нет. Но самое страшное не в студентах, в тех преподах, которые сами далеки от реальных коммерческих дел. Вот они-то и учат студентов тому теоретическому Паскалю, который сегодня не дает нормально зарабатывать. И, более того, не видно, что в перспективе Паскаль перехватит инициативу у Си/Си++.


4. Вы знаете кто такой Anders Hejlsberg? В кратце вот это кто. Этот человек очень плотно работал с Фрэнком Брландом (Frank Borland, автор Turbo-Pascal). Andreas -- автор Delphy. Собственно, появление Delphy привело к моральной смерти Турбо-Паскаля (седьмая версия -- была последней). Незадолго до выхода третьей версии Delphy, его переманили в M$. После этого развитие Делфи, как-то зптормозилось. Возможно Андрэас понял бесперспективняк Паскаля/Делфи. Чем тогда объяснить, что он повернулся в сторону Си/Си++? Его портфолио не ограничивается Делфями. В M$ Андреас разработал С#. Это преамбула. Понятно, что перед нами достаточно легендарная личность.

А теперь амбула. Вот тут http://blog.jaoo.dk/2008/10/07/the-future-...ming-languages/ на протяжении часа Хейлсберг вещает про языки программирования. Я очень рекомендую посмотреть этот относительно свежий ролик (Октябрь 2008 г.). Даже если у вас аудированием плохо, то хотя бы на картинки посмотрите.

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


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


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



Блин, всего день не было - уже флейма на 4 листа... =)
Я хотел написать вчера ещё, но уже спать лег, а сегодня, смотрю, уже написали. Да: Паскаль и С - идентичны (поэтому их часто и сравнивают, не заметили? не бейсик-си, а си-паскаль!)...
Так что...
Спасибо за помощь!
Кстати, а как насчет "платы за использование ЯВУ? Слишком много платить приходится? Никто не проверял?


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
tyro
сообщение Nov 13 2008, 20:34
Сообщение #58


Любитель Кошек
*****

Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873



Восторженные вопли от восхищения самым лучшим языком программирования - СИ громко и внятно издаём тут: http://electronix.ru/forum/index.php?s=&am...st&p=500358

Восторженные вопли от восхищения самым лучшим языком программирования - Паскаль громко и внятно издаём тут: http://electronix.ru/forum/index.php?s=&am...st&p=500360


--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 13 2008, 21:20
Сообщение #59


;
******

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



Цитата(DMD @ Nov 14 2008, 00:33) *
Кстати, а как насчет "платы за использование ЯВУ? Слишком много платить приходится? Никто не проверял?

дык там же все написано... я имею ввиду - по ссылкам

Цитата(zhevak @ Nov 14 2008, 00:32) *
А теперь амбула.

Пазоришша! литерал в двойные кавычки поставил smile.gif
Go to the top of the page
 
+Quote Post
DMD
сообщение Nov 13 2008, 21:52
Сообщение #60


Частый гость
**

Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166



ага, спасибо за ссылки и информацию! 0)
zhevak, вы не правы по ряду причин. Честно сказать - уже тянет в сон, поэтому уклонюсь от спора. Но ОС пишутся на Си НЕ ПОТОМУ, что Си - это профессионально или круто. Си - это шлицевая отвертка, а Паскаль - крестовая. Так и относитесь к языкам программирования - жить будет легче. =)
ОС - тривиальная задача, причем давно решенная. Написать ОС - это просто дело времени, сил, терпения - И ПОВТОРЕНИЯ ВСЕГО ТОГО, ЧТО УЖЕ ДАВНО СДЕЛАНО РАЗРАБОТЧИКАМИ (включая разработчиками железа). Для этой задачи подошел бы и паскаль, но ... вы продадите систему на паскале? Вы вообще продадите собственную операционную систему? Для развития нужны деньги. Линукс и пр. ОС приносят деньги - они известны, под них есть драйвера и пр. Это раз.
Во-вторых - современные системы зарождались десятилетия назад (все началось с Юникса на асме в 1963), когда паскаля не было. Потом просто код воровался (майкрософт сперла идеи и у юникса (почти все, могу примеры привести), у фирмы Ксерокс и так далее). А так как паскаль только зарождался и был очень ограничен в возможностях (не было многих аспектов языка: юнитов, ...), то изобрели Си чтобы не писать на асме. А потом, так как хотели портировать код - просто стало принято писать ОС на си: есть готовый код (причем много), Ат&T (где работал разработчик Си - Керниган) стало продвигать Юникс как основную ОС для бизнеса (а эту ОС написана на Си + все программы к ней; других ОС в это время (1975-1980) ну не было... кроме может СР/М, которую тоже сперли в майкрософт и назвали ДОС)... поэтому люди, рабоающие с юникс были обязаны знать Си... и учить что-то ещё им было лень (ну или не надо было).
В-третьих: в 1984 году (вроде) Борланд заключила с Майкрософт соглащение о том, что майкрософт не лезет на рынок с Паскалем (до этого они выпустили Quick Pascal - гадость редкая), а Борланд не увеличивает линейку своих продуктов, связанных с языком Си/++. Не заметили, что сейчас у Инпрайз/Борланд всего 2 продукта с С++: просто компилятор и стандартные библиотеки (без СТЛ) - FreeBorlandC++ и C++ Builder? Ну а майкрософт, скупив код Юникса, выпустила сначала Ксеникс (глючный и платный клон Юникса System 5) а потом, поняв что стормозили (а в это время начала появляться система - предшественница FreeBSD (не помню названия) - бесплатная Юникс и свободная от лицензий (выкупленная у Новелл)), решили выпустить полуось а затем (снова промахнулись) сдновременно выпустить винду (причем сначала 3.51НТ, а потом 3.11 - что было весело)))... Естественно, что Майкрософт весь свой API для новых ОС распространял с языком Си внутри... Борланд здесь проиграла и отыгралась только в секторе быстрой разработки приложений (ВизуалБейсик реально проигрывает Делфи здесь, а ВизуалС++ явно сакс как среда RAD!). Так что...

Что я хочу сказать: вы все свидетели работы маркетинговых отделом компаний. Эти отделы, в частности компании Майкрософт, внушают вам, что С++ - это кул, это "on the edge of technologies"... А собственно почему это так - не задумывались? Я, к примеру, пользуюсь максимум 60% возможностей языка С++ (стандарта С99). И приэтом пишу сложный довольно софт: эмуляторы оборудования, SCADA под линукс и пр... Я вот что не могу понять и меня это пугает: выходит стандарт С2009, там вообще полное палево... Как можно пользоваться инструментом не понимая как он работает? Нет, дело не в моем низком интеллекте, просто я сомневаюсь в том, что вот такое бесконтрольное усложнение ЯВУ приведет к катарсису в программах, скорее наоборот... Сложность современных систем возрастает очень сильно, а желание людей их изучать - падает также сильно... Я не вижу смысла сейчас в изучении С++ (но не Си), это мое мнение... Ибо нафиг это надо (здравому человеку, пусть и разработчику). Я могу то же самое написать с меньшей кровью... так зачем париться?

А язык Си... он вымер, уж простите. Нет компиляторов с языка Си, есть С++ - компиляторы в режиме совместимости. А все из-за этой гонки за огромными объемами кода и пр. - все забыли о том, что надежность прямо пропорциональна простоте...
Да, вернусь к Си... он вымер, это так. Ибо область применения его специфична - работа с устройствами (там где лень или сложно работать на асме, а хочется видеть код красивыми англ. буковками). Мы же когда программируем МК - пишем ОС, по сути... Вот только для этого Си и остается, в остальном - его нет. И спорить не о чем.
Разрешите откланяться, ибо хочу спать... =)


--------------------
Все будет хорошо! Я проверял!
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 13 2008, 23:12
Сообщение #61


кекс
******

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



Цитата(Жека @ Nov 12 2008, 10:04) *
Господа программеры, можно список того, что делается на Си, но не делается на Паскале?

Могу привести обратное.
"C" не предоставляет стандартных средств для работы со строками (присваивать, сравнивать, складывать). Паскаль - предоставляет.

Но проблема не в том какой язык лучше, какой хуже. Проблема в том что хороших компиляторов с Паскаля для AVR нет. Все что я видел (а видел я аж 2 таких компилятора - ELAB и микро-чего-то-там) неполноценны. Стоит ли расчитывать, что работая с неполноценным компилятором получится что-то полноценное?
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 13 2008, 23:19
Сообщение #62


Знающий
****

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



[quote name='DMD' date='Nov 14 2008, 03:52' post='500395']
Си - это шлицевая отвертка, а Паскаль - крестовая.
[/qoute]
Простите за тупость, я не понял аллегории. Почему так, а, допустим, не на оборот: плоская -- Паскаль, крест -- Си? Если ж Вы имели ввиду, что между Паскалем и Си нет особой разницы, как между отверткам, то -- да, я согласен с Вашей мнением. И то, и другое -- чисто инструменты. Назначение у них одинаковое, отличия между ними не значительны. Отличий у них больше, если их сравнивать с ... пассатижами или пилой (к примеру, с Жабой и Фортраном). Впрочем, я так и отношусь к этим языкам программирования, как к отверткам. Только почему-то я постоянно пользую Си, а не Паскаль, а в компе у меня почему-то все винтики под крест? Может быть винтики тоже , как Вы изволили выразится, -- "крутые"? Лично мне (за других не отвечаю) кажется, то что Си и винты-крест -- это удобнее, более технологично. Поэтому и юзаю, а не потому что "круто".


[quote]
ОС - тривиальная задача, причем давно решенная. Написать ОС - это просто дело времени, сил, терпения - И ПОВТОРЕНИЯ ВСЕГО ТОГО, ЧТО УЖЕ ДАВНО СДЕЛАНО РАЗРАБОТЧИКАМИ (включая разработчиками железа). Для этой задачи подошел бы и паскаль
[/quote]
Доказывайте! Назовите несколько операционок, которые написаны на Паскале.
Попутно ответьте на простой вопрос -- поскольку уже не является секретом, как писать ОСь, и поскольку писать Паскале лучше, чем на Си -- почему никто не берется написать ОСь (from the scratch) на Паскале, а все разработчики упорно ломятся в стороноу Си? Заметьте, написав код с нуля --вы автоматически избавляетесь от всех детских болезней, которые тянутся от версии к версии. "Написать с нуля" -- это очень ценится! И люди пишут с нуля. Но не на Паскале! -- Почему?

[quote], но ... вы продадите систему на паскале?
[/quote]
Извините, опять туплю, -- в каком смысле? А вы продадите? А систему на Си?

[quote]Вы вообще продадите собственную операционную систему?
[/quote]
Вы знаете, вынужден Вас огорчить. Увы, я несколько раз я уже продал систему, которая отдаленно напоминает ОСь. Я написал свое ядро (для АВР), которое изменяя под разные устройства уже несколько раз продал (с разными устройствами). Я не могу "это" назвать операционкой, т.к. оно не дотягивает по нескольким параметрам. Но могу Вас уверить, что у меня там реализован диспетчер сообщений и многопоточность. Есть модули, отвечающие за работу с железом (типа драйверов) и есть модули "юзеровского толка" (т.н. бизнес-уровень). Плюс рил-тайм. Но какое это имеет отношение к тем разговора?


[quote]Линукс и пр. ОС приносят деньги - они известны, под них есть драйвера и пр.
[/quote]
И что? О чем это говорит?

[quote] Во-вторых - ... Так что...
[/quote]
Спасибо за дополнения.

[quote]
Как можно пользоваться инструментом не понимая как он работает? Нет, дело не в моем низком интеллекте, просто я сомневаюсь в том, что вот такое бесконтрольное усложнение ЯВУ приведет к катарсису в программах, скорее наоборот... Сложность современных систем возрастает очень сильно, а желание людей их изучать - падает также сильно...
[/quote]
Дак, это... так почти все и работают "не приходя в сознание". (Почитайте bash.org , почитайте ithappens.ru )
Катарсис, говорите? Вы не одиноки в своем мнении...

[quote]Я не вижу смысла сейчас в изучении С++ (но не Си), это мое мнение... Ибо нафиг это надо (здравому человеку, пусть и разработчику). Я могу то же самое написать с меньшей кровью... так зачем париться?
[/quote] На платформе Windows Шарп вытяснил одноременно и C++ и VB (а-ля шестой версии). Поэтому смысла изучать Си++, действительно, -- нет. Учите сразу Шарп, и будет вам счастье! А вот в области МК, тут не все так однозначно.

[quote]А язык Си... он вымер, уж простите.
[/quote]
Паскаль издох вместе с оверлеями. Уж простите! Но наверно надо говорить не о смерти, а о метаморфозах в языке, о медленной миграции языков.


[quote]Да, вернусь к Си... он вымер, это так. Ибо область применения его специфична - работа с устройствами (там где лень или сложно работать на асме, а хочется видеть код красивыми англ. буковками).[quote]
Уважаемый! Противоречие.
Си не вымер, отнюдь! Си занял свою нишу. Это все-таки разные вещи -- помереть и устроиться на работу. Вот PL/M -- этот точно покойник!


[quote]Мы же когда программируем МК - пишем ОС, по сути... Вот только для этого Си и остается, в остальном - его нет. И спорить не о чем.
[/quote]
Ну да, согласен. Только скажите еще про Паскаль. Он-то где используется?
Да мы и не спорим. Так, типа эмоциональную энергию сбрасываем.

[quote]
Разрешите откланяться, ибо хочу спать... =)
[/quote]
В гробу выспимся! Хотя... пожалуй и я пойду.


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


Гуру
******

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



Цитата(defunct @ Nov 14 2008, 02:12) *
"C" не предоставляет стандартных средств для работы со строками (присваивать, сравнивать, складывать). Паскаль - предоставляет.

А слабо было взглянуть на стандарт языка и выяснить, что clib является НЕОТЕМЛИМОЙ частью оного.
После чего о Паскалевские "средства" и поминать стыдно.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 13 2008, 23:40
Сообщение #64


Знающий
****

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



Цитата(defunct @ Nov 14 2008, 05:12) *
Могу привести обратное.
"C" не предоставляет стандартных средств для работы со строками (присваивать, сравнивать, складывать). Паскаль - предоставляет.

Это что, разве проблема? Конечно, си-шные операции со строками несколько отвлекают от бизнес-логики, нужно помнить размер буфера, нужно подключать билиотеки. Но с другой стороны -- процесс полностью контролируется! Меня вообще убивало непонимание как работают эти же операции в том же Васике. С Паскалем более-менее понятно. А там, где нет понимания, возникает риск.

Вот, что лично меня убило в Паскале, так это то, что внутри процедуры можно было определять вложенные процедуры таким образом, что опреторная скобочка END для обеих процедур являлась возвратом. С точки зрения Си -- это дикость и нонсэнс! По прошествии двух десятков лет детали я уже не помню, но код выгдлядел как-то так.

[code]
PROCEDURE OUTER
VAR
...
BEGIN

PROCEDURE INNER
VAR
BEGIN
...
END
[code]
Языковая среда -- Турбо-Паскаль для ДОС.


Цитата
Но проблема не в том какой язык лучше, какой хуже. Проблема в том что хороших компиляторов с Паскаля для AVR нет. Все что я видел (а видел я аж 2 таких компилятора - ELAB и микро-чего-то-там) неполноценны. Стоит ли расчитывать, что работая с неполноценным компилятором получится что-то полноценное?

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


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


Гуру
******

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



Цитата(DMD @ Nov 14 2008, 00:52) *
(все началось с Юникса на асме в 1963), когда паскаля не было.

Самое смешное, что Паскаля и сейчаc нет. Есть небольшая кучка несовместимых мутантов с единственным сильно потрепаным флагманом ака Борланд декларативно спекулирующих на буквосочетании Паскаль. При этом нормальные языки реальные наследники Паскаля, поминаются еще много много реже.
Цитата
современные системы зарождались десятилетия назад (все началось с Юникса на асме в 1963)

Вообще-то даже юниксовый дедушка Multics писан на PL/1... А его предшественник на алголообразном.
Цитата
Ат&T (где работал разработчик Си - Керниган)

Керниган совсем ни какого отношения к разработке языка не имел.
Цитата
В-третьих: в 1984 году (вроде) Борланд заключила с Майкрософт...

Не смешите...
Цитата
а Борланд не увеличивает линейку...

Борланд просто мертв, и давно. Куда уж тут "увеличивать".
Цитата
Разрешите откланяться, ибо хочу спать... =)

Иногда лучше спать, чем говорить....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
defunct
сообщение Nov 14 2008, 00:08
Сообщение #66


кекс
******

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



Цитата(zhevak @ Nov 14 2008, 01:40) *
Вот, что лично меня убило в Паскале, так это то, что внутри процедуры можно было определять вложенные процедуры таким образом, что опреторная скобочка END для обеих процедур являлась возвратом. С точки зрения Си -- это дикость и нонсэнс!
.

В Паскале нет той дикости о которой вы говорите.
если надлежащим образом оформить выглядит абсолютно прозрачно:
Код
procedure outer;
var ...
    procedure inner;
    begin
    end;

begin
    inner
end;


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

В некоторых аспектах - определенно лучше, в некоторых - нет. Если мне нужно быстро сварганить программу для обработки лог файла я предпочту сделать это на Pascal'е. Если что-то overIP - то я определенно предпочту C. Другой вопрос - это ширина круга задач на котором Pascal выигрывает как инструмент, в контексте embedded даимерт этого круга равен нулю (потому и нет серзъезных компиляторов с Паскаля для embedded МК).

А вообще - всякий овощ полезен....
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 14 2008, 00:37
Сообщение #67


Знающий
****

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



Цитата(defunct @ Nov 14 2008, 05:12) *
"C" не предоставляет стандартных средств для работы со строками (присваивать, сравнивать, складывать). Паскаль - предоставляет.

Сейчас буду кого-то убивать...

Во-первых, это не форум программистов для компов, это форум программистов для МК. (Поправьте, если не так!) Значит, здесь должны рассматриваться вопросы Си и Паскаля применительно к МК.


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

Если я пишу на Си, то, в зависимости от того, сколько у меня в системе имеется оперативной памяти, и в зависимости от того, должна-ли решаться данная задача в реальном времени, я буду писать код по разному. В одном случае, я буду выделять под строки буфера максимального размера, дабы в операциях конкатенации лишний не обращаться к функциям перераспределения памяти, не терять на это время. В другом случае буду выделать буфера "в-притирку" и очень часто освобождать и резервировать нужные объемы памяти.

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


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

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


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


Знающий
****

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



Цитата(defunct @ Nov 14 2008, 06:08) *
В Паскале нет той дикости о которой вы говорите.

Да. Признаю. Это я спутал с Васиком, где строки нужно было нумеровать... Там вообще никаких правл не бвло! Спутал оформление Паскалеских процедур с оформлением самой программы. Вопрос снимаю.
Наезд на Паскаль был не обоснован.


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

А вообще - всякий овощ полезен....

В том-то и дело! В сфере МК Паскаль -- аутсайдер. Но и в сфере ПК (обсуждать которую здесь на нашем форуме не совсем легитимно) Паскаль тоже далеко не блещет. Почему для обработки логов Вы выбрали бы именно Паскаль? Ведь на шестом Вижуал-Васике, или на Шарпе, или даже на том же Perl Ваша задача решилась бы еще легче. На сколько я понял, Ваша задача -- одноразовая. Для себя любимого, а не для коробочных продаж. Вам совсем не нужен компилятр. Я предвосхищаю ответ -- "Мне так удобнее, т.к. я знаю Паскаль лучше, чем BASIC/C#/Perl." Ключевое слово -- "я знаю", а не "Паскаль лучше подходит, чем Шарп". Т.е. опять же получается, что аргумент не в пользу Паскаля.

Кстати, мне недавно пришлось делать выбор, похожий на Ваш. Мне нужно было из текстового документа выдернуть данные измерений, и посчитать кое-какую статистику (мин, макс, среднее, отклонение, ...), упорядочить их, вывести результаты. В общем мура всякая. Одноразовая. Сначала я начал писать на Шарпе, т.к. там легче все это сделать. Но потом, я понял, что я пишу шарповскими операторами, но стилем Си++. Т.е. мыслю-то я все равно на Си++. (Это очень сложно знать два языка и одновременно мыслить на них.) Я задвинул проект на Шарпе и лекго решил свою задачу на старом добром VC++ 6.0 в консоли. А с выводом результатов в файл я вообще не стал заморачиваться -- просто вывел их на косоль через printf, а с консоли забрал их в файл ДОСовскими пайпами средствами, типа так: myProg.exe >> result.txt.

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

Почему я вернулся на Си, а не сделал ее красиво на Шарпе? -- Да потому что мне так было легче. Если б я знал так же хорошо Шарп, если б я "мыслил Шарпом", я бы сделал все на Шарпе. Но я мыслю на русском и на Си. Поэтому мне легче на этих языках выражать свои мысли. Но это совсем не значит, что я не знаю английский и, скажем, тот же Паскаль. Просто для меня они второстепенны. (Думаю, что в этом я не уникален. Большинство программистов думают точно так же, ну или примерно так же.)

Почему я считаю, что Паскаль мертв? -- Потому, что низкоуровневое (железное) программирование -- это удел Си/Си++, а высокоуровневое -- удел Шарпа. Паскалю, в этом отношении, нет места. Не имеет он особого преимущества ни там, ни там.

А отсюда мое негативное отношение к Паскалю -- нефиг засирать мозги молодым людям. Основы программирования можно изучить и на базе Си. Это ни чуть не труднее. В мире столько много информации, что впору уже выбирать жертву. Мозг студентов не резиновый. Да и времени у них не более, чем у всех.


Блин, поспал называется! Пойду давану, хоть пару часов что-ли...


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


Знающий
****

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



Цитата(zhevak @ Nov 14 2008, 04:53) *
...
А отсюда мое негативное отношение к Паскалю -- нефиг засирать мозги молодым людям. Основы программирования можно изучить и на базе Си. Это ни чуть не труднее.


Цитату для комментирования взял наугад т.к. считаю все языковые споры C vs Pascal
cплошным "детским садо" у кого п-п-ска большеsmile.gif

И утверждение, что все языки программирования одинаковы - абсолютный бред.
Prolog, Лисп, Forth, и много еще появляющихся разных языков в современном мире.

P.S. Тему пара переименовать Pascal vs C для ....
Нравится любимая "жвачка" для обсуждения?
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Nov 14 2008, 06:07
Сообщение #70


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



А ещё эта тема наглядно продемонстрировала, что программирование на Си делает людей агрессивными и нетерпимыми. Человек пришёл и спросил, где взять компилятор Паскаля. А на него налетела куча народу и стала жёстко поучать: не нужен тебе Паскаль, если ты не дурак, то пользуйся Си.
Берегитесь Си, он может испортить вам личную жизнь. :D


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 14 2008, 06:34
Сообщение #71


;
******

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



Цитата(DSIoffe @ Nov 14 2008, 10:07) *
А ещё эта тема наглядно продемонстрировала, что программирование на Си делает людей агрессивными и нетерпимыми.

+1 lol.gif
Отожгли!!!
Кстати, может кто-то есть, кто реально купил и юзал это микро-чего-то. В смысле - лучше там код в коммерческой версии или гумус?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 14 2008, 06:48
Сообщение #72


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

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



Цитата
А ещё эта тема наглядно продемонстрировала, что программирование на Си делает людей агрессивными и нетерпимыми.


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


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


Знающий
****

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



Извините за оффтоп, не удержался, в тему холливара Pascal vs C/C++:
Из доклада "Система образования как фактор национального суверенитета в сфере информационных технологий" (стр 12)
Цитата
Обучение программированию с помощью Си эквивалентно развращению малолетних
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 14 2008, 07:33
Сообщение #74


Гуру
******

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



Цитата(DSIoffe @ Nov 14 2008, 09:07) *
А ещё эта тема наглядно продемонстрировала, что программирование на Си делает людей агрессивными и нетерпимыми.

Или делает их НЕ пофигистами и НЕ ограниченными людьми, которыми НЕ все равно как, на чем и что писать smile.gif.
Цитата
Из доклада "Система образования ....

Давно подозревал, что в системе образования в России большие проблемы, но думал, что все так дурно и в головах "ученых".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
DSIoffe
сообщение Nov 14 2008, 08:04
Сообщение #75


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Цитата("zltigo")
Или делает их НЕ пофигистами и НЕ ограниченными людьми, которыми НЕ все равно как, на чем и что писать

Приплыли. Кто не агитирует за Си, тот пофигист и ограниченный? Пора цитировать соседние ветки: Ыыыыыыыыыыыы smile.gif
А ссылочка от gotty очень хороша. Рекомендую всем любителям убедительных фраз.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post
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
_Pasha
сообщение Nov 14 2008, 19:27
Сообщение #91


;
******

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



Цитата(zltigo @ Nov 14 2008, 22:21) *
Печально sad.gif


Мне вот другое печально.
Не поленился, слазил на E-LAB - оказываеццо, они обновились 20 октября с.г.
Ну, скачал демку, поставил, гляжу. Впечатления:
0. Если это Паскаль, то я тоже - Паскаль. Блез. sad.gif Столько расширений языка, вместо того, чтобы через библиотеку встроенных функций делать казалось бы полезные вещи - тут тебе и мультитреды, и прерывания... Т.е. играют нечестно, присаживая на свой продукт даже непонятно кого.
1. СтОит коммерческая нехило - под 500 ойро
2. Фичи все из разряда обучалок.
3. Про код пока ничего не понимаю - надо надуться на тест...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Nov 14 2008, 20:13
Сообщение #92


Гуру
******

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



Цитата(_Pasha @ Nov 14 2008, 22:27) *
Т.е. играют нечестно, присаживая на свой продукт даже непонятно кого.

Увы sad.gif, это обычное явление....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 15 2008, 09:38
Сообщение #93


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

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



Цитата(Rst7 @ Nov 14 2008, 21:02) *
Я же давал ссылку, там прямо написано:
Цитата
- настоящие программисты не боятся использовать GOTO;

Извини, но в первом сообщении написано "я постоянно использую goto". Согласись, между "постоянно использовать" и "не бояться использовать" дистанция огромного размера.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 15 2008, 10:11
Сообщение #94


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

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



Цитата(777777 @ Nov 15 2008, 11:38) *
Извини, но в первом сообщении написано "я постоянно использую goto". Согласись, между "постоянно использовать" и "не бояться использовать" дистанция огромного размера.


Согласен, один-один smile3009.gif

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

Например, банальная ситуация, в которой есть смысл использовать goto:
Код
switch(var)
{
case 1:
   ....code1....
   break;
case 2:
   ....code2....
   goto L_DEF;
case 3:
   ....code3....
   break;
case 4:
   ....code4....
   break;
case 5:
   ....code5....
   goto L_DEF;
case 6:
   ....code6....
   goto L_DEF;
....
default:
L_DEF:
  ....postcode....
  break;
}


А если альтернатив посткода не как в примере, есть код или нету кода, а три разных посткода? Тогда без goto надо лепить кучу флагов, чего делать.


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


кекс
******

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



Цитата(Rst7 @ Nov 15 2008, 12:11) *
Например, банальная ситуация, в которой есть смысл использовать goto:

Приведу прием, авось кому пригодиться, как в некоторых случаях можно избавиться от goto smile.gif
Если есть ситуация при которой надо выйти из линейно-выполняемого участка кода (а такая возникает довольно часто при разборе протоколов с непостоянной длиной хидера):

Код
.....
if ( x ) goto end;
....
if ( y ) goto end;
..
end:


вместо goto и метки можно воспользоваться любым оператором цикла и break, производительность от этого не пострадает.

Код
do
{
     .....
     if ( x ) break;
     ....
     if ( y ) break;
     ..
} while (0);


а смотреться будет, на мой взгляд красивше нагляднее.
Go to the top of the page
 
+Quote Post
Kopa
сообщение Nov 17 2008, 04:27
Сообщение #96


Знающий
****

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



Цитата(_Pasha @ Nov 14 2008, 22:27) *
2. Фичи все из разряда обучалок.


Попался созданный учебный материал
ОСНОВЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ ATMEGA128 И 68HC908

http://books.ifmo.ru/book/pdf/227.pdf

P.S. Примеры на Pascal E-Lab:)
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 17 2008, 05:19
Сообщение #97


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

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



Цитата(defunct @ Nov 17 2008, 02:14) *
Код
do
{
     .....
     if ( x ) break;
     ....
     if ( y ) break;
     ..
} while (0);


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


Как раз смотреться он будет очень искусственно.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 17 2008, 05:58
Сообщение #98


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

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



Цитата
Как раз смотреться он будет очень искусственно.


Да пофиг, как оно будет смотреться. Это просто очередной способ из 628 способов избавится от goto. 99% этих способов сводится к использованию break и continue в цикле. Итого, в принципе, можно изготовить 2 альтернативы кода по выходу - делать (по continue, используя код в условии через запятые) или не делать (по break). А если альтернатив кода три - например, два разных куска кода и ничего не выполнять?

Да и еще, про if с брейком - если такой рукопашный switch содержит более десятка вариантов, он становится весьма нечитаем, а если эти варианты суть n,n+1,...,n+m и их много - совершенно не факт, что компилятор асилит изготовление таблички.


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


;
******

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



Цитата(Kopa @ Nov 17 2008, 08:27) *
Попался созданный учебный материал

Мда. Посмотрел. Авторов - принудить к эвтаназии за изысканный стиль программирования.
А тут говорят про то, шо студент и молодой спец нынче тупой пошел. А какой он будет - после такой лоботомии?
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 17 2008, 08:21
Сообщение #100


Гуру
******

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



Цитата(defunct @ Nov 14 2008, 12:57) *
гм. А что такое Perl? не скриптовый клон паскаля часом, а? smile.gif
Ой, где такую траву дают? Я тоже хочу!

Или скажите мне, что надо курить или сколько выпить, что бы вот ЭТО стало похожим на Pascal 1111493779.gif

Код


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
Go to the top of the page
 
+Quote Post

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

 


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


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