Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Другой пример: вывести список книг из базы данных (соритровать по имени автора, не более 30 на страницу), чтобы это выглядело как на макете bookList.psd.
Прошло 14 лет. FINALLY, можно писать компьютеру на естественном языке!
У меня на русском языке описание заняло одну строчку… Почему??777
Другой пример: вывести список книг из базы данных (соритровать по имени автора, не более 30 на страницу), чтобы это выглядело как на макете bookList.psd.
Programmers should not need to understand category theory to write «Hello, World!»
Программисты не обязаны полностью понимать теорию относительности и квантовую механику чтобы написать на Вашем языке «Hello, World!»
(
Using("W.Expressions.FuncDefs_Excel, WExpr"),
Using("W.Expressions.FuncDefs_Report, WExpr"),
Using("W.Expressions.FuncDefs_Ora, WExprSql"),
Using("W.Util.FuncDefs_Solver, WUtil"),
Using("PalmCalcs.FuncDefs, PalmCalcs"),
UseOraSqlFuncsFrom("Queries.sql").PrintLn(),
let(nOraConnections, 4),
let(oraConn, OraNewConnection(
'user/pass@oraclesrv:1521/database'
, nOraConnections
, { 'ALTER SESSION SET CURSOR_SHARING = SIMILAR', 'ALTER SESSION SET NLS_TERRITORY = cis' }
)),
let(semaParQueries, Semaphore(nOraConnections)),
PrintLn("WellStock('')"),
let(wells, WellStock('')),
let(WELL_ID_OISP, wells['WELL_ID_OISP']
. Where(wells['SHOP_NAME']='ЦДНГ')
),
let(AT_TIME__XT, DATEVALUE('2013-10-31')),
let(outsPalm, {
"SHOP_NAME", "OILFIELD_NAME", "WELL_NAME",
"RESERVOIR_TEMPERATURE_OISP_C",
"PERFTOP_DEPTH_MX",
"PUMP_DEPTH_MX",
"CASING_DIAMETER_MX_MM",
"TUBING_DIAMETER_MX_MM",
"BUFFER_PRESSURE_OISP_ATM",
"RESERVOIR_PRESSURE_OISP_ATM",
"LIQUID_WATERCUT_OISP",
"GAS_VOLFACTOR_OISP",
"LIQUID_VOLRATE_OISP",
"BOTTOMHOLE_PRESSURE_OISP_ATM",
"ANNULAR_PRESSURE_OISP_ATM",
"DYNLEVEL_DEPTH_OISP",
"STATLEVEL_DEPTH_OISP",
"OILSEP_VISCOSITY_OISP",
"WATER_VISCOSITY_OISP",
"OIL_VOLFACTOR_OISP",
"SATURATION_PRESSURE_OISP_ATM",
"GAS_DENSITY_OISP_TPCM",
"OILSEP_DENSITY_OISP_TPCM",
"WATER_DENSITY_ANY_TPCM",
"BOTTOMHOLE_PRESSURE_OPTWELL_ATM",
"INTAKE_PRESSURE_OPTWELL_ATM",
"INTAKE2_PRESSURE_OPTWELL_ATM",
"OUTLET_PRESSURE_OPTWELL_ATM"
}),
let(test, {"WELL_ID_OISP","OILFIELD_NAME","WELL_NAME","TINCL_OBJ_OPTWELL"}),
let(solution, FindSolutionExpr({}, outsPalm )),
let(outFile, NewFileStreamWriter('Test_Solver.log')),
let(msg, "Solution is: " & solution),
PrintLn(msg),
outFile.StreamWriterAppendText(msg),
let(partMaxSize,1000),
PartsOfLimitedSize(WELL_ID_OISP, partMaxSize)
..let(parts),
startTiming(),
_For(
( let(n,COLUMNS(parts)), let(i,0) ),
i<n,
_EvalWithSemaphore( semaParQueries,
let(WELL_ID_OISP, parts[i]),
let(results, ExprToExecutable(solution)),
_ForEach(r, results, r._ToStr()..StreamWriterAppendText(outFile) ),
Print('.'),
let(i,i+1)
)
)
.stopTiming(),
outFile.StreamWriterAppendText(OraGetStatMsg()),
outFile.StreamWriterClose(),
'wells=' & COLUMNS(WELL_ID_OISP)
)
Чек-лист разработчика языка программирования