Re[7]: [5]: А знаете ли Вы что...
От: DJ KARIES Россия  
Дата: 18.01.05 14:20
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Как надо правильно делать:

СГ>
СГ>MODULE Module1;

СГ>TYPE
СГ>  A = POINTER TO RECORD (* Какой-то приватный тип - он не экспортируется этим модулем *)
СГ>    b: B;
СГ>    ...
СГ>  END;

СГ>  B* = POINTER TO RECORD    (* Символ "*" после имени типа означает, что этот тип экспортируется *)
СГ>    a: A;
СГ>    ...
СГ>  END;

СГ>END Module1.
СГ>


Разве КАПСОМ бегины и прочие TYPE это называется правильно писать?
Уж лучше _такая_ модульная инкапсуляция на уровне дельфей, чем бегины БОЛЬШИМИ БУКВАМИ.

Или это чтобы смарт-компилер отличал служебные слова от неслужебных?
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[5]: [3]: почему я предпочёл паскалю си
От: DJ KARIES Россия  
Дата: 18.01.05 14:20
Оценка:
Здравствуйте, Кодёнок, Вы писали:

Кё>Сейчас я бы выбрал С++ однозначно — на современном компиляторе и с STL

Ясен пень, что тот же MSVC 7 крутее Borland Pascal 7.

И никто тебе такого выбора на олимпиаде не даст.
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[6]: [3]: почему я предпочёл паскалю си
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.01.05 14:32
Оценка:
Здравствуйте, DJ KARIES, Вы писали:

Кё>>Сейчас я бы выбрал С++ однозначно — на современном компиляторе и с STL

DK>Ясен пень, что тот же MSVC 7 крутее Borland Pascal 7.

Забавный критерий сравнения языков.
... << RSDN@Home 1.1.4 beta 3 rev. 299>>
AVK Blog
Re[5]: почему я предпочёл паскалю си
От: Poudy Россия  
Дата: 18.01.05 15:22
Оценка:
Здравствуйте, eugals, Вы писали:

E>ЗЫ. Может речь о Питере Нортоне (например здесь)?

Не уверен. Сильно не уверен. Питер Нортон — это мне в руки попадалось, но уже через год. Без картинки сложно сказать . Кроме того, разве может быть Advanced C без указателей??!
Re[6]: А знаете ли Вы что...
От: WolfHound  
Дата: 18.01.05 17:02
Оценка: +2
Здравствуйте, Сергей Губанов, Вы писали:

СГ>templates — грубо говоря подстановка на уровне исходного текста (в runtime никаких templates нету)

СГ>generic — что-то отдаленно напоминающее COM интерфейсы, т.е. проверка принадлежности например типа объекта к generic типу осуществляется динамически в runtime.
Блин вот ты других обвиняешь в том что они не чатают доки по оберону, а сам рассуждаешь и о С++ и о .NET не зная ни того ни другого...

И шаблоны С++ и генерики .НЕТ перед тем как начинается работа инстационируются с конкретными типами. Разница в том что шаблоны инстационирует компилятор в момент компиляции программы, а генерики инстационирует JIT при первом обращении к коду генерика. Иначе говоря шаблоны инстационируются у программиста, а генерики у пользователя. Кроче говоря теже яйца только в профиль.

Но у С++ шаблонов и у .НЕТ генериков есть одно существенное различие. Они используют разные принципы типизации.
Шаблоны используют отложеную типизацию те все проверки типов, разрешение перегрузки... отодвигаются на момент инстационирования шаблона, а генерики используют декларативную типизацию те проверки выполняются в момент компиляции генерика.
У этих стратегий есть свои плюсы и минуси. В частности шаблоны гораздо болие гибкий и мощьный инструмент, а генерики значительно легче реализовать и они позволяют сделать болие качественную диагностику ошибок.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: [5]: А знаете ли Вы что...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 06:48
Оценка:
Здравствуйте, DJ KARIES, Вы писали:

DK>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Как надо правильно делать:

СГ>>
СГ>>MODULE Module1;

СГ>>TYPE
СГ>>  A = POINTER TO RECORD (* Какой-то приватный тип - он не экспортируется этим модулем *)
СГ>>    b: B;
СГ>>    ...
СГ>>  END;

СГ>>  B* = POINTER TO RECORD    (* Символ "*" после имени типа означает, что этот тип экспортируется *)
СГ>>    a: A;
СГ>>    ...
СГ>>  END;

СГ>>END Module1.
СГ>>


DK>Разве КАПСОМ бегины и прочие TYPE это называется правильно писать?

