Re[10]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 26.10.04 09:42
Оценка: :))
Здравствуйте, Sinclair, Вы писали:

СГ>>То есть сначала надо будет объяснить что такое namespace, class, static void Main, ее аргумент string[] args, вот этого кракозябла [STAThread] — объяснить. Не хило?


S>А можно в ответ привести минимальную программу на обероне?

MODULE MyModule;

IMPORT StdLog;

BEGIN
  StdLog.String("Здравствуй мир!");

END MyModule;



Примеры простейших программ:
http://www.inr.ac.ru/~info21/cpascal/primery.htm
Re[11]: Oberon???????????????????????????????????
От: INTP_mihoshi Россия  
Дата: 26.10.04 10:05
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:


S>>А можно в ответ привести минимальную программу на обероне?

СГ>
СГ>MODULE MyModule;

СГ>IMPORT StdLog;

СГ>BEGIN
СГ>  StdLog.String("Здравствуй мир!");

СГ>END MyModule;
СГ>



Вопрос. Какова вероятность, что ученик допустит в этом (или близком к этому) коде ошибку и не сможет ее исправить на основании только сообщений компилятора?

Сколько всего нужно ученику объяснить, чтобы он понимал значение каждого слова в этом коде, а не копировал "с доски" по принципу "дэти, это нэвозможно понат, это надо запомныт".

И к вам, C#, это тоже относится
Re[11]: Oberon???????????????????????????????????
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.10.04 10:06
Оценка: 1 (1) +1
Здравствуйте, Сергей Губанов, Вы писали:

И чем же этот хрен слаще вот такой редьки:
using System;
class Class1
{
    static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Мэйнстрим vs. Самосовершенствование :)))
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.10.04 10:06
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:
INT>Мне в нем не нравится (с точки зрения обучения) только одно — то, что он навязывает ООП.
Гм. А вы уверены, что хотите остановиться на процедурном программировании?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Мэйнстрим vs. Самосовершенствование :)))
От: INTP_mihoshi Россия  
Дата: 26.10.04 10:21
Оценка:
Здравствуйте, Sinclair, Вы писали:

INT>>Мне в нем не нравится (с точки зрения обучения) только одно — то, что он навязывает ООП.

S>Гм. А вы уверены, что хотите остановиться на процедурном программировании?

Я не уверен, что хочу начинать с объектного. И тем более не уверен, что я хочу останавливаться на объектах в том виде, в котором их представляет C#.
Re[8]: Мэйнстрим vs. Самосовершенствование :)))
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.10.04 10:29
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

INT>>Мне в нем не нравится (с точки зрения обучения) только одно — то, что он навязывает ООП.
S>Гм. А вы уверены, что хотите остановиться на процедурном программировании?

А почему ты уверен, что альтернатива лишь процедурное?
И почему обязательно останавливаться?
Это же только "начало", за ним следуют другие стадии
Re[12]: Oberon???????????????????????????????????
От: Kluev  
Дата: 26.10.04 10:30
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


S>И чем же этот хрен слаще вот такой редьки:

S>
S>using System;
S>class Class1
S>{
S>    static void Main()
S>    {
S>        Console.WriteLine("Hello World");
S>    }
S>}
S>

S>?

И то и другое плохо.
Вот питон здесь рулит однозначно:
Re[9]: Мэйнстрим vs. Самосовершенствование :)))
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.10.04 10:47
Оценка:
Здравствуйте, Курилка, Вы писали:

К>А почему ты уверен, что альтернатива лишь процедурное?

К>И почему обязательно останавливаться?
К>Это же только "начало", за ним следуют другие стадии
Ну, потому что тут вроде Оберон противопоставляют. А у него пока что продемонстрировано только одно "преимущество" — возможность писать старый добрый процедурный код. АОП и FP он вроде бы поддерживает хуже, чем C#. Или я до каких-то важных стадий еще не дорос?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[13]: Oberon???????????????????????????????????
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.10.04 10:47
Оценка: +1
Здравствуйте, Kluev, Вы писали:

K>И то и другое плохо.

K>Вот питон здесь рулит однозначно:
K>
Ну, лично меня ты практически убедил
В качестве учебного языка мне он уже нравится. Я так понял, что единственное, что ему вменяется как помеха промышленному применению — так это производительность. Зато есть шанс показать все (или почти все) концепции современного программирования в одном флаконе. Это очень круто.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Мэйнстрим vs. Самосовершенствование :)))
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.10.04 10:54
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


К>>А почему ты уверен, что альтернатива лишь процедурное?

К>>И почему обязательно останавливаться?
К>>Это же только "начало", за ним следуют другие стадии
S>Ну, потому что тут вроде Оберон противопоставляют. А у него пока что продемонстрировано только одно "преимущество" — возможность писать старый добрый процедурный код. АОП и FP он вроде бы поддерживает хуже, чем C#. Или я до каких-то важных стадий еще не дорос?

