Re[4]: А знаете ли Вы что...
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.01.05 04:17
Оценка: +3 -1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Начиная с Modula эти языки являются модульными. Шаблоны в модульных языках практического смысла не имеют.

Т.е. обобщенные типы и методы в .Net 2 не имеют практического смысла?
СГ> Вот, например, в не модульном языке С++ шаблоны имеют практический смысл потому что можно один раз написать шаблон в одном текстовом файле, а потом инклюдить этот текстовый файл в другие текстовые файлы исходного кода программы и многократно использовать этот шаблон. В модульных языках программирования отсутсвует само понятие инклюда, там используется импорт (уже скомпилированных — бинарных) модулей, стало быть шаблоны, если бы они были, пришлось бы писать в каждом модуле заново — отсюда и исчезновение практического смысла.
Оба утверждения не верны.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: почему я предпочёл паскалю си
От: Cyberax Марс  
Дата: 13.01.05 10:02
Оценка: +2
s.ts пишет:

> ... но как выяснилось, большинство пишущих на с++ пишут на нем в стиле

> плохого дельфи-кодераочень многие не могут даже на паскале нормально
> написать

А большинство пишущих на Паскале/Дельфи — студенты и школьники. Говорить
о качестве их кода или промолчать?


Еще предлагаю посчитать среднюю температуру по программистам на Дельфи и
С++.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[5]: А знаете ли Вы что...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.01.05 10:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Т.е. обобщенные типы и методы в .Net 2 не имеют практического смысла?


Под шаблонами я имел ввиду templates — подстановка текста, а не generic.
Re[6]: А знаете ли Вы что...
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.01.05 12:11
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Под шаблонами я имел ввиду templates — подстановка текста, а не generic.
Я думаю, Коденок под шаблонами имел в виду именно средства обобщенного программирования. Поэтому отмазки про невозможность и ненужность идут мимо кассы.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: почему я предпочёл паскалю си
От: Курилка Россия http://kirya.narod.ru/
Дата: 13.01.05 14:36
Оценка:
Здравствуйте, s.ts, Вы писали:

ST>добавлю в заклюении, то все встретившиекся в моей жизни дебилы от программирования (кроме одного ) писали на С++


А тот, который кроме на чём писал?
Re[5]: А знаете ли Вы что...
От: AVC Россия  
Дата: 13.01.05 14:50
Оценка: 6 (1)
Здравствуйте, Cyberax, Вы писали:

C>Да???? Это С++ с его механизмом раздельной компиляции — не модульный

C>язык????

IMHO, Вы путаете раздельную (separate) и независимую (independent) компиляцию.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
Re[4]: А знаете ли Вы что...
От: tarkil Россия http://5209.copi.ru/
Дата: 13.01.05 17:40
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ> Однако, вместо шаблонов в модульных языках можно применять так называемые generics — они, конечно, не идентичны templates, но все же могут быть полезны.


Всегда считал, что templates и generics это два термина, принятые в разных языках/сообществах для обозначения одного и того же: параметризованных (или обобщённых) алгоритмов и типов.

У Вас есть возможность рассказать поподробнее о различиях между этими терминами — откуда у них ноги растут и в чём отличие?
--
wbr, Peter Taran
Re[5]: А знаете ли Вы что...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 07:51
Оценка: :)
Здравствуйте, tarkil, Вы писали:

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


СГ>> Однако, вместо шаблонов в модульных языках можно применять так называемые generics — они, конечно, не идентичны templates, но все же могут быть полезны.


T>Всегда считал, что templates и generics это два термина, принятые в разных языках/сообществах для обозначения одного и того же: параметризованных (или обобщённых) алгоритмов и типов.


T>У Вас есть возможность рассказать поподробнее о различиях между этими терминами — откуда у них ноги растут и в чём отличие?