DK>Уж лучше _такая_ модульная инкапсуляция на уровне дельфей, чем бегины БОЛЬШИМИ БУКВАМИ.

DK>Или это чтобы смарт-компилер отличал служебные слова от неслужебных?


Начиная с языка Modula (Pascal -> Modula -> Modula2 -> Oberon -> Oberon2 -> Component Pascal), Виртовские языки стали различать большие и маленькие буквы. То есть лексемы: POINTER, Pointer, pointer — разные. Было принято решение зарезервированные слова писать большими буквами. Почему именно большими я не знаю, наверное, так виднее.
Re[7]: А знаете ли Вы что...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 06:55
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>templates — грубо говоря подстановка на уровне исходного текста (в runtime никаких templates нету)

СГ>>generic — что-то отдаленно напоминающее COM интерфейсы, т.е. проверка принадлежности например типа объекта к generic типу осуществляется динамически в runtime.
WH>Блин вот ты других обвиняешь в том что они не чатают доки по оберону, а сам рассуждаешь и о С++ и о .NET не зная ни того ни другого...

WH>И шаблоны С++ и генерики .НЕТ перед тем как начинается работа инстационируются с конкретными типами. Разница в том что шаблоны инстационирует компилятор в момент компиляции программы, а генерики инстационирует JIT при первом обращении к коду генерика. Иначе говоря шаблоны инстационируются у программиста, а генерики у пользователя. Кроче говоря теже яйца только в профиль.


WH>Но у С++ шаблонов и у .НЕТ генериков есть одно существенное различие. Они используют разные принципы типизации.

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

Между тем что написали Вы и тем что было написано у меня принципиального противоречия не наблюдается.
Re[8]: А знаете ли Вы что...
От: WolfHound  
Дата: 19.01.05 08:56
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Между тем что написали Вы и тем что было написано у меня принципиального противоречия не наблюдается.

Не ну если для тебя JIT компиляция == проверка в рантайме то...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: [5]: А знаете ли Вы что...
От: WolfHound  
Дата: 19.01.05 09:16
Оценка: :)
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Начиная с языка Modula (Pascal -> Modula -> Modula2 -> Oberon -> Oberon2 -> Component Pascal), Виртовские языки стали различать большие и маленькие буквы. То есть лексемы: POINTER, Pointer, pointer — разные. Было принято решение зарезервированные слова писать большими буквами. Почему именно большими я не знаю, наверное, так виднее.

А может по тому что первую раскраску синтаксиса для оберона сделал ты после того как тебе объяснили что без нее плохо...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[9]: [5]: А знаете ли Вы что...
От: DJ KARIES Россия  
Дата: 19.01.05 09:21
Оценка: +4
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Начиная с языка Modula (Pascal -> Modula -> Modula2 -> Oberon -> Oberon2 -> Component Pascal), Виртовские языки стали различать большие и маленькие буквы. То есть лексемы: POINTER, Pointer, pointer — разные. Было принято решение зарезервированные слова писать большими буквами. Почему именно большими я не знаю, наверное, так виднее.

Наверное, такую примочку блондинки придумали.

Кстати, а эти хитрые языкописатели из ETH, они не в курсе, что слова, набитые БОЛЬШИМИ буквами, читаются ощутимо МЕДЛЕННЕЕ, чем слова, набранные маленькими буквами?
Для этого и пишут ВОРНИНГИ и ЛИЦЕНЗИИ БОЛЬШИМИ БУКВАМИ, что ПРИХОДИТСЯ ВНИМАТЕЛЬНО ВЧИТЫВАТЬСЯ В ТЕКСТ, ЧТОБЫ ПОНЯТЬ, ЧТО ЖЕ ТАМ ВСЁ-ТАКИ НАПИСАНО.
Или им в кайф ШИФТ/КАПС клацать на каждом слове?
Ладно там, 30 лет назад, небыло клавиш SHIFT/CAPS и шрифты были только из заглавных букв, но сейчас то это зачем?
Это ужасно неудобно, непривычно, некрасиво и иррационально.

Почему программист (уважаемый Сергей Губанов) не знает, зачем в языке, на котором он пишет, принято писать БОЛЬШИМИ БУКВАМИ?
Это говорит о том, что разработчики думали явно не о программистах, которые будут на нём писать.
Да, может быть, данные языки безопасные/шустрые/хитрые, но зачем насиловать людей БОЛЬШИМИ BEGIN'ами?

