Re[14]: Мэйнстрим vs. Самосовершенствование :)))
От: Павел Кузнецов  
Дата: 28.10.04 23:51
Оценка: +2 :)
VladD2:

> ПК> Например, я не вполне понимаю, зачем обобщенные алгоритмы типа сортировки делать методами классов


> Логично! Надо было воткнуть в массив метод нахождения косинуса. А в Мачь залить обобщенный поиск. Было бы по СТЛ-ному, и вообще по сишному.


Нет, просто ни в какие классы эти функции не пихать, т.к. множество алгоритмов открыто, и, соответственно, помещение их в класс нарушает Open-Closed Principle.
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[15]: Мэйнстрим vs. Самосовершенствование :)))
От: Павел Кузнецов  
Дата: 29.10.04 00:10
Оценка: +1
VladD2,

> Не не въехал! Там же нет префикса std::, а это теперь считается неграмотным.


Не совсем: префикс там есть, java.util.Arrays.

> И вообще, если все методы (пусть и статические) помещать в класс к которому они относятся, то любой дурак нажав точку в IDE получит их список.


Ты говоришь о другой ситуации, а именно о помещении функции sort в класс Array. Дело спорное, т.к. нарушает Open-Closed Principle, но вопрос совсем отдельный.

В данном случае речь идет о том, что из-за отсутствия в Java "свободных" функций, приходится создавать совершенно искуственный "класс" java.util.Arrays, только для того, чтобы можно было написать функции для манипуляции массивами. Ничего при нажатии на точку в данном случае в IDE не выпадет. Снова-таки, множество этих функций нормальному расширению не поддается, т.к. "доопределять" класс в других файлах невозможно.
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[16]: Мэйнстрим vs. Самосовершенствование :)))
От: Зверёк Харьковский  
Дата: 29.10.04 00:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Кстати, я тут по Интернету книжку одну прикупил (название не помню) как раз то ли по совету Лаптева, то ли одного из его аппонентов. Так там половина описанных тобой языков обсуждается. Нельзя сказать что по вышке и глубоко. Но все же. Та же АДА абсосана дай дарогу...


И это к чему? То ли скажи название, то ли скажи, какие ты оттудава идеи вынес — в смысле, как надо/не надо описывать языки...
А то вишь, хвастается он...
Это мы, Зверьки! << Metallica — Prince Charming >>
FAQ — це мiй ай-кью!
Re[22]: Мэйнстрим vs. Самосовершенствование :)))
От: Зверёк Харьковский  
Дата: 29.10.04 00:50
Оценка:
Здравствуйте, VladD2, Вы писали:

ЗХ>>А вот вам к вопросу о живости языка:

ЗХ>>

ЗХ>>IBM PL/I for AIX, V2.0
ЗХ>>IBM United States Software Announcement
ЗХ>>June 22, 2004


VD>Ага. Кто-то мудрый, из программеров, подсуетился в 1563 году скриптик прикрутил. Теперь версия всегда всвежая.

Не-не-не. Я на эту статью вышел как раз по новостной заметки на каком-то ПЛ1-фильском сайте. Так что без балды, новая версия.
Это мы, Зверьки! << Metallica — Prince Charming >>
FAQ — це мiй ай-кью!
Re[22]: Мэйнстрим vs. Самосовершенствование :)))
От: Зверёк Харьковский  
Дата: 29.10.04 00:53
Оценка: :)
Здравствуйте, VladD2, Вы писали:

ЗХ>>Неее, РЕФАЛ-то у мине лежит, ждет своего часу. Я где-то тут даже Владу пояснял, что это за язык.

ЗХ>>Да только не императивный он, вроде?

VD>Зато больно на моп-твою-ять похож.


Зато — наши люди сделали! Ты лучше гордись, чем критиковать!

Есть такие языки — Esoteric programming languages
Ну, которые сделаны для прикола или из вредности... Вроде BrainFuck или Whitespace
Так вот, на одном из сайтов, посвященных таким языкам, в список эзотерических попал

AKI (AvtoKod Ingenera, "engineer's autocode") for Minsk family of computers

Так что — могем!
Это мы, Зверьки! << Metallica — Low Man's Lyric >>
FAQ — це мiй ай-кью!
Re[8]: Мэйнстрим vs. Самосовершенствование :)))
От: alive Россия  
Дата: 29.10.04 07:09
Оценка: +1
Здравствуйте, VladD2, Вы писали:

S>> Ну ты знаток Delphi. exit был еще в Паскале. Про continue могу сомневаться .Может подскажешь в какой версии появился???


VD>В Паскале Exit-а небыло. Тогде у Вирта совсем крышу рвало. Но Exit это завершение приложения и к return-у он отношение не имеет. Так что о чем ты ведешь речь, как всегда понять сложно.


В Delphi Exit это не завершение приложения, а аналог return-а, хотя объективно говоря return удобней.
... << RSDN@Home 1.1.4 beta 3 rev 207 >> <<Урфи Джюс — Мегаломания>>
Keep yourself alive
Re[14]: Обновление
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 07:50
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


СГ>>Конечно можно. Скачивайте отсюда http://www.oberon.ch/blackbox.html


