Re[10]: Oberon???????????????????????????????????
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.10.04 23:00
Оценка:
Здравствуйте, FR, Вы писали:

FR>Так у тебя тоже не ответ.


Правильно. У меня вопрос.

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


Ну, так ты покажи хоть какие-то кроме встроенных средств работы с коллекциями.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Oberon???????????????????????????????????
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.10.04 23:00
Оценка:
Здравствуйте, FR, Вы писали:

FR>лучше так:


FR>
FR>def my_range(n):
FR>    i = 0
FR>    while i < n:
FR>        yield i
FR>        i += 1
FR>


FR>


Чем лучше? Вместо скобок пробеы и отсуствие типизации (что скорее минус).

ЗЫ

Кстати, твой вариант не воспроизводит всех возможностей range.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Oberon???????????????????????????????????
От: FR  
Дата: 21.10.04 23:55
Оценка:
Здравствуйте, VladD2, Вы писали:


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


VD>Ну, так ты покажи хоть какие-то кроме встроенных средств работы с коллекциями.


так показывал уже тот же калькулятор, но ты не смотришь.
... << RSDN@Home 1.1.3 stable >>
Re[8]: Oberon???????????????????????????????????
От: FR  
Дата: 21.10.04 23:55
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Чем лучше? Вместо скобок пробеы и отсуствие типизации (что скорее минус).


А чем хуже? Да судя по отступам этот Range еще в какой то класс засунут? Если так
то это недостаток
А отсутствие типизации имеет не только недостатки но и преимущества например функция автоматически
становится обощенной.

VD>ЗЫ


VD>Кстати, твой вариант не воспроизводит всех возможностей range.


твой тоже, упущенно, что может быть два аргумента

def my_range(*name):
    if(len(name) == 1): name = (0, name[0], 1)
    if(len(name) == 2): name = name.append(1)
    i = name[0]
    while i < name[1]:
        yield i
        i += name[2]
... << RSDN@Home 1.1.3 stable >>
Re[7]: Oberon???????????????????????????????????
От: Poisson Россия  
Дата: 22.10.04 05:10
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Здается мне, что в Питоне понятнее и логичнее.

Дело вкуса.

VD> А смотреть на то как работают операторы и встроенные функции как-то даже в голову не приходит.

Понятно, что смотреть на устройство какого-нибудь print и увидеть дизассемблированный код, ну или
даже код на C/C++ (сам питоновсаий интерпретатор вроде на C++ написан?) не очень интересно. Но в случае со смоллтоком мы видим код на том же смоллтоке (где-то в глубине упирающийся, конечно, в вызов примитива VM), что для начинающего очень и очень удобно — есть откуда брать массу полезных примеров.
... << RSDN@Home 1.1 beta 2 >>
Re[9]: Oberon???????????????????????????????????
От: eugals Россия  
Дата: 22.10.04 06:51
Оценка:
Здравствуйте, FR, Вы писали:

FR>
FR>def my_range(*name):
FR>    if(len(name) == 1): name = (0, name[0], 1)
FR>    if(len(name) == 2): name = name.append(1)
FR>    i = name[0]
FR>    while i < name[1]:
FR>        yield i
FR>        i += name[2]
FR>

Ошибка, однако
name.append вернёт None

лучше уж так:
def my_range( n, *args):
    i, n, step = args and ([n] + args + [1])[:3] or (0, n, 1)
    while i < n:
        yield i
        i += step
... << RSDN@Home 1.1.4 beta 2 >>
Re[5]: Oberon???????????????????????????????????
От: Obel  
Дата: 22.10.04 06:56
Оценка:
СГ>Ну, вот, еще один "спец" нашелся. Утверждает что Васик проще и совершеннее Оберона.

Подмена суждений — прием дешевого демагога.

СГ>А Вы случаем не на компанию по производству компьютеров и коммуникаций работаете? Они очень заинтересованы в том чтобы людям надо было как можно более мощное и быстрое оборудование.


Я работаю на компанию по призводству программного обеспечения. Она (эта компания) заинтересована в качественных, быстрых, компактных, безопасных, поддерживаемых, распространенных и стандартизированных технологиях разработки ПО.
Таких как Java и С#.
А Ваша компания, наверное, предлагает аналогичные решения на обероне?


СГ>Именно в родной код. Безопасность встроена в сам язык. В оберонистой программе никогда не бывает переполнения буфера (range index check).


Никада не говори никада

СГ> И Вам никогда не удасться что-то читать или писать по неправильному адресу, просто потому что в языке нет такого понятия как адрес, адресная арифметика, и самого адресного пространства как такового.


Как в Java
Re[8]: арифметические, логические, бинарные
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 22.10.04 07:33
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>Это конечно несколько лучше чем в Паскале/Дельфи. Но все же я не понимаю на фиг так извращаться.