Да нет, если Оберон рассматривать, то ты на 200% прав, я думаю...
Имхо Питон тут гораздо будет логичней, в котором есть всё что только можно вроде бы
Ну или по меньшей мере мне сейчас так кажется
Re[14]: Oberon???????????????????????????????????
От: INTP_mihoshi Россия  
Дата: 26.10.04 10:54
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


K>>И то и другое плохо.

K>>Вот питон здесь рулит однозначно:
S>Ну, лично меня ты практически убедил
S>В качестве учебного языка мне он уже нравится. Я так понял, что единственное, что ему вменяется как помеха промышленному применению — так это производительность. Зато есть шанс показать все (или почти все) концепции современного программирования в одном флаконе. Это очень круто.

Ну, в Caml все практически так же... И без извратов с identами


#let square (x) = x * x;;
square : int -> int = <fun>
#let rec fact (x) =
  if x <= 1 then 1 else x * fact (x - 1);;
fact : int -> int = <fun>
#fact (5);;
- : int = 120
#square (120);;
- : int = 14400


И далее здесь
Re[15]: Oberon???????????????????????????????????
От: Курилка Россия http://kirya.narod.ru/
Дата: 26.10.04 11:02
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

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


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


K>>>И то и другое плохо.

K>>>Вот питон здесь рулит однозначно:
S>>Ну, лично меня ты практически убедил
S>>В качестве учебного языка мне он уже нравится. Я так понял, что единственное, что ему вменяется как помеха промышленному применению — так это производительность. Зато есть шанс показать все (или почти все) концепции современного программирования в одном флаконе. Это очень круто.

INT>Ну, в Caml все практически так же... И без извратов с identами



INT>
INT>#let square (x) = x * x;;
INT>square : int -> int = <fun>
INT>#let rec fact (x) =
INT>  if x <= 1 then 1 else x * fact (x - 1);;
INT>fact : int -> int = <fun>
INT>#fact (5);;
INT>- : int = 120
INT>#square (120);;
INT>- : int = 14400

INT>


INT>И далее здесь


Потому и во франции и на нём учат программить
Только всё равно больше будет специфики ФП если его рассматривать, но рынок всё-таки под императивщиками лежит
Re[12]: Oberon???????????????????????????????????
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 26.10.04 11:16
Оценка: 2 (2) +1 :)
Здравствуйте, Sinclair, Вы писали:

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

MODULE MyModule;

IMPORT StdLog;

BEGIN
  StdLog.String("Здравствуй мир!");

END MyModule;


S>И чем же этот хрен слаще вот такой редьки:

using System;
class Class1
{
    static void Main()
    {
        Console.WriteLine("Hello World");
    }
}



Лучше тем что использовано меньше понятий, судите сами:

Оберон:

1) Существуют модули
2) Один модуль может импортировать другой модуль
3) В модулях есть подпрограммы, которые можно вызывать из других модулей

C#:

1) Существуют пространства имен (уже непонятность — а что, собственно, еще за пространство да еще и имен? Где они расположены? А как они выглядят эти пространства?)
2) Существуют классы (еще одна непонятность — что еще за классы? Классы чего? Мы в седьмом классе учимся и что с того?)
3) У классов есть статические методы (опять ребенку непонятно что такое статические и что такое методы, в чем разница между подпрограммами и методами?). Что такое void? Почему именно Main?
4) Как понять что Console как-то связана с приведенной выше using System;
Re[14]: Oberon???????????????????????????????????
От: LaptevVV Россия  
Дата: 26.10.04 11:30
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


K>>И то и другое плохо.

K>>Вот питон здесь рулит однозначно:
S>Ну, лично меня ты практически убедил
S>В качестве учебного языка мне он уже нравится. Я так понял, что единственное, что ему вменяется как помеха промышленному применению — так это производительность. Зато есть шанс показать все (или почти все) концепции современного программирования в одном флаконе. Это очень круто.
При обучении производительность абсолютно некритична. Это будем на С++ осваивать.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Обновление
От: Kh_Oleg  
Дата: 26.10.04 12:33
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

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


СГ>Сегодня сайт проекта Информатика 21 был серьезно обновлен. Заходите смотрите.

СГ>Основная новость: к концу 2004 года ожидается открытие исходного кода BlackBox.

А мне очень понравилась вот эта статья:
О дисциплине программирования
Re[16]: Oberon???????????????????????????????????
От: INTP_mihoshi Россия  
Дата: 26.10.04 12:37
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Потому и во франции и на нём учат программить

К>Только всё равно больше будет специфики ФП если его рассматривать, но рынок всё-таки под императивщиками лежит

Нудным голосом. В четвертый раз на этом форуме. "Ocaml поддерживает итеравтивное программирование".


let x = ref 1 in
for i = 1 to 10 do
x := !x * i
done;
print_int x


И еще в нем есть типизация. Имху это важнее, чем классы
Re[4]: Обновление
От: LaptevVV Россия  
Дата: 26.10.04 12:38
Оценка: :))
Здравствуйте, Kh_Oleg, Вы писали:

СГ>>Сегодня сайт проекта Информатика 21 был серьезно обновлен. Заходите смотрите.

СГ>>Основная новость: к концу 2004 года ожидается открытие исходного кода BlackBox.

K_O>А мне очень понравилась вот эта статья:

K_O>О дисциплине программирования
А вот с того же сайта

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

В начале 2002 г. Майкрософт на месяц приостановила нормальную работу, чтобы программистский персонал мог специально сосредоточиться на проблемах безопасности и надежности программ. Если оценить количество программистов Майкрософт в 20 тысяч человек при зарплате от $150 тыс. в год и выше, то стоимость месячника повышения квалификации выйдет не меньше 250 миллионов долларов. Майкрософт в состоянии это себе позволить. Остальным, видимо, все же дешевле перейти на инструменты программирования, где проверки индексов массивов не отключаются. Впрочем, и сама компания Майкрософт в настоящее время переходит на платформу .NET, в которой главный язык программирования — т.наз. C# — смоделирован во многом, в том числе и в отношении безопасности программирования, по образцу Оберона.

К вопросу о священной войне Губанова и Влада
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[13]: Oberon???????????????????????????????????
От: Sinclair Россия https://github.com/evilguest/
Дата: 26.10.04 12:50
Оценка: +1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Лучше тем что использовано меньше понятий, судите сами:


Опять передергиваем. Ай, как нехорошо. Разберемся подробнее:
Г>Оберон:

СГ>1) Существуют модули

Что такое модули? Или это в седьмом классе понятно всем и без объяснения?
СГ>2) Один модуль может импортировать другой модуль
Что значит импортировать?
СГ>3) В модулях есть подпрограммы, которые можно вызывать из других модулей
СГ>C#:

СГ>1) Существуют пространства имен (уже непонятность — а что, собственно, еще за пространство да еще и имен? Где они расположены? А как они выглядят эти пространства?)

Прошу прощения, а где у нас про пространства имен?
СГ>2) Существуют классы (еще одна непонятность — что еще за классы? Классы чего? Мы в седьмом классе учимся и что с того?)
Верно. Что-то все-таки надо детям рассказывать.
СГ>3) У классов есть статические методы (опять ребенку непонятно что такое статические и что такое методы, в чем разница между подпрограммами и методами?).
А при чем тут подпрограммы? Кто-то считает понятие подпрограммы присутствующим в детской голове прямо с рождения? Лично я в седьмом классе колбасил арканоиды безо всяких подпрограмм. Так что это — заблуждение. И вводить понятие метода ничуть не хуже, чем начинать с каких-то подпрограмм.
СГ>Что такое void? Почему именно Main?
Да. с Void придется повозиться.
СГ>4) Как понять что Console как-то связана с приведенной выше using System;
Хорошо, свяжем их явно.
class Class1
{
    static void Main()
    {
        System.Console.WriteLine("Hello World");
    }
}

Итак, пока что у нас Оберон — C# идут один-в-один, за исключением void. Во всем остальном паритет.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Мэйнстрим vs. Самосовершенствование :)))
От: Зверёк Харьковский  
Дата: 26.10.04 13:17
Оценка: +1
Здравствуйте, serg_mo, Вы писали:

_>Здравствуйте, Зверёк Харьковский, Вы писали:


ЗХ>>СмолТок — воистину. Именно за счет того, что сильно отличается от всего остального. Просто для раздвижения, так скзть, горизонтов. Но учить его первым — по-моему, искалечить восприятие.


_>Искалечить восприятие чего?


Тю... Шарпа, естественно.

А если серьезно — это возвращение к идее мэйнстрима. Грубо говоря, уж очень СмолТок не похож на то, куда движется развитие языков.
Именно поэтому, имхо, если начать изучать программирование вообще именно со СмолТока — потом будет тяжелее. Привыкнуть, что for — это не сообщение, принимаемое цифрой 1
FAQ — це мiй ай-кью!
Re[14]: Oberon???????????????????????????????????
От: LaptevVV Россия  
Дата: 26.10.04 13:24
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

S>Итак, пока что у нас Оберон — C# идут один-в-один, за исключением void. Во всем остальном паритет.

Ага, почитайте вот это

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

В начале 2002 г. Майкрософт на месяц приостановила нормальную работу, чтобы программистский персонал мог специально сосредоточиться на проблемах безопасности и надежности программ. Если оценить количество программистов Майкрософт в 20 тысяч человек при зарплате от $150 тыс. в год и выше, то стоимость месячника повышения квалификации выйдет не меньше 250 миллионов долларов. Майкрософт в состоянии это себе позволить. Остальным, видимо, все же дешевле перейти на инструменты программирования, где проверки индексов массивов не отключаются. Впрочем, и сама компания Майкрософт в настоящее время переходит на платформу .NET, в которой главный язык программирования — т.наз. C# — смоделирован во многом, в том числе и в отношении безопасности программирования, по образцу Оберона.

Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.