VD>Не я имел виду вами (вашими людми) написанные. Ну, чтобы глянуть на стиль и качество...


1) У меня нет моих людей. И я не учитель, как Вы почему-то подумали.
2) На сайте info21 есть ссылки на другие сайты где кучами лежат компоненты под BlackBox. А еще, там же есть, например, ссылка на сборник олимпиадных задач для школьников.

Но! Обращаю Ваше внимание, что для того чтобы смотреть исходники скачать и установить BlackBox Вам все равно придется, так как формат в котором хранятся исходные тексты программ не plain-text, а бинарный формат *.odc (Oberon Document). odc-файл это файл в котором в бинарном виде сохранен конгломерат взаимоссылающихся друг на друга объектов (сериализованные объекты). Благодаря этому, oberon document представляет собой среду напоминающую MS Word, то есть текст можно форматировать (шрифт, цвет, размер, стиль — каждой буквы). Можно вставлять картинки, управляющие кнопки, едиты и прочие контролы, а в принципе, даже работающие программы. Представьте себе таку вещь:
PROCEDURE Pr1();
BEGIN
 (* ... *)
END Pr1;
    +-------------+
    | Нажми меня  |
    +-------------+

где под прямоугольником с надписью "Нажми меня" я попытался изобразить обыную виндозную кнопку. То есть прямо в текст проги можно запихнуть кнопку, и, например, ассоциировать ее с процедурой Pr1(). Нажимаешь на кнопку — процедура выполняется!
Re[11]: Обновление
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 08:02
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Никаких очевидных существенных преимуществ Оберона & co. в качестве учебного языка перед многими другими не заметно


Это Вы их в упор не видите. Существенные преимущества неоднократно демонстрировались, главными из которых является то, что Оберон — простой язык (минимальный и достаточный) и высоко-дисциплинирующий программиста. На счет дисциплины — лично мной было указано, на то как высококвалифицированные программисты, но воспитанные на Си-подобных языках, пишут элементарный код циклов используя либо несколько continue либо вспомогательные переменные, хотя и то и другое излишне, так как можно написать тоже самое более просто (дисциплинированно). То есть даже высококвалифицированные специалисты способны блуждать в трех соснах, что было бы не возможно будь они воспитаны на высокодисциплинирующих языках каковыми являются обероны.
Re[12]: Обновление
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 08:03
Оценка: -3 :)
Здравствуйте, VladD2, Вы писали:

VD>Существенный недостаток есть. Язык не применим на практике. Он мертв. И учить на нем детей — значит обрекать их на дополнительное самообучение с переламыванием себя.


Я уже не раз указывал Вам на Вашу некомпетентность в этом вопросе. Но Вы продолжаете повторяться вновь и вновь.
Re[3]: Oberon???????????????????????????????????
От: Tan4ik Россия  
Дата: 29.10.04 08:04
Оценка: 14 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>>>Кстати, какие альтернативы оберону есть, кто-нить представляет?

V>>Java? На ней олимпиады проводятся?
LVV>Нет, не проводятся.
Java — давно один из официальных языков ACM World Finals. На полуфинале он также есть. Четвертьфиналы немного отстают, но, я думаю, что скоро и на них он станет доступным (у нас желающих особо не было, вот и не стали заморачиваться).

LVV>Это конечно мысль. Или еще можно С# попробовать. Но хотелось бы не Сишного синтаксиса — для алтернативы.

Стоит пробовать. Студенты должны выходить подготовленными к жизни (если учатся на программистов). Хотя бы поверхностные знания основных промышленных языков вуз просто обязан дать (сейчас C++, C#, Java, возможно VB, что-то забыл?).

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

P.S. Чтобы не били ногами, ко всем фразам нужно приписать ИМХО
---
С уважением,
Лазарев Андрей
Re[30]: Component Pascal
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 08:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В интерфейсах Шарпа свойства допустимы. А денные есть данные. И сувать их в полиморфные структуры не гоже.


А в Zonnon-е друга концепция, поэтому ее другим термином обозвали, не interface, а definition
Re[18]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.10.04 08:06
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Долго софтру для поиска клипал?


3 минуты
... << RSDN@Home 1.1.4 beta 3 rev. 214>>
AVK Blog
Re[8]: Мэйнстрим vs. Самосовершенствование :)))
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 08:07
Оценка:
Здравствуйте, VladD2, Вы писали:

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


S>> Ну ты знаток Delphi. exit был еще в Паскале. Про continue могу сомневаться .Может подскажешь в какой версии появился???


VD>В Паскале Exit-а небыло. Тогде у Вирта совсем крышу рвало. Но Exit это завершение приложения и к return-у он отношение не имеет. Так что о чем ты ведешь речь, как всегда понять сложно.


Какие Вы демонстрируете глубоки познания! exit — это в Си/Си++ завершение приложения, а в борландовском Delphi/Pascal exit — это выход из процедуры, а завершение программы Halt();
Re[15]: Обновление
От: Зверёк Харьковский  
Дата: 29.10.04 08:08
Оценка: 1 (1) +5
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Представьте себе таку вещь:

СГ>
СГ>PROCEDURE Pr1();
СГ>BEGIN
СГ> (* ... *)
СГ>END Pr1;
СГ>    +-------------+
СГ>    | Нажми меня  |
СГ>    +-------------+
СГ>

СГ>где под прямоугольником с надписью "Нажми меня" я попытался изобразить обыную виндозную кнопку. То есть прямо в текст проги можно запихнуть кнопку, и, например, ассоциировать ее с процедурой Pr1(). Нажимаешь на кнопку — процедура выполняется!

Круто!!! А зачем?
Это мы, Зверьки! << Metallica — The Memory Remains >>
FAQ — це мiй ай-кью!
Re[15]: Обновление
От: WFrag США  
Дата: 29.10.04 08:15
Оценка: 1 (1) +5
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Но! Обращаю Ваше внимание, что для того чтобы смотреть исходники скачать и установить BlackBox Вам все равно придется, так как формат в котором хранятся исходные тексты программ не plain-text, а бинарный формат *.odc (Oberon Document). odc-файл это файл в котором в бинарном виде сохранен конгломерат взаимоссылающихся друг на друга объектов (сериализованные объекты). Благодаря этому, oberon document представляет собой среду напоминающую MS Word, то есть текст можно форматировать (шрифт, цвет, размер, стиль — каждой буквы). Можно вставлять картинки, управляющие кнопки, едиты и прочие контролы, а в принципе, даже работающие программы.


Боюсь, не по вкусу это придется всяким любителям Unix-way и plain-текст форматов

Что мы теряем: системы контроля версий придется затачивать под этот формат, всяческие поиски/find/grep/e.t.c идут лесом, и.т.д. По сути, нужно выкидывать все наработанные средства работы с plain-текстом и нарабатывать новые. А разработывать средства под каждый формат — никакого здоровья не хватит.

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

Это все будет более-менее работать, пока не потребуется сделать что-нибудь сверх возможностей редактора. Например, поиск регулярного выражения, diff, замены по регулярному выражению. Да хоть бы даже число слов в программе подсчитать.
Re[19]: Мэйнстрим vs. Самосовершенствование :)))
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.10.04 08:16
Оценка:
Здравствуйте, FR, Вы писали:

FR>Тут http://devlink.crimea.ua/articles/article.php?article_id=20 краткое описание.

FR>Вообще Ruby в общем конкурент питона, но по моему синтаксис у него менее понятный, и он ближе к функциональным языкам.

ИМХО наоборот, Руби чем то ближе по духу джаве и шарпу.
... << RSDN@Home 1.1.4 beta 3 rev. 214>>
AVK Blog
Re[31]: Component Pascal
От: WFrag США  
Дата: 29.10.04 08:23
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>А в Zonnon-е друга концепция, поэтому ее другим термином обозвали, не interface, а definition


Да, но только ты так и не объяснил, чем эти поля-данные в definition отличаются от свойств в интерфейсе. И где там другая концепция — я не вижу.


И еще, объясни, чем эта концепция definition-implementation-object отличается от C++-ых классов?
Re[16]: Обновление
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 08:36
Оценка:
Здравствуйте, WFrag, Вы писали:

WF> Что мы теряем


А зато что приобретаем: *.odc — это хранилище сериализованных объектов в (бинарном виде) — так загрузите эти объекты и работайте с самими объектами, а не с текстом как таковым — уровень абстракции резко повышается.
Re[16]: Обновление
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 29.10.04 08:37
Оценка: :)
Здравствуйте, Зверёк Харьковский, Вы писали:

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


СГ>>Представьте себе таку вещь:

СГ>>
СГ>>PROCEDURE Pr1();
СГ>>BEGIN
СГ>> (* ... *)
СГ>>END Pr1;
СГ>>    +-------------+
СГ>>    | Нажми меня  |
СГ>>    +-------------+
СГ>>

СГ>>где под прямоугольником с надписью "Нажми меня" я попытался изобразить обыную виндозную кнопку. То есть прямо в текст проги можно запихнуть кнопку, и, например, ассоциировать ее с процедурой Pr1(). Нажимаешь на кнопку — процедура выполняется!

ЗХ>Круто!!! А зачем?


Так просто, например, рептилоидов поражать. В то время когда это уже было в оберонах MS Word только только делал первые шаги...
Re[6]: Oberon???????????????????????????????????
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.10.04 08:37
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Ну, это ты зря. В Шарпе все концептуально полно.


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

VD> Уж массивы для передачи по ссылке использовать не прийдется.


Тебе часто приходится использовать ref и out? Мне вот крайне редко, в основном при работе с P/Invoke. Так что это не страшно. И опять же — для обучения предпочтительнее для этого использовать ... нет, не массивы, а специально созданные классы, содержащие совокупность параметров. Концептуально это даже чище ref и out. Понятно что писанины при этом больше, но при обучении это не страшно.

VD> Ну, а то что пока не нужно можно и не преподовать.


От некоторых вещей отмазаться не получится, например от боксинга и структур.
... << RSDN@Home 1.1.4 beta 3 rev. 214>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.