Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - valexey

Страницы: 1 ... 130 131 [132] 133
1966
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 04:42:26 pm »
Кстати, для орбитального комплекса, не реального конечно, а модели, это было бы здорово! По кр. мере мотивация бы сразу повысилась. :-)  Это ж замкнутый жилой комплекс! Там и мальчикам есть где развернуться, и девочкам.

А насчет требования универсальности... Инструмент должен быть конечно достаточно универсальным, но нужно иметь меру, а то окажется что и ножку отпиливаем и суп варим, и дрова колем, и штаны зашиваем вот этим: http://www.youtube.com/watch?v=Ek2dQx00DkU (советую досмотреть до конца, вначале там скучновато). :-)

1967
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 04:23:37 pm »
Но, вопрос в том, чему мы хотим научить?
Представьте, что учитель на уроке труда пытается научить ученика отпиливать заготовку тупой и не разведёной ножовкой, которую зажимает при каждом движении. Инструмент, используемый при обучении, исключительно важен для самого обучения. Инструмент, используемый при обучении, должен сочетать в себе высокое качество и лёгкость в использовании. Уже потом, когда бывший ученик закончит ВУЗ и уйдёт на производство, вот там пусть и работает с ЧПУ.
Так я ж и не против! Но у нас сейчас может просто получиться, что учитель на уроке труда будет учить ученика посредством отличной, острой, разведеной, удобной в обращении ножовки варить суп.

1968
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 04:16:58 pm »
Конечно нужно иметь хороший инструмент. Но инструмент не может быть хорош сам по себе, он всегда хорош для какой-то задачи. Поэтому надо вначале корректно поставить задачу и потом уже к ней пробовать применить (мысленно хотя бы) имеющиеся инструменты.

Я не хочу противопоставлять Луа и Оберон. Это как-то даже немного глупо... Я хочу разобраться что к чему.

(Lua используют как язык для непрограммистов -- язык для геймдизайнеров в основном, чтобы они могли заскриптовать часть логики уровня игрушки например).

Например хотим ли мы, чтобы из этого общего курса человек узнал что такое указатель/ссылка? Как мы будем объяснять что это такое?

1969
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 04:05:07 pm »
На самом деле, тут нужно очень-очень аккуратно. Я безусловно согласен что язык должен быть очень-очень простой. Но, вопрос в том, чему мы хотим научить? Почему например не Lua, которая, вообще говоря, проще Оберона? Ведь мы автоматизации учим? Какие базовые понятия и навыки мы хотим чтобы закрепились у человека?

1970
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 03:51:15 pm »
Учить надо автоматизации труда. Убирать рутину из работы, перепоручать кремневым слугам. Эдакие высокотехнологичные уроки труда :-)

Это пригодится каждому, даже домохозяйке может пригодиться.

Но вообще, это конечно отдельная тема. И отдельно нужно думать как этому научить так, чтобы человек не растерялся в макоси, линуксе и винде. И ещё в том что там придумают.

Ясно что при такой постановке задачи так или иначе нужно рассказывать о скриптинге (ибо это и есть суть автоматизация), и языках которые под эту задачу приспособлены.

1971
Цитата: Сергей Прохоренко
Мы говорим о разных вещах. Длинных типов обычно даже слишком много разных, что ведет к несовместимости по типу. Поэтому, например, Вирт все их просто отбросил в Обероне-07. Ему это было сделать просто - он ведь не разрабатывает игры - ему и не нужны длинные типы.

У этих библиотечных типов есть еще один порок - программисту легко ошибиться в своих запросах. Слишком короткие типы приведут к переполнению, а слишком длинные сожрут место в памяти и на диске и замедлят обработку данных.

Я же писал не о длинных типах, а о типах переменной длины (похоже на динамические массивы). Если число короткое, то оно хранится целиком, а если длинное, то вместо самого числа в ячейке хранится указатель на другую ячейку необходимой длины, где хранится само число.

У меня очень сильные сомнения, что эти проблемы решены хоть в каком-то языке программирования, включая КП.
Собственно я говорил именно об этом. Именно эти числа, о которых вы говорите есть сразу в Haskell и Erlang'e. Функция подсчета факториала от 5ти будет одинаково использоваться и для подсчета от 10000. В первом случае будет использован int32, во втором случае, начиная с некоторого шага, будет использовано длинное целое (переменной длины). При этом тип останется тот же -- Integer.

Цитата: Сергей Прохоренко
Поэтому я призываю всех подумать, как реально их можно решить. Полный отказ от указателей или какой-то другой абсолютно необходимой функциональности, требование к программисту всё инициализировать при объявлении каким-нибудь мусором, попытка всё спихнуть на обработку исключения - не считаются решением проблемы.
Ну, я собственно уже предложил :-)

