Перейти к содержанию
    

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

Могу привести обратное.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Си - это шлицевая отвертка, а Паскаль - крестовая.

[/qoute]

Простите за тупость, я не понял аллегории. Почему так, а, допустим, не на оборот: плоская -- Паскаль, крест -- Си? Если ж Вы имели ввиду, что между Паскалем и Си нет особой разницы, как между отверткам, то -- да, я согласен с Вашей мнением. И то, и другое -- чисто инструменты. Назначение у них одинаковое, отличия между ними не значительны. Отличий у них больше, если их сравнивать с ... пассатижами или пилой (к примеру, с Жабой и Фортраном). Впрочем, я так и отношусь к этим языкам программирования, как к отверткам. Только почему-то я постоянно пользую Си, а не Паскаль, а в компе у меня почему-то все винтики под крест? Может быть винтики тоже , как Вы изволили выразится, -- "крутые"? Лично мне (за других не отвечаю) кажется, то что Си и винты-крест -- это удобнее, более технологично. Поэтому и юзаю, а не потому что "круто".

 

 

ОС - тривиальная задача, причем давно решенная. Написать ОС - это просто дело времени, сил, терпения - И ПОВТОРЕНИЯ ВСЕГО ТОГО, ЧТО УЖЕ ДАВНО СДЕЛАНО РАЗРАБОТЧИКАМИ (включая разработчиками железа). Для этой задачи подошел бы и паскаль

Доказывайте! Назовите несколько операционок, которые написаны на Паскале.

Попутно ответьте на простой вопрос -- поскольку уже не является секретом, как писать ОСь, и поскольку писать Паскале лучше, чем на Си -- почему никто не берется написать ОСь (from the scratch) на Паскале, а все разработчики упорно ломятся в стороноу Си? Заметьте, написав код с нуля --вы автоматически избавляетесь от всех детских болезней, которые тянутся от версии к версии. "Написать с нуля" -- это очень ценится! И люди пишут с нуля. Но не на Паскале! -- Почему?

 

, но ... вы продадите систему на паскале?

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

 

Вы вообще продадите собственную операционную систему?

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

 

 

Линукс и пр. ОС приносят деньги - они известны, под них есть драйвера и пр.

И что? О чем это говорит?

 

Во-вторых - ... Так что...

Спасибо за дополнения.

 

Как можно пользоваться инструментом не понимая как он работает? Нет, дело не в моем низком интеллекте, просто я сомневаюсь в том, что вот такое бесконтрольное усложнение ЯВУ приведет к катарсису в программах, скорее наоборот... Сложность современных систем возрастает очень сильно, а желание людей их изучать - падает также сильно...

Дак, это... так почти все и работают "не приходя в сознание". (Почитайте bash.org , почитайте ithappens.ru )

Катарсис, говорите? Вы не одиноки в своем мнении...

 

Я не вижу смысла сейчас в изучении С++ (но не Си), это мое мнение... Ибо нафиг это надо (здравому человеку, пусть и разработчику). Я могу то же самое написать с меньшей кровью... так зачем париться?

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

 

А язык Си... он вымер, уж простите.

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

 

 

Да, вернусь к Си... он вымер, это так. Ибо область применения его специфична - работа с устройствами (там где лень или сложно работать на асме, а хочется видеть код красивыми англ. буковками).

Уважаемый! Противоречие.

Си не вымер, отнюдь! Си занял свою нишу. Это все-таки разные вещи -- помереть и устроиться на работу. Вот PL/M -- этот точно покойник!

 

 

Мы же когда программируем МК - пишем ОС, по сути... Вот только для этого Си и остается, в остальном - его нет. И спорить не о чем.

Ну да, согласен. Только скажите еще про Паскаль. Он-то где используется?

Да мы и не спорим. Так, типа эмоциональную энергию сбрасываем.

 

Разрешите откланяться, ибо хочу спать... =)

В гробу выспимся! Хотя... пожалуй и я пойду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

После чего о Паскалевские "средства" и поминать стыдно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Могу привести обратное.

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

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

 

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

 

PROCEDURE OUTER

VAR

...

BEGIN

 

PROCEDURE INNER

VAR

BEGIN

...

END

[code]

Языковая среда -- Турбо-Паскаль для ДОС.

 

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(все началось с Юникса на асме в 1963), когда паскаля не было.

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

современные системы зарождались десятилетия назад (все началось с Юникса на асме в 1963)

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

Ат&T (где работал разработчик Си - Керниган)

Керниган совсем ни какого отношения к разработке языка не имел.

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

Не смешите...

а Борланд не увеличивает линейку...

Борланд просто мертв, и давно. Куда уж тут "увеличивать".

Разрешите откланяться, ибо хочу спать... =)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

В Паскале нет той дикости о которой вы говорите.

если надлежащим образом оформить выглядит абсолютно прозрачно:

procedure outer;
var ...
    procedure inner;
    begin
    end;

begin
    inner
end;

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

 

 

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

 

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

 

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

 

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Паскале нет той дикости о которой вы говорите.

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

Наезд на Паскаль был не обоснован.

 

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

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

 

Цитату для комментирования взял наугад т.к. считаю все языковые споры C vs Pascal

cплошным "детским садо" у кого п-п-ска больше:)

 

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

Prolog, Лисп, Forth, и много еще появляющихся разных языков в современном мире.

 

P.S. Тему пара переименовать Pascal vs C для ....

Нравится любимая "жвачка" для обсуждения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Берегитесь Си, он может испортить вам личную жизнь. :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

+1 :lol:

Отожгли!!!

Кстати, может кто-то есть, кто реально купил и юзал это микро-чего-то. В смысле - лучше там код в коммерческой версии или гумус?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извините за оффтоп, не удержался, в тему холливара Pascal vs C/C++:

Из доклада "Система образования как фактор национального суверенитета в сфере информационных технологий" (стр 12)

Обучение программированию с помощью Си эквивалентно развращению малолетних

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Из доклада "Система образования ....

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Приплыли. Кто не агитирует за Си, тот пофигист и ограниченный? Пора цитировать соседние ветки: Ыыыыыыыыыыыы :)

А ссылочка от gotty очень хороша. Рекомендую всем любителям убедительных фраз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...