А где, собственно, извращение? В том что с числами запрещены бинарные операции? Так это, как бы, правильно — кесарю кесарево, а слесарю слесарево. В тоже время это не вредит системному программированию, так как всегда можно преобразовать число в множество (BITS) и множество в число (ORD). Например, пусть есть число i: INTEGER, хотите обнулить старшие четыре бита, вуаля:
i := ORD( BITS(i) - {28,29,30,31} );
Re[9]: арифметические, логические, бинарные
От: Курилка Россия http://kirya.narod.ru/
Дата: 22.10.04 07:41
Оценка: +2
Здравствуйте, Сергей Губанов, Вы писали:

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


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


VD>>Это конечно несколько лучше чем в Паскале/Дельфи. Но все же я не понимаю на фиг так извращаться.


СГ>А где, собственно, извращение? В том что с числами запрещены бинарные операции? Так это, как бы, правильно — кесарю кесарево, а слесарю слесарево. В тоже время это не вредит системному программированию, так как всегда можно преобразовать число в множество (BITS) и множество в число (ORD). Например, пусть есть число i: INTEGER, хотите обнулить старшие четыре бита, вуаля:

СГ>
СГ>i := ORD( BITS(i) - {28,29,30,31} );
СГ>


Нет, ну я фигею, что за изврат, а...
Тут без бутылки фиг поймёшь, это ты и называешь понятным и классным?
по мне дак вот такая бы запись была бы гораздо понятней:

i := ORD(BITS(i) AND BITS (0,0,0,0, 1,1,1,1, 1,1,1,1, 1,1,1,1,)


а вычитание совсем не логичная операция, да и запись битов тоже хрен разберёшь,
я понимаю, что по вирту, чем туманней, тем круче, но жизнь требует совсем иного, имхо
Re[6]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 22.10.04 07:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, и чем это отличается от Шарпа:

foreach (int i Range(10))
    Console.WriteLine(i);



Ну, раз пошло такое дело, можно и я тоже чего-нибудь, про цикл for скажу.


program Prog1;

var s: string = 'Здравствуй мир!';
    c: char;
begin
  for c in s do write(c);
end.


Цикл for в Delphi 2005 (недавно появилась — 12 октября 2004) теперь работает с любыми перечислимыми типами, в том числе со строками.
Re[10]: арифметические, логические, бинарные
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 22.10.04 07:45
Оценка:
Здравствуйте, Курилка, Вы писали:

К>а вычитание совсем не логичная операция


Вычитание одного множества из другого не понятная операция? Просто в первом множестве исчезают все элементы, которые есть во втором множестве. Чего не понятного-то?
Re[6]: Oberon???????????????????????????????????
От: Kluev  
Дата: 22.10.04 07:47
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


K>>
>>>>> for i in range(10) : print i
K>>


K>>Выполняется прямо в командной строке без компиляции, написания функции и т.п. ИМХО если учить то лучше питона не найти


VD>Ну, и чем это отличается от Шарпа:

VD>
VD>foreach (int i Range(10))
VD>    Console.WriteLine(i);
VD>

VD>?

Чем отличается? тем что как уже было сказано:
K>>Выполняется прямо в командной строке без компиляции, написания функции и т.п.

А минимальная шарп программа это как минимау класс со статической main к которой среда еще и аттрибут подосовывает. Плюс using, плюс namespace, плюс среда, плюс компиляция. Вообщем не многовато ли для начинающего?
Re[11]: арифметические, логические, бинарные
От: Курилка Россия http://kirya.narod.ru/
Дата: 22.10.04 07:49
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


К>>а вычитание совсем не логичная операция


СГ>Вычитание одного множества из другого не понятная операция? Просто в первом множестве исчезают все элементы, которые есть во втором множестве. Чего не понятного-то?


Представь студента и у него есть вычитание чисел, которое даст совсем другой результат, т.е. совсем он будет ожидать не того, что ты ему скажешь.
Думать-то он будет далеко не о множествах, имхо.
Вопрос-то шёл о бинарном представлении чисел, а не об абстрактных множествах, оторваных в бол-ве случаев от жизни.
Re[4]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 22.10.04 08:01
Оценка: 1 (1) -1
Здравствуйте, VladD2, Вы писали:

VD> Мертвяк. Причем чистейший воды. Ни одного комерческого проекта.


Вы не компетенты в вопросах об оберонах. Я уже приводил ссылки, среди которых, например, упоминается коммерческий проект создания ПО для ЭЛЕКТРОСТАНЦИИ (не хило не так-ли?), в ссылках сайта info21 есть военный проект по управлению беспилотными летающими аппаратами (опять не хило?).

VD> Развитие Оберона с 96 года нет.


Мало того что Вы не компетентны в вопросах об оберонах, но Вы еще и просто не внимательны. Совсем недавно, на этом форуме обсуждались "активные объекты". Вы случаем не обратили внимание на фигурирующие в даваемых ссылках даты? Создание Aos ~ 2000 год, диссертация Мюллера 2002 год. Работа над Zonnon идет по сей день.

Посмотрите даты проектов: http://www.cs.inf.ethz.ch/gutknecht/
Re[5]: Oberon???????????????????????????????????
От: Курилка Россия http://kirya.narod.ru/
Дата: 22.10.04 08:07
Оценка: :)
Здравствуйте, Сергей Губанов, Вы писали:

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


