Здравствуйте, VladD2, Вы писали:
VD>Я бы на этом и остановился.
Вот вот. Тем более, что существует ненулевая вероятность, что знание этих платформ в реальной жизни может принести кучку бутербродов с маслом. То есть двух зайцев одним залпом: и алгоритмам учатся и прикладные технологии изучают.
Здравствуйте, Kluev, Вы писали:
K>Выполняется прямо в командной строке без компиляции, написания функции и т.п. ИМХО если учить то лучше питона не найти
Разницы с тем же шарпом никакой. Что до компиляции, то нажать на F5 или написать "csc filename.cs" вряд ли окажется проблемой.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Я тоже думаю что питон очень хороший вариант для обучения. FR>Тем более позволяет продемонстрировать все наиболее распрастраненые подходы к программированию и процедурное и функциональное и ООП и обобщенное программирование. FR>У него только один недостаток динамическая типизация.
Я вот тут скачал книжку по Питону. Поглядел. Есть конечно в Питоне интересные решения. Но рельных приемуществ пред тем же шарпом нет. А вот недостатки вроде отсуствия типизации есть. Нормальный программист должен понимать что такое типы и статическая типизация.
... << RSDN@Home 1.1.4 beta 3 rev. 206>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, FR, Вы писали:
FR>>Я тоже думаю что питон очень хороший вариант для обучения. FR>>Тем более позволяет продемонстрировать все наиболее распрастраненые подходы к программированию и процедурное и функциональное и ООП и обобщенное программирование. FR>>У него только один недостаток динамическая типизация.
VD>Я вот тут скачал книжку по Питону. Поглядел. Есть конечно в Питоне интересные решения. Но рельных приемуществ пред тем же шарпом нет. А вот недостатки вроде отсуствия типизации есть. Нормальный программист должен понимать что такое типы и статическая типизация.
У питона куча реальных преимуществ перед Шарпом, так же как и у Шарпа перед Питоном.
А главное же преимущество более высокий уровень языка. (Да кое-что я тебе в теме C++ и Net продемонстрировал, но ты куда-то пропал оттуда)
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Kluev, Вы писали:
K>>Выполняется прямо в командной строке без компиляции, написания функции и т.п. ИМХО если учить то лучше питона не найти
VD>Разницы с тем же шарпом никакой. Что до компиляции, то нажать на F5 или написать "csc filename.cs" вряд ли окажется проблемой.
Как раз для обучения разница большая, можно начать с однострочных программ, с обычного процедурного программирования не забивая голову не нужными в начале обучения class и public static void Main()
Здравствуйте, VladD2, Вы писали:
VD>...Только логических операций лучше на нем не давать. Они в нем такие же кривые как в Паскле (бен разделения на бинарные илогические).
Ну Вы опять говорите о Паскале имея в виду тот древний, который прямой потомок Алгола. В современном (от 1994 года) Component Pascal (тот который есть модифицированный Oberon-2) бинарных операций с числами нет вообще. Число — это математическая абстракция, программист не должен знать как она реализована на конкретной машине. Это делает язык переносимым между любыми архитектурами компьютеров. Для бинарных операций существует специальный тип данных — SET (множество). Множество — тоже математическая абстракция, и тут снова программист не должен знать как она реализована на конкретной машине. Для SET-ов реализованы все характерные для множеств операции (объединение, разность, пересечение, симметричная разность).
Для логических операций, само-собой, предусмотрен тип BOOLEAN... думаю, излишне о нем что-либо рассказывать...
И так, в современном Паскале (1) арифметические, (2) логические и (3) бинарные операции можно осуществлять только над соответствующими типами данных: (1) числовыми, (2) буллевым, (3) множествами. То есть, все безупречно purify! Для школьников и студентов — то что доктор прописал!
P. S.
Ну, чтобы уж совсем не отрываться от действительности, и иметь возможность использовать обероны в системном программировании, так уж и быть (хотя с точки зрения математики это и бессмысленно), предусмотрены инструкции конвертации чисел во множества, и множеств в числа:
set := BITS(integer);
integer := ORD(set);
при этом, разумеется, учитываются архитектурные особенности представления чисел на используемом компьютере, так что программа остается переносимой.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, LaptevVV, Вы писали:
VD>Оберон — это мертвях. Учить ему будущих программистов все равно что учить латыни будущих переводчиков. Неужели нехватает живых языков? Чем та же Ява или Шарп хуже?
Оберон не мертвяк, то что Вы о нем ничего не знаете говорит о Вас и только о Вас.
Ява и Шарп хуже Оберона тем, что Оберон проще, чище и меньше и в то же время он полный, в смысле, достаточный современный объектно ориентированный модульный императивный язык общего назначения со строгой статической типизацией и встроенными механизмами безопасности (проверка индексов, правильное приведение типов, сборка мусора).
Летом 1996 года профессором Калифорнийского университета в Ирвине, учеником Н.Вирта Михаэлем Францем и его аспирантом Томасом Кистлером была представлена технология распространения исполнимого кода в Интернет, названная авторами Juice (по-русски — сок). Juice основан на использовании Оберона и влючает с одной стороны инструментальную компоненту для Оберон-системы Oberon System 3, обеспечивающую компиляцию написанных на Обероне модулей в платформно-независимое представление. Второй частью Juice является дополнение (plug-in) к Интернет-браузерам, обеспечивающее компиляцию получаемого Juice-кода "на лету" в родной код, его загрузку и исполнение.
Juice превосходит Java-технологию во всем кроме величины затрат на рекламу:
1) Основан на более простом и совершенном языке
2) Обеспечивает существенно большую скорость исполнения аплетов
3) Код Juice-аплета компактнее байт-кода Java
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, FR, Вы писали:
FR>>Я тоже думаю что питон очень хороший вариант для обучения. FR>>Тем более позволяет продемонстрировать все наиболее распрастраненые подходы к программированию и процедурное и функциональное и ООП и обобщенное программирование. FR>>У него только один недостаток динамическая типизация.
VD>Я вот тут скачал книжку по Питону. Поглядел. Есть конечно в Питоне интересные решения. Но рельных приемуществ пред тем же шарпом нет. А вот недостатки вроде отсуствия типизации есть. Нормальный программист должен понимать что такое типы и статическая типизация.
Я сам упертый Cpp-шник начинавший с паскаля (потом джава был, потом плюсы). Если бы я начал с нуля то начал бы именно с питона. Отсутсвие типизации на началном этапе это не минус а плюс. А чтобы оценить кайф скачай не книгу а среду. Учится можено прямо в интеракивном режиме плавно переходя от калькулятора к программированиюю Иеальный вариант чтобы обяснить все быстро и на пальцах. Вот пример
# начали с калкулятора
>>> 2+2
4
# перешли к функции
>>> def sum(a,b) : return a+b
# заюзали функцию
>>> sum(2,2)
4
# теперь к классу:
>>> class Summator:
a = 0
b = 0
def sum(self):
return self.a + self.b
# сразу заюзали класс:
>>> s = Summator()
>>> s.a = 1
>>> s.b = 2
>>> s.sum()
3
>>>
С точки зрения возможности найти работу Оберон — мервяк.
Нет, в универе о нем конечно же стоит рассказать на спецкурсах,
но использовать его в качестве базового языка программирования
было бы пожалуй нечестно по отношению к студентам.
В самой Швейцарии, откуда вроде пошел Оберон, этот язык не очень-то популярен
в учебных заведениях. Возмем к примеру всемирно известный ETH http://www.eth.ch
Это там, где Вирт работал. Так что это колыбель Оберона.
Дальше смотрим учебные программы http://se.inf.ethz.ch/teaching/index.html
и что мы там видим? Oberon там конечно иногда проскакивает, но очень и очень редко.
Новички, как я понял, начинают с Eiffel
Возможно я плохо искал...
Здравствуйте, bkat, Вы писали:
B>этот язык не очень-то популярен
Именно об этом Вирт и рассказывает в своем докладе:
Преподавание информатики: потерянная дорога
Приветствие на открытии Международной конференции по преподаванию информатики ITiCSE
г. Аархус (Дания), 24 июня 2002 г.
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, bkat, Вы писали:
B>>этот язык не очень-то популярен
СГ>Именно об этом Вирт и рассказывает в своем докладе: СГ>
СГ>Преподавание информатики: потерянная дорога
СГ>Приветствие на открытии Международной конференции по преподаванию информатики ITiCSE
СГ>г. Аархус (Дания), 24 июня 2002 г.
Да, я это читал. Что это меняет?
Повторюсь, студентам об Обероне (и не только) стоит рассказать.
Но будет жестоко по отношению к ним делать упор именно на Оберон.
В самом EHT, как я понял, Оберон позиционируется как исследовательский язык.
И это нормально. Но это не язык индустриального программирования.
Я конечно понимаю желание изменить мировые тенеденции.
Но студенты то тут причем?
Прагматичные швейцарцы вот учат Java, С++, C# и еще многое по мелочам...
В конце концов мы же все прекрасно понимаем, что язык — это дело десятое.
Реальные проблемы лежат в совсем иной плоскости...
СГ>1) Основан на более простом и совершенном языке
Который сокращает время разработки? Васик еще проще и совершеннее. СГ>2) Обеспечивает существенно большую скорость исполнения аплетов
Это не является приоритетной задаче для апплетов. СГ>3) Код Juice-аплета компактнее байт-кода Java
Это не так важно в современном интернете.
СГ>компиляцию получаемого Juice-кода "на лету" в родной код
А вот одним из приоритетных направлений является безопасность. Скомпилировать и запустить в браузере
что-то из инета? В родной код???
Здравствуйте, FR, Вы писали:
FR>Как раз для обучения разница большая, можно начать с однострочных программ, с обычного процедурного программирования не забивая голову не нужными в начале обучения class и public static void Main()
Здравствуйте, AndrewVK, Вы писали:
FR>>Как раз для обучения разница большая, можно начать с однострочных программ, с обычного процедурного программирования не забивая голову не нужными в начале обучения class и public static void Main()
AVK>SnippetCompiler
Здравствуйте, Obel, Вы писали:
СГ>>1) Основан на более простом и совершенном языке O>Который сокращает время разработки? Васик еще проще и совершеннее.
Ну, вот, еще один "спец" нашелся. Утверждает что Васик проще и совершеннее Оберона.
СГ>>2) Обеспечивает существенно большую скорость исполнения аплетов O>Это не является приоритетной задаче для апплетов.
СГ>>3) Код Juice-аплета компактнее байт-кода Java O>Это не так важно в современном интернете.
А Вы случаем не на компанию по производству компьютеров и коммуникаций работаете? Они очень заинтересованы в том чтобы людям надо было как можно более мощное и быстрое оборудование.
СГ>>компиляцию получаемого Juice-кода "на лету" в родной код
O>А вот одним из приоритетных направлений является безопасность. Скомпилировать и запустить в браузере O>что-то из инета? В родной код???
Именно в родной код. Безопасность встроена в сам язык. В оберонистой программе никогда не бывает переполнения буфера (range index check). И Вам никогда не удасться что-то читать или писать по неправильному адресу, просто потому что в языке нет такого понятия как адрес, адресная арифметика, и самого адресного пространства как такового.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, FR, Вы писали:
FR>>#$%^&*^*((*&&((?
AVK>Тулзень есть такая, которая позволяет просто выполнять код на шарпе. http://www.sliver.com/dotnet/SnippetCompiler/
Да я уже посмотрел
По сравнению с интерпретатором это костыли. Вообще нормальный редактор кода например SciTE позволяет тоже самое для кучи языков включая и питон и C++ и C#