templates — грубо говоря подстановка на уровне исходного текста (в runtime никаких templates нету)
generic — что-то отдаленно напоминающее COM интерфейсы, т.е. проверка принадлежности например типа объекта к generic типу осуществляется динамически в runtime.
Re[6]: А знаете ли Вы что...
От: Cyberax Марс  
Дата: 14.01.05 08:38
Оценка:
Сергей Губанов пишет:

> T>У Вас есть возможность рассказать поподробнее о различиях между

> этими терминами — откуда у них ноги растут и в чём отличие?
> templates — грубо говоря подстановка на уровне исходного текста (в
> runtime никаких templates нету)
> generic — что-то отдаленно напоминающее COM интерфейсы, т.е. проверка
> принадлежности например типа объекта к generic типу осуществляется
> динамически в runtime.

Generics в .NET- это тоже создание типа по его шаблону. Просто generic'и
_инстанцируются_ на этапе выполнения из специального промежуточного
кода, так что по сравнению с С++-template'ами имеются некоторые ограничения.

В Java генерики — это просто средство контроля типов на этапе компиляции.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[6]: А знаете ли Вы что...
От: tarkil Россия http://5209.copi.ru/
Дата: 14.01.05 08:46
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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

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

А если пользуется что-то типа отложенной на момент загрузки компиляции? Отличия от runtime проверок в том, что последние выполняются при каждом вызове функции, а описываемый вариант — только при загрузке модуля. На момент загрузки известны типы, с которыми она будет использоваться и генерятся необходимые instances.

Как назвать такую схему? Я думал, все эти три способа обозначаются общим термином generics.
--
wbr, Peter Taran
Re: почему я предпочёл паскалю си
От: Gust Россия  
Дата: 14.01.05 14:08
Оценка:
Здравствуйте, DEMON HOOD, Вы писали:

DH>Чегото вспомнилось сегодня, решил запостить...


DH>Начинал программировать на паскале, причина тривиальная — в наличии был только компилятор паскаля. IDE Borland Pascal

DH>потом появилась у меня IDE Borland C. И там и там были жёлтые буквы на синем фоне да и паскаль от си не сильно отличается,
DH>но единственная фича которая перевесила в пользу си — это возможность обьявлять переменные в произвольном месте , а не где-то там, в блоке var.

Ага, это аргумент такого же уровня, что и "Писать на С быстрей, потому что {} быстрей чем begin-end". ИМХО — не серьезно.
Тише едешь — дело мастера боиться.
Re[3]: почему я предпочёл паскалю си
От: Gust Россия  
Дата: 14.01.05 14:11
Оценка:
Здравствуйте, slegkapjan, Вы писали:

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

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

Может быть тут имелся в виду Pascal 7 with objects (кажется так назывался)?
Тише едешь — дело мастера боиться.
Re[3]: почему я предпочёл паскалю си
От: Gust Россия  
Дата: 14.01.05 14:21
Оценка:
Здравствуйте, DangerDen, Вы писали:

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


DD>ПОлностью согласен!


DD>Когда я знал более менее паскаль, мне умные люди рассказывали как круто знать С и С++. Что его могут знать лишь избранные (я жил в маленьком городе и там таких не было ). И тогда я понял надо бросать Паскаль и Дельфи и рулить к Visual Studio (тогда я думал что это тоже что и С++) — то что там нельзя написать прогу мышкой доказывало мне силу С++ .


А вот неправда ваша!

Сколько-нибудь сложную программу на Delphi написать нельзя. Обработсики кнопок все равно руками нужно делать. А вот был такой VisualAge for C++ v.3.6. (По крайней мере в этой версии точно было) года эдак 1996-1998 (не позднее). Так там стово Visual отрабатывало. Формочка по работе со списком элементов (список, строка вводе, кнопки на добавление, правку, удаление элементов и их обработчики) делалать ТОЛЬКО мышой!