Эргономика языка должна быть эргономичной.
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[9]: [5]: А знаете ли Вы что...
От: Курилка Россия http://kirya.narod.ru/
Дата: 19.01.05 10:23
Оценка: :))) :))) :)))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Начиная с языка Modula (Pascal -> Modula -> Modula2 -> Oberon -> Oberon2 -> Component Pascal), Виртовские языки стали различать большие и маленькие буквы. То есть лексемы: POINTER, Pointer, pointer — разные. Было принято решение зарезервированные слова писать большими буквами. Почему именно большими я не знаю, наверное, так виднее.


Видимо у Вирта зрение стало портиться — стареет, однако
Re[4]: почему я предпочёл паскалю си
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 19.01.05 12:48
Оценка:
Здравствуйте, Gust, Вы писали:

G>Здравствуйте, slegkapjan, Вы писали:


Кё>>>Ну как раз против Си Паскаль держится очень уверенно и лично я бы предпочел не очень удобный паскалевский синтаксис и ОО, чем Си и старательную эмуляцию ООП через структуры и хранимые в них указатели на функции. А вот современный C++ — совершенно другое дело

S>>ИМХО -- не сравнивать Object Pascal и Си некорректно.

G>Может быть тут имелся в виду Pascal 7 with objects (кажется так назывался)?


И то и другое название корректно, только отосятся к разным языкам (Object Pascal — это современный Delphy).
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[10]: [5]: А знаете ли Вы что...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 12:48
Оценка: -1
Здравствуйте, DJ KARIES, Вы писали:


DK>...ЧТОБЫ ПОНЯТЬ, ЧТО ЖЕ ТАМ ВСЁ-ТАКИ НАПИСАНО...


Да-а-а... тяжелый случай...

Заглавными буквами пишутся только СЛУЖЕБНЫЕ ЗАРЕЗЕРВИРОВАННЫЕ слова, так что понять что написано никаких затрат сил и времени не занимает.

Что касается лично меня, то меня вовсе не раздражает писать служебные слова заглавными буквами, а даже наоборот — нравится. Я даже в Delphi после оберона стал писать служебные слова тоже заглавными буквами — так программа выглядит более структурировано.
Re[10]: [5]: А знаете ли Вы что...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 19.01.05 12:50
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Сергей Губанов, Вы писали:


СГ>>Начиная с языка Modula (Pascal -> Modula -> Modula2 -> Oberon -> Oberon2 -> Component Pascal), Виртовские языки стали различать большие и маленькие буквы. То есть лексемы: POINTER, Pointer, pointer — разные. Было принято решение зарезервированные слова писать большими буквами. Почему именно большими я не знаю, наверное, так виднее.

WH>А может по тому что первую раскраску синтаксиса для оберона сделал ты после того как тебе объяснили что без нее плохо...

Пардон, Вы сами поняли что сказали?

Я сделал подсветку для самого себя потому что мне объяснили что мне без нее плохо!!!!!!!!
Re[4]: [2]: почему я предпочёл паскалю си
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.01.05 00:32
Оценка: +1 :)))
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Наоборот — самая первейшая!


Да уж. Потом будет поздно.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: [5]: А знаете ли Вы что...
От: DJ KARIES Россия  
Дата: 20.01.05 07:00
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, DJ KARIES, Вы писали:



DK>>...ЧТОБЫ ПОНЯТЬ, ЧТО ЖЕ ТАМ ВСЁ-ТАКИ НАПИСАНО...


СГ>Да-а-а... тяжелый случай...

Таки да

СГ>Заглавными буквами пишутся только СЛУЖЕБНЫЕ ЗАРЕЗЕРВИРОВАННЫЕ слова, так что понять что написано никаких затрат сил и времени не занимает.

Да хоть какие слова.
Я в SQL тоже пишу СЛУЖЕБНЫЕ слова типа "SELECT * FROM MyTable WHERE MyField=5".
Потому что так принято писать. Хотя SQL и не обидится, что я напишу "SELECT" как "select" или "Select", но мои изменения на фоне предыдущей работы предыдущего разработчика проекта будут выделяться.
В SQL так принято и я пишу так, как принято, скрипя зубами, но пишу
Ибо запросы SQL — это ПОРТЯНКИ, а не код на нормальном языке программирования.

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

СГ>Что касается лично меня, то меня вовсе не раздражает писать служебные слова заглавными буквами, а даже наоборот — нравится. Я даже в Delphi после оберона стал писать служебные слова тоже заглавными буквами — так программа выглядит более структурировано.

Мда, таки тоже тяжёлый случай. Ещё тяжелее.
В Delphi НЕ ПРИНЯТО ПИСАТЬ СЛУЖЕБНЫЕ ЗАРЕЗЕРВИРОВАННЫЕ ЗАГЛАВНЫМИ БУКВАМИ.
В SQL-е ПОЖАЛУЙСТА.

