Здравствуйте, LaptevVV, Вы писали:
AVK>>А джава чем не прокатила? LVV>Как один из вариантов — годится. Но с Явой я уже знакомиолся худо бедно, а с додиезом — еще нет LVV>Просто интереснее.
ИМХО разница джавы (как языка) и шарпа в том, что у шарпа есть куча всяких примочек. Оно конечно здорово упрощает жизнь профессионального программера, но для обучения оно вобщем то ни к чему. А с точки зрения освоения языка джава имхо будет всеж таки попроще шарпа. Отсюда будет меньше времени потрачено на разборки с синтаксическими заморочками шарпа, вроде того чем эвент отличается от обычного поля типа делегата или почему енум и референсный тип и value.
Здравствуйте, AndrewVK, Вы писали:
AVK>>>ИМХО надо добавить Ruby и выкинуть PL/1. ЗХ>>ОК, учтем. PL/I я просто не видел еще, интересно. AVK>Лучше бы тебе его не видеть
Теперь точно буду смотреть... Заинтригован.
ЗХ>>>>2Модераторz: не знаю, чи в отдельную ветку это выкинуть? AVK>>>Думаешь стоит? ЗХ>>хз... вот сейчас снесут весь топик в войны AVK>Да вроде никто пока за это не голосовал.
А пора бы, откровенно говоря. Сейчас начну, пожалуй.
ЗХ>>да и офтоп это здесь... AVK>Да нет вроде пока. Сравнение языков самый что ни на есть онтоп.
А обсуждение будущей статьи — уже так себе.
ЗХ>>может вообще порубать ее к чертям топиков на 5-6? AVK>А смысл?
Открываться в дереве быстрее будет после обновления
А если серьезно — тут, кажется, уже как раз 5-6 тем и обсуждают (чему учить детей, статью, Оберон вс. все, Модульность... и т.п.)
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, AndrewVK, Вы писали:
AVK>>>>ИМХО надо добавить Ruby и выкинуть PL/1. ЗХ>>>ОК, учтем. PL/I я просто не видел еще, интересно. AVK>>Лучше бы тебе его не видеть ЗХ>Теперь точно буду смотреть... Заинтригован.
Тогда ищи книжку Лепин-Дмитрюков. Программирование на PL/I (или ПЛ/1 )
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, LaptevVV, Вы писали:
AVK>>>А джава чем не прокатила? LVV>>Как один из вариантов — годится. Но с Явой я уже знакомиолся худо бедно, а с додиезом — еще нет LVV>>Просто интереснее.
AVK>ИМХО разница джавы (как языка) и шарпа в том, что у шарпа есть куча всяких примочек. Оно конечно здорово упрощает жизнь профессионального программера, но для обучения оно вобщем то ни к чему. А с точки зрения освоения языка джава имхо будет всеж таки попроще шарпа. Отсюда будет меньше времени потрачено на разборки с синтаксическими заморочками шарпа, вроде того чем эвент отличается от обычного поля типа делегата или почему енум и референсный тип и value.
Спасибо. Учту.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>Здравствуйте, AndrewVK, Вы писали:
AVK>>>>>ИМХО надо добавить Ruby и выкинуть PL/1. ЗХ>>>>ОК, учтем. PL/I я просто не видел еще, интересно. AVK>>>Лучше бы тебе его не видеть ЗХ>>Теперь точно буду смотреть... Заинтригован.
LVV>Тогда ищи книжку Лепин-Дмитрюков. Программирование на PL/I (или ПЛ/1 )
И где мне ее искать? В инете нету, а к библиотекам институтов доступу, как сами понимаете, уже тоже нету
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, LaptevVV, Вы писали:
LVV>>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>>Здравствуйте, AndrewVK, Вы писали:
AVK>>>>>>ИМХО надо добавить Ruby и выкинуть PL/1. ЗХ>>>>>ОК, учтем. PL/I я просто не видел еще, интересно. AVK>>>>Лучше бы тебе его не видеть ЗХ>>>Теперь точно буду смотреть... Заинтригован.
LVV>>Тогда ищи книжку Лепин-Дмитрюков. Программирование на PL/I (или ПЛ/1 ) ЗХ> И где мне ее искать? В инете нету, а к библиотекам институтов доступу, как сами понимаете, уже тоже нету
А вот еще была Олюнин, Фролов.
И кстати, про Рефал-то все забыли! А язык-то классный!
Вот тебе адресочек
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Зверёк Харьковский, Вы писали:
AVK>>Лучше бы тебе его не видеть ЗХ>Теперь точно буду смотреть... Заинтригован.
Когда найдешь что почитать и чем компилять(под виндой) мне скажи, а то меня тоже давно его препроцессером интригуют.
... << RSDN@Home 1.1.4 rev. 185 >>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Зверёк Харьковский, Вы писали:
AVK>>>Лучше бы тебе его не видеть ЗХ>>Теперь точно буду смотреть... Заинтригован. WH>Когда найдешь что почитать и чем компилять(под виндой) мне скажи, а то меня тоже давно его препроцессером интригуют.
Не, не фонтан! Я пробовал! (с)Лукашин
Можно немного прочитать в книжке Брауна "Макропроцессоры и мобильность ПО" издательства Мир серия МО ЭВМ
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
LVV>>>Тогда ищи книжку Лепин-Дмитрюков. Программирование на PL/I (или ПЛ/1 ) ЗХ>> И где мне ее искать? В инете нету, а к библиотекам институтов доступу, как сами понимаете, уже тоже нету LVV>А вот еще была Олюнин, Фролов.
А все, я нашел уже. Полный Language Reference IBM-овский. Правда, по-аглицки.
А вот вам к вопросу о живости языка:
IBM PL/I for AIX, V2.0
IBM United States Software Announcement June 22, 2004
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, LaptevVV, Вы писали:
LVV>>>>Тогда ищи книжку Лепин-Дмитрюков. Программирование на PL/I (или ПЛ/1 ) ЗХ>>> И где мне ее искать? В инете нету, а к библиотекам институтов доступу, как сами понимаете, уже тоже нету LVV>>А вот еще была Олюнин, Фролов. ЗХ>А все, я нашел уже. Полный Language Reference IBM-овский. Правда, по-аглицки. ЗХ>А вот вам к вопросу о живости языка: ЗХ>
ЗХ>IBM PL/I for AIX, V2.0
ЗХ>IBM United States Software Announcement
ЗХ>June 22, 2004
ЗХ>http://www-306.ibm.com/common/ssi/fcgi-bin/ssialias?subtype=ca&infotype=an&appname=iSource&supplier=897&letternum=ENUS204-129
Катта рахмат. Это ж IBM-ский язык-то! Его и надо было только у IBM искать!
LVV>>И кстати, про Рефал-то все забыли! А язык-то классный! LVV>>Вот тебе адресочек ЗХ>Неее, РЕФАЛ-то у мине лежит, ждет своего часу. Я где-то тут даже Владу пояснял, что это за язык. ЗХ>Да только не императивный он, вроде?
Не — по ссылке на главную страницу выйдешь, там от автора — Турчина — много инфы, вплоть до полного руководства!
Кстати, термин "конкретизация" (воплощение — инстанцирование ))) — оттуда.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Здравствуйте, LaptevVV, Вы писали:
LVV>>И кстати, про Рефал-то все забыли! А язык-то классный! LVV>>Вот тебе адресочек ЗХ>Неее, РЕФАЛ-то у мине лежит, ждет своего часу. Я где-то тут даже Владу пояснял, что это за язык. ЗХ>Да только не императивный он, вроде?
Вроде бы как очень функциональный, правдо давненько я его ковырял...
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>А разница между прочим на столько громадна, что даже не смешно. Перво-наперво надо объяснить КУДА писать исходный код программы. Модуль — это и есть то самое место куда надо писать исходный код программы, в том числе код классов надо писать внутрь модуля.
AVK>Представь что я школьник и ответь на простой вопрос — а зачем все это?
Десять лет назад я сам был школьником, которому в рамках школьной программы объясняли азы программирования. При этом использовался язык Modula-2. Уже на втором занятии нам дали задание самим написать программу вычисления корней квадратного уравнения.
Насчет ключевого слова MODULE было сказано так: в программе ДОЛЖНЫ обязательно присутствовать MODULE ProgramName, BEGIN и END ProgramName. До BEGIN объявляем переменные, после BEGIN — пишем код. То же самое с функциями ввода-вывода: учитель показал как ими пользоваться
FROM IO IMPORT WrStr, WrLn;
BEGIN
WrStr("Hello!"); WrLn;
и этого было предостаточно, чтобы мы смогли ими пользоваться.
Здравствуйте, LaptevVV, Вы писали:
LVV>Можно немного прочитать в книжке Брауна "Макропроцессоры и мобильность ПО" издательства Мир серия МО ЭВМ
Валерий Викторович! Ну прекратите дразниться, а?
Ну не у всех же университетская библиотека под рукой!
А то одолжить попрошу
Здравствуйте, Kh_Oleg, Вы писали:
K_O>Насчет ключевого слова MODULE было сказано так: в программе ДОЛЖНЫ обязательно присутствовать MODULE ProgramName, BEGIN и END ProgramName. До BEGIN объявляем переменные, после BEGIN — пишем код.
Ну то есть чисто на заучивание. Ну так никто не мешает точно так же объяснить и про классы в шарпе. Надо писать и все .
Здравствуйте, Kh_Oleg, Вы писали:
K_O>Здравствуйте, AndrewVK, Вы писали:
AVK>>Здравствуйте, Сергей Губанов, Вы писали:
СГ>>>А разница между прочим на столько громадна, что даже не смешно. Перво-наперво надо объяснить КУДА писать исходный код программы. Модуль — это и есть то самое место куда надо писать исходный код программы, в том числе код классов надо писать внутрь модуля.
AVK>>Представь что я школьник и ответь на простой вопрос — а зачем все это?
K_O>Десять лет назад я сам был школьником, которому в рамках школьной программы объясняли азы программирования. При этом использовался язык Modula-2. Уже на втором занятии нам дали задание самим написать программу вычисления корней квадратного уравнения.
K_O>Насчет ключевого слова MODULE было сказано так: в программе ДОЛЖНЫ обязательно присутствовать MODULE ProgramName, BEGIN и END ProgramName. До BEGIN объявляем переменные, после BEGIN — пишем код. То же самое с функциями ввода-вывода: учитель показал как ими пользоваться K_O>
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>А если серьезно — это возвращение к идее мэйнстрима. Грубо говоря, уж очень СмолТок не похож на то, куда движется развитие языков.
Не похож, это точно. И, возможно, в качестве языка для неспециализированных вузов или, тем паче, для школ его не стоит выбирать. Думаю, многое зависит от того, чему обучать людей и на что акцентировать внимание.
А мэйнстрим — ну что мэйнстрим? Мэйнстрим во многом — это просто мода.
Например, когда я учился в институте, Экстремальное программирование рассматривалось большинством как какое-то недоразумение. А сейчас вот пожалуйста — и книг навалом, и, говорят, даже в институтах его преподают.
Я вспоминаю курс "Объектно-ориентированное программирование" у себя в вузе. Скорее, его можно было бы назвать "Изучаем синтаксис С++ за 21 день". Ни слова, собственно, о самом объектном подходе, идеях, концепциях. По-моему, большинство из этого курса вынесло только идею, что "ООП — это когда в структуры можно понапихать функций"
Кстати, почему, например, не выбрали Java? Потому что C++ считался "мэйнстрим". Зато то время, которое могло бы быть потрачено, например, на паттерны проектирования, было убито на "синтаксис конструктора копирования в С++", условно говоря.
ИМХО, учебные заведения в погоне за мэйнстримом всегда будут на несколько шагов позади.
Хотя бы из-за того, что необходимо обучение преподавателей до такого уровня, на котором можно преподавать. Задача вузов — давать студентам концепции, идеи, теории, если хотите. Вещи, более фундаментальные, нежели "синтаксис С++". А практику выносить в курсы лабораторных работ и давать студентам большую свободу для творчества. В конце концов, "The best way to predict the future is to invent it" (c) by Alan Kay
ЗХ>Именно поэтому, имхо, если начать изучать программирование вообще именно со СмолТока — потом будет тяжелее. Привыкнуть, что for — это не сообщение, принимаемое цифрой 1
Хе-хе
Smalltalk опасен. Smalltalk это как наркотик.
Мой совет Вам — не пробуйте его; он может разрушить Вашу жизнь. Когда вы найдете время изучить его (ДЕЙСТВИТЕЛЬНО изучить) вы увидите, что нет ничего (пока), что может с ним сравниться. Конечно, как и для любого наркотика, его опасность зависит от вашего характера. — Энди Бауэр, создатель Dolphin Smalltalk
Здравствуйте, FR, Вы писали:
FR>Он не похож вообще на другие языки. FR>Простота не всегда хорошо, что хорошо видно здесь на примере того же оберона.
Пусть вещи будут простыми, но не проще, чем нужно . Я хочу сказать, что в основе Смолтока лежит очень небольшое количество правил, используя которые можно построить весьма сложные конструкции.
FR>А какой смысл читать код не понимая что он делает? Это примерно как выучить латинский алфавит и кричать что хорошо знаешь латынь?
Ну, не скажи. Когда ты читаешь код на, допустим, не очень хорошо тебе знакомом языке, и встречаешься с непонятной конструкцией, ты пытаешься применить уже имеющиеся знания, чтобы хоть как-то понять, что она делает.
FR>По моему такое длиное объяснение такого элементарного понятия как цикл, уже показывает что с языком что-то не так. Во всяком случае для обучения точно это плохо.
Ну, я всего лишь хотел быть предельно понятным. Моей целью было не объяснить, что такое цикл, а проанализировать этот кусок кода.
FR>Вот только мне кажется что ближе к человеческому мышлению как раз большое количество синтаксических конструкций как и в естественных языках.
Ну, думаю, тут можно спросить мнение человека, разбирающегося с применением артикля в английском языке или со спряжением глаголов в Passato Remoto в итальянском .
На мой взгляд, наиболее просты для обучения вещи, имеющие четкую схему с минимумом отклонений от нее.
Здравствуйте, LaptevVV, Вы писали:
LVV>Кстати, какие альтернативы оберону есть, кто-нить представляет?
Надо учить на Algol-XXI
и первое с чего начать: программирование состоит из разных уровней абстракций
в синтаксисе есть три атомарных конструктива:
перечисление (с возможностью приоритетной группировки)
a,(b,c)
именование (с декларативной возможностью определения области видимости)
a.c b.c
пересылка (с возможностью выбора направления и состояния формального параметра)
a(c) b(c)
Здравствуйте, VladD2, Вы писали:
VD>Предлагая (ну, так для разнообразия) открыть современную стреду вроде VS, Эклипса или Идеи и поглядеть как обстаят дела с пониманием кода в них. Уверю, что будет очень интересно. И окажется, что языки вроде Явы и Шарпа тоже можно успешно изучат без документации.
Представь себе, открывал неоднократно, и VS и IDEA. Действительно, было интересно, особенно то, что для того, чтобы поэкспериментировать с каким-либо классом, приходилось создавать новый проект, компилять его... И все для того, чтобы посмотреть, как работает какой-то метод. А уж если в процессе отладки вдруг пришла бы мысль пройтись дебаггером по какой-то отдельно взятой строчке кода... Или вызвать еще раз метод двумя шагами выше по стеку... Отставить! Действительно интересно потраченное время Впрочем, может, я просто не знаю, как это делается?
Хотя, до того, как я перешел на Смолток, жил я без этих возможностей и даже не замечал неудобства. Но и времени на изучение тех же библиотек уходило не в пример больше.
VD>Прадва на счет тоже я бы усомнился. Я вот как-то пробовал покапаться в смолтоке и быстро бросил. Так как концепции не похожи на прижившиеся в современных языках. А мучиться не хотелось. За то вот Шарп и Яву я освоил очень быстро и без заглядывания в мануалы.
Думаю, тут надо сказать "пасибо" языку С
Я абсолютно согласен, зная С/С++, изучение Явы или Шарпа не будет большой проблемой (ну, может, разве что анонимные классы в Яве поднапрягут слегка . Но это при условии, что ты знаком с С. Я знаю людей, которые шли по пути Pascal/Delphi и имели большие трудности с освоением синтаксиса C#, хотя люди были хорошие программисты. Правда, справедливости ради надо сказать, что и Смолток их не вдохновил .
А для начала работы со Смолтоком тебе естественно, пришлось бы прочитать туториал страниц на 10.
Правда, изучение Self, например, после Смолтока прошло бы так же незаметно, как сейчас для тебя — C#
Здравствуйте, serg_mo, Вы писали:
_>Здравствуйте, FR, Вы писали:
FR>>Он не похож вообще на другие языки. FR>>Простота не всегда хорошо, что хорошо видно здесь на примере того же оберона.
_>Пусть вещи будут простыми, но не проще, чем нужно . Я хочу сказать, что в основе Смолтока лежит очень небольшое количество правил, используя которые можно построить весьма сложные конструкции.
с этим не согласен, по моему гораздо лучше воспринимаются среднее число более емких правил.
FR>>А какой смысл читать код не понимая что он делает? Это примерно как выучить латинский алфавит и кричать что хорошо знаешь латынь?
_>Ну, не скажи. Когда ты читаешь код на, допустим, не очень хорошо тебе знакомом языке, и встречаешься с непонятной конструкцией, ты пытаешься применить уже имеющиеся знания, чтобы хоть как-то понять, что она делает.
гораздо полезнее паралельно читать документацию к этому языку
FR>>По моему такое длиное объяснение такого элементарного понятия как цикл, уже показывает что с языком что-то не так. Во всяком случае для обучения точно это плохо. _>Ну, я всего лишь хотел быть предельно понятным. Моей целью было не объяснить, что такое цикл, а проанализировать этот кусок кода.
я плохо понял, хотя если честно не особо вникал
FR>>Вот только мне кажется что ближе к человеческому мышлению как раз большое количество синтаксических конструкций как и в естественных языках. _>Ну, думаю, тут можно спросить мнение человека, разбирающегося с применением артикля в английском языке или со спряжением глаголов в Passato Remoto в итальянском . _>На мой взгляд, наиболее просты для обучения вещи, имеющие четкую схему с минимумом отклонений от нее.
На мой взгляд проще для изучения вещи которые хорошо ложатся на мышление "обычного" человека, не зависимо от сложности реализации этих вещей на языке програмирования. И судя по тому как распределятеся популярность языков, то именно обычные императивные языки и являются такими.
И еще обучение это одно, а использование другое, по моему слишком простым тяжело полльзоватся.