|
|
|
Робот-программист "Ванюша" (обработка импорт-экспорт справочников)) Ø |
☑ | ||
|---|---|---|---|---|
|
0
vladfind
09.11.05
✎
23:57
|
[b]Роботу-программисту «Ванюше» исполнился годик! 11 ноября 2004 года - рождение идеи.[/b]
Дружно все поздравим! Как и полагается скажем несколько слов и подведём некоторые итоги. Во-первых, огромное спасибо КБП (Кузнецову), за оказанное весеннее внимание и вкуснейший чай в компании симпатичных сотрудниц института. Было приятно и неожиданно разглядеть распечатки настоящего форума в руках кандидата технически наук. Всегда не хватает живого общения с людьми науки в моем провинциальном городке. Во-вторых, огромная благодарность всем участникам темы «Робот программист «Ванюша». Ваши высказанные идеи, нежная критика и замечания помогли взглянуть в глубь проблемы автоматизации программирования. В-третьи, низкий поклон преподавателям, программистам чьи документы и практический результат мне удалось найти на просторах интернета. Жарким и солнечным летом приступил к созданию программного модуля, который сканирует исходный текст программы (крошечные тестовые примеры были написаны на целевых языках Modula, 1C, O2M) и распознает самые простые конструкции. Первым подопытным объектом стал «Комментарий». «Ванюше» долго объяснял правила написания комментарий, а также особенности реализации для различных диалектов. Заочные консультанты сначала улыбались, но потом оценили основательность подхода. Некоторые тесты выдавали либо Ok', либо Error. В зависимости от конкретно диалекта языка программирования. Пришлось обратится к лекциям по грамматике языка (описание с помощью форм Бэкуса – Науэра и прочее, прочее). Рассматривали с роботом-программистом формальные грамматики и языки, их свойства и взаимосвязь с распознавателями. Приобретали начальные знания по регулярным грамматикам и конечным автоматам, контекстно-свободным грамматикам и автоматам с магазинной памятью как теоретической основе построения трансляторов для языков программирования, пытаясь нащупать путь построения распознавателя конструкций языка. 27.07.2005 была создана и отлажена обработка на языке 1С (около 3000 строк), которая сканировала файл с текстом программы, выявляла комментарии, формировала HTML файл с раскрашивала в цвет комментарии. Большую часть кода обработки нашёл в интернете в состоянии Open Source. Спасибо добрым людям. Это существенно сократило написание и отладку программного модуля. МОДА. Язык 1С не столь массовый и популярный в среде программистов. Есть огромный недостаток – за П.О. '1С: Предприятие 7.7' нужно платить деньги. Другая проблема – это отсутствие в пакете компилятора. Софт 1С - это интерпритатор. Увы... С роботом-программистом прочитали лекции, книги, обзоры по языку программирования Prolog. Написали несколько тестовых примеров и выполнили в Prologе. Это совсем не процедурный язык! Было очень не привычно. Пришло ощущение, что в комплект робота-программиста нужно использовать ядро языка программирования логикой. Однако, как выяснилось, по-человечески очень даже трудно смысл написанных программ на языке Prolog. Большие проекты, в коллективе писать, отлаживать очень не просто. Не потому-то ли интерес к нему утихает в кругах программистов? ОТОГИ. Не прошло и года. После многих тестовых запуском различных языков программирования сформировал список инструментов, с помощью которых продолжим исследования и создание П.О робота-программиста «Ванюша»: Язык программирования Java ; http://ru.sun.com/java/ Среда программирования Eclipse; http://www.eclipse.org Реализация языка Prolog на Java; http://lia.deis.unibo.it/research/tuprolog/ Технология программирование мощно развивается. Просматривая диски из компьютерных журналов обратил внимание на CD диск к журналу МирПК, №6, июнь, 2003: Раздел "ПРОГРАММИРОВАНИЕ" Java 2 Runtime Environment, Standard Edition 1.4.1_02 Java 2 Platform SDK, Standard Edition (J2SE) 1.4.1_02 Java Web Services Developer Pack 1.1 IBM Jikes 2.2.1 (Java Virtual Machine) JODE 1.1.1 (Decompiler& Optimizer for Java) Jasmin (Java Assembler Interface) Excelsior JET (Java Optimizer) Basic to Java VM (Jaba 1.0.1) Visual Basic to Java VMComponent Pascal to Java VM (GPCP 1.2.x) C/C++ to Java VM (c2j) Forth to Java VM (DELTA Forth System 0.8) Fortran to Java VM (f2j 0.6) Modula-2 to Java VM (Canterbury Modula-2 2.5.48) Oberon to Java VM (JOB 0.75) Oberon-2 to Java VM (Canterbury Oberon-2 2.5.51) Pascal to Java VM (Canterbury Pascal 2.5.42) Perl to Java VMProlog to Java VM (W-Prolog, tuProlog) Python to Java VM (Jython 2.1) Ruby to Java VM (Jruby 0.5.3) Smalltalk to Java VM (Smalltalk/JVM) Как видно из перечисленных проектов, сообщество программистов стихийно движется в сторону создания мета-программирования. Еще пару десятилетий и профессия программиста станет ископаемым артефактом. Поздравляю «Ванюшу» с Днём Рожденья! Счастья, вырасти большим и умненьким. а) В качестве подарка обещаю изменить дизайн сайта www.robot-ivan.narod.ru , сделанный на скорую руку. б) Переписать 3000 строк кода с макро-языка программирования 1С на язык Java. в) Продолжить воспитание робота-программиста «Ванюши». [b][i]Надеюсь в среде сообщества программистов найти грамотных и заинтересованных наставников. Добра всем и удачи. «Папа» «Ванюши». :)[/i][/b] |
|||
|
1
MMF
10.11.05
✎
00:11
|
маразм крепчал...
|
|||
|
2
Чучундер
10.11.05
✎
00:45
|
Сам ты MMF!
Эх! Вот времена были! Матрица предшествования... Теория построения трансляторов... и прочая весьма интересная... |
|||
|
3
2Green
10.11.05
✎
00:48
|
я чо-то не пойму: ну обработка, ну экспорт-импорт... а при чём тут РОБОТ?
|
|||
|
4
MMF
10.11.05
✎
01:10
|
(0, 2) не надо так бурно радоваться всем тем страшным словам, которые старательно записали в конспекты.
"Хочу стать великим электронным программистом! И накопить знание могучих программистов." (с) http://www.robot-ivan.narod.ru/ Хочу пойти вырости большим-пребольшим и пойти в школу, тогда мне папа купит красивый блестящий портфель и я буду в нем носить толстые книжки! |
|||
|
5
2Green
10.11.05
✎
01:18
|
у меня тоже было некое подобие робота - "генерился" (модуль-генератор понятное дело я сам писал) исполняемый модуль в текстовик и сразу же и выполнялся. дело не хитрое. но развивать его нет смысла: для начала надо научить робота понимать простых пользователей - а это фиг два получится. вон переводчики тому живой пример.
|
|||
|
6
vladfind
10.11.05
✎
08:52
|
To [3] Робот-программист - это комплект программ, инженерная база знаний программиста. Задача этой программы накопить знания (например, ответить на вопрос "Как конвертировать исходные тексты программ на 1c |http://1c.alterplast.ru/gcomp|на другой целевой язык?"). Очевидно, что можно компилировать отлаженное и успешно эксплуатируемое приложение.
To [5] С языками программирования проще решать проблемы автоматизации. Язык-то формальный! Целевые процессоры всем хорошо известны: x86, Motorola и др. Графический интерфейс 2D, основной в деловых приложениях. Формализовать и научить переводить из одного языка в другой можно в обозримом будущем. Это правильно и по-человечески хорошо, использовать огромный фонд готового П.О. В том числе, написанного на макро-языке 1С. |
|||
|
7
2Green
10.11.05
✎
13:36
|
(6) т.е. робот переводит тексты с одного языка пограммирования в другой. а как же с формами(диалога)? там же задаются реквизиты диалога, их тип, расположение в конце концов, да ещё и слои - ну было бы прикольно взглянуть на функциональную копию типовой конфы 1С77 на Дельфи, FoxPro, Oracle или хотя бы даже в 1С80
|
|||
|
8
2Green
10.11.05
✎
13:42
|
ещё проблема - использование разных объектов, если бы одних итех же - было бы проще.
т.е. в 77 и 80 справочники "Номенклатура" не будут идентичны - разные свойства у них будут. блин, а прикольно было бы. |
|||
|
9
dronis
10.11.05
✎
13:47
|
"профессия программиста станет артефактом"
нну .. тут думаю вы погорячились :) |
|||
|
10
vladfind
10.11.05
✎
17:06
|
To [9] А где профессия извозчик?
To [7,8]Всё эти проблемы теоретически решены. Нужен софт! |
|||
|
11
Женщина
10.11.05
✎
17:13
|
[:]||||||||||||||||[:]
|
|||
|
12
Fish
10.11.05
✎
17:34
|
(10) Извозчики стали таксистами. Тип транспорта поменялся, а профессия осталась :)
|
|||
|
13
Stopper
10.11.05
✎
18:09
|
Анекдот из передачи Трахтенберга.
Младшеклассница звонит по мобиле маме - работнику телестудии: -Мама, сколько будет сорок плюс сорок? -Час двадцать. |
|||
|
14
Stopper
10.11.05
✎
18:15
|
(10) Кстати, по термояду тоже все проблемы решены. Нужен хард. А пока нефть жгем. Что случится раньше?
|
|||
|
15
seugenys
10.11.05
✎
18:32
|
Жжошъ
Вот я завтра пойду к гл.буху и скажу: Всё ваши проблемы теоретически решены. Нужен софт! |
|||
|
16
vladfind
11.11.05
✎
13:32
|
To [15] И, не забудь на листке представить бюджет. Лучше с семью нулями до запятой! :)
|
|||
|
17
vladfind
11.11.05
✎
13:52
|
To [13] Ещё один анекдот:
Поспорили как-то строитель, агроном и электрик чья профессия древнее: - Мы пирамиды ваяли первыми, уже несколько тысяч лет назад. - выкрикнул строитель. - А мы, агрономы, Вавилонские сады ещё до ваших пирамид, возводили.- возразил агроном. - А перед тем как Бог сказал:" Да будет свет!", кто всю электропроводку подвёл!? |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |