wizzard: (Default)
[personal profile] wizzard

блин, чем больше я actually write some code, тем больше видно задач которые можно офигенно автоматизировать. только вот на доведение автоматизялки до робастного состояния (не считая необходимости сооружения всяких нудных парсеров и Ко) надо гораздо больше времени чем сделать один раз руками. шо ж делать?

* в данный момент эти чувства вызывают многочисленные P/Invoke и прочий интероперабилити

Date: 2010-05-26 03:49 pm (UTC)
From: [identity profile] xeno-by.livejournal.com
Не писать код =)

Date: 2010-05-26 04:58 pm (UTC)
From: [identity profile] dark-aurel.livejournal.com
Это все из-за того, что у вас макросов нет)

Date: 2010-05-26 05:00 pm (UTC)
From: [identity profile] antonix.livejournal.com
Нужно автоматизировать процесс сооружения всяких нудных парсеров и Ко) Я так понимаю это процесс нифига не творческий, стало быть его можно автоматизировать.

Да возможно для этого придется написать искуственный интеллект, возможно даже неслабый, ну и что, это гораздо проще чем может показаться на первый взгляд :)

Date: 2010-05-26 06:24 pm (UTC)
From: [identity profile] sashman.livejournal.com
делаешь один раз руками, таску автоматизации откладываешь в дальний конец длинного ящика.

Date: 2010-05-26 07:03 pm (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Имей в виду, что P/Invoke и прочая интероперабилити автоматизируются гораздо хуже, чем это кажется на первый взгляд. Там есть множество вещей, которые могут быть извлечены только человеком из документации -- грубо говоря, под char** имеется в виду IN массив строк, IN/OUT или просто OUT указатель на строку, соответственно, может ли он быть нуллом, и так далее, и тому подобное. Плюс всякие разные развлечения на тему соответствия буфера и его длины, тоже же хочется, чтобы автоматизировано было!

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

Кстати если ты используешь P/Invoke для invoke собственно функций P, то в интернетах уже есть чуть менее чем все прототипы.

Date: 2010-05-26 08:24 pm (UTC)
From: [identity profile] antonix.livejournal.com
Да они там по видемому чешут репу. Но нужно не только надеятся что кто-то что-то сделает. Ещё нужно хотя бы что-то самим писать. Хотя это наука, настоящая наука. А когда я думаю о науке в нашей стране, мне становится грустно (и вспоминается ютюбный ролик "Ты Фиzzzик")

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

Кстати ты случайно не знаешь каких-то симуляторов физики-механики типа чтоб можно было простеньких виртуальных роботов клепать и ими играться. Я знаю есть Ode но его нужно сильно трясти чтоб он начал реалистично работать.

Date: 2010-05-26 09:17 pm (UTC)
From: [identity profile] dark-aurel.livejournal.com
Эт у тебя неправильные макросы :-P. В моих можно всё тоже, что и вне их)

Date: 2010-05-26 10:03 pm (UTC)
From: [identity profile] justy-tylor.livejournal.com
В этом плане больше парят не генераторы обёрток для своего кода, а парсерная часть, понимающая сотонизм windows.h

Я как-то нашёл работоспособный http://language-binding.net/pygccxml/pygccxml.html К счастью, запрос на всю эту глобальную генерацию удалось выпилить раньше.

Date: 2010-05-27 12:19 pm (UTC)
From: [identity profile] justy-tylor.livejournal.com
Выглядит полезно.

Там была другая платформа (windows.h просто пример муторных хедеров), и даже не под Python. :) На нём удобно делать генераторы кода. А вот парсинг C/C++ с учётом препроцессора штука не очень естественная.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 24th, 2026 02:03 pm
Powered by Dreamwidth Studios