VD>> Мертвяк. Причем чистейший воды. Ни одного комерческого проекта.


СГ>Вы не компетенты в вопросах об оберонах. Я уже приводил ссылки, среди которых, например, упоминается коммерческий проект создания ПО для ЭЛЕКТРОСТАНЦИИ (не хило не так-ли?), в ссылках сайта info21 есть военный проект по управлению беспилотными летающими аппаратами (опять не хило?).


VD>> Развитие Оберона с 96 года нет.


СГ>Мало того что Вы не компетентны в вопросах об оберонах, но Вы еще и просто не внимательны. Совсем недавно, на этом форуме обсуждались "активные объекты". Вы случаем не обратили внимание на фигурирующие в даваемых ссылках даты? Создание Aos ~ 2000 год, диссертация Мюллера 2002 год. Работа над Zonnon идет по сей день.


СГ>Посмотрите даты проектов: http://www.cs.inf.ethz.ch/gutknecht/


А ты очень компетентен, прям жуть?
Вот приведи статистику по числу раб. мест на обероне?
Хотябы в Швейцарии есть такие вообще?
Возьми теперь и сравни даты, числа и объёмы с тем же C#, да я думаю даже со смолтолком оберон будет очень хило выглядеть (эй смолтолковцы, замолвите словечко )
Re[10]: Oberon???????????????????????????????????
От: FR  
Дата: 22.10.04 08:08
Оценка:
Здравствуйте, eugals, Вы писали:

E>Ошибка, однако

E>name.append вернёт None

угу поздно было, можно было и не то написать

я думаю так проще и понятней:
def my_range(begin, end = None, step = 1):
    if end == None: begin, end = 0, begin
    while begin < end:
        yield begin
        begin += step
... << RSDN@Home 1.1.3 stable >>
Re[7]: Oberon???????????????????????????????????
От: FR  
Дата: 22.10.04 08:17
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>
СГ>program Prog1;

СГ>var s: string = 'Здравствуй мир!';
СГ>    c: char;
СГ>begin
СГ>  for c in s do write(c);
СГ>end.
СГ>


СГ>Цикл for в Delphi 2005 (недавно появилась — 12 октября 2004) теперь работает с любыми перечислимыми типами, в том числе со строками.


Точно из питона сперли
В питоне for помощнее он может работать с любыми итераторами.
... << RSDN@Home 1.1.3 stable >>
Re[4]: Oberon???????????????????????????????????
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 22.10.04 12:38
Оценка:
Здравствуйте, VladD2, Вы писали:

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


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


VD>ВБ.НЭТ потянет? Сточки зрения простоты синтакиса и отсутствия сишных скобок самое оно. Только логических операций лучше на нем не давать. Они в нем такие же кривые как в Паскле (бен разделения на бинарные илогические).

То есть ты видишь разницу между побитовыми и булевыми операциями????
И представление булевых переменных в битовом представлении???
В Delphi (Паскале) ты можешь применять те или иные операции основываясь на их типе.
Нелзя применять как в C

 int i=0;
 if (~i ) {...}



i:Integer=0;
 ............
 if not Boolean(i) Then
 .....................
 if i<>0 Then

Без приведения к булевому типу
Меня лично в c# бесит это разграничение. Так что кривизна больше не в Паскале.
и солнце б утром не вставало, когда бы не было меня
Re[7]: Oberon???????????????????????????????????
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.04 14:09
Оценка: -1
Здравствуйте, Kluev, Вы писали:

K>Чем отличается? тем что как уже было сказано:

K>>>Выполняется прямо в командной строке без компиляции, написания функции и т.п.

Это не приемущество. Во-первых, это на фиг не упало. А, во-вторых, создать утититку эмулирующую командрую строку задача на вечер.

K>А минимальная шарп программа это как минимау класс со статической main к которой среда еще и аттрибут подосовывает. Плюс using, плюс namespace, плюс среда, плюс компиляция. Вообщем не многовато ли для начинающего?


Для минимальной ни юсинги ни нэймспэйсы не нужны. А один класс можно пережить. Зато с самого начала народ будет приучаться к объектной ориентации и в последствии будет меньше вопросов. Опять так если уж сильно напрягает класс, то не проблем создать программку которая автоматически обернет код в класс.

В общем, это все не серьезные аргументы. А вот то отсуствие типов сильно попортит восприятие у начинющих. Типы концепция обязательная. Без нее еще ту кашу можно создать.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Oberon???????????????????????????????????
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.04 14:09
Оценка: +1
Здравствуйте, FR, Вы писали:

FR>Точно из питона сперли


Питона еще на свете не было когда в ВБ for each появился.

FR>В питоне for помощнее он может работать с любыми итераторами.


Гы-гы. С какими итераторами не сможет работать foreach из Шарпа? А дельфийский как раз с него слизан по повду перехода дельфи под дотнет.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.