Порыв ветра (Athari), повышенной параноидальности. Не люблю ишака. На вопрос "На странице опасные элементы ActiveX выполнять да/нет" - любая кнопка отвечает как "нет" :(
У мя на этом форуме детектится тип файла, и если он не известен - то идет octetstream... вроде никаких проблем нет - можешь в аттачь залить и слить, посмотреть :/
Порыв ветра (Athari), надо в доверенных организациях за деньги подписывать свои сертификаты и свои ActiveXы. Производитель не хочет это делать, а сервтификат на SSL выдается наш - самоподписной. В итоге такой секс :/ Особенно ухудшилась ситуация в 7 IE...
Они легко и непринужденно читают хелп, затем легко и непринужденно набирают все 10 параметров этой несчастной API-функции которую минут 5 непринужденно искали в хелпе, а затем легко и непринужденно, соблюдая все отступы пишут очередной begin, 5-го уровня вложенности. :)
Dimonius
Колись, кто тебе новый аватар нарисовал. :)
За что же ТЫ ненавидишь Симбу? Про SP вот и <a href="http://www.pridelands.ru/?p=texts&a=get&id=328" target="blank">вот<
а затем легко и непринужденно, соблюдая все отступы пишут очередной begin, 5-го уровня вложенности
Белтар, пятый — это слишком просто. Я до пятнадцатого доходил (или до четырнадцатого, не помню). :р В полном соответствии с небезызвестной инструкцией «How to Write Unmaintainable Code». Я как её почитал, сразу понял: это про меня. f:>
Бросай Builder и переходи на Delphi, глядишь, когда в очередной раз придется прокручивать экран, или лезть в рефакторинг, чтобы объявить понадобившуюся на сотой строке ф-ии переменную и желание такой код писать пропадет.
Pascal гениальный язык, писать неправильно в нем неудобно. :)
За что же ТЫ ненавидишь Симбу? Про SP вот и <a href="http://www.pridelands.ru/?p=texts&a=get&id=328" target="blank">вот<
Pascal гениальный язык, писать неправильно в нем неудобно
Белтар, в Дельфи не Паскаль. В этой среде язык называется «Дельфи». Он от Паскаля много чего наследовал, но в целом остались только рожки да ножки. :) Они по разной философии создавались.
В Паскале неподдерживаемый код писать сложнее, не отрицаю. Но нет ничего невозможного. ;) Многие из технологий, предложенных в статье, можно применить и в Паскале.
В Delphi 6 язык назывался Object Pascal, а в Delphi 7 уже Delphi. Языковых различий ноль. Сама Delphi 7 от шестой отличается в основном внешне. Я даже компонентов новых не назову, кроме как неюзебельной Rave 5 (5 это скорее число AV в час, а не номер версии), из-за которой с панели (но не из поставки) исчез многими любимый Quick Report. Язык менялся AFAIK в Delphi 4, там появились динам. массивы и real стал равен double. И в 8 или 9, когда появился foreach, методы у структур и перегрузка операторов у структур.
но в целом остались только рожки да ножки.
object переименовался в class. X) Остальное добавлялось, что-то в том числе чисто для поддержки визуального построения форм: published, директивы stored, default.
Убей созданную форму и пиши без VCL, начиная с оконной процедуры и получишь не Delphi 7, а Borland Pascal 14. Где тут разница в философии??
Многие из технологий, предложенных в статье, можно применить и в Паскале.
Ну они обычно безотносительно языка.
За что же ТЫ ненавидишь Симбу? Про SP вот и <a href="http://www.pridelands.ru/?p=texts&a=get&id=328" target="blank">вот<
Убей созданную форму и пиши без VCL, начиная с оконной процедуры и получишь не Delphi 7, а Borland Pascal 14. Где тут разница в философии??
Паскаль (не Объектный Паскаль) — это красивый язык, идеально приспособленный для обучения. Вирт рулез и всё такое. Все борландовые объектные извращения над этим языком — уже НЕ Паскаль.
Си плюсы, кстати, тоже совершенствуются. Стандарты развиваются, только компиляторы не торопятся их поддерживать. Борландовый по части шаблонов имеет огромное количество недоработок и глюков, на которые всем наплевать. С мелкомягким лучше, но там тоже не сахар.
[Добавлено 05.04.2007 15:18:40]:
Ну они обычно безотносительно языка.
Не-а, очень много специфичного. Например, Си за счёт препроцессора позволяет чуть ли не изобретать новый язык, при этом самые нераспутываемые клубки создаются именно за счёт него, например, можно скрыть использование идентификатора за счёт возможности переноса, слияния лексем и другого, что без препроцессора сделать обычно невозможно (ну, есть ещё переименные переменные PHP). PHP в свою очередь позволяет использовать нелатинские идентификаторы, последствия очевидны: можно путать в одном коде кириллицу с латиницей, визуально не отличишь; можно использовать весь Юникод, тогда название пемеременной можно будет вводить только копированием предыдущего использования. :) Ну и прочее. Паскаль такого не позволит.
Порыв ветра (Athari) писал: Паскаль (не Объектный Паскаль) — это красивый язык, идеально приспособленный для обучения. Вирт рулез и всё такое. Все борландовые объектные извращения над этим языком — уже НЕ Паскаль.
Вирт еще на базе Паскаля прилумал коммерческий язык Оберон. Документация - 16 страниц. Когда я прочитал там что-то типа
var p: pointer to mytype;
пошел убиваться ап стенку. ибо нелаконично это. для меня, учившего 4 года C++ студента идеалы Паскаля совершенно непонятны =/
Порыв ветра (Athari) писал: Стандарты развиваются, только компиляторы не торопятся их поддерживать.
Просто в плюсах очень много тонких моментов (о чем свидетельствует огромное количество "сложных" задач по плюсам и стандарт в 700 страниц). Здесь компиляторы могут и ошибаться. Однако концептуально новые идеи поддерживаются (разве что экспорт шаблонов остался за бортом). И 2008м когда наверняка ратифицируют TR1, для TR1 уже войдет готовая реализация из Boost ;) Так сказать опережая стандарт.
Порыв ветра (Athari) писал: Например, Си за счёт препроцессора позволяет чуть ли не изобретать новый язык
Лично имхо шаблонная модель в совокупности с метаязыком шаблонов гораздо умнее. В частности, с помощью самого языка (то есть с помощью встроенных синтаксических кострукций языка) сделано то (и вынесено во внешнюю библиотеку функций), что в других языках является частью синтаксиса. Например лямбда функции: (инкремент элементов массива)
for_each(v.begin(), v.end(), _1++);
Или как-то так =)) В общем основу Boost сотавляют шаблоны и MPL, а никак не препроцессор ;)
Is this the end of everything?
Beltar Смотрю я на вас и думаю... Сообщений: 3251 Город: 05.04.2007 15:58
После долгих мучений, и матюгов в попытках заставить MS Office работать с Delphi, сопровождаемых переустановками двух Delphi, также Office 2000 и 2002. А не выделываться фразами Interface not supported при первой же попытке "вражины от Багланда" установить связь с "Единственно Правильным Офисным пакетом от МАКрософт".
До чего же техника дошла, 11-я версия Office не только красиво выглядит, но и УЖЕ умеет работать OLE Server'ом и если в ней не создавать документ, то по отключению клиента сервер САМ ВЫГРУЖАЕТСЯ, а если создатать, то не выгружается, а спрашивает, что делать будем и при повторном подключении не повисает так, что Task Manager в помощь(!).
[Добавлено 05.04.2007 16:30:07]:
Вирт еще на базе Паскаля прилумал коммерческий язык Оберон. Документация - 16 страниц.
Просто многое можно упростить. Хотя мне Оберон не понравился, регистрозависимость, отсутствие составного оператора (кому он мешает в Паскале\Delphi и в Си??). Не вижу что он мне даст по сравнению с Паскалем.
стандарт в 700 страниц
ИМХО С++ это больной язык, который надо лечить.
ибо нелаконично это. для меня, учившего 4 года C++ студента идеалы Паскаля совершенно непонятны =/
Идеалы как идеалы, основаны на том, что набор кода занимает 1% времени, остальное отладка. Так пусть лучше громоздко (местами) пишется, главное, чтобы дебаггер побольше без работы был.
Лично имхо шаблонная модель в совокупности с метаязыком шаблонов гораздо умнее. В частности, с помощью самого языка (то есть с помощью встроенных синтаксических кострукций языка)
Так я и не понял, чем строки на уровне языка в Delphi хуже строковых классов в Си.
Паскаль (не Объектный Паскаль) — это красивый язык, идеально приспособленный для обучения. Вирт рулез и всё такое. Все борландовые объектные извращения над этим языком — уже НЕ Паскаль.
Я тебе вчера ссылку на Gentee кидал. Всего 35 служебных слов. Очень простой Си-подобный язык. Бери и учись.
Паскаль был таким же. Ну и толку от него тогда было? Даже средств раздельной компиляции не было. Их Borland добавила, причем сделала куда лучше чем извратились с include в Си. Borland постепенно наращивала возможности в том числе добавила ООП. Покажи мне, что она испортила? По крайней мере язык практически полностью излагается на 50 страницах.
За что же ТЫ ненавидишь Симбу? Про SP вот и <a href="http://www.pridelands.ru/?p=texts&a=get&id=328" target="blank">вот<
Мя[ут] Медвед :) Сообщений: 896 Город: г. Пушкин 05.04.2007 16:44
Beltar писал: ИМХО С++ это больной язык, который надо лечить.
знаю-знаю. как и СП - больной мульт. слышал эту песню уже ;)
Beltar писал: Так пусть лучше громоздко (местами) пишется
То есть использование begin/end в качестве блочного оператора вместо фигурных скобочек дают феноменальный эффект уменьшения багов? Это с такой громоздкостью я с трудом в Паскале объявил указатель на указатель. Ссылок то нет ;)
Beltar писал: Так я и не понял, чем строки на уровне языка в Delphi хуже строковых классов в Си.
Может даже и лучше. У Саттера строки в C++ (в C такого типа вообще нет, и слава богу) разносятся аж в четырех задачах. Естественно как пример неудачного проектирования )) Кредо C/C++ - минимум языковых средств, но достаточное количество для того чтобы сам программист мог создавать такие средства. Поэтому не имею понятия о какой из реализаций строк в C ты говоришь :)
Вирт еще на базе Паскаля прилумал коммерческий язык Оберон.
Мяут, каким местом коммерческий? Только ненормальному может прийти в голову идея язык вроде Оберона делать коммерческим. Вирт был не такой. Он на такие вещи вообще последнее внимание обращал.
пошел убиваться ап стенку. ибо нелаконично это. для меня, учившего 4 года C++ студента идеалы Паскаля совершенно непонятны =/
Не путай Паскаль с Обероном. Паскаль для решения определённого круга задач приспособлен идеально. А именно — для обучения структурному процедурному программированию, которое лежит в основе всякого другого.
Лично имхо шаблонная модель в совокупности с метаязыком шаблонов гораздо умнее.
Они выполняют разные задачи. Что-то невозможно или сложно сделать шаблонами, что-то — препроцессором. Например, сделай шаблонами повторяющийся из раза в раз блок catch или BEGIN/END_MESSAGE_MAP — убьёшься. Вон, в boost’е специальный модуль под препроцессор, который кроме всего прочего позволит тебе избежать дублирования кода при написании операторов. Как ты это сделаешь без препроцессора?
Или как-то так =)) В общем основу Boost сотавляют шаблоны и MPL, а никак не препроцессор
А препроцессор никогда не поощрялся.
Не вижу что он мне даст по сравнению с Паскалем.
Белтар, Оберон ООП даёт.
ИМХО С++ это больной язык, который надо лечить.
Поздно. Он создавался программистами для программистов и всегда адаптировался к потребностям. Язык, переживший столько версий, спасти невозможно. Можно только другой красивый язык создать с нуля (как мелкомягкие попытались с Си шарпом).
Так я и не понял, чем строки на уровне языка в Delphi хуже строковых классов в Си.
В теории — можно выбирать класс строк в соответствии со своими потребностями. На практике — чушь. Лучше встроенный класс, меньше проблем с переносимостью.
Я тебе вчера ссылку на Gentee кидал. Всего 35 служебных слов. Очень простой Си-подобный язык
В чём выразилоась Си-подобность? Синтаксис там извращённый, велосипед изобретают мОлодцы.
Borland постепенно наращивала возможности в том числе добавила ООП. Покажи мне, что она испортила? По крайней мере язык практически полностью излагается на 50 страницах.
Она сделала из Паскаля такого же монстра, как C++, даже хуже. Посчитай количество зарезервированных слов — ужаснёшься. Там где-то в дебрях справки БНФ лежат…
Открываю страшную тайну: на VB пишут только полные ламеры и хуже всего то, что с приложением надо распространять файлик, так что любой программист сразу видит, что программа написана, какой позор, на Бейсике. ;)
Я лично против VB почти ничего не имею, ну указателей нет и форматирование влияет на сиснтаксис. VBA для него вполне логичное применение и указатели там не нужны. У меня на работе довольно много проектов сделанных в Access и часто применяется MS SQL Server, что опять радость для Access, но мне заниматься VBA как-то влом т. к. из доков считай только гребучий хелп.
Оберон ООП даёт.
А VCL не ООП в высшем его проявлении.
Синтаксис там извращённый, велосипед изобретают мОлодцы.
Например есть слово func. Примеры, плиз. А вообще я знаю ЯВУ 3-х групп Алгол (Паскалеподобные), Фортраноподобные (Бейсик), Сиподобные и специфические. Нового за последние годы ничего вроде не появилось, дерут с чего-то из перечисленного.
Она сделала из Паскаля такого же монстра, как C++, даже хуже. Посчитай количество зарезервированных слов — ужаснёшься. Там где-то в дебрях справки БНФ лежат…
Количество зарезервированных слов мало определяет сложность языка. Такие слова как then, function, procedure и другие выполняют роль разметки и упрощают чтение текста. В Си их не хватает. Кстати, совершенно лишнее procedure, идет как раз с того идеального языка, который придумал Вирт. Только в Delphi появился вызов ф-ии вне оператора присваивания. Есть еще to и downto, которые применяются в специфичной для Паскаля конструкциию. Interface, implamentation, что лучше Сишный include или применение dll, для чего нужно несколько слов ввести?
Современный Паскаль по-прежнему довольно простой и изящный язык.
И C# это Бейсик с фигурными скобками.
За что же ТЫ ненавидишь Симбу? Про SP вот и <a href="http://www.pridelands.ru/?p=texts&a=get&id=328" target="blank">вот<
SamatiX писал: Если честно, после Visual Basic и PHP мне Delphi кажется таким ужасом...
Мне после ПХП таким же ужасом казался яваскрипт. А уж Перл, даром что его прародитель, так вообще кажется чем-то вроде танка на гоночном треке. Особенно объектный 8) Впрочем, к любому языку, как следует его изучив, можно притерпеться.
Я например проникся во весь рост Перлом, когда увидел как и с какой скоростью он работает с многоуровневыми проектами. Которые порой раскиданы по десяткам серверов.
Или яваскрипт... Вообще, программирование на яваскрипте чем-то напоминает ловлю чертиков из табакерки. Табакерка одна, но старая и рассыпающаяся по частям, со множеством щелей, из которых эти чертики и выскакивают. Лови в свое удовольствие, благо они там, похоже, респавнятся )) Но это так. К слову.
После прочтения — жечь!
Мя[ут] Медвед :) Сообщений: 896 Город: г. Пушкин 05.04.2007 22:36
Попробуй попрограммировать на C хотя бы годик. Всего будет хватать ;) В C блоки четко ограничены фигурными скобками, перед и после (короче говоря между) - управляющие операторы. А в Паскале - после for do ставиться, после if не ставиться, прототип (описание по Паскальному) процедуры отделяется от тела точкой с запятой, а for-цикл не отделяется. Даже переменные при объявлении нельзя инициализировать.
Beltar писал: Interface, implamentation, что лучше Сишный include или применение dll, для чего нужно несколько слов ввести?
Во-первых не надо про применение dll. Во первых, это только в Windows, во вторых это сделано для разделеняи кода на этапе компиляции. В Паскале оно делается точно также ;) Что до include, то оно и есть то деление реализации и имплементации. Можешь вообще как в Паскале строить не зависимые модули, вот только в ущерб скорости компиляции (а во времена C она была крайне важна) и удобочитаемости текста =))
Порыв ветра (Athari) писал: А именно — для обучения структурному процедурному программированию, которое лежит в основе всякого другого.
Да вот ООП у нас началось. И тоже на Паскале ;) Ужасаюсь :)
Порыв ветра (Athari) писал: А препроцессор никогда не поощрялся.
До 90-х годов еще как поощрался ;)
Порыв ветра (Athari) писал: Мяут, каким местом коммерческий?
Нам преподовательница рассказывала, что он предполагался как коммерческий :)
[Добавлено 05.04.2007 22:37:17]:
Beltar писал: И C# это Бейсик с фигурными скобками.
Зря ты так. Достаточно современная и мощная платформа. Гораздо мощнее Паскаля, и на уровне Дельфи.
Избыточные фигурные скобки, отсюда всякие двоеточия. Одна операция на строчку (ну чистый VB). Отказ от проверенного временем синтаксиса ?: (изобрели что-то с функциональной записью). Паскалевская конвертация типов (уже одно это не позволяет назвать язык Си-подобным).
SamatiX, зато потом я столько трахался, чтобу переписать программу на VB человека, плохо понимающего программирование, на Delphi... учитывая что я весьма плохо представлял себе алгоритм проги, а из исходников (много мат расчетов, матрицы и прочее) его выявить было весьма сложно :( НА VB же простенький проект работал до 10 минут... Delphi считает тоже самое меньше секунды. Кстати, VB можно вернуть в исходный код, причем часто даже с комментариями! Ибо VB не компилируемый а интерпретируемый язык... Компилятор просто создает что-то типа P-Cod'а, с вызовами из vbrun.dll и все... Есть проги exe2bas - восставнавливающие исходник. Кстати, та же проблема и с .NET :) Уже не раз декодировал чужие NET проги, до исходника (причем в декомпиляторе можно еще выбрать в какой язык тебе его декомпилировать - C#, Delphi, VB.NET), чтобы посмотреть как оно работает, и возможно реализовать цункциональность у себя :)
Си не люблю тем, что чужой код там почти нечитабелен - чем продвинутей человек, тем больше он пользуется разными фитчами, в результате чего 1 функция стостоит из 1 длинной строки, напоминающей того верблюда. Что, где и откуда растет без поллитры не разобрать. Дельфи же - даже если програмемр весьма фиговый, то отформатировав текст можнор прочитать его с листа и понять как он работает. Да, часть слов пишется длинее (begin/end вмсесто {}) но я пишу штук на 5 языках, в которых естьи тот и иной методы - и это меня совершенно не напрягает. Учитывая что можно просто написать функцию и нажать Ctrl+Shift+C - и описание implementation дельфи создаст сам :) Со всеми бигинами и ендами. На скорость разработки это мало влияет, а на читабельность, особенно когда прогу писало 4 человека, и начинателей проги уже давно нет под рукой, а код далеко не идеален и ни одного коммента не содержит...
Люблю еще строгость паскаля - что отдельно надо объявить переменные, потом их проинициализировать (кстати Мяут - можно инициализировать переменные при объявлении, правда не во всех местах), и юзать. Да, может в C, PHP, JavaScript и местами удобнее определять на лету (for (var i=0;i<10;i++)) но зато часто, особенно на больших проектах котрые писали быстро (срочно! быстрее, быстрее, потм по нормальному сделаешь!) образуется столько паразитных и забытых переменных... Плюс прозрачность приведения типов переменных - тоже... С одной стороны это удобно, а с другой, я не раз ловил баги в c, php и RSL из-за того, что компилятор/инетрпретатор считал переменную какого-то друггго типа и при зачислении $i=1000; скажем через ActiveX в ячейку попадало "0"... проверяешь - в переменной 1000... потом сразу идет команда записи в ячейку - там образуется 0... И это хорошо, когда знаешь где искать, а часто баги бывают такие, что не сразу понятно где вообще рыть... В Паскале с его большой строгостью к типам - такого нет в принципе. Хотя да, заставляет побольше писать, когда надо использовать преобразования... но не намного больше, а читабельность выше, и понятно какая переменная какого типа
Форум pridelands.ru >> Творчество любителей Delphi, C++, HTML, PHP и др.