Жаль мало его поковырять удалось. А IBM очередную пару по маркетингу!!!
Тише едешь — дело мастера боиться.
Re[4]: почему я предпочёл паскалю си
От: Gust Россия  
Дата: 14.01.05 14:25
Оценка: :))
ST>продолжение из моего опыта:

ST>... но как выяснилось, большинство пишущих на с++ пишут на нем в стиле плохого дельфи-кодераочень многие не могут даже на паскале нормально написать (как выразился один мой коллега-дельфин: "тут ведь если компилируется, то работает!" — это про паскаль конечно). Люди, пишущие на C++ не знают stl, не используют шаблоны и нэймспэйсы, создают кучу глобальных переменных, называя их MyVar и ... вообще, даже страуструпа похоже не читали.

ST>зато все мегабаксовые вакансии с работных сайтов с гордыми заголовками "С++" для них. и рекрутеры пытаются выудить из потока г...
ST>мнда...

ST>добавлю в заклюении, то все встретившиекся в моей жизни дебилы от программирования (кроме одного ) писали на С++


"Это еще что! Сейчас даже ездовые академики встречаются!" (с) папа Дяди Федора. Я тут мучаюсь с дебилом от написания ТЗ!
Имхо — хуже. Весь отдел стонет!
Тише едешь — дело мастера боиться.
Re[2]: почему я предпочёл паскалю си
От: Gust Россия  
Дата: 14.01.05 14:30
Оценка: :)))
Здравствуйте, slegkapjan, Вы писали:

S>учителей; Паскаль — для студентов; Лого — для детей; АПЛ — для

S>марсиан; Форт, Лисп и Пролог — специализированные языки. Один Си
S>— это язык для программистов.

"АПЛ — создана для решения стратегических задач" (с) капитан 2 ранга Кравцов. Кафедра ВМФ.

ЗЫ
АПЛ — Атомная подводная лодка. Хотя сейчас правильнее РПКСН.

Сори за офтоп. Но не мог упустить — вдолбили наверно на всю жизнь.
Тише едешь — дело мастера боиться.
Re[2]: почему я предпочёл паскалю си
От: Gust Россия  
Дата: 14.01.05 14:44
Оценка: +1
Здравствуйте, Algorithmus, Вы писали:


A>НО! Если нужно писать прикладные программы не критичные по скорости, не затрагивающие низкоуровневое программирование — Паскаль — очень даже неплохой выбор. В Delphi многие огрехи паскаля исправили, но далеко не все.


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

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

ЗЫ
Информация взята с чужих слов, юридической силой не обладает
Тише едешь — дело мастера боиться.
Re[2]: почему я предпочёл паскалю си
От: Bigger Российская Империя  
Дата: 14.01.05 15:09
Оценка: :)
Здравствуйте, jazzer, Вы писали:

J>
J>while (*dest++ = *src++);
J>


Лучше так

memcpy(dest, src, sizeof(src));

Программист — это шаман..., подарите бубен!
Re[3]: почему я предпочёл паскалю си
От: Cyberax Марс  
Дата: 14.01.05 15:33
Оценка: +2 -1
Gust пишет:

> Информация к размышлению:

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

Просто олимпиады по программированию к самому _программированию_
отношение имеют весьма слабое.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[3]: почему я предпочёл паскалю си
От: Bigger Российская Империя  
Дата: 14.01.05 15:37
Оценка:
Здравствуйте, Bigger, Вы писали:

а чего смешного

Программист — это шаман..., подарите бубен!
Re[4]: почему я предпочёл паскалю си
От: Schade Россия  
Дата: 14.01.05 15:52
Оценка:
Здравствуйте, Bigger, Вы писали:

B>а чего смешного


B>memcpy(dest, src, sizeof(src));


Предлагаю подумать, что получится в случае, когда dest и src имеют тип char* и вообще указатель (что и имеет место быть в примере jazzer'а). И вообще, что такое sizeof.
... << RSDN@Home 1.1.4 @@subversion >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.