Вот за что люблю C# и C++, так это за регистрозависимость.
И нефиг писать "VOID" где попало.
Ибо "void" рулит

Хотя, товарищ Губанов и там сделает кучку хидеров, где отдефайнит все служебные слова КАПСАМИ.

Ничего личного.
Это было всего-лишь IMHO.
Ибо так оно и есть.
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[2]: почему я предпочёл паскалю си
От: Borisman2 Киргизия  
Дата: 20.01.05 12:57
Оценка: 3 (1)
Здравствуйте, Аноним, Вы писали:

А>А я вот выбрал С потому что это круто

Да, у меня было также. Я тогда в школе в 8 классе учился. Бейсик знал в совершенстве, но надо же было куда-то двигаться! Папин знакомый программист записал на гору 5.25 дискет Borland C++. Документации у меня не было. Была тооооненькая книжка, предназначенная для обучения проргаамистов С языку С++. И все. Ровно год мои программы даже не компилировались, потому что синтаксиса я не знал. Затем как-то закомпилировались и пошло поехало. До сих пор С++ я знаю "интуитивно", т.е. знаю, как надо написать, а почему — объяснить не могу

Правда, я тогда не знал, что Pascal — suxx и потому позже и Паскаль выучил. По книжке. Летом в пионерлагере. Без компьютера. До сих пор считаю, что Паскаль — гораздо более правильный язык чем С. Хотя на С писал, конечно, в десятки раз больше кода.

Так то.
Re[3]: почему я предпочёл паскалю си
От: DJ KARIES Россия  
Дата: 20.01.05 22:29
Оценка:
Здравствуйте, Borisman2, Вы писали:

B>Здравствуйте, Аноним, Вы писали:


А>>А я вот выбрал С потому что это круто

B>Да, у меня было также. Я тогда в школе в 8 классе учился. Бейсик знал в совершенстве, но надо же было куда-то двигаться! Папин знакомый программист записал на гору 5.25 дискет Borland C++. Документации у меня не было. Была тооооненькая книжка, предназначенная для обучения проргаамистов С языку С++. И все. Ровно год мои программы даже не компилировались, потому что синтаксиса я не знал. Затем как-то закомпилировались и пошло поехало. До сих пор С++ я знаю "интуитивно", т.е. знаю, как надо написать, а почему — объяснить не могу
Грустная история
Интуитивное писание, кстати, лучше академического, когда зубрильщик читает тоннами книжки, а сам ни бумбум, пока не найдёт в книжке рещшение своей задачи.
Оффтоп, у меня интуитивная грамматика и пунктуация русского языка, и вот я очень часто замечаю, что сотни программистов на РСДН пишут "проблеммы" с двумя "м". Неграмотное выражение мысли показывает иногда о профессиональных качествах человека.

B>Правда, я тогда не знал, что Pascal — suxx

А сейчас узнал?

B>и потому позже и Паскаль выучил. По книжке. Летом в пионерлагере. Без компьютера. До сих пор считаю, что Паскаль — гораздо более правильный язык чем С. Хотя на С писал, конечно, в десятки раз больше кода.

Удивительно.
Обычно люди, начавшие свою дорогу в будущее с "C" далее СЕЙ не двигаются, ибо для них языки группы СИ есть идеал.
Но мы то знаем...
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re[4]: почему я предпочёл паскалю си
От: Павел Кузнецов  
Дата: 20.01.05 22:58
Оценка: +1
DJ KARIES,

> Обычно люди, начавшие свою дорогу в будущее с "C" далее СЕЙ не двигаются, ибо для них языки группы СИ есть идеал.

> Но мы то знаем...

Многие, выбравшие для профессионального программирования C или C++, использовали до того Турбо-Паскаль или Делфи. Интересно, как это укладывается в предложенную схему?
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[5]: почему я предпочёл паскалю си
От: DJ KARIES Россия  
Дата: 21.01.05 21:30
Оценка: 12 (1) +1
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>DJ KARIES,


>> Обычно люди, начавшие свою дорогу в будущее с "C" далее СЕЙ не двигаются, ибо для них языки группы СИ есть идеал.

>> Но мы то знаем...

ПК>Многие, выбравшие для профессионального программирования C или C++, использовали до того Турбо-Паскаль или Делфи. Интересно, как это укладывается в предложенную схему?


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

Т.е. программист, познавший перед C-подобным языком, языки других групп, более гибок, чем тот, кто освоил впервым делом Си/Си++ и не желает двигаться далее, считая, что он познал дао программирования.
... << http://dkdens.narod.ru :: http://retroforth.org >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.