Пока что вашу идею я понять не могу, потому что «Синергия человеческого интеллекта и машинной безошибочности» — слишком неформальное определение. Изложите поподробнее. Если нравится LabView — ну так можно писать на LabView, система уже есть.
Там нет никакого искусственного интеллекта. Там суть проста: надо разговаривать с компьютером на языке предметной области.
Т.е. если нужна математика, рисуете формулы.
Если нужна электротехника, рисуете цепи.
Авторы справедливо пишут, что на С цепи рисовать как-то трудно.
Так что в принципе тут ничего не выходит за рамки традиционного программирования, просто вместо текстового языка вам дают возможность создавать и графические средства выражения своих мыслей.
Charles Simonyi — вовсе не «какой-то», а один из основателей Microsoft, потративший годы и кучу ресурсов на нетекстовые языки. Т.е. я точно знаю, что он занимался этим направлением предметно, его команда реально создала такой язык и продвигала его. Не вышло. Я не говорю, что я вам не доверяю, я просто не знаю о вашем нетекстовом языке и о том, где он используется.
То, о чём вы пишете — это как раз Intentional programming. Об этом восхищённо пишет Чарнецки в монографии «Порождающее программирование» (которую рекомендую).
Суть как раз в том, чтобы создать среду проектирования, позволяющую создавать собственные графические domain-specific languages. Если вы пишете математическую систему, там будут красивые интегралы и суммы, а если моделируете электроцепь — резисторы и конденсаторы.
На бумаге это выглядит всё очень хорошо, но на практике не выстрелило, хотя были затрачены годы труда мощных разработчиков. Я понимаю, что неуспех ещё не доказательство, но мне рассуждения на эту тему кажутся не очень продуктивными. Потому что если объявить эксперимент Intentional programming «первым блином», значит, нужен второй блин, за который возьмётся крупная сильная команда. Я пока такой команды не вижу.
То есть обсуждать эти идеи на хабре можно лишь теоретически. А предметно надо идти к Гуглу или кому-нибудь в этом роде.
Форт здесь исключительно ради примера, я не хотел обсуждать Форт. Вы пишете про «нетекстовые языки». Я не совсем понимаю, о чём речь.
Сам я лично слабо верю в них по куче самых разных причин. Приводил уже ссылку на Intentional Programming, автору которого склонен доверять как профессионалу.
С другой стороны, визуальные языки вроде Labview/Simulink существуют в своих областях; это не будущее, это настоящее :)
Вот скажите, зачем вы это пишете? Вы из принципа не хотите никакого конструктива? Чем обвинять меня в том, что я не читаю ваших полезных комментариев, дайте ссылку на комментарий.
Я рад, что люди выпускали хорошие книжки, но надеялся, что вы что-то новое успели прочесть за последние 17 лет. Тем более, хорошего автора.
В данном топике вы не писали никаких конструктивных вещей, только критику.
Указанная книга мне известна, да только это единственное написание «Страустрап», сделанное в тёмные 90-е годы непонятно откуда взявшим это написание переводчиком. Что, повторять теперь его ошибку? Почитайте более свежие книги того же автора.
Только добрался спросить. А что он даёт?
Ну кроме того, что это (вполне вероятно) добротный язык. Какое новое пространство мысли (по сравнению с набором C++ + Haskell + Forth, допустим) он откроет?
«Страустрап» — вообще такого автора нет.
Он не использует, а я использую.
Топик — не об используемых книгах, а о том, какие нестандартные подходы к программированию полезны сегодня. Если вам они неинтересны, это ещё не значит, что их нельзя применить.
Если вы работаете с языками (VB.NET, Java, C#) вам будет сравнительно нетрудно перепрыгнуть с одного языка на другой. Это вопрос пары месяцев интенсивной практики. Аналогично, с Haskell на Standard ML.
Если же вы в глаза не видели Haskell, перейти на него с Java будет очень трудно. Поэтому я бы хотел охватить некий минимальный базис языков, который позволяет себя чувствовать комфортно.
Грубо говоря, если есть выбор — изучить VB.NET, Java и C# или Java, Haskell, Forth, конечно, я выберу второй вариант, потому что он лучше подготавливает к возможному «многоборью» в условиях разных языков.
Я думаю, пока программирование находится на ранней фазе, это не так важно. В процессе обучения можно довольно легко прыгать между языками. А вот после десятилетнего опыта разработки на каком-то одном языке — уже нет. Слишком велика инерция.
Компилятор Форта, кстати, доступен для курсового.
Т.е. если нужна математика, рисуете формулы.
Если нужна электротехника, рисуете цепи.
Авторы справедливо пишут, что на С цепи рисовать как-то трудно.
Так что в принципе тут ничего не выходит за рамки традиционного программирования, просто вместо текстового языка вам дают возможность создавать и графические средства выражения своих мыслей.
То, о чём вы пишете — это как раз Intentional programming. Об этом восхищённо пишет Чарнецки в монографии «Порождающее программирование» (которую рекомендую).
Суть как раз в том, чтобы создать среду проектирования, позволяющую создавать собственные графические domain-specific languages. Если вы пишете математическую систему, там будут красивые интегралы и суммы, а если моделируете электроцепь — резисторы и конденсаторы.
На бумаге это выглядит всё очень хорошо, но на практике не выстрелило, хотя были затрачены годы труда мощных разработчиков. Я понимаю, что неуспех ещё не доказательство, но мне рассуждения на эту тему кажутся не очень продуктивными. Потому что если объявить эксперимент Intentional programming «первым блином», значит, нужен второй блин, за который возьмётся крупная сильная команда. Я пока такой команды не вижу.
То есть обсуждать эти идеи на хабре можно лишь теоретически. А предметно надо идти к Гуглу или кому-нибудь в этом роде.
Сам я лично слабо верю в них по куче самых разных причин. Приводил уже ссылку на Intentional Programming, автору которого склонен доверять как профессионалу.
С другой стороны, визуальные языки вроде Labview/Simulink существуют в своих областях; это не будущее, это настоящее :)
Я рад, что люди выпускали хорошие книжки, но надеялся, что вы что-то новое успели прочесть за последние 17 лет. Тем более, хорошего автора.
Указанная книга мне известна, да только это единственное написание «Страустрап», сделанное в тёмные 90-е годы непонятно откуда взявшим это написание переводчиком. Что, повторять теперь его ошибку? Почитайте более свежие книги того же автора.
Ну кроме того, что это (вполне вероятно) добротный язык. Какое новое пространство мысли (по сравнению с набором C++ + Haskell + Forth, допустим) он откроет?
Он не использует, а я использую.
Топик — не об используемых книгах, а о том, какие нестандартные подходы к программированию полезны сегодня. Если вам они неинтересны, это ещё не значит, что их нельзя применить.
Несмотря на поддержку MS, что-то заглох проект.
Если вы работаете с языками (VB.NET, Java, C#) вам будет сравнительно нетрудно перепрыгнуть с одного языка на другой. Это вопрос пары месяцев интенсивной практики. Аналогично, с Haskell на Standard ML.
Если же вы в глаза не видели Haskell, перейти на него с Java будет очень трудно. Поэтому я бы хотел охватить некий минимальный базис языков, который позволяет себя чувствовать комфортно.
Грубо говоря, если есть выбор — изучить VB.NET, Java и C# или Java, Haskell, Forth, конечно, я выберу второй вариант, потому что он лучше подготавливает к возможному «многоборью» в условиях разных языков.