1972
Вообще, скажем в яве, является распространенной практикой не использовать нулевые указатели вообще.

Делается это так (допустим у нас есть метод который должен возвращать найденую строку, иногда он строку не находит, и что в этом случае делать? а вот что):
class SomeClass {
    static nullString = "SomeClass null string";

    String findString(int id) {
        if (canFind(id)) // получилось найти
            return foundString; // возвращаем найденую строку
        else
            return nullString;
    }
}
Т.о. нуль оно не возвращает никогда. Всегда возвращается некое осмысленное значение. Это не панацения конечно, но это сильно помогает отладке и диагностике ошибок. Работа программы становится вроде как более предстказуемой с случае ошибки.

К сожалению Ява, в отличае от например Ады, не позволяет определить тип ненулевой ссылки. А тут бы оно было бы очень полезно. Поэтому среди Адовцев Ява считается языком маленьким и слабеньким :-)

1973
Т.е. программа должна получаться верна по построению. Не должно быть зацикливаний, выходов за границы, численных переполнений.

А чем, собственно, зацикливание отличается от просто очень долгого алгоритма? С точки зрения конечного результата в виде "зависания".
Тут есть отличие -- знаем мы что оно зациклилось, или не знаем. Если знаем, тогда ждать смысла не имеет, надо убить (если зациклилось), если мы гарантировано знаем что алгоритм конечный, то можем подождать. Более того, можем как-то проследить процесс исполнения и что-то спрогнозировать. Т.е. процесс получаем управляемый.

1974
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 12:07:08 pm »
Учитель (в школе) должен прежде всего суметь заинтересовать и заинтересовавшемуся помочь разобраться. В плане программирования язык тут вторичен. Главное чтобы он не мешал.

1975
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 11:59:03 am »
лет 16 и выше :-)
Т.е. либо интересующиеся старшекласники, либо студенты.

1976
Общий раздел / Re:Оберон в образовании.
« : Февраль 17, 2011, 11:47:01 am »
Да, это всё конечно применимо к IT-специалистам, причем возможно именно к системным программистам. Для других специальностей должен быть какой-то другой подход конечно же.

1977
Да, я тоже полагаю что на хаскеле можно сделать такой EDSL и с типизацией там будет всё хорошо. Хаскель тем и хорош, что там можно обкатывать новые парадигмы :-) Собственно для того он и делался, делается и будет делаться.

Но в последствии неплохо бы иметь отдельный компилятор для такого язычка. Потому как ghc это явный оверкил :-)

Но вначале надо поэкспериментировать/подумать как он вообще должен выглядеть.

1978
Общий раздел / Оберон в образовании.
« : Февраль 17, 2011, 11:41:33 am »
Тут можно таки спокойно обсудить место оберона в образовательном процессе.

Мое мнение (я не преподаватель, так что это мнение со стороны): Oberon хорош как пример типичного императивного структурного языка без украшательств. На его примере хорошо показывать какие проблемы решает структурное программирование, и, однако, какие проблемы в ИЯ остаются не решенными. Хорошо Оберон в этом случае проходить на пару с Си, показав что несмотря на внешние отличия (синтаксис) сущность едина в общем то, и имеется общий сет проблем.

Потом можно показать как эти проблемы прикрываются в современных промышленных языках. Например в C#.

Ну а также обзор и отработка методик позволяющие эти дыры обходить (на Обероне том же).

Ну и вывод из всего этого -- нет в мире совершенства, эволюция ЯП не остановилась, и в Computer Science ещё много что нужно сделать.

Это всё конечно имеет смысл при условии что нам нужено получить человека думающего, а не безупречного исполнителя.

1979
Т.е. в отличае от современного ФП, где грубо говоря нет присваиваний вообще и нет изменения значений чего-либо, в императивном не тьюринг полном языке, я думаю что можно будет разрешить некоторые типы изменений по крайней мере локальных переменных.

Ну, например та же сортировка массива -- сортировка будет вестись без дополнительного выделения памяти, т.е. прямо в самом массиве. В отличае от ФП, где придется плодить копии массивов, ведь там данные иммутабельны, и изменять тот же массив мы не имеем права (да, я знаю про монаду IO и монаду ST, но это таки отступление некоторое от канонов, и они таки дают меньшую надежность чем таковой не тьюринг-полный императивный язык).

1980
Общий раздел / Re:Оберон-конференция на jabber
« : Февраль 17, 2011, 10:27:34 am »
Ну, совсем всё не получится, всё же форматы разные. Но таки да, частично будет переведено.

Страницы: 1 ... 130 131 [132] 133